@font-face{font-family:DM Sans;src:url(fonts/dm-sans-400.woff2) format('woff2');font-weight:400;font-display:swap}@font-face{font-family:DM Sans;src:url(fonts/dm-sans-600.woff2) format('woff2');font-weight:600;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:18px;line-height:1.6}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.06;text-wrap:balance}h1{letter-spacing:-.045em}h2{letter-spacing:-.035em}p{max-width:62ch}p+p{margin-top:16px}h2+p,h3+p{margin-top:20px}img{display:block;width:100%;height:auto}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit;color:inherit}button,summary,select{cursor:pointer}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{min-height:44px;padding:10px 18px;background:var(--paper);border:1px solid var(--rule)}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--focus);outline-offset:5px}a,button{transition:background-color 180ms,color 180ms,transform 180ms}::selection{background:var(--accent);color:#fff}[hidden]{display:none!important}.skip{position:absolute;top:8px;left:8px;background:var(--paper);color:var(--ink);padding:12px 20px;z-index:50;transform:translateY(-180%)}.skip:focus{transform:none}.site-header{position:relative;z-index:10;display:flex;gap:24px;align-items:center;padding:22px max(24px,calc((100vw - 1320px)/2));background:var(--dark);color:var(--light)}.brand{width:200px;flex-shrink:0;display:block}.brand img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex:1;font-size:14px}.nav-link{padding:10px 0;text-decoration:none}.nav-link.current{text-decoration:underline;text-decoration-thickness:2px}.header-call{padding:10px 0;font-size:14px}.mobile-menu{display:none}main{display:block;min-width:0}main>section{max-width:1440px;margin-inline:auto}.kicker{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;background:var(--accent);color:var(--on-accent);padding:12px 24px;text-decoration:none;font-size:16px;font-weight:600;line-height:1.4;max-width:100%}.text-link{display:inline-block;padding:10px 0;font-weight:600;line-height:1.5}.text-link::after{content:' ↗'}.fine,figcaption{font-size:14px;line-height:1.5}figcaption{padding-top:12px;max-width:65ch}.photo-link{display:block;position:relative}.enlarge{position:absolute;bottom:12px;right:12px;background:rgba(28,21,24,.9);color:#fff;padding:7px 12px;font-size:12px;line-height:1.4}.photo-link img{transition:filter 200ms}.allergy{font-size:14px;line-height:1.55;border-top:1px solid var(--rule);padding-top:20px;margin-block:28px;max-width:90ch}.lead-times{margin:24px 0}.lead-times>div,.hours>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--rule);padding:14px 0}.lead-times dt{font-weight:600}.lead-times dd,.hours dd{margin:0;flex-shrink:0}.price-entry{display:grid;grid-template-columns:1fr 240px;gap:48px;border-top:1px solid var(--rule);padding:30px 0}.price-entry h3{font-size:28px}.price-entry p{font-size:16px}.price-entry strong{font-size:24px;font-weight:600}.terms{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:64px}.terms h3{font-size:26px}.terms p,.terms ul{font-size:16px}.terms ul{padding-left:20px}.terms li+li{margin-top:8px}.flavour-records{list-style:none;padding:0;margin:24px 0}.flavour-records li{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--rule);scroll-margin-top:32px}.flavour-records .number{font-size:14px;line-height:2.2;flex:0 0 30px}.flavour-records h3{font-size:28px;line-height:1.15;overflow-wrap:anywhere}.flavour-records p{font-size:16px}.flavour-records li>div{min-width:0}.contact-block{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;padding:72px 48px}.contact-block h2{grid-column:1/-1}.hours{margin:0;font-size:16px}label{display:block;font-size:15px;font-weight:600;margin-bottom:16px}select,input,textarea{display:block;width:100%;min-width:0;max-width:100%;background:var(--field);color:var(--ink);border:1px solid var(--rule);border-radius:0;padding:12px;margin-top:8px;min-height:48px;font-weight:400}select{padding-right:28px}textarea{font-size:16px;resize:vertical;min-height:200px;line-height:1.6}input[type=date]{min-width:0;max-width:100%;appearance:none}.js-draft>p{font-size:14px;margin:12px 0}.js-draft{margin-top:24px}.site-footer{background:var(--dark);color:var(--light);padding:64px max(32px,calc((100vw - 1280px)/2)) 24px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr .9fr;gap:40px}.footer-brand img{width:230px;max-width:100%;margin-bottom:24px}.site-footer h3{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:600;letter-spacing:0;line-height:1.5;margin-bottom:16px}.site-footer p,.footer-link{font-size:14px;line-height:1.65}.footer-link{display:block;padding:5px 0}.site-footer .allergy{border-color:#ffffff40}.footer-base{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:12px;border-top:1px solid #ffffff40;padding-top:20px}.footer-base>div{display:flex;gap:20px}.footer-base a{font-size:12px}dialog{border:0;padding:24px;max-width:1100px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:rgba(15,12,15,.88)}.photo-close{display:block;margin-left:auto;margin-bottom:16px}.photo-stage img{height:auto;max-height:70dvh;width:100%;object-fit:contain}.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;font-size:14px}#photo-caption{font-size:16px;margin-top:20px}.media-failed img{visibility:hidden}.media-failed{position:relative;min-height:180px;background:var(--field)}.media-failed::after{content:attr(data-media-alt);position:absolute;inset:30px;display:grid;place-items:center;color:var(--ink);font-size:16px;text-align:center}.photo-link.media-failed .enlarge{display:none}
@media(hover:hover) and (pointer:fine){.button:hover{filter:brightness(1.15);transform:translateY(-2px)}.nav-link:hover,.text-link:hover{ text-decoration-thickness:2px}.photo-link:hover img{filter:brightness(.96)}}
@media(min-width:861px) and (max-width:1100px){.site-header{gap:18px;padding:20px}.brand{width:155px}.desktop-nav{gap:16px;font-size:12px}.header-call{font-size:12px}.footer-grid{gap:24px}}
@media(max-width:860px){body{font-size:16px}.site-header{padding:18px 20px;gap:20px;align-items:center}.brand{width:160px;margin-right:auto}.desktop-nav{display:none}.header-call{font-size:14px}.mobile-menu{display:block;position:static}.mobile-menu summary{display:flex;gap:14px;align-items:center;min-height:44px;list-style:none;font-size:14px}.mobile-menu summary::-webkit-details-marker{display:none}.menu-panel{position:absolute;top:100%;left:0;right:0;background:var(--dark);color:var(--light);padding:28px 24px 32px;max-height:calc(100dvh - 80px);overflow-y:auto;border-top:1px solid #ffffff40}.menu-title{font-family:var(--display);font-size:28px;line-height:1.15;margin-bottom:20px}.menu-panel nav{display:flex;flex-direction:column;margin-bottom:20px}.menu-panel .nav-link{padding:12px 0;border-bottom:1px solid #ffffff35;font-size:18px}.menu-panel>.text-link{display:block}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-base{align-items:flex-start;flex-direction:column;gap:14px}.site-footer{padding:48px 24px 24px}.terms{grid-template-columns:1fr;gap:32px;margin-top:44px}.price-entry{gap:20px;grid-template-columns:1fr 185px}.contact-block{padding:48px 24px;grid-template-columns:1fr;gap:24px}.contact-block h2{grid-column:auto}.photo-controls{flex-wrap:wrap}.photo-controls a{order:3;width:100%;text-align:center}.lead-times>div{flex-direction:column;gap:4px}.lead-times dd{flex-shrink:1}.flavour-records h3{font-size:24px}.flavour-records li{gap:12px}.allergy{font-size:14px}}
@media(max-width:480px){.price-entry{grid-template-columns:1fr;gap:16px}.price-entry h3{font-size:26px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.footer-brand{grid-column:1/-1}.site-footer p,.footer-link{overflow-wrap:anywhere}.actions{gap:10px 20px}.actions .button{max-width:100%}dialog{padding:16px}.photo-stage img{max-height:60dvh}figcaption{font-size:13px}}
@media(max-width:350px){.site-header{padding:12px 16px;gap:12px}.brand{width:138px}.menu-panel{padding:20px 16px}.mobile-menu summary{gap:8px}.site-footer{padding-inline:16px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.button{padding:12px 18px}.contact-block{padding-inline:16px}.flavour-records h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}html.noanim{scroll-behavior:auto}html.noanim *,html.noanim *::before,html.noanim *::after{animation:none!important;transition:none!important}

@font-face{font-family:Rubik;src:url(fonts/rubik-600.woff2) format('woff2');font-weight:600;font-display:swap}
:root{--display:Rubik,sans-serif;--paper:#fff8ef;--ink:#54263b;--accent:#8c3453;--on-accent:#fff8ef;--dark:#54263b;--light:#fff8ef;--rule:#c7aab1;--field:#fffdf8;--focus:#b95d32;--rose:#f1d7d3}h1,h2{font-family:var(--display);font-weight:600}h1{font-size:clamp(52px,6.2vw,88px);line-height:1.02}h2{font-size:clamp(36px,4vw,52px);line-height:1.1}h3{font-family:var(--display);font-weight:600}h1 em,h2 em{font-style:normal;color:var(--accent)}.button{border-radius:100px}.invitation{padding:64px 48px 80px;display:grid;grid-template-columns:1.02fr 1fr;gap:44px;align-items:center}.invitation-copy>p:not(.kicker){margin-top:24px;max-width:37ch}.invitation-photos{display:grid;grid-template-columns:1fr .68fr;gap:20px;align-items:center}.invitation-photos img{border-radius:180px 180px 24px 24px;aspect-ratio:3/4;object-fit:cover}.invitation-photos .second-photo{margin-top:180px}.invitation-photos .second-photo img{border-radius:24px;aspect-ratio:3/4}.invitation-photos figcaption{max-width:24ch}.occasion{padding:88px 64px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.occasion>div>p{margin-block:24px}.occasion figure img{border-radius:24px}.occasion.personal{background:var(--rose)}.occasion.personal figure{max-width:510px}.occasion.personal img{max-height:650px;object-fit:contain}.gathering{padding:88px 48px}.gathering>div{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:40px}.gathering img{border-radius:120px 120px 24px 24px;max-height:700px;object-fit:cover}.closing{background:var(--rose);padding:64px 24px;text-align:center}.closing p{margin:20px auto}.closing .button{margin-top:12px}.anthology-heading{padding:56px 48px 0;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 56px}.anthology-heading>.kicker,.anthology-heading>h1,.anthology-heading>p,.anthology-heading>.actions{grid-column:1}.anthology-heading>p{margin-top:20px}.anthology-heading>figure{grid-column:2;grid-row:1/6;align-self:center}.anthology-heading img{border-radius:24px;aspect-ratio:4/3;object-fit:cover}.anthology{padding:80px 64px;display:grid;grid-template-columns:1.1fr .9fr;gap:72px 90px;align-items:center}.anthology aside{max-width:450px}.anthology aside img{border-radius:180px 180px 24px 24px}.last-chapter{grid-column:1/-1;width:75%;margin:auto}.last-chapter .flavour-records{columns:2;column-gap:48px}.last-chapter li{break-inside:avoid}.flavour-records h3{font-family:'DM Sans',sans-serif;font-weight:600}.cookie-invite{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center;padding:56px 64px}.cookie-invite>div>p:not(.kicker){margin-top:24px}.cookie-invite figure{max-width:440px}.cookie-invite img{border-radius:200px 200px 24px 24px;max-height:530px;object-fit:cover}.celebration-gallery{padding:64px 48px;background:var(--rose)}.celebration-gallery h2{margin-bottom:36px}.celebration-gallery>div{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:24px;align-items:center}.celebration-gallery img{border-radius:20px}.cookie-prices{padding:80px 64px}.cookie-prices h2{max-width:20ch;margin-bottom:36px}.event-invitation{padding:56px 48px 0;text-align:center}.event-invitation>p{margin:20px auto}.event-invitation .actions{justify-content:center}.event-invitation figure{margin-top:48px}.event-invitation img{border-radius:36px;max-height:700px;object-fit:cover}.note-heading{padding:56px 64px;display:grid;grid-template-columns:1fr 280px;gap:60px;align-items:center}.note-heading h1{font-size:clamp(44px,5vw,70px)}.note-heading>div>p:not(.kicker){margin-top:24px}.note-heading img{border-radius:160px 160px 24px 24px}.occasion-planner{padding:64px;display:grid;grid-template-columns:1.35fr .75fr;gap:64px;background:var(--rose)}.occasion-planner h2{font-size:36px}.composer>p{margin:24px 0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.field-grid>label:last-child{grid-column:1/-1}.composer select,.composer input,.composer textarea{border-radius:12px}.occasion-planner aside>.text-link{display:block;margin-top:16px}.contact-block{background:var(--paper)}.footer-brand img{width:240px}
@media(max-width:1050px){.invitation{grid-template-columns:1fr 1fr;padding:48px 32px;gap:24px}.invitation-photos{grid-template-columns:1fr}.invitation-photos .second-photo{display:none}.occasion{gap:40px;padding:64px 40px}.anthology{gap:48px}.note-heading{gap:32px;grid-template-columns:1fr 230px}}
@media(max-width:700px){h1{font-size:46px;line-height:1.06}h2{font-size:34px}.invitation{display:block;padding:36px 20px 48px}.invitation-copy>p:not(.kicker){margin-top:20px}.invitation-photos{margin-top:32px;display:block}.invitation-photos>figure:first-child img{aspect-ratio:4/3;border-radius:80px 80px 16px 16px;object-fit:cover}.invitation-photos .second-photo{display:none}.occasion{display:flex;flex-direction:column;padding:48px 20px;gap:28px;align-items:stretch}.occasion.personal>figure{order:2}.occasion.personal>div{order:1}.occasion p{max-width:none}.occasion figure img{max-height:480px}.gathering{padding:48px 20px}.gathering>div{align-items:flex-start;text-align:left;margin-bottom:24px}.gathering img{border-radius:24px;object-fit:contain}.closing{padding:48px 20px}.anthology-heading{display:block;padding:32px 20px 0}.anthology-heading figure{margin-top:28px}.anthology-heading img{aspect-ratio:3/2}.anthology{display:block;padding:48px 20px}.anthology aside{margin:32px 0 48px;max-width:none}.anthology aside img{max-height:360px;object-fit:contain;border-radius:24px}.last-chapter{width:100%;margin-top:36px}.last-chapter .flavour-records{columns:1}.cookie-invite{display:block;padding:32px 20px}.cookie-invite figure{margin-top:32px}.cookie-invite img{max-height:420px;border-radius:120px 120px 24px 24px;object-fit:contain}.celebration-gallery{padding:44px 20px}.celebration-gallery>div{display:block}.celebration-gallery figure+figure{margin-top:28px}.celebration-gallery img{max-height:470px;object-fit:contain}.cookie-prices{padding:48px 20px}.event-invitation{padding:32px 20px 0;text-align:left}.event-invitation .actions{justify-content:flex-start}.event-invitation figure{margin-top:28px}.event-invitation img{border-radius:20px}.note-heading{padding:32px 20px;display:block}.note-heading h1{font-size:44px}.note-heading figure{margin-top:24px;max-width:180px}.note-heading img{border-radius:60px 60px 16px 16px}.occasion-planner{padding:40px 20px;display:block}.occasion-planner aside{margin-top:48px}.field-grid{grid-template-columns:1fr;gap:0}.field-grid>label:last-child{grid-column:auto}}
@media(max-width:350px){h1{font-size:40px}.note-heading h1{font-size:38px}h2{font-size:30px}.invitation,.occasion,.gathering,.anthology,.cookie-invite,.celebration-gallery,.cookie-prices,.event-invitation,.note-heading,.occasion-planner{padding-inline:16px}.anthology-heading{padding-inline:16px}}

/* Control finish and safe scroll containment. */
.menu-panel,dialog{overscroll-behavior:contain}.comparison,.price-entry strong,.number{font-variant-numeric:tabular-nums}.button:active,button:active{transform:translateY(1px)}.header-call{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.footer-link{min-height:36px}.menu-panel .button{margin-bottom:8px}
@media(max-width:860px){.footer-link{min-height:44px;padding-block:10px}}
/* An invitation masthead and a horizontal closing index. */
@media(min-width:861px){.site-header{display:grid;grid-template-columns:1fr auto 1fr;gap:12px 28px;padding-top:20px;padding-bottom:14px}.site-header .brand{grid-column:2;grid-row:1;width:230px}.desktop-nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:32px}.header-call{grid-column:3;grid-row:1;justify-self:end}.footer-grid{grid-template-columns:1.1fr 1fr 1fr}.footer-grid>nav{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff40;padding-top:16px}}
