@font-face{font-family:'Gloock';font-weight:400;font-display:swap;src:url('../../fonts/gloock-400.woff2') format('woff2')}
@font-face{font-family:'Figtree';font-weight:400;font-display:swap;src:url('../../fonts/figtree-400.woff2') format('woff2')}
@font-face{font-family:'Figtree';font-weight:600;font-display:swap;src:url('../../fonts/figtree-600.woff2') format('woff2')}
@font-face{font-family:'Space Mono';font-weight:400;font-display:swap;src:url('../../fonts/space-mono-400.woff2') format('woff2')}
:root{
  --cacao:#1C120D;--espresso:#2A1B14;--buttermilk:#F4EAD8;--ink:#F7F0E6;--crumb:#B9A894;
  --honey:#D99A3A;--cherry:#B3202A;--rose:#E8B4B8;
  --display:'Gloock',ui-serif,serif;--text:'Figtree',ui-sans-serif,sans-serif;--mono:'Space Mono',ui-monospace,monospace;
  --gut:clamp(16px,4.4vw,64px);--max:1280px;
  --sticky-action-bg:rgba(28,18,13,.94);--sticky-action-accent:var(--cherry);--sticky-action-accent-fg:#fff;--sticky-action-focus:var(--honey);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cacao);color:var(--ink);font:400 clamp(16px,1.25vw,18px)/1.55 var(--text);overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--honey);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--ink);color:var(--cacao);padding:10px 14px}
.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.eyebrow{font:400 clamp(11px,.85vw,12px)/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--honey);margin:0 0 18px}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0}
h1{font-size:clamp(40px,7.2vw,104px);line-height:.98;letter-spacing:-.02em}
h2{font-size:clamp(34px,4.5vw,64px);line-height:1.02;letter-spacing:-.015em}
h3{font-size:clamp(22px,2vw,28px);line-height:1.1}
p{margin:0 0 1em;max-width:62ch}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.light{background:var(--buttermilk);color:var(--cacao)}
.light .eyebrow{color:#8a3b12}
.dark2{background:var(--espresso)}
.grain{position:relative;isolation:isolate}
.grain::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.layer-rule{height:12px;background:linear-gradient(var(--honey) 0 2px,transparent 2px 5px,var(--buttermilk) 5px 7px,transparent 7px 10px,var(--espresso) 10px 12px);border:0;margin:0}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;font:600 16px/1 var(--text);text-decoration:none;border:1px solid transparent;transition:transform .15s ease,background .2s ease,color .2s ease}
.btn:active{transform:scale(.97)}
.btn--red{background:var(--cherry);color:#fff}
.btn--red:hover{background:#c92a35}
.btn--ghost{border-color:rgba(247,240,230,.5);color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--cacao)}
.light .btn--ghost{border-color:rgba(28,18,13,.45);color:var(--cacao)}
.light .btn--ghost:hover{background:var(--cacao);color:var(--ink)}
.tel{font:400 14px/1 var(--mono);letter-spacing:.06em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--honey);padding:14px 2px 6px}
.light .tel{color:var(--cacao)}

/* header */
.hdr{position:absolute;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px var(--gut);background:linear-gradient(rgba(28,18,13,.88),rgba(28,18,13,.55) 60%,rgba(28,18,13,0))}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1}
.brand b{font:400 30px/1 var(--display)}
.brand span{font:400 9.5px/1 var(--mono);letter-spacing:.2em;color:var(--honey);margin-top:5px}
.nav{display:flex;align-items:center;gap:26px}
.nav a{text-decoration:none;font-weight:600;font-size:15px}
.nav a[aria-current]{color:var(--honey)}
.nav .hdr-tel{font:400 13px var(--mono);letter-spacing:.06em}
.nav .btn{min-height:42px;padding:0 18px;font-size:15px}
.menu-btn{display:none;min-width:48px;min-height:48px;background:none;border:1px solid rgba(247,240,230,.4);border-radius:999px;color:var(--ink);font:400 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:0 16px}
.drawer{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);z-index:80;background:var(--espresso);padding:24px;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;gap:6px;visibility:hidden}
.drawer.open{transform:none;visibility:visible}
.drawer a{text-decoration:none;font:400 28px/1.3 var(--display);padding:6px 0}
.drawer .small{font:400 13px/1.6 var(--mono);color:var(--crumb);margin-top:auto}
.drawer .close{align-self:flex-end;min-width:48px;min-height:48px;background:none;border:1px solid rgba(247,240,230,.4);border-radius:999px;color:var(--ink);font:400 12px var(--mono);text-transform:uppercase;letter-spacing:.12em}
.scrim{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.5)}
.scrim[hidden]{display:none}
@media (max-width:1023px){.nav{display:none}.menu-btn{display:inline-flex;align-items:center}}

