@font-face{font-family:Journal;src:url('assets/playful.woff2') format('woff2');font-weight:400 700;font-display:swap}@font-face{font-family:Manrope;src:url('assets/body.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--mint:#a8edc4;--cream:#f1efd4;--ink:#281a39;--gold:#866032;--paper:#faf9ee;--muted:#57475a;--rule:#cecbb7;--gutter:clamp(22px,5vw,80px);--section:clamp(64px,8vw,112px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7}::selection{background:var(--mint);color:var(--ink)}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.site-footer :focus-visible,.occasion-section :focus-visible,.contact-layout aside :focus-visible{outline-color:var(--mint)}input,textarea{caret-color:var(--gold)}img{display:block;width:100%;height:auto}figure,h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Journal,Georgia,serif;font-weight:500;line-height:1.05;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(54px,7.1vw,96px)}h2{font-size:clamp(40px,4.7vw,68px)}h3{font-size:clamp(30px,3vw,43px)}h1 span,h2 span{color:var(--gold)}p{max-width:65ch}p+p{margin-top:20px}a{color:inherit;text-underline-offset:6px}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.wrap{width:min(1360px,calc(100% - 2*var(--gutter)));margin-inline:auto}.arrow{display:inline-block;flex:none;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.button{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;min-height:50px;padding:14px 22px;border:1px solid var(--ink);border-radius:2px;background:var(--ink);color:var(--cream);font-size:13px;font-weight:650;text-decoration:none;line-height:1.5;transition:background .2s,color .2s}.button:hover{background:var(--mint);color:var(--ink)}.button-outline{background:transparent;color:var(--ink)}.button:disabled{cursor:not-allowed;opacity:.55}.text-link{display:inline-flex;align-items:center;gap:20px;padding-block:14px;font-size:14px;font-weight:650;text-decoration:none;border-bottom:1px solid currentColor}.text-link:hover{color:var(--gold)}.skip-link{position:absolute;z-index:20;top:-90px;left:20px;padding:14px;background:var(--ink);color:var(--cream)}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid #281a3926;background:var(--cream)}.header-inner{width:calc(100% - 2*var(--gutter));max-width:1500px;min-height:96px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;width:124px;flex:none}.brand img{height:68px;object-fit:contain}#main-nav{display:flex;gap:34px}#main-nav a{padding-block:14px;font-size:13px;text-decoration:none}#main-nav a:hover,#main-nav a[aria-current]{text-decoration:underline;text-underline-offset:9px}.header-inner>.button{background:var(--mint);color:var(--ink);border-color:transparent;min-height:46px;font-size:12px;padding:12px 17px}.header-inner>.button:hover{background:var(--ink);color:var(--cream)}.menu-toggle{display:none;background:none;border:0;color:var(--ink);min-height:48px;padding:10px;gap:10px;align-items:center}.menu-toggle svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.5;fill:none}.journal-cover{padding-top:44px}.masthead{display:grid;grid-template-columns:1.65fr 1fr;align-items:end;gap:70px;padding-bottom:42px}.masthead h1{max-width:17ch}.masthead h1 span{color:var(--ink)}.cover-aside{max-width:360px;justify-self:end}.cover-aside>p{font-size:14px;max-width:36ch;margin-bottom:26px}.occasion-picker label{font-size:12px;font-weight:650;display:block;margin-bottom:8px}.occasion-picker>div{display:grid;grid-template-columns:1fr 50px;border:1px solid var(--ink);min-height:50px;background:var(--cream)}.occasion-picker select{min-width:0;width:100%;padding:12px;font-size:13px;border:0;border-radius:0;background:transparent;color:var(--ink)}.occasion-picker button{display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--cream);border:0;transition:background .2s}.occasion-picker button:hover{background:var(--gold)}.cover-spread{display:grid;grid-template-columns:1.8fr 1fr;gap:24px;background:var(--mint);padding:24px 24px 14px}.cover-spread img{width:100%;height:340px;object-fit:cover}.cover-lead img{object-position:50% 50%}.cover-side img{object-position:40% 50%}figcaption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:12px;font-size:12px;line-height:1.6}.local-line{display:flex;justify-content:space-between;gap:30px;padding-block:24px 52px;font-size:12px}.local-line a{display:flex;align-items:center;gap:16px;text-decoration:none}.occasion-section{padding-block:var(--section);background:var(--ink);color:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:46px}.section-heading>p{font-size:14px}.occasion-section h2 span{color:var(--mint)}.occasion-list{border-top:1px solid #f1efd452}.occasion-list>a{display:flex;align-items:center;justify-content:space-between;gap:30px;text-decoration:none;padding-block:30px;border-bottom:1px solid #f1efd452;transition:color .3s}.occasion-list h3{font-size:clamp(30px,3vw,43px);margin-bottom:10px}.occasion-list p{font-size:13px;color:var(--cream)}.occasion-list>a>.arrow{width:34px;height:34px}.occasion-list>a:hover{color:var(--mint)}.feature-story{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,8vw,110px);align-items:center;padding-block:var(--section)}.feature-story figure{max-width:450px}.feature-story img{aspect-ratio:4/5;object-fit:cover;object-position:50% 55%}.feature-story h2{margin-bottom:30px}.feature-story p{font-size:15px;max-width:48ch}.feature-story .button{margin-top:30px}.event-feature{background:var(--mint);padding-block:var(--section)}.event-feature .section-heading{align-items:start}.event-feature h2 span{color:var(--ink)}.event-feature .section-heading>div{max-width:380px;font-size:15px}.event-feature .button{margin-top:26px}.event-feature figure{max-width:1050px;margin-inline:auto}.event-feature figure img{aspect-ratio:2.15/1;object-fit:contain}.work-preview{padding-block:var(--section)}.preview-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1050px;margin:auto}.preview-pair img{aspect-ratio:4/5;object-fit:cover;object-position:50% 70%}.preview-pair figure:nth-child(2){margin-top:100px}.preview-pair figure:nth-child(2) img{object-position:50% 45%}.follow-strip{display:grid;grid-template-columns:1.2fr 1fr;gap:24px 70px;padding-bottom:var(--section)}.follow-strip h2{font-size:42px;grid-row:1/3}.follow-strip p{font-size:14px;max-width:40ch}.follow-strip .text-link{justify-self:start}.site-footer{background:var(--ink);color:var(--cream);padding-top:70px}.footer-invite{display:grid;grid-template-columns:1.7fr 1fr;gap:70px;align-items:center;padding-bottom:65px}.footer-invite h2{font-size:clamp(40px,5vw,72px)}.footer-invite h2 span{color:var(--mint)}.footer-invite p{font-size:14px;margin-bottom:25px}.footer-invite .button{background:var(--mint);color:var(--ink);border-color:var(--mint)}.footer-invite .button:hover{background:var(--cream);border-color:var(--cream)}.footer-main{display:grid;grid-template-columns:1fr 1.1fr 1.5fr .8fr;gap:30px;border-top:1px solid #f1efd43c;padding-block:35px}.site-footer .brand img{filter:brightness(0) invert(1)}.footer-main p,.footer-main a{font-size:12px}.footer-main>div{display:flex;flex-direction:column;gap:5px}.footer-main a:not(.brand){display:inline-flex;align-items:center;gap:12px;min-height:36px;overflow-wrap:anywhere}.footer-main .arrow{width:14px;height:14px}.footer-bottom{border-top:1px solid #f1efd43c;display:flex;justify-content:space-between;gap:25px;font-size:11px;padding-block:18px}.footer-bottom>div{display:flex;gap:28px}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:none}.page-heading{display:flex;justify-content:space-between;gap:70px;align-items:end;padding-block:60px}.page-heading>p,.page-heading>div{max-width:400px;font-size:15px}.service-index{padding-bottom:var(--section)}.service-accordion{border-top:1px solid var(--ink)}.service-accordion:last-child{border-bottom:1px solid var(--ink)}.service-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:30px;list-style:none;cursor:pointer;padding-block:28px}.service-accordion>summary::-webkit-details-marker{display:none}.service-accordion summary h2{font-size:clamp(32px,4vw,56px)}.expand-icon{position:relative;width:26px;height:26px;flex:none}.expand-icon::before,.expand-icon::after{position:absolute;content:'';background:currentColor;top:12px;left:3px;width:20px;height:1px}.expand-icon::after{transform:rotate(90deg);transition:transform .3s}.service-accordion[open] .expand-icon::after{transform:rotate(0)}.service-accordion[open]>summary{color:var(--gold)}.service-body{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;padding-block:0 45px;align-items:center}.service-body figure{max-width:470px}.service-body img{aspect-ratio:4/5;object-fit:cover;object-position:50% 70%}.service-body h3{font-size:36px;margin-bottom:24px}.service-body p{font-size:15px;max-width:53ch}.service-body h4{font-size:12px;margin:30px 0 12px;font-weight:750}.service-body ul{padding-left:20px;margin-bottom:28px;font-size:14px}.service-body li{padding-block:4px}.faq-band{background:var(--mint);padding-block:80px}.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.faq-grid h2{font-size:52px}.faq-grid details{border-bottom:1px solid #281a3940;padding-block:20px}.faq-grid details:first-child{border-top:1px solid #281a3940}.faq-grid summary{font-size:15px;font-weight:650;cursor:pointer}.faq-grid details p{margin-top:18px;font-size:14px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.filters button{min-height:42px;padding:8px 12px;background:transparent;color:var(--ink);border:1px solid #281a3940;border-radius:2px;font-size:12px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}.filters button:hover{background:var(--mint);color:var(--ink)}.portfolio-section{padding-bottom:var(--section)}.gallery{columns:3;column-gap:30px}.gallery figure{break-inside:avoid;margin:0 0 34px;animation:reveal-photo .35s ease-out}.gallery a{display:block}.gallery img{width:100%;height:auto}.gallery figcaption{font-size:13px}.gallery .arrow{width:15px;height:15px}.gallery a:hover img{filter:brightness(.94)}@keyframes reveal-photo{from{clip-path:inset(0 0 10% 0)}to{clip-path:inset(0)}}.contact-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:65px;align-items:start;padding-bottom:var(--section)}.contact-layout aside{grid-column:2;grid-row:1;background:var(--ink);color:var(--cream);padding:25px}.contact-photo{height:200px;object-fit:cover;margin-bottom:30px}.contact-layout aside h2{font-size:38px;margin-bottom:22px}.contact-layout aside>p{font-size:13px;margin-bottom:22px}.contact-email,.contact-phone{display:block;font-size:13px;overflow-wrap:anywhere;padding-block:10px}.contact-phone{margin-bottom:25px}.social-links{display:flex;gap:20px;font-size:12px}.social-links a{min-height:44px;display:inline-flex;align-items:center}.contact-note{margin-top:26px;padding-top:26px;border-top:1px solid #f1efd452}.contact-note h3{font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:650;letter-spacing:0;line-height:1.5;margin-bottom:12px}.contact-note p{font-size:13px}.enquiry-panel{grid-column:1;grid-row:1;padding-top:25px;border-top:1px solid var(--ink);min-width:0}.enquiry-panel h2{font-size:36px;margin-bottom:20px}.enquiry-panel>p{font-size:14px;max-width:56ch;margin-bottom:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full{grid-column:1/-1}label{font-size:13px;font-weight:650}label span{font-size:12px;font-weight:400}input,select,textarea{border:1px solid #8f8590;background:var(--paper);color:var(--ink);width:100%;min-height:48px;padding:12px;border-radius:2px;font-size:14px}textarea{line-height:1.6;resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:focus,textarea:focus,select:focus{outline:2px solid var(--gold);outline-offset:2px}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border:2px solid #942a37}.field-error{font-size:12px;color:#942a37}.field-error:empty{display:none}.form-privacy{font-size:12px;margin:24px 0}#form-status{font-size:13px;margin-top:14px}.email-preview{padding:26px;margin-top:30px;background:var(--mint)}.email-preview h3{font-size:30px;margin-bottom:18px}.email-preview p{font-size:13px;margin-bottom:20px}.email-preview label{display:block;margin-bottom:8px}.preview-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:20px}.text-button{background:none;border:0;color:var(--ink);font-size:13px;min-height:44px;text-decoration:underline;padding:10px}.small{font-size:12px!important;overflow-wrap:anywhere}.policy{max-width:850px;padding-block:60px var(--section)}.policy h1{font-size:clamp(46px,5vw,72px);margin-bottom:40px}.policy h2{font-size:35px;margin:40px 0 22px}.policy p,.policy li{font-size:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:var(--cream)}body::-webkit-scrollbar-thumb{background:var(--gold);border:2px solid var(--cream);border-radius:4px}
@media(min-width:1550px){.masthead{padding-bottom:50px}.cover-spread img{height:400px}}
@media(max-width:1100px){#main-nav{gap:24px}.masthead{gap:40px;grid-template-columns:1.45fr 1fr}.masthead h1{font-size:76px}.cover-aside>p{font-size:13px}.cover-spread img{height:300px}.section-heading{gap:40px}.service-body{gap:45px}.feature-story{gap:50px}.contact-layout{gap:40px}.footer-main{gap:20px}.footer-main a{font-size:11px}}
@media(max-width:850px){.header-inner>.button{display:none}.masthead{grid-template-columns:1fr 1fr;gap:30px}.masthead h1{font-size:64px}.cover-spread{gap:18px;padding:18px 18px 12px}.cover-spread img{height:260px}.cover-spread figcaption{font-size:11px}.section-heading{gap:30px}.section-heading h2{font-size:46px}.feature-story{gap:35px}.feature-story h2{font-size:45px}.event-feature .section-heading>div{max-width:310px;font-size:14px}.contact-layout{grid-template-columns:1.5fr 1fr;gap:30px}.contact-layout aside{padding:20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.gallery{columns:2}.footer-main{grid-template-columns:1fr 1fr;gap:20px 40px}.footer-invite{gap:40px}.faq-grid{gap:40px}.service-body{gap:35px}}
@media(max-width:700px){.header-inner{min-height:82px;flex-wrap:wrap;gap:0}.brand{width:112px}.brand img{height:62px}.menu-toggle:not([hidden]){display:inline-flex}#main-nav{width:100%;justify-content:space-between;gap:10px;padding-bottom:15px}#main-nav a{font-size:13px;min-height:44px}.has-js #main-nav:not(.is-open){display:none}.journal-cover{padding-top:34px}.masthead{grid-template-columns:1fr;gap:26px;padding-bottom:30px}.masthead h1{font-size:clamp(53px,10vw,68px);line-height:1.02;letter-spacing:-.035em;max-width:17ch}.cover-aside{max-width:none;justify-self:stretch}.cover-aside>p{font-size:14px;max-width:42ch;margin-bottom:20px}.occasion-picker label{font-size:12px}.occasion-picker select{font-size:14px;min-height:50px}.cover-spread{grid-template-columns:1fr;padding:14px 14px 12px;gap:24px}.cover-spread img{height:auto;aspect-ratio:1.52/1;object-fit:cover}.cover-side{display:none}.cover-spread figcaption{font-size:12px}.local-line{display:block;padding-block:22px 40px;font-size:12px}.local-line a{margin-top:12px;min-height:44px}.occasion-section{padding-block:56px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:42px;margin-bottom:25px}.section-heading>p{font-size:13px}.occasion-list>a{padding-block:24px;gap:18px}.occasion-list h3{font-size:29px;max-width:18ch;line-height:1.2}.occasion-list p{font-size:12px;max-width:33ch}.occasion-list>a>.arrow{width:25px;height:25px}.occasion-list>a:hover{padding-inline:0}.feature-story{grid-template-columns:1fr;gap:35px;padding-block:56px}.feature-story figure{max-width:none}.feature-story img{aspect-ratio:4/5}.feature-story h2{font-size:44px;margin-bottom:25px}.feature-story p{font-size:14px}.feature-story .button{margin-top:26px}.event-feature{padding-block:56px}.event-feature .section-heading>div{max-width:none;font-size:14px}.event-feature .section-heading{margin-bottom:30px}.event-feature figure img{aspect-ratio:1.5/1;object-fit:contain}.work-preview{padding-block:56px}.work-preview .text-link{margin-top:0}.preview-pair{gap:18px}.preview-pair img{aspect-ratio:3/4;object-fit:cover}.preview-pair figure:nth-child(2){margin-top:50px}.preview-pair figcaption{font-size:11px}.follow-strip{display:block;padding-bottom:56px}.follow-strip h2{font-size:36px;margin-bottom:22px}.follow-strip p{font-size:13px;margin-bottom:16px}.follow-strip .text-link{font-size:12px;gap:12px}.site-footer{padding-top:50px}.footer-invite{display:block;padding-bottom:40px}.footer-invite h2{font-size:44px;margin-bottom:28px}.footer-invite p{font-size:13px}.footer-main{gap:25px 18px;padding-block:30px}.footer-main p,.footer-main a{font-size:11px}.footer-main>div{grid-column:1/-1}.footer-main>div:last-child{flex-direction:row;gap:25px}.footer-main a:not(.brand){min-height:40px}.footer-bottom{display:block;font-size:11px;padding-block:20px}.footer-bottom>div{gap:22px;margin-top:10px}.footer-bottom a{font-size:11px}.page-heading{display:block;padding-block:38px 40px}.page-heading h1{font-size:clamp(49px,9vw,64px);margin-bottom:28px}.page-heading>p,.page-heading>div{font-size:14px;max-width:none}.service-index{padding-bottom:56px}.service-accordion>summary{padding-block:24px;gap:20px}.service-accordion summary h2{font-size:31px;line-height:1.2}.service-body{grid-template-columns:1fr;gap:25px;padding-bottom:32px}.service-body figure{max-width:none}.service-body img{aspect-ratio:4/5}.service-body h3{font-size:31px;margin-bottom:20px}.service-body p{font-size:14px}.service-body h4{margin-top:25px}.service-body ul{font-size:13px}.faq-band{padding-block:48px}.faq-grid{grid-template-columns:1fr;gap:30px}.faq-grid h2{font-size:39px}.faq-grid summary{font-size:14px}.faq-grid details p{font-size:13px}.filters{gap:8px;margin-top:26px}.filters button{font-size:11px;min-height:44px}.portfolio-section{padding-bottom:56px}.gallery{columns:1;column-gap:0}.gallery figure{margin-bottom:30px}.gallery figcaption{font-size:12px}.contact-layout{display:flex;flex-direction:column;gap:40px;padding-bottom:56px}.enquiry-panel{width:100%;order:0;padding-top:24px}.enquiry-panel h2{font-size:31px;margin-bottom:20px}.enquiry-panel>p{font-size:13px}.contact-layout aside{width:100%;order:1;padding:24px}.contact-photo{height:auto;aspect-ratio:1.52/1}.contact-layout aside h2{font-size:35px}.contact-layout aside>p{font-size:13px}.contact-email,.contact-phone{font-size:13px}.contact-note h3{font-size:16px}.contact-note p{font-size:13px}.form-grid{gap:20px}input,select,textarea{font-size:16px}.email-preview{padding:22px}.email-preview h3{font-size:28px}.preview-actions{display:block}.preview-actions .button{margin-bottom:12px}.policy{padding-block:40px 56px}.policy h1{font-size:46px}.policy h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


/* Playful cake world */
h1,h2,h3{font-weight:600;letter-spacing:-.025em}
.button{border-radius:28px;padding-inline:25px;font-weight:650}
.site-header{background:var(--mint);border:0}
.header-inner{min-height:92px}
.header-inner>.button{background:var(--cream);border:1px solid var(--ink);border-radius:28px;padding-inline:23px}
.header-inner>.button:hover{background:var(--ink);color:var(--cream)}
.playful-hero{position:relative;background:var(--cream);overflow:clip}
.cake-stage{height:670px;position:relative;perspective:1100px}
.cake-stage h1{font-size:96px;line-height:.98;letter-spacing:-.025em;font-weight:600;text-wrap:initial;margin:0}
.cake-title-first{position:absolute;left:2%;top:42px;color:var(--ink)}
.cake-title-last{position:absolute;left:64%;top:132px;color:var(--ink);z-index:2}
.floating-cake{position:absolute;left:14%;top:70px;width:44%;max-width:580px;z-index:1;margin:0;transform:translate3d(var(--cake-x,0px),var(--cake-y,0px),0) rotateY(var(--cake-turn,0deg));transition:transform .45s cubic-bezier(.16,1,.3,1);will-change:transform}
.cake-nudge{border:0;background:none;padding:0;display:block;width:100%;cursor:pointer;touch-action:manipulation;color:var(--ink);border-radius:30%;-webkit-tap-highlight-color:transparent}
.cake-nudge:disabled{cursor:default}
.cake-nudge img{width:100%;height:auto;filter:drop-shadow(5px 25px 16px #281a391a);transform:rotate(-7deg);transform-origin:48% 60%}
.cake-nudge.is-wobbling img{animation:cake-wobble .8s cubic-bezier(.16,1,.3,1)}
@keyframes cake-wobble{0%,100%{transform:rotate(-7deg) translateY(0)}25%{transform:rotate(1deg) translateY(-13px)}55%{transform:rotate(-11deg) translateY(-3px)}78%{transform:rotate(-4deg) translateY(-5px)}}
.floating-cake figcaption{font:11px/1.6 Manrope,Arial,sans-serif;padding:0;text-align:center;color:var(--muted);display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.nudge-hint{font-size:12px;font-weight:650;color:var(--ink)}
.cake-hero-copy{position:absolute;left:64%;top:446px;width:30%;max-width:330px;z-index:3}
.cake-hero-copy p{font-size:14px;line-height:1.8;max-width:32ch;margin-bottom:24px}
.cake-hero-copy .button{min-height:50px;gap:28px}
.cake-local{position:absolute;left:2%;bottom:80px;transform:rotate(-7deg);font-size:13px;line-height:1.6;color:var(--gold);font-weight:650}
.cake-sparkle{position:absolute;width:32px;height:32px;fill:none;stroke:var(--gold);stroke-width:1.5}
.sparkle-one{left:5%;top:72px;width:37px;height:37px;transform:rotate(12deg)}
.sparkle-two{left:6%;top:275px;width:27px;height:27px;transform:rotate(-10deg)}
.sparkle-three{left:63%;bottom:57px;width:20px;height:20px}
.cake-wave{display:block;width:100%;height:38px;margin-top:-1px;fill:var(--mint)}
.playful-home .occasion-section{background:var(--mint);color:var(--ink);padding-block:64px 80px}
.playful-home .occasion-section :focus-visible{outline-color:var(--gold)}
.playful-home .occasion-section h2 span{color:var(--ink)}
.playful-home .section-heading h2,.playful-home .feature-story h2{font-size:clamp(36px,3.7vw,52px);line-height:1.08;font-weight:600}
.playful-home .occasion-section .section-heading>p{max-width:31ch;line-height:1.8;color:var(--ink)}
.playful-home .occasion-list{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;border-top:0}
.playful-home .occasion-list>a{border-top:1px solid #281a3940;border-bottom:0;padding-block:27px;color:var(--ink)}
.playful-home .occasion-list h3{font-size:28px;line-height:1.2}
.playful-home .occasion-list p{color:var(--ink);font-size:13px;line-height:1.7;margin-top:10px}
.playful-home .occasion-list>a:hover{color:var(--gold)}
.playful-home .occasion-list .arrow{width:23px;height:23px}
.playful-home .feature-story{max-width:1120px;gap:clamp(40px,8vw,112px)}
.playful-home .event-feature{padding-block:80px;background:var(--paper)}
.playful-home .event-feature>.wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.playful-home .event-feature .section-heading{display:block;margin:0}
.playful-home .event-feature .section-heading h2{margin-bottom:27px}
.playful-home .event-feature figure img{aspect-ratio:4/3;object-fit:cover;transform:rotate(2deg)}
.playful-home .event-feature .section-heading>div{max-width:35ch;font-size:14px;line-height:1.85}
.playful-home .work-preview{max-width:1160px}
.playful-home .preview-pair figure:first-child{transform:rotate(-2deg)}
.playful-home .preview-pair figure:last-child{transform:rotate(2deg)}
.footer-invite h2{font-size:clamp(38px,4vw,56px);line-height:1.12}
@media(max-width:1100px){.cake-stage{height:610px}.cake-stage h1{font-size:78px}.cake-title-last{left:63%;top:152px}.floating-cake{left:10%;top:110px;width:51%}.cake-hero-copy{left:63%;top:409px;width:33%}.cake-hero-copy p{font-size:13px}.cake-local{display:none}.playful-home .occasion-list{gap:0 35px}.playful-home .event-feature>.wrap{gap:40px}}
@media(min-width:701px) and (max-width:850px){.cake-stage{height:585px}.cake-stage h1{font-size:66px}.cake-title-last{left:auto;right:0;top:133px}.floating-cake{left:3%;top:112px;width:58%}.cake-hero-copy{left:auto;right:0;top:351px;width:40%}.cake-hero-copy p{font-size:12px}.cake-hero-copy .button{font-size:12px;gap:12px;padding-inline:18px}.cake-local{bottom:57px}.floating-cake figcaption{font-size:11px;gap:3px}.nudge-hint{font-size:11px}.sparkle-one{left:1%;top:50px}.sparkle-two{left:0;top:229px;width:20px}.sparkle-three{left:58%;bottom:45px}.playful-home .occasion-list h3{font-size:25px}.playful-home .event-feature>.wrap{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:700px){.header-inner{min-height:82px}.cake-stage{height:auto;display:flex;flex-direction:column;align-items:center;padding-block:31px 40px}.cake-stage h1{font-size:clamp(46px,11vw,66px);line-height:1.03;position:relative;z-index:2;text-align:center}.cake-title-last{position:static;display:block}.cake-title-last br.br-wide{display:none}.floating-cake{position:relative;top:auto;left:auto;width:100%;max-width:430px;margin-top:-3px;transform:none;transition:none}.cake-nudge img{transform:rotate(-7deg);filter:drop-shadow(3px 16px 12px #281a391a)}.floating-cake figcaption{font-size:11px;gap:4px;flex-direction:column;margin-top:0}.cake-hero-copy{position:relative;top:auto;right:auto;left:auto;width:100%;max-width:330px;text-align:center;margin-top:27px}.cake-hero-copy p{font-size:14px;line-height:1.7;margin:0 auto 22px}.cake-hero-copy .button{min-height:50px}.cake-local{display:none}.sparkle-one{left:auto;right:1%;top:147px;width:24px}.sparkle-two{left:0;top:300px;width:20px}.sparkle-three{display:none}.cake-wave{height:24px}.playful-home .occasion-section{padding-block:42px 48px}.playful-home .occasion-list{grid-template-columns:1fr;gap:0}.playful-home .occasion-list h3{font-size:27px}.playful-home .occasion-list>a{padding-block:23px}.playful-home .section-heading h2,.playful-home .feature-story h2{font-size:38px}.playful-home .feature-story{gap:30px}.playful-home .event-feature{padding-block:52px}.playful-home .event-feature>.wrap{grid-template-columns:1fr;gap:32px}.playful-home .event-feature .section-heading>div{max-width:none}.footer-invite h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.floating-cake{transform:none!important;transition:none!important;will-change:auto}.cake-nudge.is-wobbling img{animation:none!important}}

.feature-story img.emily-portrait{aspect-ratio:1;object-fit:cover;object-position:50% 86%;height:auto}
@media(min-width:1101px) and (max-width:1380px){.cake-title-last{top:101px}.cake-hero-copy{top:415px}}
/* sprinkles on the hero cake */
.cake-nudge{position:relative}
.cake-fx{position:absolute;inset:0;transform:rotate(-7deg);transform-origin:48% 60%;pointer-events:none}
.cake-nudge.is-wobbling .cake-fx{animation:cake-wobble .8s cubic-bezier(.16,1,.3,1)}
.sprinkle{position:absolute;width:2.4%;height:.8%;border-radius:6px;box-shadow:inset 0 -1px 0 #0000001f}
.cake-hero-copy .sprinkle-note{font:600 22px/1.15 Journal,Georgia,serif;color:var(--ink);margin:0 0 16px;max-width:16ch;animation:note-pop .6s cubic-bezier(.34,1.56,.64,1)}
.sprinkle-note[hidden]{display:none}
@keyframes note-pop{0%{opacity:0;transform:scale(.6) rotate(-4deg)}100%{opacity:1;transform:none}}
@media(max-width:700px){.cake-hero-copy .sprinkle-note{margin-inline:auto}}
@media(prefers-reduced-motion:reduce){.cake-fx{display:none}.cake-hero-copy .sprinkle-note{animation:none}}
/* trailers: big band and the pair */
.trailer-feature{padding-bottom:var(--section)}
.trailer-band{position:relative;margin:0;height:clamp(460px,78vh,760px);overflow:hidden;background:#2c6fd6}
.trailer-band img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.trailer-band-copy{position:absolute;left:var(--gutter);bottom:clamp(28px,6vh,64px);display:block;max-width:360px;background:var(--cream);color:var(--ink);padding:30px 30px 32px;text-align:left;font:inherit;border-radius:2px;box-shadow:0 18px 40px -18px #281a3966}
.trailer-band-copy h2{font-size:clamp(36px,3.7vw,52px);margin-bottom:16px}
.trailer-band-copy p{font-size:15px;line-height:1.7;margin:0 0 24px}
.trailer-pair-wrap{padding-top:var(--section)}
.trailer-pair figure:nth-child(1) img{object-position:50% 60%}
.trailer-pair figure:nth-child(2) img{object-position:50% 55%}
@media(max-width:1100px){
.trailer-band{height:auto;background:none;overflow:visible}
.trailer-band img{height:auto;aspect-ratio:4/3;object-position:50% 52%}
.trailer-band-copy{position:relative;left:auto;bottom:auto;max-width:560px;margin:-56px auto 0;padding:28px 26px 30px}
}
@media(max-width:700px){
.trailer-band img{aspect-ratio:3/4;object-position:50% 40%}
.trailer-band-copy{margin:-48px 16px 0;max-width:none;padding:26px 22px 28px}
.trailer-band-copy h2{font-size:36px}
.trailer-pair-wrap{padding-top:56px}
}
/* tighter 'Meet the trailers' */
.trailer-feature{padding-bottom:clamp(48px,6vw,80px)}
.trailer-pair-wrap{padding-top:clamp(44px,5vw,68px)}
.trailer-pair-wrap .section-heading{margin-bottom:26px}
.trailer-pair-wrap .section-heading h2{margin-bottom:0}
.preview-pair.trailer-pair{max-width:880px;gap:32px}
.preview-pair.trailer-pair img{aspect-ratio:1/1}
.preview-pair.trailer-pair figure:nth-child(2){margin-top:36px}
@media(max-width:700px){.preview-pair.trailer-pair{gap:16px}.preview-pair.trailer-pair figure:nth-child(2){margin-top:24px}}

/* every photo: slight tilt, rounded corners, soft shadow */
main img{border-radius:18px;box-shadow:0 2px 6px #281a3912,0 16px 32px -16px #281a3959;rotate:-1.2deg;transition:rotate .45s cubic-bezier(.34,1.56,.64,1),scale .45s cubic-bezier(.34,1.56,.64,1)}
main figure:nth-of-type(even) img,.gallery a:nth-child(even) img,.preview-pair figure:nth-child(2) img{rotate:1.2deg}
main img:hover{rotate:0deg;scale:1.015}
.preview-pair figure:first-child,.preview-pair figure:last-child{transform:none}
.cake-nudge img,.cake-nudge img:hover{border-radius:0;box-shadow:none;rotate:none;scale:none}
.cake-fx .slice-layer{box-shadow:none}
@media(min-width:1101px){
.trailer-band{width:calc(100% - 2*var(--gutter));max-width:1360px;margin-inline:auto;border-radius:22px;rotate:-.6deg;box-shadow:0 2px 6px #281a3912,0 24px 48px -20px #281a3966}
.trailer-band>img,.trailer-band>img:hover{border-radius:0;box-shadow:none;rotate:none;scale:none}
}
@media(prefers-reduced-motion:reduce){main img{transition:none}main img:hover{scale:none}}
/* the two hatch photos live inside the trailer band */
.trailer-snaps{position:absolute;right:calc(var(--gutter) + 10px);top:50%;translate:0 -50%;display:grid;gap:22px;width:clamp(150px,13vw,200px)}
.trailer-snaps img{aspect-ratio:1/1;object-fit:cover;border:5px solid var(--cream)}
.trailer-snaps img:first-child{rotate:2.5deg}
.trailer-snaps img:last-child{rotate:-2.5deg}
@media(max-width:1100px){.trailer-snaps{position:static;translate:none;grid-template-columns:1fr 1fr;width:auto;max-width:560px;margin:22px auto 0;padding-inline:16px}}
