@font-face{font-family:"BNB Narrow";src:url("./assets/nimbus-sans-narrow-regular.otf") format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"BNB Narrow";src:url("./assets/nimbus-sans-narrow-bold.otf") format("opentype");font-weight:700;font-display:swap}
@font-face{font-family:"BNB Roman";src:url("./assets/nimbus-roman-regular.otf") format("opentype");font-style:normal;font-display:swap}
@font-face{font-family:"BNB Roman";src:url("./assets/nimbus-roman-italic.otf") format("opentype");font-style:italic;font-display:swap}

:root{--ink:#080706;--paper:#eeeae1;--ember:#ff4b18;--ember-2:#ff875a;--coffee:#b78053;--ash:#9c958c;--line:rgba(238,234,225,.18);--sans:"BNB Narrow","Arial Narrow",sans-serif;--serif:"BNB Roman",Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;overflow-x:hidden}
body.locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}button{color:inherit}img{display:block;max-width:100%}
.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.cursor-orb{position:fixed;z-index:2;width:28rem;height:28rem;border-radius:50%;pointer-events:none;translate:-50% -50%;background:radial-gradient(circle,color-mix(in srgb,var(--ember) 12%,transparent),transparent 68%)}
.page-wipe{position:fixed;inset:0;z-index:100;background:var(--ember);display:grid;place-items:center;animation:page-away .85s cubic-bezier(.85,0,.15,1) .2s forwards;transform-origin:top}
.page-wipe span{font-size:clamp(3rem,10vw,9rem);font-weight:700;letter-spacing:-.05em;color:#160702}
@keyframes page-away{to{transform:translateY(-105%)}}
body.leaving .page-wipe{animation:page-enter .55s cubic-bezier(.85,0,.15,1) forwards}
@keyframes page-enter{from{transform:translateY(105%)}to{transform:translateY(0)}}

.site-header{position:absolute;z-index:30;top:0;left:0;width:100%;min-height:6.25rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.25rem 3.2vw;border-bottom:1px solid var(--line)}
.solid-header{position:relative;background:var(--ink)}
.brand{width:12rem;height:3rem;overflow:hidden;justify-self:start}
.brand img,.footer-logo img{width:100%;height:100%;object-fit:contain;filter:invert(1) contrast(1.5);mix-blend-mode:screen}
.desktop-nav{display:flex;gap:2.6rem;align-items:center}
.desktop-nav a{position:relative;padding:.55rem 0;text-transform:uppercase;letter-spacing:.13em;font-size:.82rem}
.desktop-nav a sup{color:var(--ember-2);font-size:.55rem;vertical-align:top;margin-left:.18rem}
.desktop-nav a::after{content:"";position:absolute;left:0;bottom:.1rem;width:100%;height:1px;background:var(--ember);transform:scaleX(0);transform-origin:right;transition:transform .35s}
.desktop-nav a:hover::after,.desktop-nav a.active::after{transform:scaleX(1);transform-origin:left}
.header-cta{justify-self:end;border:1px solid rgba(255,255,255,.48);border-radius:999px;padding:.8rem 1.15rem;text-transform:uppercase;font-size:.7rem;letter-spacing:.12em;transition:.3s}
.header-cta:hover{background:var(--paper);color:var(--ink)}
.menu-button{display:none;justify-self:end;width:3rem;height:3rem;border:1px solid var(--line);border-radius:50%;background:rgba(0,0,0,.35);padding:.85rem;cursor:pointer}
.menu-button span:not(.sr-only){display:block;height:1px;margin:.38rem 0;background:#fff;transition:.35s}
.menu-button[aria-expanded="true"] span:first-child{transform:translateY(.38rem) rotate(45deg)}
.menu-button[aria-expanded="true"] span:nth-child(2){transform:rotate(-45deg)}
.mobile-nav{position:fixed;inset:0;z-index:25;background:var(--ink);display:grid;align-content:center;gap:.3rem;padding:7rem 8vw 3rem;transform:translateY(-105%);transition:transform .55s cubic-bezier(.85,0,.15,1)}
.mobile-nav.open{transform:translateY(0)}
.mobile-nav a{font-size:clamp(3.2rem,13vw,6rem);font-weight:700;text-transform:uppercase;line-height:.95;letter-spacing:-.04em;border-bottom:1px solid var(--line);padding:.75rem 0}
.mobile-nav small{display:inline-block;width:2rem;margin-right:1rem;color:var(--ember);font-size:.65rem;letter-spacing:.1em;vertical-align:middle}

.home-hero{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;padding:11rem 6vw 4rem}
.hero-photo{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.06);animation:hero-settle 1.8s cubic-bezier(.2,.7,.2,1) forwards;transition:filter .7s}
@keyframes hero-settle{to{transform:scale(1)}}
.hero-photo i{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,7,6,.96) 0%,rgba(8,7,6,.72) 31%,rgba(8,7,6,.08) 70%,rgba(8,7,6,.38) 100%),linear-gradient(0deg,rgba(8,7,6,.8),transparent 32%)}
.hero-kicker{position:absolute;top:8.3rem;left:6.4vw;margin:0;text-transform:uppercase;letter-spacing:.25em;font-size:.72rem}.hero-kicker b{color:var(--ember);padding:0 .5rem}
.home-hero h1{margin:0;width:min-content;font-size:clamp(7rem,19vw,18rem);line-height:.61;letter-spacing:-.075em;text-transform:uppercase;font-weight:700;position:relative;z-index:3}
.home-hero h1 span{display:block;white-space:nowrap}.home-hero h1 .outline{margin-left:.25em;color:transparent;-webkit-text-stroke:1.5px var(--paper)}
.hero-bottom{position:absolute;z-index:5;left:6.4vw;right:7vw;bottom:3.5rem;display:flex;justify-content:space-between;align-items:end}
.hero-bottom>p{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.3}
.circle-cta{width:9rem;height:9rem;border-radius:50%;background:var(--ember);color:#190803;display:grid;place-items:center;text-align:center;text-transform:uppercase;font-size:.78rem;font-weight:700;letter-spacing:.1em;position:relative;transition:.35s}
.circle-cta b{position:absolute;right:1.5rem;top:1.3rem;font-size:1.2rem}.circle-cta:hover{transform:rotate(-8deg) scale(1.07);background:var(--paper)}
.mode-dial{position:absolute;z-index:6;right:3.2vw;top:8rem;display:grid;grid-template-columns:auto 4rem auto;align-items:center;gap:.9rem}
.mode-dial button{border:0;background:none;padding:0;cursor:pointer;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;opacity:.4;transition:.3s}.mode-dial button.active{opacity:1;color:var(--ember-2)}
.mode-dial button span{display:block;font-family:var(--serif);font-style:italic;letter-spacing:0;text-transform:none;margin-bottom:.28rem}.mode-dial>div{height:1px;background:var(--line);position:relative}.mode-dial i{position:absolute;top:50%;right:0;width:.48rem;height:.48rem;background:var(--ember);border-radius:50%;translate:0 -50%;box-shadow:0 0 1.5rem var(--ember);transition:.45s}
html[data-mode="brew"]{--ember:#d69b61;--ember-2:#efc18f}html[data-mode="brew"] .mode-dial i{right:calc(100% - .48rem)}html[data-mode="brew"] .hero-photo img{filter:sepia(.23) saturate(.65) brightness(1.17)}
.hero-side{position:absolute;right:1.3vw;top:50%;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.15em;font-size:.61rem;opacity:.75}

.ticker{background:var(--ember);color:#190803;overflow:hidden;padding:.72rem 0;white-space:nowrap}.ticker div{font-size:.76rem;font-weight:700;letter-spacing:.2em;animation:ticker 22s linear infinite;width:max-content}@keyframes ticker{to{transform:translateX(-50%)}}
.section-pad{padding:9rem 7vw}.section-code{margin:0;color:var(--ash);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.thesis{min-height:95vh;display:grid;grid-template-columns:.7fr 3fr;gap:3rem;align-items:start}
.thesis-main{grid-column:2;display:grid;grid-template-columns:1fr 2.3fr;gap:4vw;align-items:start}
.accent-copy{margin:1rem 0 0;color:var(--ember-2);font-size:.83rem;letter-spacing:.15em;text-transform:uppercase;line-height:1.55}.accent-copy em{font-family:var(--serif);letter-spacing:0;text-transform:none;font-size:1.4rem}
.thesis h2{margin:0;font-size:clamp(4.2rem,9.5vw,10rem);line-height:.76;letter-spacing:-.07em;text-transform:uppercase}.thesis-note{grid-column:2;max-width:36rem;margin:4rem 4vw 0 auto;color:#b6afa5;font-family:var(--serif);font-size:1.25rem;line-height:1.65}
.doorways{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.doorway{position:relative;overflow:hidden;isolation:isolate;min-height:55rem}.doorway img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .7s}.doorway::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(8,7,6,.96),rgba(8,7,6,.04) 70%)}.doorway>div{position:absolute;left:4vw;right:4vw;bottom:4rem}.doorway span,.doorway b{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}.doorway h2{margin:1.3rem 0 2rem;font-size:clamp(4rem,7.5vw,8rem);line-height:.74;letter-spacing:-.06em;text-transform:uppercase}.doorway h2 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--ember-2)}.doorway b{display:inline-block;border-bottom:1px solid;padding-bottom:.4rem}.doorway:hover img{transform:scale(1.06);filter:saturate(1.25)}
.day-night{background:var(--paper);color:var(--ink)}.day-night .section-code{color:#746d64}.time-track{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:1.6rem;margin:7rem 0 3rem;font-family:var(--serif);font-style:italic;font-size:clamp(2.2rem,5vw,5rem)}.time-track i{height:1px;background:#aaa39a;position:relative}.time-track i::after{content:"";position:absolute;top:50%;left:50%;width:.6rem;height:.6rem;border-radius:50%;background:var(--ember);translate:-50% -50%}
.time-copy{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw}.time-copy article{border-top:1px solid #bbb4aa;padding-top:1.5rem}.time-copy b{font-size:1.6rem;text-transform:uppercase;letter-spacing:-.02em}.time-copy p{font-family:var(--serif);line-height:1.55;color:#655e56;max-width:19rem}
.closing-panel{min-height:90vh;padding:8rem 7vw;display:grid;place-content:center;text-align:center;position:relative;overflow:hidden;background:radial-gradient(circle at center,rgba(255,75,24,.25),transparent 40%),url("./assets/hero-smokehouse.webp") center/cover}.closing-panel::after{content:"";position:absolute;inset:0;background:rgba(8,7,6,.35);z-index:0}.closing-panel>*{position:relative;z-index:1}.closing-panel>p{color:var(--ember-2);letter-spacing:.25em;text-transform:uppercase;font-size:.7rem}.closing-panel h2{margin:1rem 0 2.5rem;font-size:clamp(5rem,11vw,11rem);line-height:.73;letter-spacing:-.075em;text-transform:uppercase}.closing-panel h2 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--ember-2)}.closing-panel a{width:max-content;margin:auto;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:.9rem 1rem .9rem 1.5rem;text-transform:uppercase;font-size:.72rem;letter-spacing:.11em}.closing-panel a span{display:inline-grid;place-items:center;width:2.2rem;height:2.2rem;margin-left:1rem;border-radius:50%;background:var(--ember);color:#190803}

.page-hero{min-height:calc(100svh - 6.25rem);position:relative;overflow:hidden;padding:8rem 7vw;isolation:isolate}.page-number{position:absolute;right:-.02em;top:-.18em;font-size:clamp(15rem,40vw,38rem);line-height:.8;color:rgba(255,255,255,.025);font-weight:700;letter-spacing:-.09em;z-index:-1}.page-hero h1{margin:4rem 0 0;font-size:clamp(6rem,15vw,14rem);line-height:.67;letter-spacing:-.075em;text-transform:uppercase;position:relative;z-index:3}.page-hero h1 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--ember-2)}.hero-deck{position:absolute;right:7vw;bottom:5rem;width:min(28rem,36vw);font-family:var(--serif);font-size:1.25rem;line-height:1.55;color:#c2bbb1;z-index:3}
.menu-hero figure{position:absolute;right:21vw;top:6rem;width:27vw;height:68vh;margin:0;z-index:0;clip-path:polygon(8% 0,100% 7%,91% 100%,0 93%)}.menu-hero figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,7,6,.55),transparent)}.menu-hero figure img{width:100%;height:100%;object-fit:cover}
.menu-catalog{background:var(--paper);color:var(--ink)}.catalog-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:5rem}.menu-catalog .section-code{color:#6e675e}.filter-pills{display:flex;border:1px solid #aaa39a;border-radius:999px;padding:.32rem}.filter-pills button{border:0;background:transparent;border-radius:999px;padding:.8rem 1.15rem;color:#625b53;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.filter-pills button.active{background:var(--ink);color:var(--paper)}
.catalog-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:7vw}.catalog-feature{position:sticky;top:2rem;align-self:start;padding:4rem 3rem;background:var(--ink);color:var(--paper);min-height:34rem;clip-path:polygon(0 5%,95% 0,100% 94%,6% 100%)}.catalog-feature>span,.catalog-feature>b{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ember-2)}.catalog-feature h2{font-size:clamp(4rem,7vw,7rem);line-height:.73;letter-spacing:-.06em;text-transform:uppercase;margin:6rem 0 1.8rem}.catalog-feature h2 em{font-family:var(--serif);font-weight:400;text-transform:none}.catalog-feature p{font-family:var(--serif);line-height:1.55;color:#b7afa6}.catalog-feature b{display:block;margin-top:4rem}
.catalog-list{border-top:1px solid #a9a298}.dish{display:grid;grid-template-columns:2rem 1fr auto;gap:1.4rem;padding:2rem 0;border-bottom:1px solid #c2bbb2;transition:opacity .35s,transform .35s}.dish.hidden{display:none}.dish>span{font-size:.7rem;color:#777067}.dish h3{margin:0 0 .45rem;font-size:clamp(1.8rem,3vw,3rem);line-height:.9;text-transform:uppercase;letter-spacing:-.04em}.dish p{margin:0;color:#6a635a;font-family:var(--serif);line-height:1.5}.dish>b{color:var(--ember);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.menu-disclaimer{font-family:var(--serif);font-style:italic;color:#777067;margin:4rem 0 0}.menu-manifesto{min-height:90vh;display:grid;place-content:center;text-align:center;padding:8rem 6vw;background:radial-gradient(circle at 52% 48%,rgba(255,75,24,.22),transparent 36%)}.menu-manifesto>p{color:var(--ember-2);font-size:.7rem;letter-spacing:.2em}.menu-manifesto h2{margin:1rem 0 3rem;font-size:clamp(4rem,10vw,10rem);line-height:.78;text-transform:uppercase;letter-spacing:-.07em}.menu-manifesto h2 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--ember-2)}.menu-manifesto a{width:max-content;margin:auto;border-bottom:1px solid;padding-bottom:.4rem;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}

.real-menu{background:var(--paper);color:var(--ink);min-height:100vh}
.menu-stage-head{display:grid;grid-template-columns:.65fr 1.8fr;gap:5vw;align-items:end;padding-bottom:2rem;border-bottom:1px solid #aaa39a}
.real-menu .section-code{color:#6e675e}.menu-stage-note{margin:.8rem 0 0;color:#6e675e;font-family:var(--serif);font-style:italic}
.menu-category-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.menu-category-tabs button{min-height:5.5rem;border:1px solid #9f978d;background:transparent;color:#5e574f;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:end;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:1.1rem;cursor:pointer;transition:.3s}
.menu-category-tabs button span{align-self:start;font-size:.62rem;color:#837b72;letter-spacing:.12em}.menu-category-tabs button:hover{border-color:var(--ember);color:var(--ember)}
.menu-category-tabs button.active{background:var(--ink);border-color:var(--ink);color:var(--paper);clip-path:polygon(0 8%,100% 0,96% 100%,3% 93%)}.menu-category-tabs button.active span{color:var(--ember-2)}
.menu-tab-panel{display:grid;grid-template-columns:.7fr 1.7fr;gap:7vw;padding-top:5rem;animation:menu-reveal .55s cubic-bezier(.2,.7,.2,1)}.menu-tab-panel[hidden]{display:none}
@keyframes menu-reveal{from{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:none}}
.menu-panel-intro{align-self:start;position:sticky;top:2rem}.menu-panel-intro>span,.coffee-coming>span{font-size:.68rem;letter-spacing:.17em;color:var(--ember);text-transform:uppercase}.menu-panel-intro h2{margin:4rem 0 2rem;font-size:clamp(4rem,7vw,7rem);line-height:.72;letter-spacing:-.06em;text-transform:uppercase}.menu-panel-intro h2 em,.coffee-coming h2 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--ember)}.menu-panel-intro p{max-width:24rem;font-family:var(--serif);font-size:1.1rem;line-height:1.55;color:#696158}
.real-menu-list{border-top:1px solid #a9a298}.real-dish{display:grid;grid-template-columns:2rem 1fr auto;gap:1.4rem;padding:1.8rem 0;border-bottom:1px solid #c2bbb2}.real-dish>span{font-size:.68rem;color:#817971;padding-top:.35rem}.real-dish h3{margin:0;font-size:clamp(1.65rem,2.6vw,2.7rem);line-height:.95;text-transform:uppercase;letter-spacing:-.035em}.real-dish p{margin:.7rem 0 0;max-width:40rem;color:#6a635a;font-family:var(--serif);line-height:1.5}.real-dish>b{padding-top:.45rem;color:var(--ember);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;text-align:right}
.coffee-coming{min-height:38rem;grid-template-columns:1fr;place-content:center;text-align:center;position:relative;overflow:hidden}.coffee-coming h2{margin:1.5rem 0;font-size:clamp(5rem,11vw,11rem);line-height:.72;letter-spacing:-.07em;text-transform:uppercase}.coffee-coming>p{font-family:var(--serif);font-size:1.2rem;color:#6a635a}.coffee-orbit{position:absolute;left:50%;top:50%;width:34rem;height:34rem;border:1px solid rgba(8,7,6,.15);border-radius:50%;translate:-50% -50%;animation:coffee-spin 12s linear infinite;pointer-events:none}.coffee-orbit::before,.coffee-orbit::after{content:"";position:absolute;border:1px solid rgba(8,7,6,.12);border-radius:50%;inset:4rem}.coffee-orbit::after{inset:9rem}.coffee-orbit i{position:absolute;width:1.2rem;height:1.7rem;background:var(--ember);border-radius:50%;transform:rotate(28deg)}.coffee-orbit i:nth-child(1){top:1rem;left:50%}.coffee-orbit i:nth-child(2){bottom:5rem;left:4rem}.coffee-orbit i:nth-child(3){right:1rem;top:55%}@keyframes coffee-spin{to{transform:rotate(360deg)}}

.story-hero{min-height:72vh}.story-hero .hero-deck{bottom:4rem}.cinema-frame{margin:0;padding:0 3vw 3rem;background:var(--ink)}.cinema-frame img{width:100%;height:76vh;object-fit:cover}.cinema-frame figcaption{display:flex;justify-content:space-between;padding-top:1rem;color:var(--ash);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}
.story-belief{display:grid;grid-template-columns:.7fr 3fr;gap:3rem}.story-belief h2{grid-column:2;margin:0;font-size:clamp(4.2rem,9.5vw,9.5rem);line-height:.78;letter-spacing:-.07em;text-transform:uppercase}.story-belief h2 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--ember-2)}.belief-columns{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:5vw;max-width:55rem;margin:4rem 0 0 auto}.belief-columns p{font-family:var(--serif);font-size:1.15rem;line-height:1.65;color:#bab3aa}
.process-ledger{display:grid;grid-template-columns:.8fr 1.4fr;gap:7vw;background:var(--paper);color:var(--ink)}.process-ledger .section-code{color:#6e675e}.process-ledger h2{font-size:clamp(4rem,7vw,7rem);line-height:.78;text-transform:uppercase;letter-spacing:-.06em;margin:2rem 0}.process-ledger h2 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--ember)}.process-ledger ol{list-style:none;padding:0;margin:0;border-top:1px solid #aaa39a}.process-ledger li{display:grid;grid-template-columns:2rem 1fr 1.5fr;gap:2rem;align-items:start;padding:2rem 0;border-bottom:1px solid #c2bbb2}.process-ledger li>span{font-size:.68rem;color:#777067}.process-ledger h3{margin:0;font-size:2rem;text-transform:uppercase}.process-ledger li p{margin:0;font-family:var(--serif);line-height:1.55;color:#655e56}.quote-field{min-height:90vh;display:grid;place-content:center;text-align:center;padding:8rem 6vw;background:radial-gradient(circle,rgba(255,75,24,.2),transparent 40%)}.quote-field blockquote{margin:0 0 3rem;font-family:var(--serif);font-style:italic;font-size:clamp(2.8rem,6vw,6rem);line-height:1.06;color:var(--ember-2)}.quote-field a{width:max-content;margin:auto;border-bottom:1px solid;padding-bottom:.4rem;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem}

.visit-hero{min-height:calc(100svh - 6.25rem);position:relative;overflow:hidden;isolation:isolate}.visit-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.visit-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,7,6,.95),rgba(8,7,6,.3) 62%,rgba(8,7,6,.6))}.visit-hero-copy{padding:10rem 7vw 5rem}.visit-hero h1{font-size:clamp(6rem,14vw,13rem);line-height:.67;letter-spacing:-.075em;text-transform:uppercase;margin:4rem 0 2rem}.visit-hero h1 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--ember-2)}.visit-hero-copy>p:last-child{max-width:28rem;font-family:var(--serif);font-size:1.2rem;line-height:1.55;color:#c4bdb3}.coordinate-mark{position:absolute;right:5vw;bottom:4rem;width:12rem;height:12rem;border:1px solid rgba(255,255,255,.38);border-radius:50%;display:grid;place-items:center}.coordinate-mark::before,.coordinate-mark::after{content:"";position:absolute;background:rgba(255,255,255,.22)}.coordinate-mark::before{left:-1rem;right:-1rem;height:1px}.coordinate-mark::after{top:-1rem;bottom:-1rem;width:1px}.coordinate-mark span{font-size:2.7rem;font-weight:700;letter-spacing:-.04em}.coordinate-mark b{position:absolute;bottom:2rem;font-size:.55rem;letter-spacing:.15em;color:var(--ember-2)}
.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.visit-card{background:var(--ink);padding:3rem;min-height:28rem}.visit-card>span{color:var(--ember-2);font-size:.68rem;letter-spacing:.15em}.visit-card h2{font-size:clamp(3rem,5vw,5rem);line-height:.8;text-transform:uppercase;letter-spacing:-.05em;margin:5rem 0 2rem}.visit-card p{font-family:var(--serif);color:#aaa39a;line-height:1.6}
.opening-list{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:10rem 7vw;background:var(--paper);color:var(--ink)}.opening-list .section-code{color:#6e675e}.opening-list h2{font-size:clamp(4rem,8vw,8rem);line-height:.76;text-transform:uppercase;letter-spacing:-.065em;margin:2rem 0}.opening-list h2 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--ember)}.opening-list>div>p:last-child{font-family:var(--serif);color:#655e56;line-height:1.55;max-width:29rem}.opening-form{display:flex;flex-direction:column;justify-content:center}.opening-form label{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;margin:1.5rem 0 .5rem;color:#6e675e}.opening-form input{border:0;border-bottom:1px solid #888077;background:transparent;padding:.8rem 0;color:var(--ink);font-family:var(--serif);font-size:1.25rem;outline:0}.opening-form input:focus{border-color:var(--ember)}.opening-form button{margin-top:2.5rem;border:0;background:var(--ink);color:var(--paper);padding:1.1rem 1.4rem;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;cursor:pointer;display:flex;justify-content:space-between}.opening-form button span{color:var(--ember-2)}.form-status{color:var(--ember);min-height:1.5rem}.form-note{margin:0;padding:1rem 7vw 4rem;background:var(--paper);color:#6e675e;font-family:var(--serif);font-style:italic}

.site-footer{padding:4rem 7vw 2rem;border-top:1px solid var(--line);display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;color:#aaa39a;text-transform:uppercase;font-size:.7rem;letter-spacing:.11em;line-height:1.6}.footer-logo{width:15rem;height:4rem}.site-footer>div{display:flex;flex-direction:column;gap:.4rem}.site-footer>div a:hover{color:var(--ember-2)}.site-footer>span{grid-column:1/-1;border-top:1px solid var(--line);padding-top:2rem}
.reveal{opacity:0;transform:translateY(2.5rem);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}

@media(max-width:950px){
 .site-header{grid-template-columns:1fr auto}.desktop-nav,.header-cta{display:none}.menu-button{display:block}.brand{width:10.5rem}
 .home-hero{padding-top:28vh}.hero-kicker{top:7.5rem}.home-hero h1{font-size:clamp(6rem,22vw,11rem)}.mode-dial{top:7rem}.hero-side{display:none}
 .thesis{grid-template-columns:1fr}.thesis-main,.thesis-note{grid-column:1}.thesis-main{grid-template-columns:1fr}.thesis-note{margin-left:auto}
 .doorways{grid-template-columns:1fr}.doorway{min-height:45rem}.doorway h2{font-size:clamp(5rem,15vw,8rem)}
 .page-hero{padding-top:7rem}.menu-hero figure{right:-4vw;top:9rem;width:48vw;height:56vh}.hero-deck{width:42vw}
 .catalog-grid,.process-ledger{grid-template-columns:1fr}.catalog-feature{position:relative;top:auto;min-height:28rem}.catalog-feature h2{margin-top:4rem}
 .menu-stage-head{grid-template-columns:1fr;gap:2rem}.menu-tab-panel{grid-template-columns:1fr;gap:3rem}.menu-panel-intro{position:relative;top:auto}.menu-panel-intro h2{margin-top:2.5rem}.coffee-coming{min-height:32rem}
 .story-belief{grid-template-columns:1fr}.story-belief h2,.belief-columns{grid-column:1}.cinema-frame img{height:58vh}
 .visit-grid{grid-template-columns:1fr}.visit-card{min-height:20rem}.visit-card h2{margin-top:3rem}.opening-list{grid-template-columns:1fr;gap:3rem}
}
@media(max-width:620px){
 .cursor-orb{display:none}.section-pad{padding:6rem 1.2rem}.site-header{min-height:5.4rem;padding:1rem 1.2rem}
 .home-hero{padding:27vh 1.2rem 10rem}.hero-photo img{object-position:62% center}.hero-photo i{background:linear-gradient(0deg,rgba(8,7,6,.95),rgba(8,7,6,.18) 74%,rgba(8,7,6,.7))}.hero-kicker{left:1.2rem;top:6.6rem}.home-hero h1{font-size:clamp(5rem,25vw,8rem);line-height:.66}.home-hero h1 .outline{margin-left:.05em}.hero-bottom{left:1.2rem;right:1.2rem;bottom:2.5rem}.circle-cta{width:7rem;height:7rem}.mode-dial{top:6.2rem;right:1.2rem}.hero-bottom>p{max-width:12rem;font-size:1rem}
 .thesis h2{font-size:clamp(3.8rem,18vw,6rem)}.doorway{min-height:37rem}.doorway>div{left:1.2rem;right:1.2rem;bottom:2.5rem}.doorway h2{font-size:clamp(4rem,18vw,6rem)}
 .time-track{gap:.55rem;margin:4rem 0 2rem;font-size:clamp(1.6rem,9vw,2.8rem)}.time-copy{grid-template-columns:1fr}.time-copy article{padding-bottom:1.5rem}.closing-panel{padding:6rem 1.2rem}.closing-panel h2{font-size:clamp(4rem,20vw,7rem)}
 .page-hero{min-height:78vh;padding:5rem 1.2rem}.page-hero h1{margin-top:3rem;font-size:clamp(5rem,23vw,8rem)}.hero-deck{left:1.2rem;right:1.2rem;bottom:2.5rem;width:auto;font-size:1rem}.menu-hero figure{right:-25vw;top:7rem;width:75vw;height:45vh;opacity:.62}.catalog-tools{align-items:flex-start;flex-direction:column;gap:2rem}.filter-pills{width:100%;overflow:auto}.filter-pills button{flex:1;white-space:nowrap;padding:.7rem}.catalog-feature{padding:3rem 2rem}.dish{grid-template-columns:1.5rem 1fr}.dish>b{grid-column:2}.menu-manifesto{padding:6rem 1.2rem}.menu-manifesto h2{font-size:clamp(3.8rem,18vw,6rem)}
 .menu-category-tabs{gap:.35rem}.menu-category-tabs button{min-height:4.7rem;padding:.75rem .55rem;font-size:.85rem;flex-direction:column;align-items:flex-start}.menu-category-tabs button span{align-self:auto}.menu-tab-panel{padding-top:3.5rem}.menu-panel-intro h2{font-size:clamp(3.8rem,18vw,6rem)}.real-dish{grid-template-columns:1.4rem 1fr;padding:1.5rem 0}.real-dish>b{grid-column:2;text-align:left;padding-top:0}.real-dish h3{font-size:1.6rem}.coffee-coming h2{font-size:clamp(4rem,18vw,6rem)}.coffee-orbit{width:23rem;height:23rem}
 .story-hero{min-height:70vh}.cinema-frame{padding:0 .6rem 2rem}.cinema-frame img{height:45vh}.cinema-frame figcaption span:last-child{display:none}.story-belief h2{font-size:clamp(3.8rem,18vw,6rem)}.belief-columns{grid-template-columns:1fr}.process-ledger li{grid-template-columns:1.5rem 1fr}.process-ledger li p{grid-column:2}.quote-field{padding:6rem 1.2rem}
 .visit-hero{min-height:82vh}.visit-hero-copy{padding:8rem 1.2rem 4rem}.visit-hero h1{font-size:clamp(5rem,22vw,8rem)}.coordinate-mark{width:8rem;height:8rem;right:1.2rem;bottom:2rem}.coordinate-mark span{font-size:2rem}.coordinate-mark b{bottom:1rem}.opening-list{padding:6rem 1.2rem}.form-note{padding-left:1.2rem;padding-right:1.2rem}.site-footer{grid-template-columns:1fr;padding:4rem 1.2rem 2rem}.site-footer>span{grid-column:1}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.page-wipe{display:none}}