/* hero */
.hero{position:relative;min-height:max(640px,100svh);display:flex;align-items:center;overflow:hidden;background:var(--cacao)}
.hero__media{position:absolute;inset:0 0 0 auto;width:min(64vw,1080px)}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:40% 72%}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--cacao) 0%,rgba(28,18,13,.55) 28%,rgba(28,18,13,0) 60%),linear-gradient(0deg,rgba(28,18,13,.7),rgba(28,18,13,0) 35%)}
.hero__glow{position:absolute;inset:0;background:radial-gradient(60% 70% at 70% 60%,rgba(217,154,58,.14),transparent 70%);pointer-events:none}
.hero__copy{position:relative;z-index:2;width:100%;max-width:var(--max);margin:0 auto;padding:120px var(--gut) 72px}
.hero__copy h1{max-width:11.5ch}
.hero__copy .sub{font-size:clamp(16px,1.4vw,20px);color:#eadfce;margin:24px 0 30px;max-width:44ch}
.hero--inner{min-height:max(560px,78svh)}
.hero__media.stand img{object-position:50% 60%}
/* small masters: a lit, framed photo instead of a stretched cover */
@media (min-width:1024px){
  .hero__media.framed{inset:auto calc(var(--gut) + 2vw) auto auto;top:50%;transform:translateY(-44%);width:min(40vw,540px);aspect-ratio:1;box-shadow:0 40px 120px rgba(0,0,0,.55),0 0 0 1px rgba(247,240,230,.08)}
  .hero__media.framed.tall{aspect-ratio:3/4;width:min(34vw,480px)}
  .hero__media.framed::after{background:linear-gradient(0deg,rgba(28,18,13,.35),transparent 40%)}
  .hero__media.framed::before{content:"";position:absolute;inset:-18%;z-index:-1;background:radial-gradient(closest-side,rgba(217,154,58,.28),transparent)}
  .hero--inner .hero__copy h1{max-width:12ch;font-size:clamp(56px,5.8vw,88px)}
  .hero--inner .hero__copy{padding-right:calc(min(40vw,540px) + var(--gut) + 4vw)}
}
.hero--inner .hero__copy h1{max-width:12ch}
@media (max-width:1023px){
  .hero{align-items:flex-end;min-height:100svh}
  .hero__media{width:100%;inset:0 0 auto 0;height:62svh}
  .hero__media::after{background:linear-gradient(0deg,var(--cacao) 0%,rgba(28,18,13,.35) 45%,rgba(28,18,13,.15) 100%)}
  .hero__copy{padding:0 var(--gut) 32px;margin-top:40svh}
  .hero__copy .sub{margin:14px 0 20px}
  .hero--inner{min-height:100svh}
}
@media (max-width:400px){.hero__copy .sub{font-size:15px}}

/* proof rail */
.proof{border-block:1px solid rgba(217,154,58,.35);overflow:hidden;background:var(--cacao)}
.proof__track{display:flex;width:max-content;animation:rail 48s linear infinite}
.proof:focus-within .proof__track,.proof.paused .proof__track{animation-play-state:paused}
.proof ul{display:flex;list-style:none;margin:0;padding:0}
.proof li{display:flex;align-items:baseline;gap:12px;padding:22px 34px;white-space:nowrap;border-right:1px solid rgba(247,240,230,.12)}
.proof li strong{font:400 26px/1 var(--display);color:var(--ink)}
.proof li span{font:400 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--crumb)}
.proof__src{font:400 11px/1.5 var(--mono);color:var(--crumb);letter-spacing:.06em;padding:10px var(--gut);margin:0;max-width:none;text-align:center;border-top:1px solid rgba(247,240,230,.08)}
@keyframes rail{to{transform:translateX(-50%)}}

