@font-face{font-family:'Young Serif';font-weight:400;font-display:swap;src:url('fonts/young-serif-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:500;font-display:swap;src:url('fonts/figtree-500.woff2') format('woff2')}
@font-face{font-family:'Figtree';font-weight:700;font-display:swap;src:url('fonts/figtree-700.woff2') format('woff2')}
@font-face{font-family:'Space Mono';font-weight:400;font-display:swap;src:url('fonts/space-mono-400.woff2') format('woff2')}
@font-face{font-family:'Space Mono';font-weight:700;font-display:swap;src:url('fonts/space-mono-700.woff2') format('woff2')}

:root{
  --ink:#141210;--ink-2:#1e1a16;--cream:#f6efe2;--cocoa:#3b2a20;--praline:#71553c;
  --fondant:#e4d3b4;--gold:#c8a24a;--toast:#b6431f;--toast-2:#9c3517;
  --serif:'Young Serif',ui-serif,serif;--sans:'Figtree',system-ui,sans-serif;--mono:'Space Mono',ui-monospace,monospace;
  --ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1);
  --gut:clamp(20px,4vw,48px);--max:1280px;--pad:clamp(56px,6vw,80px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--cocoa);font:400 17px/1.65 var(--sans);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
button{font:inherit}
figure,blockquote{margin:0}
[id]{scroll-margin-top:84px}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.02em}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:12px;line-height:1.6}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--ink);padding:8px 12px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* grain on cream */
.grain{position:relative;isolation:isolate}
.grain::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.35;mix-blend-mode:multiply;
  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' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .42 0 0 0 0 .29 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border:1px solid currentColor;
  font:700 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:2px;
  transition:background .25s,color .25s,border-color .25s,transform .25s}@media (hover:hover) and (pointer:fine){.btn:hover{transform:translateY(-2px)}}
.btn-toast{background:var(--toast);border-color:var(--toast);color:#fff}@media (hover:hover) and (pointer:fine){.btn-toast:hover{background:var(--toast-2);border-color:var(--toast-2)}}
.btn-line{color:var(--cream);border-color:rgba(246,239,226,.5)}@media (hover:hover) and (pointer:fine){.btn-line:hover{border-color:var(--gold);color:var(--gold)}}
.btn-dark{color:var(--cocoa)}@media (hover:hover) and (pointer:fine){.btn-dark:hover{background:var(--cocoa);color:var(--cream)}}
.arrow{transition:transform .25s}@media (hover:hover) and (pointer:fine){.btn:hover .arrow{transform:translateX(4px)}}

/* header */
.top{position:fixed;inset:0 0 auto;z-index:50;transition:background .35s,border-color .35s,color .35s;color:var(--cream);border-bottom:1px solid transparent}
.top.scrolled{background:rgba(246,239,226,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--cocoa);border-color:var(--fondant)}
.top .wrap{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand svg{width:44px;height:44px;flex:none}
.brand b{font:400 22px/1 var(--serif);letter-spacing:-.01em}
.brand small{display:block;font:400 9px/1 var(--mono);letter-spacing:.3em;margin-top:4px;opacity:.75}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{font:400 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}@media (hover:hover) and (pointer:fine){.nav a:hover::after{transform:scaleX(1)}}
.top-cta{display:flex;align-items:center;gap:18px}
.top-cta .tel{font:400 12px/1 var(--mono);letter-spacing:.1em;text-decoration:none}
.top-cta .btn{min-height:40px;padding:0 16px}
.menu-btn{display:none;background:none;border:1px solid currentColor;color:inherit;min-height:40px;padding:0 14px;font:700 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;border-radius:2px;cursor:pointer}
.drawer{display:none}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;background:var(--ink);color:var(--cream);display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);overflow:hidden}
.hero-media{position:relative;grid-column:2;overflow:hidden}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--ink) 0%,rgba(20,18,16,.55) 16%,rgba(20,18,16,0) 42%),linear-gradient(0deg,rgba(20,18,16,.55),transparent 30%)}
.hero-copy{grid-column:1;grid-row:1;position:relative;z-index:2;align-self:end;padding:120px var(--gut) 56px max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)));width:calc(100% + 14vw)}
.hero-copy .mono{color:var(--gold)}
.hero-copy .mono,.hero h1,.hero .lede{text-shadow:0 1px 2px rgba(20,18,16,.55),0 2px 24px rgba(20,18,16,.5)}
.hero h1{font-size:clamp(46px,5.6vw,88px);line-height:.96;margin:18px 0 22px;max-width:11.5ch}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero .lede{max-width:34ch;font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:rgba(246,239,226,.84)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.scroll-cue{position:absolute;left:calc(45% - 40px);bottom:28px;z-index:2;color:rgba(246,239,226,.7);writing-mode:vertical-rl}

/* proof marquee */
.proof{background:var(--gold);color:var(--ink);overflow:hidden;border-block:1px solid var(--ink)}
.proof-track{display:flex;gap:0;width:max-content;animation:marquee 38s linear infinite}@media (hover:hover) and (pointer:fine){.proof:hover .proof-track,.proof:focus-within .proof-track{animation-play-state:paused}}
.proof-track span{display:flex;align-items:center;gap:22px;padding:18px 22px;font:700 13px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.proof-track span::after{content:"";width:8px;height:8px;background:var(--ink);transform:rotate(45deg);margin-left:22px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* section frame */
.sec{padding:var(--pad) 0}
.eyebrow{display:flex;align-items:center;gap:14px;color:var(--praline);margin-bottom:26px}
.eyebrow b{color:var(--gold);font-weight:700}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--fondant);max-width:160px}
.dark .eyebrow{color:rgba(246,239,226,.6)}.dark .eyebrow::after{background:rgba(200,162,74,.35)}
.h2{font-size:clamp(34px,4.3vw,62px);line-height:1.02;max-width:18ch}
.dark{background:var(--ink);color:var(--cream)}
.body-copy{max-width:58ch;color:inherit;opacity:.88}

/* the case: pick an item, see it up close */
.case-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);grid-template-areas:"stage intro" "stage picker" "also also";gap:28px clamp(32px,5vw,80px);align-items:start}
.case-intro{grid-area:intro}
.case-picker{grid-area:picker;display:flex;flex-direction:column;border-top:1px solid var(--fondant)}
.pick{appearance:none;background:none;border:0;border-bottom:1px solid var(--fondant);color:var(--cocoa);cursor:pointer;text-align:left;display:grid;grid-template-columns:64px 36px 1fr auto;align-items:center;gap:16px;padding:14px 0;position:relative;transition:background .3s}
.pick img{width:64px;height:64px;object-fit:cover;filter:saturate(.8);opacity:.85;transition:opacity .3s,filter .3s,transform .4s cubic-bezier(.2,.7,.2,1)}
.pick .n{color:var(--gold)}
.pick[data-item="cookies"] img{object-position:78% 50%}
.pick .nm{font:400 clamp(22px,2.2vw,32px)/1.1 var(--serif);letter-spacing:-.02em}
.pick .price{font:700 13px/1 var(--mono);white-space:nowrap}
.pick::before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--toast);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}@media (hover:hover) and (pointer:fine){.pick:hover img,.pick[aria-selected="true"] img{opacity:1;filter:none}}@media (hover:hover) and (pointer:fine){.pick:hover img{transform:scale(1.06)}}
.pick[aria-selected="true"]::before{transform:scaleX(1)}
.pick[aria-selected="true"] .nm{color:var(--toast)}
.case-stage{grid-area:stage;position:sticky;top:96px}
.stage-photo{position:relative;overflow:hidden;background:var(--ink)}
.stage-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:opacity .35s,transform .6s cubic-bezier(.2,.7,.2,1)}
.stage-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,18,16,.95) 0%,rgba(20,18,16,.78) 38%,rgba(20,18,16,.3) 62%,transparent 78%);pointer-events:none}
.stage-card .mono,.stage-card h3{text-shadow:0 1px 2px rgba(20,18,16,.6)}
.stage-card{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(20px,3vw,36px);color:var(--cream);transition:opacity .35s,transform .35s}
.stage-card .mono{color:var(--gold)}
.stage-card h3{font-size:clamp(32px,3.4vw,52px);line-height:1;margin:10px 0 12px}
.stage-card p{max-width:44ch;color:rgba(246,239,226,.86);font-size:16px}
.stage-card .btn{margin-top:20px}

.case-also{grid-area:also;color:var(--praline)}

/* compass */
.compass-head{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap}
.tabs{display:flex;border:1px solid rgba(200,162,74,.5);margin-top:8px}
.tabs button{appearance:none;background:none;border:0;color:var(--cream);font:700 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;min-height:52px;padding:0 20px;cursor:pointer;position:relative;transition:color .25s,background .25s}
.tabs button+button{border-left:1px solid rgba(200,162,74,.5)}
.tabs button[aria-selected="true"]{background:var(--gold);color:var(--ink)}@media (hover:hover) and (pointer:fine){.tabs button:hover:not([aria-selected="true"]){color:var(--gold)}}
.scope{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;align-items:end;margin:44px 0 36px;padding-top:28px;border-top:1px solid rgba(200,162,74,.35)}
.scope h3{font-size:clamp(26px,2.6vw,38px);line-height:1.1;max-width:24ch}
.scope p{margin-top:12px;max-width:60ch;color:rgba(246,239,226,.78)}
.scope .lead{color:var(--gold);margin-top:14px;display:block}
.scope[data-anim]{transition:opacity .35s,transform .35s}

