/* Design Tokens */
:root{--bg:#090908;--surface:#121210;--surface-2:#1a1814;--text:#f5efe4;--muted:#aaa294;--accent:#ef7e32;--accent-2:#b8bf82;--line:rgba(255,255,255,.14);--glow:rgba(239,126,50,.35);--cream:#e8dcc6;--font-serif:"Playfair Display",serif;--font-sans:"Manrope",sans-serif;--font-mono:"DM Mono",monospace;--radius:28px;--container:min(1280px,calc(100vw - 40px));--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);overflow-x:hidden}body.menu-open,body.detail-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:var(--container);margin-inline:auto}.scene{position:relative;isolation:isolate}.eyebrow{font:500 .7rem/1.2 var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}h1,h2,h3,p{margin-top:0}h2{font:500 clamp(2.8rem,7vw,7rem)/.92 var(--font-serif);letter-spacing:-.045em;margin-bottom:1.5rem}h2 em{font-weight:500;color:var(--cream)}.skip-link{position:fixed;left:16px;top:-80px;z-index:10000;background:#fff;color:#000;padding:12px 16px}.skip-link:focus{top:16px}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.grain{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.045;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.media-panel{background-size:cover;background-position:center}
/* Loader */
.loader{position:fixed;inset:0;z-index:9999;display:grid;place-content:center;text-align:center;background:#070706;transition:opacity .8s var(--ease),visibility .8s}.loader.is-hidden{opacity:0;visibility:hidden}.loader p{font:400 .68rem var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.loader__mark{position:relative;width:110px;height:110px;margin:auto}.loader__drop{position:absolute;left:44px;top:8px;width:22px;height:32px;border-radius:60% 40% 60% 40%;background:var(--accent);transform:rotate(45deg);animation:drop 1.4s infinite}.loader__ring{position:absolute;inset:35px 0 0;border:1px solid rgba(239,126,50,.5);border-radius:50%;animation:ring 1.4s infinite}@keyframes drop{50%{transform:translateY(22px) rotate(45deg);filter:brightness(1.4)}}@keyframes ring{50%{transform:scale(1.5);opacity:0}}
/* Ambient / Cursor */
#ambient-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.cursor{position:fixed;z-index:300;width:54px;height:54px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;pointer-events:none;transform:translate(-50%,-50%);opacity:0;transition:width .25s,height .25s,background .25s,opacity .25s;mix-blend-mode:difference}.cursor span{font:500 .55rem var(--font-mono);letter-spacing:.08em}.cursor.is-active{width:82px;height:82px;background:#fff;color:#000}
/* Navigation */
.site-header{position:fixed;left:0;top:0;width:100%;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:22px max(20px,4vw);mix-blend-mode:difference}.brand{display:flex;gap:10px;align-items:center;font:600 .78rem var(--font-mono);letter-spacing:.18em}.brand__ember{width:9px;height:14px;border-radius:60% 40%;background:var(--accent);transform:rotate(35deg);box-shadow:0 0 18px var(--glow)}.header-actions{display:flex;align-items:center;gap:24px}.header-link{font-size:.78rem}.menu-toggle{appearance:none;border:0;background:none;color:#fff;display:grid;grid-template-columns:auto 25px;gap:0 12px;align-items:center;cursor:pointer}.menu-toggle span{grid-row:1/3;font-size:.78rem}.menu-toggle i{display:block;width:25px;height:1px;background:currentColor;margin:3px 0}.overlay-menu{position:fixed;inset:0;z-index:180;background:rgba(9,9,8,.96);backdrop-filter:blur(20px);clip-path:circle(0 at calc(100% - 50px) 38px);transition:clip-path .8s var(--ease);visibility:hidden}.overlay-menu.is-open{clip-path:circle(150% at calc(100% - 50px) 38px);visibility:visible}.overlay-menu__inner{min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:min(900px,calc(100% - 40px));margin:auto}.overlay-menu a{font:500 clamp(2.1rem,6vw,5.5rem)/1.04 var(--font-serif);letter-spacing:-.035em;transition:color .25s,transform .25s}.overlay-menu a:hover,.overlay-menu a:focus-visible{color:var(--accent);transform:translateX(14px)}
/* Hero */
.hero{min-height:100svh;display:grid;align-items:end;overflow:hidden;background:radial-gradient(circle at 70% 45%,#21140d 0,#0a0908 42%,#050504 75%)}.hero__webgl{position:absolute;inset:0}.hero__halo{position:absolute;width:55vw;aspect-ratio:1;border-radius:50%;left:55%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(244,130,55,.18),transparent 62%);filter:blur(20px)}.hero__content{padding:170px 0 11vh;position:relative;z-index:3}.hero__title{font:500 clamp(4.5rem,13vw,12rem)/.74 var(--font-serif);letter-spacing:-.065em;margin:.25em 0;display:flex;flex-direction:column}.hero__title span:nth-child(2){padding-left:12vw;color:var(--cream)}.hero__title span:nth-child(3){padding-left:3vw}.hero__sub{color:var(--muted);font-size:clamp(1rem,1.5vw,1.3rem)}.hero__actions{display:flex;align-items:center;gap:28px;margin-top:36px;flex-wrap:wrap}.magnetic-action{min-height:64px;padding:0 20px 0 28px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;gap:32px;background:rgba(255,255,255,.03);backdrop-filter:blur(12px);transition:border-color .3s,background .3s}.magnetic-action i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent);font-style:normal;color:#120b07}.magnetic-action:hover{border-color:rgba(239,126,50,.75);background:rgba(239,126,50,.08)}.text-action{font-size:.82rem;color:var(--muted)}.text-action span{color:var(--text)}.scroll-cue{position:absolute;right:4vw;bottom:7vh;display:flex;align-items:center;gap:14px;font:400 .6rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl}.scroll-cue i{height:70px;width:1px;background:linear-gradient(var(--text),transparent)}
/* Ritual */
.ritual{padding:14vh 0;background:linear-gradient(#090908,#0f0e0b)}.ritual__layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.section-intro>p:last-child{max-width:520px;color:var(--muted);line-height:1.8}.ritual-orbit{position:relative;min-height:720px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center}.bean-sculpture{width:min(42vw,420px);aspect-ratio:1;display:grid;place-items:center;filter:drop-shadow(0 25px 40px rgba(0,0,0,.6))}.bean-core{width:58%;height:78%;border-radius:48% 52% 55% 45%;background:radial-gradient(circle at 35% 25%,#9d5b31,#4d2514 42%,#190c07 78%);transform:rotate(22deg);box-shadow:inset -30px -20px 55px rgba(0,0,0,.7),inset 16px 15px 25px rgba(255,190,130,.12);position:relative}.bean-core:after{content:"";position:absolute;left:48%;top:8%;width:7%;height:84%;border-radius:50%;background:#130907;transform:rotate(11deg);box-shadow:0 0 7px rgba(255,200,150,.2)}.ritual-steps button{position:absolute;border:0;background:none;color:var(--muted);font:400 .65rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.ritual-steps button.is-active{color:var(--accent)}.ritual-steps button:nth-child(1){left:50%;top:5%}.ritual-steps button:nth-child(2){right:5%;top:28%}.ritual-steps button:nth-child(3){right:8%;bottom:24%}.ritual-steps button:nth-child(4){left:15%;bottom:10%}.ritual-steps button:nth-child(5){left:3%;top:35%}.ritual-copy{position:absolute;right:-3%;bottom:2%;width:min(380px,70%);padding:28px;background:rgba(17,16,13,.9);border:1px solid var(--line);border-radius:24px;backdrop-filter:blur(18px)}.ritual-copy h3{font:500 2rem var(--font-serif);margin-bottom:10px}.ritual-copy p{color:var(--muted);line-height:1.7;margin-bottom:0}
/* Story */
.story{min-height:140vh;display:grid;align-items:center;overflow:hidden;background:#0c0b09}.story__media{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(7,7,6,.95),rgba(7,7,6,.2)),url('https://images.unsplash.com/photo-1445116572660-236099ec97a0?auto=format&fit=crop&w=2200&q=85');opacity:.65;transform:scale(1.08)}.story__content{position:relative;z-index:2}.story-lines p{font:500 clamp(3.2rem,8.5vw,9rem)/.95 var(--font-serif);letter-spacing:-.05em;margin:.08em 0;color:rgba(255,255,255,.18)}.story-lines p.is-visible{color:var(--text)}.story-note{margin:10vh 0 0 auto;width:min(480px,100%);display:grid;grid-template-columns:auto 1fr;gap:30px;color:var(--muted);line-height:1.8}.story-note span{font:500 .7rem var(--font-mono);letter-spacing:.18em;color:var(--accent)}
/* Signatures */
.signatures{padding:14vh 0;background:#15120e;overflow:hidden}.signatures__head,.events__head{display:flex;justify-content:space-between;align-items:end;gap:50px}.signatures__head>p,.events__head>p{max-width:420px;color:var(--muted);line-height:1.75}.signature-stage{min-height:760px;position:relative;margin-top:5vh}.signature-card{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;opacity:0;pointer-events:none;transition:opacity .7s}.signature-card.is-active{opacity:1;pointer-events:auto}.signature-card__copy{padding-left:max(20px,8vw)}.signature-card__number{font:400 .7rem var(--font-mono);color:var(--accent)}.signature-card h3{font:500 clamp(4rem,8vw,8.5rem)/.82 var(--font-serif);letter-spacing:-.055em;margin:.25em 0}.signature-card p{max-width:480px;color:var(--muted);line-height:1.75}.signature-price{font:500 1.4rem var(--font-mono);display:block;margin-top:28px}.signature-card__visual{height:100%;display:grid;place-items:center;perspective:1000px}.product-orb{position:relative;width:min(48vw,570px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,var(--product-glow),transparent 62%)}.product-cup{width:46%;height:55%;border-radius:16% 16% 32% 32%;background:linear-gradient(110deg,rgba(255,255,255,.82),rgba(190,180,160,.35));border:1px solid rgba(255,255,255,.35);box-shadow:inset -22px -16px 25px rgba(0,0,0,.18),0 30px 70px rgba(0,0,0,.45);position:relative;transform:rotate(-8deg)}.product-cup:before{content:"";position:absolute;left:8%;right:8%;top:7%;height:23%;border-radius:50%;background:radial-gradient(circle at 40%,#efe0bd,#6b3420 52%,#2a130b);box-shadow:0 5px 12px rgba(0,0,0,.35)}.product-cup:after{content:"";position:absolute;right:-28%;top:30%;width:34%;height:34%;border:15px solid rgba(220,210,195,.55);border-left:0;border-radius:0 50% 50% 0}.steam-line{position:absolute;width:30px;height:180px;top:12%;left:48%;border-radius:50%;border-left:2px solid rgba(255,255,255,.22);filter:blur(2px);animation:steam 3.2s infinite ease-in-out}.steam-line:nth-child(2){left:55%;height:150px;animation-delay:-1.2s}@keyframes steam{0%{transform:translateY(30px) scaleX(.7);opacity:0}45%{opacity:.6}100%{transform:translateY(-60px) translateX(25px) scaleX(1.4);opacity:0}}.signature-controls{display:flex;align-items:center;gap:24px}.signature-controls button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);color:var(--text);background:none;cursor:pointer}.signature-progress{height:1px;background:var(--line);flex:1}.signature-progress i{display:block;height:100%;background:var(--accent);width:16.6%;transition:transform .5s var(--ease);transform-origin:left}
/* Menu */
.menu-section{padding:14vh 0;background:#ece4d7;color:#171510}.menu-section .eyebrow{color:#9c4a1f}.menu-head{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.menu-search-wrap label{display:block;font:500 .65rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.menu-search-wrap input{width:100%;border:0;border-bottom:1px solid rgba(0,0,0,.3);background:none;padding:16px 0;font-size:1.05rem;outline:0;color:#171510}.menu-tools{position:sticky;top:0;z-index:20;padding:20px 0;background:rgba(236,228,215,.92);backdrop-filter:blur(18px);display:flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:1px solid rgba(0,0,0,.12)}.category-tabs{display:flex;gap:10px;overflow:auto;scrollbar-width:none}.category-tabs button,.filter-pills button{white-space:nowrap;border:1px solid rgba(0,0,0,.18);border-radius:999px;background:none;padding:10px 15px;cursor:pointer;font-size:.74rem}.category-tabs button.is-active,.filter-pills button[aria-pressed="true"]{background:#171510;color:#fff;border-color:#171510}.filter-pills{display:flex;gap:8px}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px;padding-top:6vh}.menu-item{display:grid;grid-template-columns:1fr auto;gap:16px;padding:28px 0;border-bottom:1px solid rgba(0,0,0,.17);cursor:pointer;position:relative}.menu-item:after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:#9c4a1f;transition:width .35s}.menu-item:hover:after{width:100%}.menu-item h3{font:500 clamp(1.25rem,2.2vw,2rem) var(--font-serif);margin-bottom:8px}.menu-item p{font-size:.84rem;color:#696156;line-height:1.55;margin-bottom:12px}.menu-item__tags{display:flex;gap:6px;flex-wrap:wrap}.menu-item__tags span{font:500 .55rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(0,0,0,.18);padding:5px 7px;border-radius:999px}.menu-item strong{font:500 .88rem var(--font-mono);white-space:nowrap}.menu-empty{grid-column:1/-1;padding:80px 0;text-align:center;color:#696156}
/* Product Detail */
.product-detail{position:fixed;inset:0;z-index:500;display:grid;grid-template-columns:1.1fr .9fr;background:#17120e;clip-path:inset(100% 0 0 0);transition:clip-path .75s var(--ease);visibility:hidden}.product-detail.is-open{clip-path:inset(0);visibility:visible}.product-detail__close{position:absolute;right:25px;top:25px;z-index:3;border:1px solid var(--line);border-radius:999px;background:rgba(0,0,0,.2);color:#fff;padding:10px 16px;cursor:pointer}.product-detail__visual{display:grid;place-items:center;background:radial-gradient(circle at 50%,var(--detail-glow,#7b3f24),#130e0b 62%)}.product-detail__visual .product-cup{width:min(280px,42%);height:360px}.product-detail__content{align-self:center;padding:8vw}.product-detail__content h2{font-size:clamp(3.5rem,7vw,7rem)}.product-detail__story{color:var(--muted);line-height:1.8}.product-detail__meta{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:30px 0}.product-detail__meta div{border-top:1px solid var(--line);padding-top:10px}.product-detail__meta span{display:block;font:400 .55rem var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.taste-bars{display:grid;gap:10px}.taste-bar{display:grid;grid-template-columns:100px 1fr auto;gap:12px;align-items:center;font-size:.72rem}.taste-bar i{height:3px;background:var(--line);position:relative}.taste-bar i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--level);background:var(--accent)}.product-detail__bottom{display:flex;justify-content:space-between;align-items:center;margin-top:35px}.product-detail__bottom strong{font:500 1.35rem var(--font-mono)}.product-detail__bottom span{font-size:.72rem;color:var(--muted)}
/* Beans */
.beans{padding:15vh 0;background:#0c1110;min-height:110vh}.beans__layout{display:grid;grid-template-columns:.8fr 1.2fr;grid-template-rows:auto 1fr;gap:50px}.beans__intro p:last-child{max-width:440px;color:var(--muted);line-height:1.7}.bean-orbits{min-height:620px;position:relative;border-radius:50%;border:1px solid rgba(184,191,130,.2);grid-row:1/3;grid-column:2}.bean-orbits:before,.bean-orbits:after{content:"";position:absolute;inset:13%;border:1px solid rgba(184,191,130,.16);border-radius:50%}.bean-orbits:after{inset:31%}.bean-node{position:absolute;width:96px;height:96px;border-radius:50%;border:1px solid rgba(184,191,130,.35);background:#111714;color:var(--text);cursor:pointer;display:grid;place-items:center;text-align:center;padding:10px;font:400 .57rem var(--font-mono);letter-spacing:.06em}.bean-node.is-active{background:var(--accent-2);color:#111}.bean-node:nth-child(1){left:44%;top:3%}.bean-node:nth-child(2){right:5%;top:28%}.bean-node:nth-child(3){right:18%;bottom:6%}.bean-node:nth-child(4){left:12%;bottom:8%}.bean-node:nth-child(5){left:2%;top:35%}.bean-card{align-self:end;padding:28px;border:1px solid rgba(184,191,130,.2);border-radius:24px;background:rgba(12,17,16,.8)}.bean-card h3{font:500 2rem var(--font-serif)}.bean-card__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.bean-card__grid span{font:400 .52rem var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-2);display:block}.bean-card__grid strong{font-size:.8rem}.flavor-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.flavor-list i{font-style:normal;border:1px solid rgba(184,191,130,.25);border-radius:999px;padding:6px 9px;font-size:.65rem}
/* Brew */
.brew{padding:15vh 0;background:#e8ddca;color:#171510;overflow:hidden}.brew .eyebrow{color:#8a4a25}.brew-track{display:flex;gap:24px;width:max-content;padding:5vh max(20px,calc((100vw - 1280px)/2));overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.brew-card{width:min(78vw,380px);min-height:520px;border:1px solid rgba(0,0,0,.18);border-radius:180px 180px 24px 24px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;scroll-snap-align:center}.brew-visual{height:260px;display:grid;place-items:center;position:relative}.brew-vessel{width:120px;height:160px;border:2px solid rgba(0,0,0,.45);border-radius:12px 12px 50px 50px;position:relative}.brew-vessel:before{content:"";position:absolute;left:15px;right:15px;bottom:12px;height:50%;border-radius:10px 10px 35px 35px;background:linear-gradient(#8b4b29,#351a10)}.brew-drop{position:absolute;top:40px;width:8px;height:16px;border-radius:50%;background:#8b4b29;animation:pour 1.4s infinite}@keyframes pour{to{transform:translateY(100px);opacity:0}}.brew-card h3{font:500 2.4rem var(--font-serif);margin-bottom:10px}.brew-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.brew-stats span{font:400 .5rem var(--font-mono);text-transform:uppercase;color:#766b5d}.brew-stats strong{display:block;font-size:.7rem;margin-top:4px}
/* Gallery */
.gallery{padding:15vh 0;background:#0b0b0a;overflow:hidden}.film-strip{display:flex;gap:24px;width:max-content;padding:5vh max(20px,calc((100vw - 1280px)/2));will-change:transform}.film-frame{width:min(76vw,540px);height:min(70vh,640px);border-radius:var(--radius);overflow:hidden;position:relative}.film-frame:nth-child(even){margin-top:90px}.film-frame img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);filter:saturate(.82)}.film-frame:hover img{transform:scale(1.05)}.film-frame figcaption{position:absolute;left:18px;bottom:18px;background:rgba(0,0,0,.58);padding:8px 11px;border-radius:999px;font:400 .58rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
/* Dayparts */
.dayparts{min-height:110vh;display:grid;align-items:center;overflow:hidden;background:#12100e}.daypart-bg{position:absolute;inset:0;background:linear-gradient(110deg,rgba(5,5,4,.92),rgba(5,5,4,.2)),var(--day-bg);background-size:cover;background-position:center;transition:background-image .9s,filter .9s;filter:saturate(.8)}.dayparts__content{position:relative;z-index:2;display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;align-items:center}.daypart-list button{display:block;border:0;background:none;color:rgba(255,255,255,.28);font:500 clamp(2.8rem,7vw,6.5rem)/1 var(--font-serif);padding:.12em 0;cursor:pointer}.daypart-list button.is-active{color:var(--text)}.daypart-copy{max-width:500px}.daypart-copy h3{font:500 2.4rem var(--font-serif)}.daypart-copy p{line-height:1.8;color:var(--muted)}.daypart-copy span{font:400 .62rem var(--font-mono);letter-spacing:.1em;color:var(--accent)}
/* Events */
.events{padding:15vh 0;background:#1a0e0b}.poster-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:7vh}.event-poster{min-height:520px;padding:28px;border-radius:20px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:var(--poster);color:var(--poster-text,#fff);transform:rotate(var(--tilt,0deg))}.event-poster:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.22),transparent 35%)}.event-poster>*{position:relative}.event-poster__date{font:500 4.5rem/.8 var(--font-serif)}.event-poster__date small{display:block;font:400 .65rem var(--font-mono);letter-spacing:.15em;margin-top:12px}.event-poster h3{font:500 3rem/.95 var(--font-serif)}.event-poster p{line-height:1.6;max-width:280px}.event-poster a{font:500 .65rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px;width:max-content}
/* Testimonials */
.testimonials{padding:15vh 0;background:#ded1bb;color:#171510}.notes-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:6vh}.note{min-height:260px;padding:25px;background:#f4ecdF;box-shadow:0 18px 35px rgba(52,39,24,.15);transform:rotate(var(--rotate));display:flex;flex-direction:column;justify-content:space-between}.note:nth-child(even){margin-top:45px}.note p{font:500 1.4rem/1.4 var(--font-serif)}.note footer{display:flex;justify-content:space-between;font:400 .55rem var(--font-mono);text-transform:uppercase}.stars{letter-spacing:.1em;color:#9c4a1f}
/* Reservation */
.reservation{padding:15vh 0;background:#0b0c0a}.reservation__layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;position:relative}.reservation__intro p:last-child{color:var(--muted);line-height:1.7}.reservation-form{display:grid;gap:22px}.reservation-form label{font:500 .6rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%;margin-top:8px;padding:14px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);outline:none;text-transform:none}.reservation-form select option{background:#111;color:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.reservation-form button{color:var(--text);width:max-content;margin-top:12px}.reservation-success{position:absolute;right:0;top:0;width:54%;height:100%;background:#11130f;border:1px solid var(--line);border-radius:28px;display:grid;place-content:center;text-align:center;opacity:0;visibility:hidden;transform:scale(.95);transition:.5s var(--ease)}.reservation-success.is-visible{opacity:1;visibility:visible;transform:scale(1)}.success-cup{width:110px;height:90px;border:3px solid var(--cream);border-radius:10px 10px 35px 35px;margin:0 auto 25px;position:relative}.success-cup:after{content:"";position:absolute;right:-35px;top:20px;width:34px;height:35px;border:3px solid var(--cream);border-left:0;border-radius:0 50% 50% 0}.success-cup i:before,.success-cup i:after{content:"";position:absolute;background:var(--accent);height:3px;border-radius:3px}.success-cup i:before{width:25px;transform:rotate(45deg);left:27px;top:44px}.success-cup i:after{width:45px;transform:rotate(-48deg);left:40px;top:35px}.reservation-success h3{font:500 3rem var(--font-serif)}.reservation-success button{border:0;background:none;color:var(--accent);cursor:pointer}
/* Location */
.location{padding:15vh 0;background:#15120e;overflow:hidden}.location__layout{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center}.location__image{min-height:680px;border-radius:220px 220px 28px 28px;background-image:url('https://images.unsplash.com/photo-1554118811-1e0d58224f24?auto=format&fit=crop&w=1600&q=85')}.location__copy address{font:500 1.5rem/1.5 var(--font-serif);font-style:normal;color:var(--cream);max-width:420px}.location-meta{margin:40px 0}.location-meta p{border-top:1px solid var(--line);padding:15px 0;display:grid;grid-template-columns:100px 1fr}.location-meta span{font:400 .55rem var(--font-mono);text-transform:uppercase;color:var(--muted)}.location-meta strong{font-size:.8rem}.route-line{position:absolute;inset:0;opacity:.2}.route-line svg{width:100%;height:100%}.route-line path{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:8 16}
/* Community */
.community{padding:15vh 0;background:#e6dccb;color:#171510}.community-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:130px;gap:14px;margin-top:6vh;padding:0 max(20px,4vw)}.community-card{position:relative;overflow:hidden;border-radius:18px;grid-column:span 4;grid-row:span 3}.community-card:nth-child(2){grid-column:span 5;grid-row:span 4}.community-card:nth-child(3){grid-column:span 3;grid-row:span 2}.community-card:nth-child(4){grid-column:span 3;grid-row:span 3}.community-card:nth-child(5){grid-column:span 4;grid-row:span 3}.community-card:nth-child(6){grid-column:span 5;grid-row:span 2}.community-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.community-card:hover img{transform:scale(1.06)}.community-card span{position:absolute;left:14px;bottom:14px;color:#fff;background:rgba(0,0,0,.55);padding:7px 10px;border-radius:999px;font:400 .54rem var(--font-mono);text-transform:uppercase}
/* Final */
.final{min-height:100svh;display:grid;align-items:end;background:radial-gradient(circle at 50% 70%,#2a150c,#060605 60%);overflow:hidden}.final__content{padding:20vh 0 6vh;position:relative}.final h2{font-size:clamp(4.5rem,12vw,11rem)}.final-actions{display:flex;gap:22px;flex-wrap:wrap;margin:7vh 0}.final-actions a{font:400 .72rem var(--font-mono);letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:8px}.final-meta{border-top:1px solid var(--line);padding-top:28px;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;font-size:.72rem;color:var(--muted)}.final-meta address{font-style:normal;margin-top:7px}.final-meta>div:nth-child(2){display:flex;flex-direction:column;gap:7px}.final__steam i{position:absolute;left:50%;bottom:0;width:90px;height:55vh;border-left:2px solid rgba(255,255,255,.1);border-radius:50%;filter:blur(5px);animation:steam 5s infinite}.final__steam i:nth-child(2){left:44%;animation-delay:-2s}.final__steam i:nth-child(3){left:55%;animation-delay:-3.5s}
.mobile-quick{display:none}
/* Responsive */
@media(max-width:900px){:root{--container:min(100% - 30px,760px)}.cursor{display:none}.header-link{display:none}.ritual__layout,.menu-head,.beans__layout,.reservation__layout,.location__layout,.dayparts__content{grid-template-columns:1fr}.ritual-orbit{min-height:560px}.ritual-copy{right:2%}.signature-stage{min-height:690px}.signature-card{grid-template-columns:1fr}.signature-card__copy{padding:0 20px;z-index:2}.signature-card__visual{position:absolute;inset:10% 0 0;opacity:.62}.signature-card h3{font-size:clamp(3.5rem,14vw,7rem)}.product-orb{width:min(90vw,520px)}.menu-tools{align-items:flex-start;flex-direction:column}.filter-pills{width:100%;overflow:auto}.menu-grid{grid-template-columns:1fr}.product-detail{grid-template-columns:1fr}.product-detail__visual{position:absolute;inset:0;opacity:.32}.product-detail__content{position:relative;z-index:2;overflow:auto;padding:100px 25px 35px}.bean-orbits{grid-column:1;grid-row:auto;min-height:500px}.poster-wall{grid-template-columns:1fr 1fr}.notes-wall{grid-template-columns:1fr 1fr}.reservation-success{width:100%}.community-grid{grid-template-columns:repeat(6,1fr)}.community-card,.community-card:nth-child(n){grid-column:span 3;grid-row:span 3}.mobile-quick{position:fixed;display:flex;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:160;background:rgba(15,14,12,.86);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:999px;padding:5px}.mobile-quick a{padding:10px 13px;font-size:.65rem}.final__content{padding-bottom:120px}}
@media(max-width:600px){h2{font-size:clamp(2.8rem,16vw,4.8rem)}.hero__content{padding-bottom:17vh}.hero__title{font-size:clamp(4.2rem,22vw,7rem);line-height:.8}.hero__title span:nth-child(2){padding-left:6vw}.hero__actions{gap:17px}.scroll-cue{display:none}.ritual{padding-top:100px}.ritual-orbit{min-height:480px;border-radius:38px}.bean-sculpture{width:78vw}.ritual-steps button{position:static;border:1px solid var(--line);border-radius:999px;padding:8px}.ritual-steps{position:absolute;left:15px;right:15px;top:15px;display:flex;overflow:auto;gap:7px}.ritual-copy{left:15px;right:15px;bottom:15px;width:auto}.story{min-height:120vh}.story-note{grid-template-columns:1fr;gap:10px}.signatures__head,.events__head{display:block}.signature-stage{min-height:620px}.signature-card h3{font-size:16vw}.signature-card__copy{align-self:end;padding-bottom:60px}.product-orb{align-self:start}.menu-section{padding-top:100px}.menu-head{gap:20px}.menu-tools{top:0}.menu-item{padding:23px 0}.product-detail__meta{grid-template-columns:1fr}.bean-orbits{min-height:420px}.bean-node{width:76px;height:76px}.brew-card{min-height:470px}.film-frame{height:65vh}.film-frame:nth-child(even){margin-top:45px}.dayparts{min-height:100svh}.daypart-list button{font-size:15vw}.poster-wall{grid-template-columns:1fr}.event-poster{min-height:470px}.notes-wall{grid-template-columns:1fr}.note:nth-child(even){margin-top:0}.form-row{grid-template-columns:1fr}.location__image{min-height:460px;border-radius:160px 160px 22px 22px}.community-grid{display:flex;overflow:auto;padding-bottom:10px;scroll-snap-type:x mandatory}.community-card,.community-card:nth-child(n){min-width:82vw;height:430px;scroll-snap-align:center}.final-meta{grid-template-columns:1fr;gap:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.grain,#ambient-canvas,.hero__webgl,.final__steam{display:none}.story-lines p{color:var(--text)}}