/* sections */
.band{padding:clamp(72px,10vw,140px) 0}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:center}
.split--rev{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
@media (max-width:860px){.split,.split--rev{grid-template-columns:1fr}}
.layers__img{position:relative;max-width:520px;aspect-ratio:3/4;overflow:hidden}
.layers__img img{width:100%;height:100%;object-fit:cover}
.stripes{position:absolute;inset:0;display:grid;grid-template-rows:repeat(5,1fr);pointer-events:none}
.stripes i{background:var(--buttermilk);transform-origin:right;display:none}
.js-motion .stripes i{display:block;transition:transform .7s cubic-bezier(.7,0,.2,1)}
.js-motion .in .stripes i{transform:scaleX(0)}
.stripes i:nth-child(2){transition-delay:.08s}.stripes i:nth-child(3){transition-delay:.16s}.stripes i:nth-child(4){transition-delay:.24s}.stripes i:nth-child(5){transition-delay:.32s}
.sig{font:400 12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#6b4a36;margin-top:22px}
.reveal{transition:opacity .6s ease,transform .6s ease}
.js-motion .reveal:not(.in){opacity:0;transform:translateY(24px)}

/* the case */
.case{position:relative;background:var(--cacao);overflow:hidden}
.case__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;padding-top:clamp(64px,8vw,110px)}
.case__counter{font:400 12px var(--mono);letter-spacing:.14em;color:var(--honey);text-transform:uppercase;min-width:200px;text-align:right}
.chips{display:flex;gap:8px;overflow-x:auto;padding:22px var(--gut) 18px;max-width:var(--max);margin:0 auto;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(247,240,230,.3);background:transparent;color:var(--ink);font:400 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.chips button[aria-selected=true]{background:var(--honey);border-color:var(--honey);color:var(--cacao)}
.glass{height:10px;margin:0 var(--gut);border-top:1px solid rgba(247,240,230,.14);background:linear-gradient(rgba(247,240,230,.07),transparent);backdrop-filter:blur(6px)}
.case__rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:18px var(--gut) clamp(56px,7vw,96px);scroll-padding:0 var(--gut)}
.case__rail::-webkit-scrollbar{height:6px}.case__rail::-webkit-scrollbar-thumb{background:rgba(217,154,58,.5)}
.shelf{flex:none;width:min(84vw,1040px);scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:center;background:var(--espresso);border:1px solid rgba(247,240,230,.08);padding:clamp(20px,3vw,44px)}
.niche{position:relative;aspect-ratio:1;display:grid;place-items:center;background:radial-gradient(60% 60% at 50% 45%,rgba(217,154,58,.2),transparent 72%),var(--cacao);overflow:hidden}
.niche img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease;filter:brightness(.92)}
.shelf.is-centre .niche img{transform:translateY(-12px) scale(1.02);filter:brightness(1.05)}
.niche--stand img{object-position:50% 70%}
.shelf__no{font:400 12px var(--mono);letter-spacing:.14em;color:var(--honey);text-transform:uppercase}
.shelf h3{font-size:clamp(28px,3.2vw,46px);margin:10px 0 18px}
.items{list-style:none;margin:0 0 24px;padding:0}
.items li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(247,240,230,.12)}
.items li span:last-child{font:400 13px var(--mono);color:var(--honey);white-space:nowrap}
.shelf a.more{font-weight:600;text-decoration:none;border-bottom:2px solid var(--cherry);padding-bottom:4px}
@media (max-width:760px){.shelf{grid-template-columns:1fr}.niche{aspect-ratio:4/3}}
.case.pinned .case__rail{overflow:visible;scroll-snap-type:none;width:max-content;padding-right:var(--gut)}
.case.pinned .shelf{width:min(72vw,1000px)}

/* macaron band */
.fullband{position:relative;height:clamp(420px,62vw,640px);overflow:hidden;display:flex;align-items:flex-end}
.fullband img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;object-position:50% 45%}
.fullband::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(28,18,13,.94) 0%,rgba(28,18,13,.72) 38%,rgba(28,18,13,.08) 78%)}
.case.pinned .case__head{padding-top:44px}
.case.pinned .case__rail{padding-bottom:40px}
.fullband .wrap{position:relative;z-index:2;padding-bottom:clamp(36px,5vw,72px);width:100%}
.fullband h2{max-width:18ch}