.rail-wrap{position:relative}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px var(--gut) 28px;margin:0 calc(var(--gut)*-1);scrollbar-width:thin;scrollbar-color:var(--gold) transparent;overscroll-behavior-x:contain}
.card{flex:0 0 clamp(240px,24vw,320px);scroll-snap-align:start;text-decoration:none;color:var(--cream);background:var(--ink-2);border:1px solid rgba(200,162,74,.22);display:flex;flex-direction:column;transition:border-color .3s,transform .4s cubic-bezier(.2,.7,.2,1),opacity .35s}@media (hover:hover) and (pointer:fine){.card:hover{border-color:var(--gold);transform:translateY(-4px)}}
.card[hidden]{display:none}
.card .ph{aspect-ratio:4/5;overflow:hidden;position:relative;background:#231d18}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}@media (hover:hover) and (pointer:fine){.card:hover .ph img{transform:scale(1.05)}}
.card .tag{aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:space-between;padding:22px;background:
  radial-gradient(120% 80% at 100% 0%,rgba(200,162,74,.16),transparent 60%),#221c17}
.card .tag .big{font:400 clamp(28px,2.4vw,36px)/1.02 var(--serif);color:var(--fondant);letter-spacing:-.02em}
.card .tag ul{list-style:none;margin:0;padding:0;color:rgba(246,239,226,.7);font:400 13px/1.7 var(--sans)}
.card .meta{padding:16px 18px 18px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid rgba(200,162,74,.22)}
.card .meta b{font:400 21px/1.15 var(--serif)}
.card .meta span{font:700 12px/1 var(--mono);color:var(--gold);white-space:nowrap}
.rail-hint{color:rgba(246,239,226,.55);margin-top:4px}

/* lunch counter chalkboard */
.lunch{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,88px);align-items:start}
.board{background:#1d211d;color:#ecebe2;border:12px solid #6b4a30;outline:1px solid #3f2b1b;box-shadow:inset 0 0 80px rgba(0,0,0,.45);padding:clamp(24px,3.5vw,44px);position:relative;
  background-image:radial-gradient(60% 50% at 30% 20%,rgba(255,255,255,.05),transparent 70%),radial-gradient(40% 40% at 80% 90%,rgba(255,255,255,.04),transparent 70%)}
.board h3{font:400 clamp(30px,3vw,40px)/1.05 var(--serif);color:#f3eedd}
.board .mono{color:#d8c690}
.board ul{list-style:none;margin:24px 0 0;padding:0}
.board li{display:flex;align-items:baseline;gap:10px;padding:11px 0;font:400 17px/1.35 var(--sans)}
.board li::after{content:none}
.board li .dots{flex:1;border-bottom:2px dotted rgba(236,235,226,.35);transform:translateY(-4px)}
.board li .p{font:700 15px/1 var(--mono);color:#f1d98a}
.board .foot{margin-top:22px;padding-top:16px;border-top:1px dashed rgba(236,235,226,.3);color:rgba(236,235,226,.72);font-size:14px}

/* cakes asym */
.cakes-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:56px}
.cake{position:relative;margin:0}
.cake img{width:100%;height:100%;object-fit:cover}
.cake figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--fondant);margin-top:12px}
.cake figcaption b{font:400 22px/1.15 var(--serif);color:var(--cocoa)}
.cake figcaption span{color:var(--praline);white-space:nowrap}
.cake.a{grid-column:1/span 5}.cake.a .frame{aspect-ratio:1}
.cake.b{grid-column:7/span 6;margin-top:120px}.cake.b .frame{aspect-ratio:5/4}
.cake.c{grid-column:2/span 6;margin-top:40px}.cake.c .frame{aspect-ratio:5/4}
.cake.note{grid-column:9/span 4;align-self:center;background:var(--ink);color:var(--cream);padding:32px}
.cake.note h3{font-size:30px;line-height:1.1}
.cake.note p{margin-top:12px;color:rgba(246,239,226,.8);font-size:15px}
.cake.note .mono{color:var(--gold)}
.frame{overflow:hidden;border:1px solid var(--fondant);background:#efe5d2}

/* full bleed catering band */
.band{position:relative;min-height:92vh;display:flex;align-items:flex-end;color:var(--cream);overflow:hidden;background:var(--ink)}
.band img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;object-position:50% 45%}
.band::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(20,18,16,.92) 0%,rgba(20,18,16,.5) 38%,rgba(20,18,16,.1) 70%)}
.band .wrap{position:relative;z-index:2;padding-bottom:clamp(56px,8vw,104px);width:100%}
.band h2{font-size:clamp(38px,5.4vw,84px);line-height:1;max-width:14ch}
.band p{max-width:52ch;margin-top:20px;color:rgba(246,239,226,.85)}
.band .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

/* reviews */
.reviews{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,88px)}
.reviews .portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 40%}
.reviews .portrait figcaption{margin-top:12px;color:var(--praline)}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--fondant);margin-top:40px}
.quote{padding:26px 24px 26px 0;border-bottom:1px solid var(--fondant)}
.quote:nth-child(even){padding-left:24px;border-left:1px solid var(--fondant)}
.quote p{font:400 19px/1.45 var(--serif);color:var(--cocoa)}
.quote .who{margin-top:14px;color:var(--praline)}
.quote .stars{color:var(--gold);letter-spacing:.2em;font-size:13px}
.src{margin-top:18px;color:var(--praline)}

/* about */
.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center}
.about-photo{position:relative}
.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:45% 30%;border:1px solid rgba(200,162,74,.35)}
.about-photo figcaption{margin-top:12px;color:rgba(246,239,226,.6)}
.video-mini{display:flex;align-items:center;gap:18px;margin-top:28px;padding-top:24px;border-top:1px solid rgba(200,162,74,.25)}
.video-mini .video{flex:0 0 168px}
.video-mini .video button .play{width:44px;height:44px}
.video-mini .video button .play::before{border-left-width:13px;border-top-width:8px;border-bottom-width:8px;margin-left:3px}
.video-mini p{color:rgba(246,239,226,.7);line-height:1.9}
.video-mini a{color:var(--gold)}
.about blockquote{margin:0;font:400 clamp(30px,3.4vw,50px)/1.08 var(--serif);letter-spacing:-.02em}
.about blockquote span{color:var(--gold)}
.video{position:relative;aspect-ratio:16/9;background:#000;border:1px solid rgba(200,162,74,.35)}
.video iframe,.video button{position:absolute;inset:0;width:100%;height:100%;border:0}
.video button{cursor:pointer;background:#000 center/cover;color:var(--cream);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px}
.video button .play{width:74px;height:74px;border-radius:50%;background:var(--toast);display:grid;place-items:center;transition:transform .3s}@media (hover:hover) and (pointer:fine){.video button:hover .play{transform:scale(1.08)}}
.video button .play::before{content:"";border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}
.video button::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,.15))}
.video button>*{position:relative}
.about-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border-top:1px solid rgba(200,162,74,.35)}
.about-facts div{padding:20px 16px 0 0}
.about-facts b{display:block;font:400 34px/1 var(--serif);color:var(--cream)}
.about-facts span{color:rgba(246,239,226,.6)}

/* find us */
.find{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,88px)}
.ruled{border-top:2px solid var(--cocoa)}
.ruled dl{margin:0}
.ruled .row{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--fondant)}
.ruled dt{color:var(--praline)}
.ruled dd{margin:0;font-size:17px}
.ruled dd a{text-decoration-color:var(--gold);text-underline-offset:4px}
.ruled .hrs{display:grid;grid-template-columns:auto 1fr;gap:2px 16px}
.ruled .note{font-size:14px;color:var(--praline);margin-top:8px}
.directions{background:var(--fondant);padding:clamp(24px,3vw,40px)}
.directions h3{font-size:30px;line-height:1.1}
.directions ol{margin:18px 0 0;padding-left:20px}
.directions li{margin:8px 0}
.socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

/* closing + footer */
.closing{position:relative;overflow:hidden;background:var(--ink);color:var(--cream);text-align:center}
.closing img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.closing::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(70% 90% at 50% 50%,rgba(20,18,16,.35),rgba(20,18,16,.92))}
.closing .wrap{position:relative;z-index:2;padding-top:clamp(96px,12vw,160px);padding-bottom:clamp(96px,12vw,160px)}
.closing svg{width:96px;height:96px;margin:0 auto 26px}
.closing h2{font-size:clamp(40px,6vw,92px);line-height:.98;max-width:13ch;margin:0 auto}
.closing p{margin:22px auto 0;max-width:46ch;color:rgba(246,239,226,.82)}
.closing .row{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:34px}
footer{background:#0d0c0b;color:rgba(246,239,226,.7);padding:56px 0 110px}
footer .grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
footer h4{margin:0 0 14px;font:700 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
footer a{text-decoration:none}@media (hover:hover) and (pointer:fine){footer a:hover{color:var(--gold)}}
footer ul{list-style:none;margin:0;padding:0;font-size:15px;line-height:2}
footer .legal{margin-top:44px;padding-top:20px;border-top:1px solid rgba(200,162,74,.2);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* reveal states (JS adds .js to html) */
.js [data-reveal]{opacity:1}
.js .clip{clip-path:none}

@media (max-width:1024px){
  .lunch,.reviews,.about,.find{grid-template-columns:1fr}
  .case-grid{grid-template-columns:1fr;grid-template-areas:"intro" "picker" "stage" "also"}
  .case-stage{position:relative;top:auto}
  .about-photo{max-width:520px}
  .cake.a{grid-column:1/span 6}.cake.b{grid-column:7/span 6;margin-top:60px}
  .cake.c{grid-column:1/span 7;margin-top:0}.cake.note{grid-column:8/span 5}
  footer .grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{font-size:16px;line-height:1.6}
  .top .wrap{height:64px;gap:12px}
  .drawer{top:64px}
  .brand b{font-size:19px}.brand svg{width:38px;height:38px}
  .top-cta .btn{display:none}
  .hero{display:block;min-height:100svh}
  .hero-media{position:absolute;inset:0}
  .hero-media::before{background:linear-gradient(0deg,var(--ink) 8%,rgba(20,18,16,.9) 38%,rgba(20,18,16,.72) 56%,rgba(20,18,16,.3) 80%,rgba(20,18,16,.5) 100%)}
  .hero-copy{position:relative;width:auto;padding:0 var(--gut) 40px;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
  .hero h1{font-size:clamp(38px,11.5vw,48px);margin:14px 0 16px}
  .hero-actions .btn{flex:1 1 auto;justify-content:center}
  .scroll-cue{display:none}
  .mono{font-size:11px}
  .case-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:0}
  .pick{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:6px 8px;padding:0 0 10px;border-bottom:1px solid var(--fondant)}
  .pick img{grid-column:1/-1;width:100%;height:auto;aspect-ratio:4/3}
  .pick .n{display:none}
  .pick .nm{font-size:20px;grid-column:1/-1}
  .pick .price{font-size:11px;grid-column:1/-1}
  .stage-photo img{aspect-ratio:4/3}
  .stage-photo::after{display:none}
  .stage-card{position:relative;padding:22px 20px 24px}
  .stage-card h3{font-size:34px}
  .stage-card p{font-size:15px}
  .video-mini .video{flex-basis:128px}
  .tabs{width:100%}.tabs button{flex:1;padding:0 8px;font-size:10.5px;letter-spacing:.08em}
  .scope{grid-template-columns:1fr}
  .cakes-grid{grid-template-columns:1fr;gap:36px;margin-top:40px}
  .cake.a,.cake.b,.cake.c,.cake.note{grid-column:auto;margin-top:0}
  .band{min-height:82svh}
  .quotes{grid-template-columns:1fr}
  .quote,.quote:nth-child(even){padding:22px 0;border-left:0}
  .quote p{font-size:18px}
  .about-facts b{font-size:24px}
  .about-facts{grid-template-columns:repeat(3,auto);gap:0 18px}
  .about-facts div{padding-right:0}
  .ruled .row{grid-template-columns:1fr;gap:6px}
  footer .grid{grid-template-columns:1fr}
  .card{flex-basis:74vw}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-reveal]{opacity:1}.js .clip{clip-path:none}
  .proof-track{width:auto;flex-wrap:wrap;justify-content:center}
  .proof-track span[aria-hidden]{display:none}
}

/* September 29: retain the bakery world; make the product and task clearer. */
[hidden]{display:none!important}
button,a{touch-action:manipulation}
button:disabled{opacity:.35;cursor:default}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.btn:active,.pick:active{transform:scale(.98);transition-duration:120ms}
.btn:focus-visible .arrow{transform:translateX(3px)}
.top{top:14px;left:0;right:0;border:0;pointer-events:none}
.top .wrap{max-width:min(1280px,calc(100% - 40px));height:64px;padding:0 22px;gap:22px;border:1px solid rgba(246,239,226,.23);border-radius:40px;background:rgba(20,18,16,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:auto}
.top.scrolled{background:none;border:0;backdrop-filter:none;color:var(--cream)}
.top.scrolled .wrap{background:rgba(20,18,16,.96)}
.top-cta{margin-left:auto;gap:14px}
.nav{gap:4px;margin-left:auto}
.nav a{font:500 14px/1 var(--sans);letter-spacing:0;text-transform:none;padding:12px 10px;border-radius:24px;transition:background 180ms var(--ease-out)}
.nav a::after{display:none}
.nav a:focus-visible{background:rgba(246,239,226,.13)}
.top-cta .btn{font:700 13px/1 var(--sans);letter-spacing:0;text-transform:none;border-radius:22px;min-height:42px;padding-inline:18px}
.hero{display:block;min-height:100svh}
.hero-media{position:absolute;inset:0}
.hero-media img{object-position:68% 50%}
.hero-media::before{background:linear-gradient(90deg,rgba(20,18,16,.95),rgba(20,18,16,.75) 35%,rgba(20,18,16,.12) 68%,rgba(20,18,16,0)),linear-gradient(0deg,rgba(20,18,16,.25),transparent 35%)}
.hero-copy{width:auto;min-height:100svh;padding:150px var(--gut) 64px max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)));display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero h1{font-size:clamp(64px,6.7vw,100px);line-height:1.01;max-width:12ch;margin:20px 0 24px;text-wrap:initial}
.hero .lede{max-width:41ch;font-size:18px;color:var(--cream)}
.hero-actions{align-items:center;gap:20px}
.hero-explore{font:500 16px/1.4 var(--sans);text-underline-offset:6px;display:inline-flex;gap:14px;align-items:center;min-height:48px}
.pickup-note{font-size:13px;line-height:1.5;max-width:46ch;color:rgba(246,239,226,.8);margin-top:18px}
.proof{position:relative;padding-right:72px}
.proof-toggle{position:absolute;right:0;top:0;bottom:0;width:72px;background:var(--gold);color:var(--ink);border:0;border-left:1px solid var(--ink);font:700 12px var(--sans);cursor:pointer}
.proof-source{padding:9px var(--gut);text-align:center;background:var(--cream);font-size:11px;color:var(--praline)}
.proof-track span{font-size:12px;padding-block:16px}
.case-grid{grid-template-areas:'stage intro' 'stage picker' 'status status' 'also also';column-gap:56px;row-gap:18px}
.case-intro .h2{font-size:clamp(34px,3.8vw,56px)}
.case-intro .body-copy{margin-top:18px!important}
.case-stage{position:relative;top:auto;align-self:start;background:var(--ink)}
.stage-photo{overflow:hidden}
.stage-photo>img{aspect-ratio:4/3;object-fit:cover;object-position:center;height:auto;transition:none}
.stage-photo::after{display:none}
.stage-card{position:relative;padding:26px 28px 30px;transition:none}
.stage-card h3{font-size:40px;margin:14px 0 12px}
.stage-card p{font-size:16px;line-height:1.5}
.stage-card .ticket-lead{margin-top:14px;font-size:13px;color:var(--gold)}
.ticket-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}
.ticket-price{font:400 13px/1.5 var(--mono);color:var(--cream)}
.pick{grid-template-columns:60px 1fr auto;gap:10px 14px;padding:14px 10px;min-width:0}
.pick .n{display:none}
.pick img{grid-row:1/span 2;width:60px;height:60px;opacity:1;filter:none}
.pick .nm{font-size:25px;grid-column:2}
.pick .price{grid-column:2;font-size:12px;line-height:1.4;font-weight:400}
.selected-label{grid-column:3;grid-row:1/span 2;font:500 11px/1 var(--sans);opacity:0;color:var(--toast)}
.pick[aria-selected=true]{background:rgba(228,211,180,.38)}
.pick[aria-selected=true] .selected-label{opacity:1}
.pick:focus-visible{outline-color:var(--toast);outline-offset:2px}
.case-status{grid-area:status;min-height:20px;font-size:12px;color:var(--praline)}
.case-status:empty{display:none}
.case-also{font-size:15px;margin-top:0}
.case-also a{text-underline-offset:4px}
.scope{margin-top:28px;margin-bottom:24px;padding-top:24px}
.card{border:0;background:transparent;flex-basis:clamp(230px,22vw,300px)}
.card .ph,.card .tag{aspect-ratio:5/4}
.card .meta{padding:15px 0;border-color:rgba(246,239,226,.24)}
.card .tag{padding:20px}
.card .tag .big{font-size:28px}
.rail{padding-bottom:12px;scrollbar-width:thin}
.rail-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}
.rail-hint{font-size:13px}
.rail-controls{display:flex;gap:8px}
.rail-controls button{background:none;color:var(--cream);border:1px solid rgba(246,239,226,.4);height:44px;width:44px;font-size:22px;cursor:pointer}
#lunch{padding-block:72px}
#reviews{padding-bottom:64px}
#about{padding-block:72px}
.about{align-items:start}
.eyebrow{margin-bottom:20px}
.cakes-grid{margin-top:40px}
.cake.b{margin-top:72px}
.video-mini.playing{display:block}
.video-mini.playing .video{width:100%}
.video-mini.playing p{margin-top:12px}
.visit-faq{margin-top:32px;border-top:1px solid var(--praline);padding-top:24px}
.visit-faq h3{font-size:24px;margin-bottom:16px}
.visit-faq details{border-bottom:1px solid rgba(59,42,32,.25)}
.visit-faq summary{padding:16px 0;cursor:pointer;font-weight:700;font-size:16px;line-height:1.4}
.visit-faq details p{padding:0 0 18px;font-size:15px}
.sticky-action{--sticky-action-bg:var(--ink);--sticky-action-fg:var(--cream);--sticky-action-accent:var(--toast);--sticky-action-accent-fg:#fff}
.sticky-action a{font:700 14px/1.2 var(--sans);border-radius:2px}
.menu-open .sticky-action{visibility:hidden;pointer-events:none}
.no-js-links{font-size:15px}
@media (hover:hover) and (pointer:fine){
  .nav a:hover{background:rgba(246,239,226,.13)}
  .pick:hover{background:var(--fondant)}
}
@media (max-width:1200px){
  .top .wrap{gap:12px}
  .nav a{font-size:13px;padding-inline:7px}
  .top .brand small{letter-spacing:.1em}
}
@media (max-width:1024px){
  .case-grid{grid-template-columns:1fr;grid-template-areas:'intro' 'picker' 'stage' 'status' 'also';gap:24px}
  .case-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border:0}
  .pick{display:flex;flex-direction:column;align-items:flex-start;padding:10px;gap:8px}
  .pick img{width:100%;height:auto;aspect-ratio:4/3}
  .pick .nm{font-size:22px}
  .pick .price{white-space:normal}
  .selected-label{min-height:11px;margin-top:auto}
  .stage-photo>img{max-height:460px}
  .case-intro .body-copy{max-width:58ch}
}
@media (max-width:860px){
  .nav{display:none}
  .menu-btn{display:inline-flex;align-items:center;border-radius:24px;min-height:44px;font:500 14px/1 var(--sans);letter-spacing:0;text-transform:none}
  .top-cta .btn{display:none}
  .drawer{display:flex;flex-direction:column;position:fixed;inset:0;z-index:49;background:var(--ink);color:var(--cream);padding:100px var(--gut) max(24px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;transform:translateY(-16px);opacity:0;visibility:hidden;transition:transform 220ms var(--ease-drawer),opacity 180ms var(--ease-out),visibility 0s 220ms}
  .drawer.open{transform:none;opacity:1;visibility:visible;transition:transform 220ms var(--ease-drawer),opacity 180ms var(--ease-out)}
  .drawer>a{display:block;padding:15px 0;border-bottom:1px solid rgba(200,162,74,.18);font:400 28px/1.1 var(--serif);text-decoration:none}
  .drawer-actions{margin-top:auto;padding-top:24px;display:grid;gap:12px}
  .drawer-actions a{padding:14px 16px;min-height:48px;text-align:center;background:var(--toast);color:#fff;font-weight:700;text-decoration:none}
  .menu-open{overflow:hidden}
  .menu-open .top{color:var(--cream)}
}
@media (max-width:760px){
  :root{--gut:20px;--pad:56px}
  .top{top:10px}
  .top .wrap{height:58px;padding-inline:12px;max-width:calc(100% - 24px);gap:8px}
  .brand{gap:8px}.brand small{letter-spacing:.17em;font-size:8px}
  .top-cta{margin-left:auto}
  .hero-copy{padding:120px 20px 36px;min-height:100svh;justify-content:flex-end;align-items:stretch}
  .hero-media img{object-position:55% 25%}
  .hero-media::before{background:linear-gradient(0deg,rgba(20,18,16,.98),rgba(20,18,16,.85) 38%,rgba(20,18,16,.3) 72%,rgba(20,18,16,.18))}
  .hero h1{font-size:46px;max-width:12ch;line-height:1.03;margin:16px 0 20px}
  .hero .lede{font-size:16px;line-height:1.5;max-width:38ch}
  .hero-copy>.mono{font-size:10px;max-width:30ch}
  .hero-actions{gap:12px;margin-top:22px}
  .hero-actions .btn{flex:0 1 auto;min-height:48px;padding-inline:16px;font-size:11px;letter-spacing:.06em}
  .hero-explore{font-size:14px;min-height:40px}
  .pickup-note{font-size:12px;line-height:1.45;margin-top:14px;max-width:40ch}
  .case-grid{gap:20px}
  .case-picker{gap:4px;grid-template-columns:repeat(4,minmax(0,1fr))}
  .pick{padding:6px 4px 10px;gap:8px}
  .pick img{aspect-ratio:1;object-fit:cover}
  .pick .nm{font:700 13px/1.2 var(--sans);letter-spacing:0}
  .pick .price{font:400 10px/1.3 var(--sans)}
  .selected-label{font-size:10px}
  .stage-card{padding:22px 20px 26px}
  .stage-card h3{font-size:34px}
  .stage-card .btn{font:700 13px/1.3 var(--sans);letter-spacing:0;text-transform:none;padding-inline:16px}
  .stage-photo>img{aspect-ratio:4/3;max-height:none}
  .stage-card p{font-size:15px}
  .ticket-top{align-items:start;gap:8px}
  .ticket-top .mono{font-size:10px;letter-spacing:.08em}
  .ticket-price{font-size:11px}
  .case-status{font-size:11px}
  .scope{margin:24px 0;gap:20px}
  .scope .btn{font-size:11px;letter-spacing:.06em;justify-content:center}
  .card{flex-basis:76vw}
  .card .tag .big{font-size:27px}
  #lunch,#about{padding-block:56px}
  #reviews{padding-bottom:48px}
  .about{gap:32px}
  .cake.b{margin-top:0}
  .closing .wrap{padding-block:72px}
  .closing svg{width:70px;height:70px}
  .proof-source{font-size:10px}
  .proof-toggle{width:64px}
  .proof{padding-right:64px}
  .ruled dd{overflow-wrap:anywhere}
  .board{padding:24px 18px;border-width:8px}
  .board li{font-size:15px;gap:8px}
  .board li .p{font-size:12px}
}
@media (max-width:350px){
  .hero h1{font-size:40px}
  .hero-copy{padding-top:104px;padding-bottom:28px}
  .hero-actions{gap:8px;margin-top:18px}
  .hero-explore{min-height:36px}
  .brand b{font-size:18px}.brand svg{width:32px;height:32px}
  .brand small{font-size:7px}
  .pick .nm{font-size:12px}
  .pick .price{font-size:9px}
  .selected-label{font-size:9px}
  .video-mini{flex-direction:column;align-items:stretch}.video-mini .video{flex-basis:auto}
}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .band>img{animation:bakery-photo-depth linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
    @keyframes bakery-photo-depth{from{transform:scale(1.08) translateY(-2%)}to{transform:scale(1) translateY(2%)}}
  }
}
@media (prefers-reduced-transparency:reduce){.top .wrap{background:var(--ink);backdrop-filter:none}}
@media (prefers-reduced-motion:reduce){
  .proof{padding-right:0}.proof-toggle{display:none}
  .proof-track span{font-size:10px;padding:12px;white-space:normal}
  .proof-track span::after{display:none}
  .drawer{transform:none}
}
html:not(.js) .case-picker,html:not(.js) .tabs,html:not(.js) .rail-controls,html:not(.js) .menu-btn{display:none}
html:not(.js) .proof-track{animation:none;width:auto;flex-wrap:wrap}
html:not(.js) .proof-track span[aria-hidden]{display:none}
html:not(.js) .proof-toggle{display:none}
html:not(.js) .top-cta .btn{display:inline-flex}

/* Bounded finish: food first, a category shelf, and quieter contact choices. */
.nav-contact{position:relative}
.nav-contact summary{list-style:none;cursor:pointer;padding:12px 10px;font:500 14px/1 var(--sans);border-radius:24px;white-space:nowrap}
.nav-contact summary::-webkit-details-marker{display:none}
.nav-contact summary span{display:inline-block;margin-left:5px}
.nav-contact[open] summary,.nav-contact summary:focus-visible{background:rgba(246,239,226,.13)}
.contact-menu{position:absolute;top:calc(100% + 17px);right:0;width:248px;padding:12px;background:var(--ink);border:1px solid rgba(200,162,74,.4);border-radius:8px}
.contact-menu a{display:flex;align-items:center;min-height:44px;border-radius:4px;padding:12px;font-size:14px}
.hero-media{background:var(--ink)}
.hero-media img{left:auto;right:0;width:70%;object-position:50% 35%}
.hero-media::before{background:linear-gradient(90deg,var(--ink) 12%,rgba(20,18,16,.94) 30%,rgba(20,18,16,.7) 43%,rgba(20,18,16,.08) 67%,transparent 80%)}
.case-grid{display:grid;grid-template-columns:1fr;grid-template-areas:'intro' 'picker' 'stage' 'status' 'also';gap:24px}
.case-intro{display:grid;grid-template-columns:1.25fr 1fr;column-gap:60px;align-items:end}
.case-intro .eyebrow{grid-column:1/-1}
.case-intro .body-copy{max-width:40ch;margin:0!important}
.case-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-block:1px solid var(--fondant)}
.pick{position:relative;display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;align-items:center;gap:3px 16px;padding:16px;min-height:100px;border:0;background:transparent;transition:background 180ms var(--ease-out)}
.pick+.pick{border-left:1px solid var(--fondant)}
.pick::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--toast);transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--ease-out)}
.pick::before{display:none}
.pick:focus-visible::after{transition:none}
.case-picker:has(:focus-visible) .pick::after{transition:none}
.pick[aria-selected=true]::after{transform:scaleX(1)}
.pick img{grid-column:1;grid-row:1/3;width:64px;height:64px;object-fit:cover}
.pick .nm{grid-column:2;grid-row:1;font:700 17px/1.25 var(--sans);align-self:end}
.pick .price{display:none}
.pick .selected-label{grid-column:2;grid-row:2;align-self:start;min-height:14px;margin-top:4px;font-size:11px}
.case-stage{width:100%}
.stage-photo{display:grid;grid-template-columns:58% 42%;align-items:stretch}
.stage-photo>img{width:100%;height:100%;min-height:480px;max-height:560px;aspect-ratio:auto;object-fit:cover;object-position:50% 28%}
.case-stage[data-selection=cookies] .stage-photo>img{object-position:50% 50%}
.case-stage[data-selection=roll-cakes] .stage-photo>img{object-position:50% 45%}
.stage-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:40px}
.case-number{display:flex;gap:8px;width:100%;color:var(--gold);padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid rgba(200,162,74,.35);font-size:11px;letter-spacing:.08em}
.case-number>span:last-child{margin-left:auto}
.ticket-top{gap:12px}
.stage-card h3{font-size:42px;line-height:1.08}
.stage-card .btn{margin-top:24px;font:700 14px/1.2 var(--sans);letter-spacing:0;text-transform:none;min-height:48px}
.case-stage[aria-busy=true] .case-number{color:var(--cream)}
.case-stage .stage-photo>img[hidden]+.stage-card{grid-column:1/-1;min-height:360px}
.case-status{margin-top:-12px}
.reviews .portrait{width:100%;max-width:320px;align-self:start}
.reviews .portrait img{aspect-ratio:3/2;object-position:50% 35%}
.reviews .portrait figcaption{font-size:10px;line-height:1.5}
.drawer-actions .drawer-email{background:transparent;border:1px solid rgba(246,239,226,.3)}
@media (hover:hover) and (pointer:fine){.nav-contact summary:hover{background:rgba(246,239,226,.13)}}
@media (max-width:1200px){
  .nav-contact summary{font-size:13px;padding-inline:7px}
  .stage-card{padding:28px}.stage-card h3{font-size:36px}
  .pick{padding:14px 10px;gap:3px 10px}.pick .nm{font-size:15px}
}
@media (max-width:860px){.nav-contact{display:none}}
@media (max-width:760px){
  .hero-media img{width:100%;height:76%;object-position:50% 15%}
  .hero-media::before{background:linear-gradient(0deg,var(--ink) 18%,rgba(20,18,16,.96) 30%,rgba(20,18,16,.85) 43%,rgba(20,18,16,.62) 57%,transparent 76%)}
  .case-intro{display:block}
  .case-intro .body-copy{margin-top:18px!important}
  .case-grid{gap:20px}
  .pick{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:124px;padding:12px 4px;gap:7px;text-align:center}
  .pick img{width:48px;height:48px;aspect-ratio:1}
  .pick .nm{font:700 12px/1.2 var(--sans);align-self:auto}
  .pick .selected-label{font-size:9px;margin-top:auto;align-self:auto;min-height:11px}
  .stage-photo{display:block}
  .stage-photo>img{height:auto;aspect-ratio:16/11;min-height:0;max-height:none;object-position:50% 28%}
  .stage-card{padding:24px}
  .stage-card h3{font-size:34px}
  .case-number{padding-bottom:16px;margin-bottom:20px;font-size:9px}
  .reviews .portrait{max-width:240px}
  .reviews{gap:28px}
  .drawer>a{padding:12px 0;font-size:25px}
  .drawer-actions{gap:8px;padding-top:20px}
  .drawer-actions a{padding:12px 16px}
}
@media (prefers-reduced-motion:reduce){.pick::after{transition:none}}