/* occasions */
.occ{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:start}
.occ ol{list-style:none;margin:0;padding:0;counter-reset:o}
.occ li button{width:100%;display:grid;grid-template-columns:52px 1fr auto;align-items:baseline;gap:14px;padding:18px 0;background:none;border:0;border-bottom:1px solid rgba(247,240,230,.14);color:var(--ink);text-align:left;cursor:pointer;min-height:56px}
.occ li button b{font:400 clamp(26px,2.8vw,40px)/1.1 var(--display);transition:color .2s}
.occ li button[aria-pressed=true] b{color:var(--honey)}
.occ .n{font:400 12px var(--mono);color:var(--crumb)}
.occ .c{font:400 12px var(--mono);letter-spacing:.08em;color:var(--crumb);text-transform:uppercase}
.occ__fig{position:sticky;top:90px;margin:0;background:var(--buttermilk);aspect-ratio:3/4;display:grid;place-items:center;overflow:hidden}
.occ__fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .2s}
.occ__fig img.on{opacity:1}
.occ__fig img.photo{object-fit:cover;mix-blend-mode:normal;padding:0}
.occ__fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cacao);background:rgba(244,234,216,.85)}
@media (max-width:860px){.occ{grid-template-columns:1fr}.occ__fig{position:relative;top:0;max-width:420px;aspect-ratio:1}}

/* reviews */
.quotes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:40px}
.quote{margin:0;padding:26px;background:#fbf4e8;border-top:3px solid var(--cherry);display:flex;flex-direction:column;gap:18px}
.quote p{font:400 clamp(19px,1.5vw,22px)/1.3 var(--display);margin:0}
.quote footer{margin-top:auto;font:400 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#6b4a36}
@media (max-width:1023px){.quotes{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.quote{flex:none;width:78vw;max-width:340px;scroll-snap-align:start}}

/* visit */
.visit{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,80px)}
.facts{list-style:none;padding:0;margin:26px 0}
.facts li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid rgba(247,240,230,.14)}
.facts li>span:first-child{font:400 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--honey);padding-top:4px}
.map{width:100%;min-height:420px;height:100%;border:0;filter:grayscale(.3) contrast(1.05);background:var(--espresso)}
@media (max-width:860px){.visit{grid-template-columns:1fr}.map{min-height:320px}}

/* steps / lists */
.steps{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.steps li{padding:28px;border:1px solid rgba(28,18,13,.2)}
.steps b{display:block;font:400 64px/1 var(--display);color:var(--cherry);margin-bottom:14px}
.dark .steps li,.steps.on-dark li{border-color:rgba(247,240,230,.18)}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:36px}
.card-cake{margin:0;background:var(--buttermilk);color:var(--cacao)}
.card-cake .ph{aspect-ratio:3/4;display:grid;place-items:center;overflow:hidden}
.card-cake img{width:100%;height:100%;object-fit:cover}
.card-cake img.cover{object-fit:cover;mix-blend-mode:normal;padding:0}
.card-cake figcaption{padding:16px 18px;display:flex;justify-content:space-between;gap:10px;border-top:1px solid rgba(28,18,13,.12)}
.card-cake figcaption b{font:400 22px/1.1 var(--display)}
.card-cake figcaption span{font:400 12px var(--mono);color:#8a3b12;white-space:nowrap;padding-top:4px}
@media (max-width:1023px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.links-list{list-style:none;margin:30px 0 0;padding:0;columns:2;column-gap:40px}
.links-list li{break-inside:avoid;border-bottom:1px solid currentColor;border-color:rgba(247,240,230,.14)}
.links-list a{display:flex;justify-content:space-between;gap:12px;padding:16px 0;text-decoration:none;font:400 clamp(20px,1.8vw,26px)/1.2 var(--display)}
.links-list a span{font:400 12px var(--mono);color:var(--honey);padding-top:6px}
@media (max-width:640px){.links-list{columns:1}}

/* menu page */
.menu-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,5vw,72px)}
.shelf-index{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;gap:4px;padding-top:6px}
.shelf-index a{font:400 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:12px 0;color:var(--crumb);border-bottom:1px solid rgba(247,240,230,.1)}
.shelf-index a.on{color:var(--honey)}
.menu-sec{padding:0 0 clamp(64px,8vw,110px);scroll-margin-top:80px}
.menu-sec__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:32px;align-items:end;margin-bottom:28px}
.menu-sec__head img{aspect-ratio:1;object-fit:cover;width:100%}
.menu-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.menu-items li{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid rgba(247,240,230,.12)}
.menu-items li span:last-child{font:400 13px var(--mono);color:var(--honey);white-space:nowrap}
.menu-chips{position:sticky;top:0;z-index:30;background:rgba(28,18,13,.95);backdrop-filter:blur(6px);border-bottom:1px solid rgba(247,240,230,.1);display:none}
@media (max-width:1023px){.menu-layout{grid-template-columns:1fr}.shelf-index{display:none}.menu-chips{display:block}.menu-chips .chips{padding:12px var(--gut)}}
@media (max-width:640px){.menu-sec__head{grid-template-columns:1fr}.menu-sec__head img{max-width:300px}.menu-items{grid-template-columns:1fr}}