/* September 30: photo-first. Full-bleed hero, the case as a chalkboard you point at, a photo gallery rail, lunch plates. */
.chalk{font:700 clamp(20px,2vw,30px)/1 var(--mono);color:#f1d98a;letter-spacing:.02em}
.btn{border-radius:0;font:700 15px/1.2 var(--sans);letter-spacing:0;text-transform:none;padding:0 24px;min-height:50px}
.btn-toast{border-radius:999px}
.dark .btn-line,.band .btn-line{border-color:rgba(246,239,226,.55)}

.hero{display:flex;align-items:flex-end;min-height:100svh}
.hero-media{display:block;position:absolute;inset:0;background:var(--ink)}
.hero-media img{position:absolute;inset:0;left:0;right:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(20,18,16,.9) 0%,rgba(20,18,16,.62) 34%,rgba(20,18,16,.16) 62%,rgba(20,18,16,.08) 80%,rgba(20,18,16,.38) 100%)}
.hero-copy{position:relative;z-index:2;display:block;width:100%;max-width:1440px;min-height:0;margin:0 auto;padding:150px var(--gut) 52px}
.hero h1{font-size:clamp(64px,9.6vw,148px);line-height:.92;letter-spacing:-.035em;max-width:none;margin:16px 0 30px;text-shadow:0 2px 30px rgba(20,18,16,.45)}
.hero-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 56px;align-items:end;padding-top:24px;border-top:1px solid rgba(246,239,226,.35)}
.hero .lede{max-width:44ch;font-size:19px;line-height:1.5;color:var(--cream)}
.hero-actions{margin-top:0}
.lunch .hero-actions,.about .hero-actions{margin-top:28px}
.pickup-note{margin-top:12px;color:rgba(246,239,226,.85)}

.case{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);background:#171b18;color:#ecebe2;background-image:radial-gradient(60% 50% at 80% 10%,rgba(255,255,255,.05),transparent 70%)}
.case-photo{position:relative;min-height:min(820px,92svh);overflow:hidden;background:var(--ink)}
.case-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.case[data-selection=cookies] .case-photo img{object-position:35% 50%}
.case-photo::after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(0deg,rgba(20,18,16,.82),transparent);pointer-events:none}
.case-tag{position:absolute;left:clamp(20px,3vw,44px);right:clamp(20px,3vw,44px);bottom:clamp(20px,3vw,40px);z-index:1;display:flex;align-items:end;justify-content:space-between;gap:16px;color:var(--cream)}
.case-tag .chalk{font-size:clamp(30px,3.6vw,56px)}
.case-side{padding:clamp(48px,6vw,96px) clamp(20px,4vw,64px);display:flex;flex-direction:column;justify-content:center;min-width:0}
.case .eyebrow{color:rgba(236,235,226,.62)}.case .eyebrow::after{background:rgba(236,235,226,.25)}
.case .h2{font-size:clamp(36px,4vw,60px)}
.case-lede{margin-top:16px;color:rgba(236,235,226,.78)}
.case-picker{display:block;border:0;border-top:1px solid rgba(236,235,226,.28);margin-top:28px}
.cpick{appearance:none;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:baseline;gap:14px;width:100%;padding:18px 0;border:0;border-bottom:1px solid rgba(236,235,226,.28);background:none;color:rgba(236,235,226,.55);text-align:left;cursor:pointer;position:relative;transition:color 180ms var(--ease-out),padding 180ms var(--ease-out)}
.cpick .n{color:#d8c690}
.cpick .nm{font:400 clamp(28px,3vw,46px)/1.05 var(--serif);letter-spacing:-.02em}
.cpick .price{font:700 13px/1.3 var(--mono);color:#f1d98a;white-space:nowrap}
.cpick::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#f1d98a;transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease-out)}
.cpick[aria-selected=true]{color:#fff;padding-left:10px}
.cpick[aria-selected=true]::after{transform:scaleX(1)}
.cpick:active{transform:scale(.99)}
.case-ticket{margin-top:26px}
.case-ticket .mono{color:#d8c690}
.case-ticket p[data-s=body]{margin-top:10px;max-width:46ch;color:rgba(236,235,226,.86);font-size:16px;line-height:1.55;min-height:4.65em}
.case-ticket .ticket-lead{margin:12px 0 22px;color:rgba(236,235,226,.62)}
.case .case-status{margin-top:12px;color:rgba(236,235,226,.6)}
.case .case-also{margin-top:18px;font-size:14px;color:rgba(236,235,226,.62)}

.order .tabs{border-color:var(--cocoa)}
.order .tabs button{color:var(--cocoa)}
.order .tabs button+button{border-left-color:var(--cocoa)}
.order .tabs button[aria-selected=true]{background:var(--ink);color:var(--cream)}
.order .scope{border-top-color:var(--fondant);margin-bottom:36px}
.order .scope p{color:var(--cocoa)}
.order .scope .lead{color:var(--praline)}
.order .rail{display:flex;gap:1px;margin:0;padding:0;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain}
.order .rail::-webkit-scrollbar{display:none}
.tile{position:relative;flex:0 0 clamp(300px,31vw,470px);aspect-ratio:4/5;overflow:hidden;scroll-snap-align:start;color:#fff;text-decoration:none;background:var(--ink)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease-out)}
.pos-left{object-position:22% 50%}
.tile::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(20,18,16,.85),transparent);pointer-events:none}
.tile-cap{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;display:grid;gap:6px}
.tile-cap b{font:400 clamp(26px,2.4vw,36px)/1.05 var(--serif);letter-spacing:-.02em}
.tile-cap .mono{color:#f1d98a;font-size:12px}
.tile:focus-visible{outline-offset:-4px}
.order .rail-footer{margin-top:20px;align-items:center}
.rail-also{font-size:15px;color:var(--praline)}
.rail-also a{color:var(--cocoa);text-underline-offset:4px}
.order .rail-controls button{border:0;border-bottom:1px solid var(--cocoa);color:var(--cocoa);width:48px;height:44px}
.order{padding-bottom:64px}

.lunch-sec{padding-bottom:0}
.lunch-sec .body-copy{margin-top:22px}
.lunch{align-items:center}
.plates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:var(--pad)}
.plates figure{position:relative;aspect-ratio:4/5;overflow:hidden;background:#231d18}
.plates img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.plates figure::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(0deg,rgba(20,18,16,.85),transparent)}
.plates figcaption{position:absolute;left:24px;right:24px;bottom:22px;z-index:1;display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:#fff}
.plates figcaption b{font:400 clamp(20px,2vw,30px)/1.1 var(--serif)}

.cakes-band{position:relative;min-height:min(760px,88svh);display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);color:var(--cream)}
.cakes-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.cakes-band::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(20,18,16,.88) 0%,rgba(20,18,16,.62) 38%,rgba(20,18,16,.08) 68%),linear-gradient(0deg,rgba(20,18,16,.5),transparent 40%)}
.cakes-band .wrap{position:relative;z-index:2;width:100%;padding-top:140px;padding-bottom:clamp(48px,6vw,80px)}
.cakes-band .eyebrow{color:rgba(246,239,226,.75)}.cakes-band .eyebrow::after,.band .eyebrow::after{background:rgba(246,239,226,.35)}
.band .eyebrow{color:rgba(246,239,226,.75)}
.cakes-band h2{font-size:clamp(40px,6.4vw,100px);line-height:.96;max-width:12ch}
.cakes-band p{max-width:46ch;margin-top:20px}
.cakes-band .band-tag{margin-top:28px;color:#f1d98a}
.cakes-sec .cakes-grid{margin-top:0}
.cake .frame{border:0}
.cake.b .frame{aspect-ratio:7/5}
.cake.c .frame{aspect-ratio:5/4}
.pos-low{object-position:50% 78%}
.cake.note{background:none;color:var(--cocoa);padding:20px 0 0;border-top:2px solid var(--cocoa);align-self:start;margin-top:40px}
.cake.note .mono{color:var(--praline)}
.cake.note h3{font-size:clamp(26px,2.4vw,34px);margin-top:10px}
.cake.note dl{margin:20px 0 24px}
.cake.note dl div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--fondant)}
.cake.note dt{font-size:16px}
.cake.note dd{margin:0;font:700 14px/1.4 var(--mono)}