/* footer */
.foot{background:#140c08;padding:clamp(56px,7vw,96px) 0 calc(28px + var(--sticky-action-h,0px))}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.foot h4{font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--honey);margin:0 0 14px}
.foot ul{list-style:none;margin:0;padding:0;line-height:2}
.foot a{text-decoration:none}
.foot a:hover{color:var(--honey)}
.foot__big{font:400 clamp(56px,10vw,150px)/.9 var(--display);letter-spacing:-.03em;margin:48px 0 18px;color:#2f2019}
.foot__legal{font:400 11px/1.6 var(--mono);color:var(--crumb);letter-spacing:.06em}
@media (max-width:860px){.foot__grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot__grid{grid-template-columns:1fr}}
.sticky-action{font-family:var(--text)}
.sticky-action a{font-family:var(--text)}
@media (prefers-reduced-motion:reduce){
  .proof__track{animation:none;flex-wrap:wrap;width:auto}
  .proof ul[aria-hidden]{display:none}
  .proof ul{flex-wrap:wrap;justify-content:center}
  *{transition:none!important}
}

/* September 30: continuous counter and truthful occasion photography. */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1);--duration-ui:250ms}
::selection{background:var(--cherry);color:white}
h1,h2,h3{text-wrap:balance}
a{text-underline-offset:4px}
.btn{max-width:100%;text-align:center;line-height:1.25;transition:transform 150ms var(--ease-out),background var(--duration-ui) var(--ease-out),color var(--duration-ui) var(--ease-out)}
button,a{-webkit-tap-highlight-color:transparent}
main,section,.wrap,.split>*,.visit>*,.foot__grid>*,.facts li>*{min-width:0}
.facts a,.steps p,.foot a{overflow-wrap:anywhere}
.social-handle{white-space:nowrap;font-size:15px}
.foot__grid{grid-template-columns:1.3fr 1fr 1.1fr 1.1fr;gap:28px}
.menu-open{overflow:hidden}
.menu-open .sticky-action{visibility:hidden;pointer-events:none}
.drawer{width:min(420px,100vw);overflow-y:auto;overscroll-behavior:contain;transition:transform var(--duration-ui) var(--ease-drawer);padding-bottom:max(24px,env(safe-area-inset-bottom))}
.drawer .small>a{font:600 19px/1.5 var(--text)}
.drawer .small{padding-top:24px}
@media(min-width:861px) and (max-width:1100px){.nav{display:flex;gap:16px}.nav a{font-size:13px}.nav .hdr-tel{display:none}.menu-btn{display:none}.hdr{gap:16px}.nav .btn{padding:0 14px;font-size:13px}}
@media(max-width:860px){.foot__grid{grid-template-columns:1fr 1fr}.drawer{width:100vw}}
@media(max-width:480px){.foot__grid{grid-template-columns:1fr}}
.case__head{padding-top:64px;align-items:end}
.case__instruction{flex-basis:100%;font-size:16px;color:var(--crumb);margin:0}
.case .chips{gap:0;padding-top:20px;padding-bottom:0;border-bottom:1px solid #f7f0e626}
.case .chips a{flex:none;display:flex;align-items:center;min-height:54px;padding:12px 20px;text-decoration:none;font:400 12px/1.4 var(--mono);letter-spacing:.06em;border-bottom:2px solid transparent;transition:color 160ms var(--ease-out)}
.case .chips a[aria-current]{border-bottom-color:var(--cherry);color:var(--ink);background:#f7f0e60b}
.case__rail{gap:0;padding:30px var(--gut) 64px;scroll-behavior:smooth;overscroll-behavior-x:contain;align-items:stretch}
.shelf{width:calc(100vw - var(--gut)*2);max-width:1280px;border:0;background:transparent;padding:0 48px 0 0;grid-template-columns:minmax(0,540px) minmax(0,480px);gap:40px;scroll-margin:0;align-items:center}
.shelf .niche{aspect-ratio:1;background:transparent}
.shelf .niche img{transform:none;filter:none;transition:transform var(--duration-ui) var(--ease-out)}
.shelf.is-centre .niche img{transform:scale(1.015);filter:none}
.shelf .niche--stand img{object-fit:contain;background:#ddbeb3}
.shelf .items{margin-bottom:24px}
.shelf .more{display:inline-flex;min-height:44px;align-items:center}
.shelf h3{max-width:15ch}
.proof{position:relative}
.proof-toggle{display:block;margin:0 auto 12px;min-height:44px;border:0;background:transparent;color:var(--crumb);font:400 11px/1.4 var(--mono);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.occ__fig{background:#ddbeb3;aspect-ratio:3/4;max-width:480px}
.occ__fig img,.occ__fig img.photo{object-fit:contain;height:calc(100% - 92px);opacity:0;transform:scale(.985);transition:opacity var(--duration-ui) var(--ease-out),transform var(--duration-ui) var(--ease-out)}
.occ__fig img.on{opacity:1;transform:scale(1)}
.occ__fig figcaption{min-height:92px;background:var(--buttermilk);font-size:11px;line-height:1.4;letter-spacing:.025em;text-transform:none;padding:12px 16px}
.occasion-link{display:block;font:600 14px/1.4 var(--text);margin-top:8px;min-height:28px}
.static-caption{display:none}
.occ__fig.instant img{transition:none}
.occasion-extra{margin-top:28px;font-size:15px;color:var(--crumb)}
.occasion-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:36px}
.occasion-gallery figure,.board-gallery figure{margin:0;min-width:0}
.occasion-gallery img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#ddbeb3}
.occasion-gallery figcaption,.board-gallery figcaption{padding:12px 0;font:400 12px/1.5 var(--mono);color:var(--crumb)}
.occasion-gallery figcaption a{display:block;min-height:36px;padding-top:6px}
.board-gallery{display:grid;gap:28px}
.board-gallery img{width:100%;height:auto;max-width:540px}
.board-hero img{object-fit:contain;background:#ddbeb3}
.hero__media.cake-hero{aspect-ratio:599/548}
.hero__media.cake-hero img{object-fit:contain;object-position:center;background:#ddbeb3}
.cake-faq{margin-top:56px;max-width:760px}
.cake-faq h3{margin-bottom:24px}
.cake-faq details{border-bottom:1px solid #1c120d44}
.cake-faq summary{cursor:pointer;padding:20px 0;font-weight:600;min-height:56px}
.cake-faq p{padding-bottom:20px}
.card-cake figcaption{flex-wrap:wrap;gap:6px 10px;padding:16px 12px}
.card-cake figcaption b{min-width:0;overflow-wrap:anywhere}
.card-cake figcaption span{white-space:normal}
.steps li{min-width:0}
@media(max-width:860px){
 .case__counter{text-align:left;margin:0;min-width:0}
 .case .chips a{padding:12px 15px;letter-spacing:0}
 .shelf{width:calc(100vw - var(--gut)*2);grid-template-columns:1fr;gap:22px;padding:0 24px 0 0;align-content:start}
 .shelf .niche{aspect-ratio:4/3;max-width:540px}
 .shelf h3{font-size:30px;max-width:none}
 .shelf .items li{padding:9px 0;font-size:15px}
 .shelf__no{font-size:11px;margin-bottom:8px}
 .occ{gap:22px}
 .occ ol{display:flex;overflow-x:auto;gap:8px;scroll-snap-type:x mandatory;padding-bottom:8px}
 .occ li{flex:none;scroll-snap-align:start}
 .occ li button{display:flex;gap:10px;padding:12px 16px;border:1px solid #f7f0e64d;min-height:48px}
 .occ li button b{font:600 16px/1.2 var(--text);white-space:nowrap}
 .occ li .c{display:none}
 .occ__fig{width:100%;max-width:480px;aspect-ratio:4/5;top:0}
 .occ__fig img{height:calc(100% - 106px)}
 .occ__fig figcaption{min-height:106px}
 .occasion-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .board-gallery{grid-template-columns:1fr 1fr;gap:16px;align-items:start}
 .hero__media.cake-hero{aspect-ratio:auto}
 .hero__media.cake-hero img{object-fit:contain;object-position:50% 15%}
 .facts li{grid-template-columns:74px minmax(0,1fr);gap:12px}
}
@media(max-width:360px){
 .hero__copy{margin-top:34svh}
 .hero__copy h1{font-size:38px}
 .hero__copy .sub{margin:12px 0 16px}
 .hero .btn{min-height:44px;font-size:14px;padding:10px 15px}
 .hero .btns{gap:9px}
 .hero .tel{font-size:12px;padding-top:8px}
 .steps li{padding:22px}
 .grid4{gap:12px}
 .card-cake figcaption b{font-size:20px}
 .board-gallery{grid-template-columns:1fr}
}
@media(hover:hover) and (pointer:fine){
 .case .chips a:hover,.case .chips a:focus-visible{color:var(--honey)}
 .occasion-link:hover,.occasion-link:focus-visible{text-decoration-thickness:2px}
}
@media(prefers-reduced-motion:reduce){
 .proof-toggle{display:none}
 .proof li{white-space:normal;flex-wrap:wrap;max-width:100%;padding:20px}
 .case__rail{scroll-behavior:auto}
 .shelf.is-centre .niche img,.occ__fig img.on{transform:none}
 .js-motion .reveal:not(.in){opacity:1;transform:none}
 .stripes{display:none}
}

.menu-chips .chips a{display:flex;align-items:center;flex:none;min-height:44px;padding:0 16px;text-decoration:none;border:1px solid #f7f0e64d;border-radius:999px;font:400 12px var(--mono)}
.menu-chips .chips a[aria-current]{background:var(--honey);color:var(--cacao)}
@media(hover:hover) and (pointer:fine){.proof:hover .proof__track{animation-play-state:paused}.occ li button:hover b{color:var(--honey)}}

/* September 30, pass 2: full-bleed inner heroes, cream plinths, photo strip, ruled reviews and steps. */
:root{--plinth:radial-gradient(ellipse 72% 58% at 50% 40%,#fdf8ee 0%,var(--buttermilk) 64%,#e7d9be 100%);--rule-dark:rgba(28,18,13,.22);--ink-soft:#6b4a36}
@media (min-width:1024px){
  .hero__media::after{background:linear-gradient(90deg,var(--cacao) 0%,rgba(28,18,13,.86) 8%,rgba(28,18,13,.46) 24%,rgba(28,18,13,0) 50%),linear-gradient(0deg,rgba(28,18,13,.5),rgba(28,18,13,0) 26%)}
}
.hero__media--top img{object-position:62% 0}
.hero__media--roses img{object-position:60% 42%}
.hero__media.hero__media--roses::after{background:linear-gradient(90deg,var(--cacao) 0%,rgba(28,18,13,.88) 8%,rgba(28,18,13,.6) 30%,rgba(28,18,13,.1) 66%),linear-gradient(0deg,rgba(28,18,13,.55),rgba(28,18,13,0) 30%)}
@media (max-width:1023px){
  .hero__media--top img{object-position:50% 0}
  .hero__media.hero__media--roses::after{background:linear-gradient(0deg,var(--cacao) 0%,rgba(28,18,13,.35) 45%,rgba(28,18,13,.15) 100%)}
}

/* cut-out products stand on one warm plinth; multiply drops their white ground */
.plinth,.plinth-slab figure,.plinth-row figure,.occ__fig,.shelf .niche--stand{position:relative}
.plinth::before,.plinth-slab figure::before,.plinth-row figure::before,.occ__fig::before,.shelf .niche--stand::before{content:"";position:absolute;left:16%;right:16%;height:9%;bottom:6%;background:radial-gradient(closest-side,rgba(64,36,18,.34),rgba(64,36,18,0));pointer-events:none}
.plinth img,.plinth-slab img,.plinth-row img,.occ__fig img,.shelf .niche--stand img{position:relative;mix-blend-mode:multiply;background:transparent}
.card-cake .ph.plinth img{object-fit:contain}
.card-cake figcaption{border-top-color:var(--rule-dark);padding-inline:0}
.shelf .niche--stand{background:var(--plinth)}
.shelf .niche--stand img{background:transparent;object-fit:contain}
.occ__fig{background:var(--plinth)}
.occ__fig::before{bottom:calc(92px + 3%)}
.occ__fig img{position:absolute}
.occ__fig img.photo{object-fit:cover;mix-blend-mode:normal}
.occ__fig figcaption{background:transparent;border-top:1px solid var(--rule-dark)}
.plinth-slab{background:var(--plinth);color:var(--cacao);gap:0;padding:clamp(20px,3vw,44px) clamp(12px,2vw,28px) clamp(16px,2vw,28px)}
.plinth-slab figure{padding:0 clamp(8px,1.4vw,20px)}
.plinth-slab figure+figure{border-left:1px solid var(--rule-dark)}
.plinth-slab figure::before{bottom:calc(84px + 2%)}
.occasion-gallery.plinth-slab img{background:transparent}
.plinth-slab figcaption{color:var(--ink-soft);border-top:1px solid var(--rule-dark);min-height:84px}
.plinth-slab figcaption b{display:block;font:400 clamp(22px,2vw,28px)/1.1 var(--display);color:var(--cacao)}
.plinth-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,48px);align-items:end}
.plinth-row img{max-width:none}
.plinth-row figure::before{content:none}
.card-cake .ph.plinth img{object-position:50% 86%}
.duo img:first-of-type{object-position:50% 100%}
.plinth-row figcaption{color:var(--ink-soft);border-top:1px solid var(--rule-dark);margin-top:10px;letter-spacing:.1em;text-transform:uppercase}
.links-list.on-light li{border-color:var(--rule-dark)}
.links-list.on-light a span{color:#8a3b12}

/* family band: the bakery's own studio photographs, edge to edge */
.layers{padding-top:0}
.layers__strip{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.layers__strip img{width:100%;aspect-ratio:3/4;object-fit:cover}
.layers__copy{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,6vw,96px);padding-top:clamp(48px,7vw,96px);align-items:start}
.duo{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--cacao)}
.duo img{width:100%;aspect-ratio:1;object-fit:cover}
.duo__cap{position:absolute;left:0;right:0;bottom:0;margin:0;max-width:none;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:48px var(--gut) 20px;font:400 12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(0deg,rgba(28,18,13,.82),rgba(28,18,13,0))}
.duo__cap a{min-height:32px}
.rose-crop{overflow:hidden;aspect-ratio:4/5;max-width:460px;justify-self:end;width:100%}
.rose-crop img{width:100%;height:100%;object-fit:cover;object-position:78% 40%;transform:scale(1.35)}

/* reviews: one quote at display scale, the rest ruled */
.quote-lead{margin:clamp(36px,5vw,64px) 0 0}
.quote-lead p{font:400 clamp(34px,5.6vw,84px)/1.02 var(--display);letter-spacing:-.02em;max-width:17ch;margin:0;text-wrap:balance}
.quote-lead footer,.quote-list footer{font:400 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--crumb)}
.quote-lead footer{margin-top:24px;color:var(--honey)}
.quote-list{list-style:none;margin:clamp(40px,5vw,72px) 0 0;padding:0;border-top:1px solid rgba(247,240,230,.2)}
.quote-list li{padding:22px 0;border-bottom:1px solid rgba(247,240,230,.2)}
.quote-list blockquote{margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:12px 40px;align-items:baseline}
.quote-list p{font:400 clamp(20px,1.9vw,26px)/1.25 var(--display);margin:0;max-width:none}
.quote-list footer{text-align:right}

/* visit */
.visit--photo{grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr);gap:clamp(24px,3vw,48px)}
.visit__photo{width:100%;height:100%;min-height:420px;object-fit:cover}

/* custom cake steps: a ruled numbered row */
.steps--rule{gap:0;border-top:1px solid var(--rule-dark);border-bottom:1px solid var(--rule-dark)}
.steps--rule li{border:0;padding:28px clamp(16px,2.4vw,36px) 28px}
.steps--rule li:first-child{padding-left:0}
.steps--rule li+li{border-left:1px solid var(--rule-dark)}

/* footer wordmark runs the full measure */
.foot{overflow:hidden}
.foot__big{font-size:min(calc((100vw - 2*var(--gut))/3.24),356px);line-height:.8;white-space:nowrap;max-width:none;margin:56px 0 28px}

@media(max-width:860px){
 .layers__strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .layers__copy{grid-template-columns:1fr}
 .plinth-slab{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}
 .plinth-slab figure:nth-child(odd){border-left:0}
 .plinth-row{grid-template-columns:1fr 1fr}
 .plinth-row figure:first-child{grid-column:1/-1}
 .quote-list blockquote{grid-template-columns:1fr}
 .quote-list footer{text-align:left}
 .visit--photo{grid-template-columns:1fr}
 .visit__photo{min-height:0;height:auto;aspect-ratio:4/3}
 .steps--rule li,.steps--rule li:first-child{padding:24px 0}
 .steps--rule li+li{border-left:0;border-top:1px solid var(--rule-dark)}
 .rose-crop{justify-self:start;max-width:none;aspect-ratio:4/3}
 .duo__cap{position:static;background:var(--cacao);padding:16px var(--gut) 20px;grid-column:1/-1}
 .occ__fig::before{bottom:calc(106px + 3%)}
}