.band img{inset:0;height:100%}
.reviews-sec{padding:0}
.reviews{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:0;max-width:none;padding:0}
.reviews .portrait{position:relative;max-width:none;width:100%;min-height:720px;overflow:hidden;background:var(--ink)}
.reviews .portrait img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:100% 30%}
.reviews .portrait figcaption{position:absolute;left:24px;bottom:20px;margin:0;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.8);font-size:11px}
.reviews>div{padding:var(--pad) max(var(--gut),calc((100vw - var(--max))/2 + var(--gut))) var(--pad) clamp(28px,5vw,80px)}
.about{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:center}
.about-photo{max-width:none}
.about-photo img{aspect-ratio:3/2;object-position:50% 40%;border:0}
.closing img{object-position:20% 50%}

@media (max-width:1024px){
  .case{grid-template-columns:1fr}
  .case-photo{min-height:0;aspect-ratio:4/3}
  .reviews{grid-template-columns:1fr}
  .reviews .portrait{min-height:0;aspect-ratio:4/5;max-height:80svh}
  .reviews>div{padding:var(--pad) var(--gut)}
  .about{grid-template-columns:1fr}
  .cake.note{grid-column:8/span 5}
}
@media (max-width:760px){
  .hero-media img{width:100%;height:100%;object-position:50% 30%}
  .hero-media::before{background:linear-gradient(0deg,rgba(20,18,16,.96) 0%,rgba(20,18,16,.86) 36%,rgba(20,18,16,.3) 62%,rgba(20,18,16,.1) 80%,rgba(20,18,16,.4) 100%)}
  .hero-copy{min-height:0;padding:120px 20px 28px;display:block}
  .hero h1{font-size:clamp(44px,13.4vw,56px);line-height:.96;margin:12px 0 18px}
  .hero-foot{grid-template-columns:1fr;gap:18px;padding-top:18px}
  .hero .lede{font-size:16px}
  .hero-actions .btn{font-size:15px;letter-spacing:0;padding-inline:22px}
  .btn{font-size:14px;padding:0 18px}
  .cpick{padding:15px 0;gap:10px;grid-template-columns:26px minmax(0,1fr) auto}
  .cpick .nm{font-size:27px}
  .cpick .price{font-size:11px}
  .case-ticket p[data-s=body]{min-height:0}
  .tile{flex-basis:78vw}
  .plates{grid-template-columns:1fr 1fr}
  .plates figure:first-child{grid-column:1/-1;aspect-ratio:1}
  .plates figcaption{left:14px;right:14px;bottom:14px;flex-direction:column;align-items:flex-start;gap:6px}
  .plates .chalk{font-size:18px}
  .cakes-band{min-height:78svh}
  .cakes-band::before{background:linear-gradient(0deg,rgba(20,18,16,.94) 0%,rgba(20,18,16,.7) 45%,rgba(20,18,16,.15) 78%)}
  .cakes-band>img{object-position:62% 50%}
  .cake.note{margin-top:0;grid-column:auto}
  .order .scope .btn{font-size:14px;letter-spacing:0}
  .rail-footer{flex-direction:column;align-items:flex-start}
  .rail-controls{display:none}
}
@media (max-width:350px){.hero h1{font-size:40px}.cpick .nm{font-size:23px}}
@media (hover:hover) and (pointer:fine){
  .cpick:hover{color:#fff}
  .tile:hover img{transform:scale(1.04)}
  .order .rail-controls button:hover{color:var(--toast);border-color:var(--toast)}
}
@media (prefers-reduced-motion:reduce){.cpick,.cpick::after,.tile img{transition:none}}
html:not(.js) .cpick{display:none}
.hero-copy>.mono{color:var(--cream);text-shadow:0 1px 10px rgba(20,18,16,.85)}
#lunch{padding-bottom:0}
.band::before{background:linear-gradient(90deg,rgba(20,18,16,.72),rgba(20,18,16,.2) 60%,transparent),linear-gradient(0deg,rgba(20,18,16,.85) 0%,rgba(20,18,16,.35) 45%,rgba(20,18,16,.1) 75%)}
.reviews .portrait{align-self:start;position:sticky;top:0;height:100svh;min-height:0}
.reviews .portrait img{left:-16%;width:116%}
.case-tag .chalk{white-space:nowrap}
.plates figure:nth-child(2) img{transform:scale(1.24);transform-origin:50% 8%}
.cakes-band .band-tag{max-width:none}
.about{align-items:start}
.cake.c{grid-column:2/span 5}
.cake.c .frame{aspect-ratio:1}
.pos-low{object-position:50% 50%}
@media (max-width:1024px){.reviews .portrait{position:relative;height:auto;aspect-ratio:4/5}.cake.c{grid-column:1/span 6}}
@media (max-width:760px){.case-tag .chalk{font-size:28px}.case-tag .mono{font-size:10px}.cake.c{grid-column:auto}}

/* Menu page: printed tickets, mono prices, hairline rows. */
.menu-hero{min-height:78svh}
.menu-hero .hero-media img{object-position:50% 55%}
.nav a[aria-current=page]{background:rgba(246,239,226,.13)}
.tickets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px clamp(32px,6vw,96px)}
.ticket figure{aspect-ratio:16/9;overflow:hidden;background:var(--ink);margin-bottom:24px}
.ticket figure img{width:100%;height:100%;object-fit:cover}
.ticket>.mono{color:var(--praline)}
.ticket>.mono b{color:var(--toast);margin-right:10px}
.ticket h2{font-size:clamp(28px,2.8vw,40px);line-height:1.08;margin:10px 0 18px}
.ticket ul{list-style:none;margin:0;padding:0;border-top:2px solid var(--cocoa)}
.ticket li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:13px 0;border-bottom:1px solid var(--fondant);font:400 14px/1.45 var(--mono)}
.ticket li .p{font-weight:700;white-space:nowrap}
.tlink{display:inline-block;margin-top:18px;padding:10px 0;font-weight:700;text-underline-offset:5px}
.ticket-note{align-self:end;border-top:2px solid var(--cocoa);padding-top:24px}
.ticket-note p{margin-top:12px;max-width:52ch}
.ticket-note .fine{font-size:14px;color:var(--praline)}
.ticket-note .hero-actions{margin-top:24px}
@media (max-width:760px){.tickets{grid-template-columns:1fr;gap:56px}.menu-hero{min-height:88svh}.ticket li{font-size:13px}}
.reviews .portrait img{max-width:none}
.reviews .portrait figcaption{right:auto;padding:6px 10px;background:rgba(20,18,16,.78);text-shadow:none}
.ticket-note{align-self:start}

/* October 1: header panel (Moore house style, Seed product rows), phone drawer. */
img[data-src]{visibility:hidden}
.top .wrap{position:relative}
.top::before{content:"";position:fixed;inset:0;z-index:-1;background:rgba(20,18,16,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 200ms var(--ease-out),visibility 0s 200ms}
.top.panel-open::before{opacity:1;visibility:visible;transition:opacity 200ms var(--ease-out)}
.nav{align-items:center}
.has-panel{display:flex}
.nav-trigger{appearance:none;background:none;border:0;color:inherit;font:500 14px/1 var(--sans);padding:12px 10px;border-radius:24px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:background 180ms var(--ease-out)}
.nav-trigger .chev{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform 200ms var(--ease-out)}
.has-panel.open .nav-trigger,.nav-trigger:focus-visible{background:rgba(246,239,226,.13)}
.has-panel.open .chev{transform:translateY(1px) rotate(-135deg)}
.nav-panel{position:absolute;left:0;right:0;top:calc(100% + 10px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,.85fr) 232px;gap:36px;padding:34px 36px 36px;background:#141210;border:1px solid rgba(200,162,74,.3);border-radius:20px;color:var(--cream);box-shadow:0 30px 80px rgba(0,0,0,.4);visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity 160ms var(--ease-out),transform 200ms var(--ease-out),visibility 0s 200ms;cursor:default}
.nav-panel::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.has-panel.open .nav-panel{visibility:visible;opacity:1;transform:none;transition:opacity 160ms var(--ease-out),transform 200ms var(--ease-out)}
html:not(.js) .has-panel:hover .nav-panel,html:not(.js) .has-panel:focus-within .nav-panel{visibility:visible;opacity:1;transform:none}
.np-label{font:400 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(246,239,226,.5);margin:0 0 14px}
.np-col .np-label:not(:first-child){margin-top:22px}
.nav .np-big{display:block;padding:0 0 20px;border-radius:0;font:400 30px/1.05 var(--serif);letter-spacing:-.02em;transition:color 180ms var(--ease-out)}
.nav .np-big span{display:block;margin-top:8px;font:400 14px/1.45 var(--sans);letter-spacing:0;color:rgba(246,239,226,.62);max-width:28ch}
.nav .np-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;padding:8px;margin:0 -8px;border-radius:10px;font:inherit}
.np-row img{width:56px;height:56px;object-fit:cover;border-radius:8px;background:#2a231d}
.np-row b{display:block;font:700 15px/1.2 var(--sans)}
.np-row small{display:block;margin-top:3px;font-size:13px;line-height:1.35;color:rgba(246,239,226,.6)}
.np-row em{font:700 12px/1 var(--mono);font-style:normal;color:#f1d98a;white-space:nowrap}
.np-col{display:flex;flex-direction:column;align-items:flex-start}
.nav .np-col a{padding:7px 0;font:500 14px/1.3 var(--sans);border-radius:0}
.np-photo{margin:0}
.np-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:14px;background:#2a231d}
.np-photo figcaption{margin-top:10px;font-size:13px;color:rgba(246,239,226,.62)}
.nav .nav-panel a[aria-current]{background:none;color:var(--gold)}
@media (hover:hover) and (pointer:fine){
  .nav-trigger:hover{background:rgba(246,239,226,.13)}
  .nav .np-big:hover,.nav .np-col a:hover{background:none;color:var(--gold)}
  .nav .np-row:hover{background:rgba(246,239,226,.07)}
  .top-call:hover{color:var(--gold)}
}
.nav .np-big:focus-visible,.nav .np-col a:focus-visible{background:none;color:var(--gold)}
.nav .np-row:focus-visible{background:rgba(246,239,226,.07)}
.top-call{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 6px;font:500 14px/1 var(--sans);text-decoration:none;white-space:nowrap}
.top-call svg{width:16px;height:16px;color:var(--gold);flex:none}
.top-call .tc-short{display:none}
@media (max-width:1180px){
  .top-cta .btn{display:none}
  .nav-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.9fr);gap:28px;padding:28px}
  .np-photo{display:none}
}
@media (max-width:1000px){
  .top .brand small{display:none}
  .nav a,.nav-trigger{padding-inline:6px;font-size:13px}
  .nav .np-big{font-size:24px}
}
@media (max-width:860px){
  .drawer{padding:96px var(--gut) 0}
  .drawer-main a{display:flex;justify-content:space-between;align-items:center;padding:9px 0;font:400 34px/1.08 var(--serif);letter-spacing:-.02em;text-decoration:none}
  .drawer-main a::after{content:"→";font:400 18px var(--sans);color:var(--gold);opacity:.75}
  .drawer-main a[aria-current]{color:var(--gold)}
  .drawer-sub{display:grid;margin-top:18px;padding-top:14px;border-top:1px solid rgba(200,162,74,.22)}
  .drawer-sub a{padding:9px 0;font:400 15px/1.3 var(--sans);color:rgba(246,239,226,.72);text-decoration:none;overflow-wrap:anywhere}
  .drawer-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 22px}
  .drawer-cards a{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:#2a231d;color:#fff;text-decoration:none}
  .drawer-cards img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .drawer-cards a::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,rgba(14,13,11,.85),transparent)}
  .drawer-cards span{position:absolute;left:12px;right:12px;bottom:10px;z-index:1;font:700 14px/1.2 var(--sans)}
  .drawer-cards em{display:block;margin-top:2px;font:700 11px/1.4 var(--mono);font-style:normal;color:#f1d98a}
  .drawer-actions{position:sticky;bottom:0;margin:auto calc(var(--gut)*-1) 0;padding:12px var(--gut) max(14px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--ink);border-top:1px solid rgba(200,162,74,.22)}
  .drawer-actions a{display:flex;align-items:center;justify-content:center;min-height:50px;padding:0 12px;border-radius:999px;font:700 14px/1.2 var(--sans);text-align:center;text-decoration:none}
  .drawer-actions .da-call{background:transparent;border:1px solid rgba(246,239,226,.45);color:var(--cream)}
  .drawer-actions .da-offer{background:var(--toast);color:#fff}
}
@media (max-width:760px){
  .top-call{border:1px solid rgba(246,239,226,.42);border-radius:24px;padding:0 14px}
  .top-call .tc-num{display:none}
  .top-call .tc-short{display:inline}
  .drawer-main a{font-size:30px;padding:8px 0}
}
@media (max-width:350px){
  .top-call{padding:0 10px}
  .menu-btn{padding:0 10px}
  .drawer-main a{font-size:26px}
}
/* The bakery case: a pinned glass counter that slides sideways as you scroll. */
.vitrine{position:relative;background:#171b18;color:#ecebe2}
.vitrine-pin{position:relative;overflow:hidden;overflow:clip}
.vitrine.is-pinned .vitrine-pin{position:sticky;top:0;height:100vh;height:100svh}
.vitrine-pin::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:3;background:rgba(200,162,74,.55)}
.vitrine-pin::after{content:"";position:absolute;inset:0 0 52px;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 0 36%,rgba(255,255,255,.07) 41%,rgba(255,255,255,.015) 46%,transparent 51%),linear-gradient(180deg,rgba(255,255,255,.05),transparent 16%)}
.vitrine-track{display:flex;align-items:stretch;gap:1px;background:rgba(241,217,138,.2)}
.vitrine.is-pinned .vitrine-track{height:100%;width:max-content;will-change:transform}
.vitrine:not(.is-pinned) .vitrine-track{height:min(88svh,860px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.vitrine:not(.is-pinned) .vitrine-track::-webkit-scrollbar{display:none}
.vitrine-intro,.vitrine-end{flex:none;width:clamp(340px,34vw,520px);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(110px,14vh,150px) clamp(24px,3.4vw,56px) 104px;background:#171b18;background-image:radial-gradient(60% 50% at 30% 20%,rgba(255,255,255,.05),transparent 70%);scroll-snap-align:start}
.vitrine-intro{padding-left:max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)))}
.vitrine .eyebrow{color:rgba(236,235,226,.62)}.vitrine .eyebrow::after{background:rgba(236,235,226,.25)}
.vitrine-intro .h2{font-size:clamp(44px,5vw,80px);line-height:.98;max-width:9ch;color:#fff}
.vitrine-lede{margin-top:20px;max-width:34ch;color:rgba(236,235,226,.8)}
.vitrine-hint{display:flex;gap:10px;margin-top:30px;color:#f1d98a}
.vh-swipe{display:none}
.vitrine:not(.is-pinned) .vh-scroll{display:none}
.vitrine:not(.is-pinned) .vh-swipe{display:inline}
.vh-arrow{display:inline-block;animation:case-nudge 1.8s var(--ease-out) infinite}
@keyframes case-nudge{0%,100%{transform:none}50%{transform:translateX(6px)}}
.vitrine.moving .vh-arrow{animation:none}
.slab{position:relative;flex:none;width:clamp(320px,40vw,640px);overflow:hidden;background:var(--ink);color:#fff;text-decoration:none;scroll-snap-align:center}
.slab img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 900ms var(--ease-out)}
.slab-cookies img{object-position:30% 50%}
.slab::after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(0deg,rgba(14,13,11,.92) 0%,rgba(14,13,11,.5) 48%,transparent);pointer-events:none}
.slab-cap{position:absolute;left:clamp(20px,2.4vw,36px);right:clamp(20px,2.4vw,36px);bottom:84px;z-index:1;display:grid;gap:8px}
.slab-cap .mono{color:#d8c690}
.slab-cap b{font:400 clamp(34px,3.4vw,56px)/1 var(--serif);letter-spacing:-.025em}
.slab-note{max-width:30ch;font-size:16px;line-height:1.45;color:rgba(255,255,255,.86)}
.slab-cap .chalk{margin-top:6px;font-size:clamp(28px,2.8vw,44px)}
.slab:focus-visible{outline-offset:-6px}
.vitrine-end h3{font-size:clamp(32px,3vw,46px);line-height:1.04;color:#fff;margin-top:14px;max-width:12ch}
.vitrine-end>p:not(.mono){margin-top:16px;max-width:34ch;color:rgba(236,235,226,.78)}
.vitrine-end>.mono{color:#d8c690}
.vitrine-end .row{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:28px}
.vitrine-end .hero-explore{color:#ecebe2}
.vitrine-shelf{position:absolute;left:0;right:0;bottom:0;z-index:3;height:52px;display:flex;align-items:center;gap:20px;padding:0 max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)));background:#0f0e0c;border-top:1px solid rgba(200,162,74,.5)}
.vitrine-count{color:rgba(236,235,226,.6);white-space:nowrap}.vitrine-count b{color:#f1d98a}
.vitrine-bar{position:relative;flex:1;height:1px;background:rgba(236,235,226,.2)}
.vitrine-bar i{position:absolute;inset:0;background:#f1d98a;transform-origin:left;transform:scaleX(0)}
@media (hover:hover) and (pointer:fine){.slab:hover img{transform:none}}
@media (max-width:760px){
  .vitrine-intro,.vitrine-end,.slab{width:84vw}
  .vitrine-intro{padding:100px 22px 92px}
  .vitrine-end{padding:100px 22px 92px}
  .vitrine-intro .h2{font-size:44px}
  .slab-cap{left:20px;right:20px;bottom:76px}
  .slab-cap b{font-size:34px}
  .slab-note{font-size:15px}
  .slab-cap .chalk{font-size:28px}
  .vitrine-shelf{height:48px;padding:0 20px}
  .vitrine-pin::after{bottom:48px}
}
/* Cakes: one dark band led by a single large photograph; cutouts shrink to a strip. */
.order .rail-also{margin-top:4px}
.cakes-dark{background:#211812;color:var(--cream);padding-bottom:clamp(56px,6vw,88px)}
.cakes-main{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:stretch}
.cakes-lead{position:relative;margin:0;min-height:min(900px,100svh);overflow:hidden;background:#140f0b}
.cakes-lead img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:42% 50%}
.cakes-lead::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 72%,rgba(33,24,18,.7)),linear-gradient(0deg,rgba(20,15,11,.6),transparent 28%)}
.cakes-lead figcaption{position:absolute;left:24px;bottom:22px;z-index:1;color:#f1d98a}
.cakes-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(96px,10vw,150px) max(var(--gut),calc((100vw - var(--max))/2 + var(--gut))) clamp(56px,6vw,88px) clamp(32px,4.5vw,72px)}
.cakes-copy .eyebrow{color:rgba(246,239,226,.66)}.cakes-copy .eyebrow::after{background:rgba(246,239,226,.3)}
.cakes-copy h2{font-size:clamp(44px,5vw,84px);line-height:.98;max-width:10ch}
.cakes-lede{margin-top:20px;max-width:42ch;color:rgba(246,239,226,.82)}
.cake-prices{margin:28px 0 30px;border-top:1px solid rgba(246,239,226,.35)}
.cake-prices div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid rgba(246,239,226,.16)}
.cake-prices dt{font-size:16px}
.cake-prices dd{margin:0;font:700 14px/1.3 var(--mono);color:#f1d98a;white-space:nowrap}
.cakes-copy .row{display:flex;flex-wrap:wrap;gap:12px}
.cake-strip{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:28px 0 0;border-top:1px solid rgba(200,162,74,.3);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.cake-strip a{display:block;color:rgba(246,239,226,.82);text-decoration:none}
.cake-strip img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#2a1f18;opacity:.92;transition:opacity 200ms var(--ease-out)}
.cake-strip span{display:block;margin-top:10px;font:400 11px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase}
@media (hover:hover) and (pointer:fine){.cake-strip a:hover img{opacity:1}.cake-strip a:hover span{color:var(--gold)}}

/* The bakery: copy left, the owners photo bleeding off the right edge. */
.about-sec{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--ink);color:var(--cream)}
.about-copy{grid-column:1;grid-row:1;min-width:0;padding:var(--pad) clamp(32px,4vw,64px) var(--pad) max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)))}
.about-copy .eyebrow{color:rgba(246,239,226,.6)}.about-copy .eyebrow::after{background:rgba(200,162,74,.35)}
.about-copy blockquote{margin:0;font:400 clamp(40px,4.4vw,68px)/1.02 var(--serif);letter-spacing:-.025em}
.about-copy blockquote span{color:var(--gold)}
.about-copy .body-copy{margin-top:24px}
.about-bleed{grid-column:2;grid-row:1;position:sticky;top:0;align-self:start;height:100vh;height:100svh;margin:0;overflow:hidden;background:#231d18}
.about-bleed img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:80% 30%}
.about-bleed figcaption{position:absolute;left:24px;bottom:22px;padding:6px 10px;background:rgba(20,18,16,.78);color:#fff;font-size:11px}
.about-scene{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:28px;margin-top:36px;align-items:start}
.stall{margin:0}
.stall img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%}
.stall figcaption{margin-top:10px;font-size:10px;color:rgba(246,239,226,.6)}
.about-scene .about-facts{grid-template-columns:1fr;margin-top:0}
.about-scene .about-facts div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(200,162,74,.2)}
.about-scene .about-facts b{font-size:26px}
.stall-note{margin-top:18px;font-size:15px;line-height:1.5;color:rgba(246,239,226,.78)}
.about-scene .hero-actions{margin-top:22px}
.about-copy .video-mini{margin-top:36px}

/* Closing: brighter cookies, the real badge visible, headline clear of the nav. */
.closing{text-align:left}
.closing img{opacity:1;filter:brightness(1.5) saturate(1.08);object-position:62% 50%}
.closing::before{background:linear-gradient(90deg,rgba(20,18,16,.74) 0%,rgba(20,18,16,.5) 34%,rgba(20,18,16,.08) 62%,transparent 80%)}
.closing .wrap{padding-top:clamp(150px,13vw,210px);padding-bottom:clamp(88px,9vw,128px)}
.closing h2{margin:0;max-width:11ch;text-shadow:0 2px 24px rgba(20,18,16,.5)}
.closing p:not(.mono){margin:22px 0 0;color:rgba(246,239,226,.92)}
.closing .row{justify-content:flex-start}
.close-kicker{margin-bottom:18px;color:#f1d98a}

@media (max-width:1024px){
  .cakes-main{grid-template-columns:1fr}
  .cakes-lead{min-height:0;aspect-ratio:4/3}
  .cakes-copy{padding:var(--pad) var(--gut)}
  .about-sec{grid-template-columns:1fr}
  .about-bleed{grid-column:1;grid-row:1;position:relative;height:auto;aspect-ratio:4/3}
  .about-copy{grid-column:1;grid-row:2;padding:var(--pad) var(--gut)}
}
@media (max-width:760px){
  .cakes-lead{aspect-ratio:1}
  .cakes-copy h2{font-size:42px}
  .cake-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:44vw;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:calc(var(--gut)*-1);padding-right:var(--gut)}
  .cake-strip li{scroll-snap-align:start}
  .about-bleed{aspect-ratio:1}
  .about-copy blockquote{font-size:38px}
  .about-scene{gap:18px}
  .about-scene .about-facts b{font-size:22px}
  .closing img{object-position:30% 50%}
  .closing::before{background:linear-gradient(0deg,rgba(20,18,16,.88) 0%,rgba(20,18,16,.62) 50%,rgba(20,18,16,.28) 100%)}
  .closing .wrap{padding-top:120px;padding-bottom:72px}
}
@media (max-width:350px){.about-scene{grid-template-columns:1fr}.stall{max-width:220px}}
/* Menu page: chalkboard over the roll pan, three tickets, lunch with its photo. */
.board-band{position:relative;overflow:hidden;background:#171b18;color:var(--cream)}
.board-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:brightness(.66) saturate(1.05)}
.board-band::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(20,18,16,.84) 0%,rgba(20,18,16,.48) 45%,rgba(20,18,16,.12) 100%)}
.board-band-in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:center;min-height:min(940px,100svh);padding-top:clamp(110px,10vw,150px);padding-bottom:clamp(64px,8vw,120px)}
.board-band .eyebrow{color:rgba(246,239,226,.78)}.board-band .eyebrow::after{background:rgba(246,239,226,.35)}
.board-intro h2{font-size:clamp(44px,5.2vw,84px);line-height:.98;max-width:10ch}
.board-intro p:not(.eyebrow){margin-top:20px;max-width:36ch;color:rgba(246,239,226,.88)}
.board-band .board{box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 0 80px rgba(0,0,0,.45)}
.board-band .board .btn{margin-top:24px}
.ticket-sec .tickets{grid-template-columns:repeat(3,minmax(0,1fr));gap:64px clamp(28px,3.4vw,56px)}
.ticket-sec .ticket-note{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:64px;align-self:stretch}
.ticket-note>.mono{grid-column:1;grid-row:1}
.ticket-note>h2{grid-column:1;grid-row:2/5;margin-top:10px}
.ticket-note>p:not(.mono),.ticket-note .hero-actions{grid-column:2}
.ticket-note>p:not(.mono):first-of-type{margin-top:0}
.lunch-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--cream);border-top:1px solid var(--fondant)}
.ls-copy{min-width:0;padding:var(--pad) clamp(32px,5vw,80px) var(--pad) max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)))}
.ls-copy>.mono{color:var(--praline)}.ls-copy>.mono b{color:var(--toast);margin-right:10px}
.ls-copy h2{font-size:clamp(34px,3.6vw,56px);line-height:1.02;margin:12px 0 14px;max-width:14ch}
.ls-lede{max-width:44ch}
.ls-copy ul{list-style:none;margin:24px 0 0;padding:0;border-top:2px solid var(--cocoa)}
.ls-copy li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:13px 0;border-bottom:1px solid var(--fondant);font:400 14px/1.45 var(--mono)}
.ls-copy li .p{font-weight:700;white-space:nowrap}
.ls-copy .hero-actions{margin-top:28px}
.ls-photo{position:relative;margin:0;min-height:620px;overflow:hidden;background:var(--ink)}
.ls-photo img{position:absolute;left:0;top:0;width:100%;max-width:none;height:128%;object-fit:cover;object-position:50% 0}
.ls-photo figcaption{position:absolute;left:20px;bottom:18px;padding:6px 10px;background:rgba(20,18,16,.78);color:#fff;font-size:11px}
@media (max-width:1100px){
  .ticket-sec .tickets{grid-template-columns:minmax(0,720px);justify-content:center}
  .ticket-sec .ticket-note{display:block}
  .ticket-note>h2{margin-top:10px}
  .ticket-note>p:not(.mono):first-of-type{margin-top:12px}
}
@media (max-width:860px){
  .board-band-in{grid-template-columns:1fr;min-height:0;padding-top:110px}
  .lunch-split{grid-template-columns:1fr}
  .ls-copy{padding:var(--pad) var(--gut)}
  .ls-photo{min-height:0;aspect-ratio:4/3}
}
@media (max-width:760px){
  .board-intro h2{font-size:42px}
  .ls-copy li{font-size:13px}
}
