:root{--ink:#26352b;--cream:#f5eddf;--paper:#fffaf1;--orange:#bd5a35;--gold:#d8a841;--sage:#a7ae8e;--line:rgba(38,53,43,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}.announcement{height:32px;background:var(--ink);color:#fff;text-align:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:12px}.announcement span{color:var(--gold)}.site-header{height:86px;padding:0 clamp(24px,5vw,76px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:20;background:var(--cream)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-family:"DM Serif Display",serif;font-size:22px}.brand i{font-weight:400;color:var(--orange)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--ink);border-radius:50%;font-style:italic}.nav-links{display:flex;gap:36px}.nav-links a,.socials a{color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}.nav-links a:hover,.socials a:hover{color:var(--orange)}.bag-button{justify-self:end;border:0;background:transparent;font:600 13px "DM Sans";cursor:pointer;color:var(--ink)}.bag-count{display:inline-grid;place-items:center;margin-left:8px;background:var(--orange);color:#fff;width:25px;height:25px;border-radius:50%}.menu-toggle{display:none}.hero{min-height:700px;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);overflow:hidden}.hero-copy{padding:110px 7vw 70px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--orange);margin:0 0 20px}.hero h1,.section h2,.drawer-head h2{font:400 clamp(54px,6.2vw,90px)/.94 "DM Serif Display",serif;letter-spacing:-.035em;margin:0}.hero h1 em,.section h2 em{color:var(--orange);font-weight:400}.hero-text{font-size:18px;line-height:1.65;max-width:510px;margin:30px 0;color:#526057}.hero-actions{display:flex;align-items:center;gap:30px}.button{border:0;display:inline-flex;justify-content:center;align-items:center;gap:38px;padding:16px 21px;text-decoration:none;font:600 13px "DM Sans";cursor:pointer}.button.primary{background:var(--orange);color:#fff}.button:hover{transform:translateY(-2px)}.text-link{color:var(--ink);font-size:13px;font-weight:700;text-decoration:none}.hero-note{margin-top:62px;display:flex;align-items:center;gap:13px;font-size:11px;line-height:1.6}.hero-note p{margin:0}.mini-avatar{width:38px;height:38px;background:var(--sage);display:grid;place-items:center;border-radius:50%}.hero-art{position:relative;background:var(--orange);min-height:620px;display:grid;place-items:center}.sun-disc{position:absolute;width:430px;height:430px;border-radius:50%;background:#d9a53c}.hero-cup{position:relative;width:min(80%,530px);z-index:2;filter:drop-shadow(0 25px 15px rgba(55,27,15,.17));transform:rotate(-3deg)}.hero-cup .steam{fill:none;stroke:#f9e9d3;stroke-width:7;stroke-linecap:round;opacity:.75}.stamp{position:absolute;z-index:4;right:8%;top:10%;width:100px;height:100px;border:1px solid var(--cream);border-radius:50%;color:var(--cream);display:grid;place-items:center;text-align:center;font-size:8px;line-height:1.5;letter-spacing:.2em;transform:rotate(10deg)}.stamp b{font-size:11px}.bean{position:absolute;color:#44261b;font-size:27px;z-index:3}.bean:after{content:"";position:absolute;left:48%;top:20%;height:60%;border-left:1px solid #b28463;transform:rotate(25deg)}.bean-one{left:15%;bottom:15%;transform:rotate(25deg)}.bean-two{right:17%;bottom:20%;transform:rotate(-35deg)}.bean-three{left:20%;top:20%;transform:rotate(60deg)}.marquee{overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line);padding:17px 0}.marquee-track{width:max-content;display:flex;gap:35px;align-items:center;text-transform:uppercase;letter-spacing:.14em;font-size:11px;animation:marquee 25s linear infinite}.marquee-track b{color:var(--orange)}@keyframes marquee{to{transform:translateX(-40%)}}.section{padding:110px clamp(24px,7vw,110px)}.section-heading{display:grid;grid-template-columns:2fr 1fr;gap:80px;align-items:end}.section-heading h2,.story h2,.visit h2{font-size:clamp(46px,5vw,72px)}.section-heading>p{color:#637067;line-height:1.8;font-size:15px;max-width:420px}.filters{display:flex;gap:10px;margin:55px 0 28px}.filter{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 17px;border-radius:50px;font:600 11px "DM Sans";cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:#fff}.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.menu-card{background:var(--paper);transition:.3s}.menu-card.hidden{display:none}.menu-card:hover{transform:translateY(-7px)}.card-art{height:245px;display:grid;place-items:center;position:relative;overflow:hidden}.art-orange{background:#c96a46}.art-cream{background:#e7d7bd}.art-green{background:#a9af91}.art-gold{background:#d8ac55}.cup-icon,.line-cup,.food-icon{font-size:75px;filter:grayscale(.2);transition:.4s}.menu-card:hover .cup-icon,.menu-card:hover .line-cup,.menu-card:hover .food-icon{transform:rotate(-7deg) scale(1.08)}.seasonal{position:absolute;top:18px;right:18px;padding:6px 9px;background:var(--paper);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.card-info{padding:24px}.card-info h3{font:400 23px "DM Serif Display",serif;margin:0 0 7px}.card-info p{font-size:12px;color:#687169;line-height:1.5;min-height:38px;margin:0}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:22px;font-weight:700}.add-button{width:34px;height:34px;border-radius:50%;background:transparent;border:1px solid var(--ink);font-size:20px;cursor:pointer;color:var(--ink)}.add-button:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.story{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.story-art{height:550px;background:var(--sage);display:grid;place-items:center;position:relative}.story-frame{width:68%;height:75%;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;position:relative}.big-letter{font:italic 240px/.8 "DM Serif Display";color:#f2e8d8}.branch{position:absolute;font-size:160px;color:var(--orange);transform:rotate(-45deg)}.story-frame p{position:absolute;bottom:14px;text-transform:uppercase;font-size:10px;letter-spacing:.15em}.story-tag{position:absolute;right:-30px;bottom:35px;background:var(--orange);color:#fff;padding:20px;transform:rotate(-5deg);font:20px/1.2 "DM Serif Display"}.story-copy>p:not(.eyebrow){color:#c9cec8;line-height:1.8;font-size:15px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:45px;padding-top:30px;border-top:1px solid rgba(255,255,255,.2)}.stats div{display:flex;flex-direction:column}.stats strong{font:32px "DM Serif Display"}.stats span{font-size:10px;color:#aeb5ae;margin-top:4px}.quote-section{text-align:center;background:var(--paper)}.quote-mark{font:100px/.4 "DM Serif Display";color:var(--orange)}blockquote{max-width:900px;margin:35px auto 28px;font:400 clamp(32px,4vw,55px)/1.15 "DM Serif Display";letter-spacing:-.02em}.quote-section>p{text-transform:uppercase;letter-spacing:.14em;font-size:10px}.visit{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.visit-details{display:grid;grid-template-columns:1fr 1fr;margin:40px 0}.visit-details span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--orange);font-weight:700}.visit-details p{font-size:14px;line-height:1.7}.button.dark{background:var(--ink);color:#fff}.map-card{min-height:430px;background:#d7c7a8;position:relative;overflow:hidden}.map-card svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#fff5e7;stroke-width:22}.map-pin{position:absolute;left:52%;top:48%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center}.map-pin>span{width:62px;height:62px;border-radius:50% 50% 50% 0;background:var(--orange);color:#fff;display:grid;place-items:center;font:italic 32px "DM Serif Display";transform:rotate(-45deg);box-shadow:0 12px 25px #79694f66}.map-pin>span::first-letter{transform:rotate(45deg)}.map-pin small{margin-top:12px;background:var(--paper);padding:7px 11px;font-weight:700;white-space:nowrap}footer{padding:60px clamp(24px,7vw,110px) 25px;background:#ede2d0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--line)}footer>p{font:italic 20px "DM Serif Display"}.socials{justify-self:end;display:flex;gap:24px}footer small{grid-column:1/-1;text-align:center;margin-top:55px;padding-top:20px;border-top:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.13em}.order-drawer{position:fixed;z-index:50;right:0;top:0;height:100%;width:min(440px,100%);background:var(--paper);padding:35px;transform:translateX(105%);transition:.4s cubic-bezier(.7,0,.2,1);display:flex;flex-direction:column}.order-drawer.open{transform:none}.drawer-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:25px}.drawer-head h2{font-size:46px}.drawer-close{border:0;background:transparent;font-size:35px;cursor:pointer}.order-items{flex:1;overflow:auto;padding:25px 0}.empty-message{text-align:center;color:#778077;line-height:1.8;margin-top:60px}.empty-message a{color:var(--orange)}.order-item{display:grid;grid-template-columns:1fr auto;gap:5px;padding:16px 0;border-bottom:1px solid var(--line)}.order-item h4{margin:0;font:19px "DM Serif Display"}.order-item p{margin:4px 0 0;font-size:12px;color:#777}.remove-item{border:0;background:none;color:var(--orange);cursor:pointer}.order-footer{border-top:1px solid var(--line);padding-top:22px}.order-footer>div{display:flex;justify-content:space-between;font-size:18px;margin-bottom:20px}.checkout{width:100%}.scrim{position:fixed;z-index:40;inset:0;background:#162019aa;opacity:0;visibility:hidden;transition:.3s}.scrim.show{opacity:1;visibility:visible}.toast{position:fixed;z-index:60;left:50%;bottom:24px;transform:translate(-50%,100px);background:var(--ink);color:#fff;padding:13px 22px;font-size:12px;transition:.3s}.toast.show{transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto auto}.nav-links{position:absolute;top:86px;left:0;right:0;background:var(--cream);padding:30px;display:none;flex-direction:column;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;margin-right:15px}.menu-toggle span{width:22px;border-top:2px solid var(--ink)}.hero{grid-template-columns:1fr}.hero-copy{padding-top:70px}.hero-art{min-height:520px}.section-heading,.story,.visit{grid-template-columns:1fr}.menu-grid{grid-template-columns:1fr 1fr}.story-art{height:460px}.visit{gap:50px}.map-card{min-height:380px}footer{grid-template-columns:1fr;gap:25px;text-align:center}.footer-brand,.socials{justify-self:center}footer small{margin-top:20px}}
@media(max-width:560px){.announcement{font-size:8px}.site-header{height:72px;padding:0 18px}.nav-links{top:72px}.brand{font-size:18px}.brand-mark{width:30px;height:30px}.bag-button{font-size:0}.bag-count{font-size:12px;margin:0}.hero-copy{padding:65px 24px}.hero h1{font-size:54px}.hero-text{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-note{margin-top:40px}.hero-art{min-height:430px}.sun-disc{width:330px;height:330px}.section{padding:80px 24px}.section-heading{gap:20px}.section-heading h2,.story h2,.visit h2{font-size:45px}.filters{overflow-x:auto;margin-top:35px}.filter{white-space:nowrap}.menu-grid{grid-template-columns:1fr}.card-art{height:270px}.story{gap:60px}.story-art{height:400px}.story-tag{right:-5px}.stats{gap:8px}.stats strong{font-size:25px}.visit-details{gap:20px}.quote-section blockquote{font-size:34px}.order-drawer{padding:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
:root{--orange:#3d4736;--paper:#e8d9a9;--coffee:#50352d;--copper:#91623c;--parchment:#efe1a9}
.brand-banner{position:relative;background:var(--coffee);border-bottom:1px solid var(--copper);overflow:hidden}
.brand-banner::after{content:"";position:absolute;inset:10px;border:1px solid rgba(239,225,169,.16);pointer-events:none}
.brand-banner img{display:block;width:100%;height:auto;max-height:390px;object-fit:cover;object-position:center}
.brand{font-family:"DM Serif Display",serif;text-transform:uppercase;letter-spacing:.035em}.brand i{color:var(--copper);font-style:normal;font-size:.72em;letter-spacing:.09em}.brand-mark{background:var(--coffee);border-color:var(--coffee);color:var(--parchment)}
.hero-copy{background:linear-gradient(135deg,var(--cream),#eadcbf)}.hero h1,.section h2,.drawer-head h2{text-wrap:balance}.hero h1 em,.section h2 em{color:var(--orange)}
.hero-art{background-color:var(--coffee);background-image:radial-gradient(circle at 20% 15%,rgba(145,98,60,.22) 0 2px,transparent 3px),radial-gradient(circle at 80% 80%,rgba(145,98,60,.18) 0 2px,transparent 3px);background-size:34px 34px}.sun-disc{background:var(--parchment);opacity:.92}.stamp{color:var(--parchment);border-color:var(--parchment)}
.eyebrow{color:var(--copper)}.button.primary{background:var(--orange)}.marquee{background:var(--coffee);color:var(--parchment);border-color:var(--copper)}.marquee-track b{color:var(--copper)}
.menu-card{border:1px solid rgba(80,53,45,.16)}.story{background:var(--coffee)}.story-art{background:var(--orange)}.story-tag{background:var(--copper)}.quote-section{background:var(--paper)}.quote-mark{color:var(--copper)}
.map-card{background:var(--coffee)}.map-card svg{stroke:rgba(239,225,169,.28)}.map-pin>span{background:var(--orange)}
footer{background:var(--coffee);color:var(--parchment);border-color:var(--copper)}footer .brand,footer .socials a{color:var(--parchment)}footer small{border-color:rgba(239,225,169,.2)}
@media(max-width:560px){.brand-banner img{min-height:150px;object-fit:cover}.brand-banner::after{inset:6px}}
.hero{position:relative}.hero-copy,.hero-art{position:relative;z-index:2}.hero-cup{animation:cup-float 5s ease-in-out infinite}.steam-one{animation:steam-drift 3.2s ease-in-out infinite}.steam-two{animation:steam-drift 3.2s .9s ease-in-out infinite}.sun-disc{animation:sun-breathe 6s ease-in-out infinite}.bean-one{animation:bean-dance 4s ease-in-out infinite}.bean-two{animation:bean-dance 4.7s .5s ease-in-out infinite}.bean-three{animation:bean-dance 4.3s 1s ease-in-out infinite}
.orchid-line{position:absolute;z-index:1;width:42%;height:85%;fill:none;stroke:var(--copper);stroke-width:2;opacity:.55;stroke-linecap:round;stroke-linejoin:round}.orchid-line path,.orchid-line ellipse,.orchid-line circle{stroke-dasharray:900;stroke-dashoffset:900;animation:draw-orchid 4s .4s ease forwards}.orchid-left{left:-6%;bottom:-13%;transform:rotate(-12deg)}.orchid-right{right:-9%;top:-8%;transform:scaleX(-1) rotate(-16deg);opacity:.35}
.petal-field{position:absolute;z-index:4;inset:0;overflow:hidden;pointer-events:none}.petal-field i{position:absolute;top:-8%;width:13px;height:20px;background:var(--parchment);border-radius:80% 10% 80% 10%;opacity:.65;animation:petal-fall 11s linear infinite}.petal-field i:nth-child(1){left:8%;animation-delay:-3s}.petal-field i:nth-child(2){left:28%;animation-delay:-8s;animation-duration:14s}.petal-field i:nth-child(3){left:47%;animation-delay:-5s;transform:scale(.7)}.petal-field i:nth-child(4){left:67%;animation-delay:-10s;animation-duration:13s}.petal-field i:nth-child(5){left:82%;animation-delay:-2s;transform:scale(1.2)}.petal-field i:nth-child(6){left:94%;animation-delay:-7s;animation-duration:15s}
.ritual{background:var(--paper);display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw;overflow:hidden}.ritual-heading h2{font-size:clamp(50px,6vw,82px)}.ritual-path{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-top:70px}.path-line{position:absolute;left:0;right:0;top:29px;height:1px;background:rgba(80,53,45,.2)}.path-progress{display:block;width:0;height:100%;background:var(--orange);transition:width 1.8s cubic-bezier(.2,.8,.2,1)}.ritual-path.visible .path-progress{width:100%}.ritual-path article{position:relative;transition:transform .4s}.ritual-path article:hover{transform:translateY(-10px)}.ritual-path article::before{content:"";position:absolute;top:-46px;left:0;width:9px;height:9px;border:3px solid var(--paper);outline:1px solid var(--orange);background:var(--orange);border-radius:50%;transform:scale(0);transition:transform .4s}.ritual-path.visible article::before{transform:scale(1)}.ritual-path.visible article:nth-of-type(2)::before{transition-delay:.55s}.ritual-path.visible article:nth-of-type(3)::before{transition-delay:1.1s}.ritual-number{font-size:10px;letter-spacing:.2em;color:var(--copper)}.ritual-icon{font:64px/1 "DM Serif Display";color:var(--coffee);height:90px;display:flex;align-items:center;transform-origin:center}.ritual-path article:hover .ritual-icon{animation:icon-bloom .7s ease}.bloom-symbol{font-size:76px;color:var(--orange)}.drop-symbol{color:var(--copper)}.ritual-path h3{font:25px "DM Serif Display";margin:8px 0}.ritual-path p{font-size:13px;line-height:1.7;color:#665e50}
.menu-card{transform-style:preserve-3d}.card-art::after{content:"❀";position:absolute;left:18px;bottom:10px;color:rgba(255,255,255,.28);font:62px "DM Serif Display";transform:rotate(-20deg);transition:.5s}.menu-card:hover .card-art::after{transform:rotate(15deg) scale(1.25)}.story-frame .big-letter{animation:letter-pulse 5s ease-in-out infinite}.map-pin{animation:pin-hover 3s ease-in-out infinite}
@keyframes cup-float{50%{transform:translateY(-13px) rotate(1deg)}}@keyframes steam-drift{0%,100%{transform:translateY(7px);opacity:.25}50%{transform:translateY(-12px) translateX(7px);opacity:.85}}@keyframes sun-breathe{50%{transform:scale(1.055);filter:brightness(1.08)}}@keyframes bean-dance{50%{translate:0 -12px;rotate:18deg}}@keyframes draw-orchid{to{stroke-dashoffset:0}}@keyframes petal-fall{0%{translate:0 -30px;rotate:0deg}50%{translate:45px 55vh;rotate:180deg}100%{translate:-20px 110vh;rotate:390deg}}@keyframes icon-bloom{50%{transform:scale(1.22) rotate(8deg)}}@keyframes letter-pulse{50%{transform:scale(1.04);text-shadow:0 8px 30px rgba(80,53,45,.25)}}@keyframes pin-hover{50%{transform:translate(-50%,-56%)}}
@media(max-width:900px){.ritual{grid-template-columns:1fr}.ritual-path{margin-top:15px}.orchid-line{width:50%}}
@media(max-width:560px){.ritual-path{grid-template-columns:1fr;padding:20px 0 0 35px}.path-line{left:9px;top:20px;bottom:0;width:1px;height:auto}.path-progress{width:100%;height:0}.ritual-path.visible .path-progress{width:100%;height:100%}.ritual-path article::before{left:-30px;top:7px}.ritual-path article{margin-bottom:28px}.orchid-right{display:none}.orchid-left{width:68%;opacity:.3}.petal-field i:nth-child(even){display:none}}
@media(prefers-reduced-motion:reduce){.hero-cup,.steam,.sun-disc,.bean,.orchid-line *,.petal-field i,.story-frame .big-letter,.map-pin{animation:none!important}.orchid-line *{stroke-dashoffset:0}.path-progress{transition:none}.ritual-path.visible .path-progress{width:100%}}
.brand-logo{display:block;width:148px;height:62px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(80,53,45,.12));transition:transform .35s ease}.brand:hover .brand-logo{transform:scale(1.035)}.footer-brand .brand-logo{width:190px;height:90px;filter:none}
@media(max-width:560px){.brand-logo{width:118px;height:54px}.footer-brand .brand-logo{width:170px;height:80px}}
.site-header{background:#5f3a2f;border-bottom-color:rgba(239,225,169,.22)}.site-header .nav-links a,.site-header .bag-button{color:var(--parchment)}.site-header .nav-links a:hover{color:#fff}.site-header .bag-count{background:var(--parchment);color:#5f3a2f}.site-header .menu-toggle span{border-color:var(--parchment)}
@media(max-width:900px){.site-header .nav-links{background:#5f3a2f;border-bottom-color:rgba(239,225,169,.22)}}
.map-card{min-height:0;aspect-ratio:1;overflow:hidden;background:#394534}.illustrated-map{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.map-card:hover .illustrated-map{transform:scale(1.025)}.map-card>svg,.map-card>.map-pin{display:none}.map-hotspot{position:absolute;z-index:3;left:65.2%;top:64%;width:8%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;text-decoration:none;cursor:pointer}.map-pulse{width:52%;height:52%;border:2px solid #5f3a2f;border-radius:50%;background:rgba(239,225,169,.28);box-shadow:0 0 0 0 rgba(232,217,169,.72);animation:map-ripple 2s ease-out infinite}.map-tooltip{position:absolute;left:50%;bottom:105%;transform:translate(-50%,12px);background:#5f3a2f;color:var(--parchment);padding:10px 14px;border-radius:3px;font-size:11px;font-weight:700;white-space:nowrap;opacity:0;visibility:hidden;transition:.3s;box-shadow:0 8px 22px rgba(50,30,24,.25)}.map-tooltip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#5f3a2f}.map-hotspot:hover .map-tooltip,.map-hotspot:focus-visible .map-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}.map-hotspot:focus-visible{outline:3px solid var(--parchment);outline-offset:4px}@keyframes map-ripple{0%{box-shadow:0 0 0 0 rgba(232,217,169,.75)}75%,100%{box-shadow:0 0 0 22px rgba(232,217,169,0)}}
@media(max-width:560px){.map-tooltip{font-size:9px;padding:8px 10px}.map-hotspot{width:12%}}
@media(prefers-reduced-motion:reduce){.map-pulse{animation:none}.illustrated-map{transition:none}}
.site-header .bag-button{display:none}.card-bottom>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--copper)}

.contact{background:var(--paper);border-top:1px solid var(--line);overflow:hidden}
.contact-heading{width:60%;max-width:720px;margin:0 auto 54px}
.contact-heading h2{font-size:clamp(46px,5vw,72px)}
.contact-heading>p:last-child{max-width:580px;color:#637067;line-height:1.8;margin:24px 0 0}
.contact-carousel{width:60%;margin-inline:auto;display:flex;justify-content:center;gap:16px;overflow-x:auto;padding:8px 4px 18px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--copper) transparent}
.contact-option{position:relative;flex:0 0 150px;width:150px;min-height:150px;aspect-ratio:1;scroll-snap-align:center;overflow:hidden;border:1px solid rgba(95,58,47,.16);background:var(--cream);color:var(--ink);text-decoration:none;display:grid;place-items:center;isolation:isolate;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .3s}
.contact-option:before{content:"";position:absolute;inset:12px;border:1px solid rgba(189,90,53,.18);border-radius:50%;transform:scale(.8);transition:transform .45s,background .35s;z-index:-1}
.contact-emoji{line-height:1;filter:drop-shadow(0 8px 9px rgba(70,43,31,.15));transition:transform .45s,filter .35s}
.contact-emoji svg{display:block;width:56px;height:56px;fill:none;stroke:var(--copper);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.contact-option.whatsapp .contact-emoji svg path:nth-child(2){fill:var(--copper);stroke:none}
.contact-reveal{position:absolute;inset:auto 9px 9px;padding:9px 10px;background:rgba(38,53,43,.94);color:var(--paper);display:flex;flex-direction:column;transform:translateY(calc(100% + 12px));opacity:0;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .3s}
.contact-reveal small{text-transform:uppercase;letter-spacing:.16em;font-size:9px;color:var(--gold);font-weight:700}
.contact-reveal strong{font:400 17px "DM Serif Display",serif;margin:3px 0}
.contact-reveal>span{font-size:8px;opacity:.75;overflow-wrap:anywhere}
.contact-option:hover,.contact-option:focus-visible{transform:translateY(-7px);border-color:var(--copper);outline:none}
.contact-option:hover:before,.contact-option:focus-visible:before{transform:scale(1.12);background:rgba(216,168,65,.13)}
.contact-option:hover .contact-emoji,.contact-option:focus-visible .contact-emoji{transform:translateY(-25px) scale(.78);filter:drop-shadow(0 6px 7px rgba(70,43,31,.12))}
.contact-option:hover .contact-reveal,.contact-option:focus-visible .contact-reveal{transform:none;opacity:1}
@media(max-width:900px){.contact-heading,.contact-carousel{width:100%}.contact-carousel{justify-content:flex-start}.contact-option{flex-basis:150px}}
@media(hover:none){.contact-emoji{transform:translateY(-24px) scale(.8)}.contact-reveal{transform:none;opacity:1}}

.marquee{padding:24px 0}
.marquee-track{gap:0;font-size:19px;animation:marquee 48s linear infinite;will-change:transform}
.marquee-group{display:flex;align-items:center;gap:35px;flex-shrink:0;padding-right:35px}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:560px){.marquee{padding:20px 0}.marquee-track{font-size:15px;animation-duration:38s}.marquee-group{gap:25px;padding-right:25px}}
.menu-photo{background:var(--coffee)}.menu-photo>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s}.menu-card:hover .menu-photo>img{transform:scale(1.07);filter:saturate(1.06)}.menu-photo::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(40,25,18,.04) 50%,rgba(40,25,18,.28));pointer-events:none}.menu-photo .seasonal{z-index:3;background:rgba(232,217,169,.94);color:#5f3a2f}.heat-lines{position:absolute;z-index:4;left:46%;top:24%;width:58px;height:65px;pointer-events:none}.heat-lines.heat-center{left:50%;top:16%;transform:translateX(-50%)}.heat-lines i{position:absolute;bottom:0;width:2px;height:45px;border-radius:50%;background:linear-gradient(0deg,transparent,rgba(255,250,240,.9),transparent);filter:blur(.4px);animation:menu-steam 2.8s ease-in-out infinite}.heat-lines i:nth-child(1){left:8px;animation-delay:-.4s}.heat-lines i:nth-child(2){left:28px;height:58px;animation-delay:-1.2s}.heat-lines i:nth-child(3){left:47px;height:38px;animation-delay:-2s}@keyframes menu-steam{0%{opacity:0;transform:translateY(12px) translateX(0) scaleY(.75)}35%{opacity:.85}100%{opacity:0;transform:translateY(-22px) translateX(8px) scaleY(1.2)}}
@media(prefers-reduced-motion:reduce){.heat-lines i{animation:none;opacity:.55}}

/* Local immersive parallax prototype */
.site-header{position:sticky;top:0;z-index:35;box-shadow:0 8px 30px rgba(45,27,20,.08)}
.immersive-scene{position:relative;min-height:calc(100svh - 86px);scroll-margin-top:86px}
.immersive-scene::after{content:attr(data-scene);position:absolute;z-index:8;right:24px;bottom:18px;font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;opacity:.38;pointer-events:none}
.parallax-layer{translate:var(--pointer-x,0px) calc(var(--scroll-y,0px) + var(--pointer-y,0px));transition:translate .16s linear;will-change:translate}
.scene-nav{position:fixed;z-index:34;right:18px;top:50%;transform:translateY(-50%);width:118px;padding:18px 12px 14px;background:rgba(80,53,45,.9);color:var(--parchment);border:1px solid rgba(239,225,169,.23);backdrop-filter:blur(12px);box-shadow:0 15px 40px rgba(39,23,18,.2)}
.scene-nav a{position:relative;display:grid;grid-template-columns:23px 1fr;align-items:center;gap:7px;min-height:35px;color:inherit;text-decoration:none;opacity:.47;transition:opacity .3s,transform .3s}
.scene-nav a span{font-size:8px;letter-spacing:.12em}.scene-nav a strong{font:400 13px "DM Serif Display",serif}.scene-nav a::before{content:"";position:absolute;left:-13px;width:3px;height:0;background:var(--parchment);transition:height .3s}
.scene-nav a:hover,.scene-nav a:focus-visible,.scene-nav a.active{opacity:1;transform:translateX(-4px);outline:none}.scene-nav a.active::before{height:18px}
.scene-nav>p{margin:12px 0 0;padding-top:10px;border-top:1px solid rgba(239,225,169,.16);font-size:7px;letter-spacing:.11em;text-transform:uppercase;opacity:.55}
.scene-progress{position:absolute;left:-6px;top:0;width:2px;height:100%;background:rgba(239,225,169,.15);overflow:hidden}.scene-progress span{display:block;width:100%;height:var(--scene-progress,0%);background:var(--parchment);transition:height .35s ease}
.hero-copy,.hero-cup,.sun-disc,.stamp,.ritual-heading,.ritual-path,.story-art,.story-copy,.illustrated-map,.visit-copy,.contact-heading,.contact-carousel{will-change:translate}
@media(max-width:1100px){.scene-nav{right:8px;width:42px;padding:12px 8px}.scene-nav a{display:block;min-height:30px;text-align:center}.scene-nav a strong,.scene-nav>p{display:none}.scene-nav a::before{left:-9px}}
@media(max-width:700px){.scene-nav{top:auto;right:50%;bottom:12px;transform:translateX(50%);width:auto;display:flex;gap:4px;padding:8px 10px}.scene-nav a{width:30px;min-height:28px;display:grid;place-items:center}.scene-nav a::before,.scene-progress{display:none}.immersive-scene{min-height:auto;scroll-margin-top:72px}.immersive-scene::after{display:none}}
@media(prefers-reduced-motion:reduce){.parallax-layer{translate:none!important}.scene-nav a,.scene-progress span{transition:none}}

.sound-toggle{justify-self:end;display:flex;align-items:center;gap:9px;border:1px solid rgba(239,225,169,.32);background:rgba(239,225,169,.07);color:var(--parchment);padding:9px 12px;font:600 9px "DM Sans",sans-serif;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:background .25s,border-color .25s}
.sound-toggle:hover,.sound-toggle:focus-visible{background:rgba(239,225,169,.16);border-color:rgba(239,225,169,.65);outline:none}
.sound-bars{height:14px;display:flex;align-items:center;gap:2px}.sound-bars i{display:block;width:2px;height:5px;background:currentColor;animation:sound-wave .75s ease-in-out infinite}.sound-bars i:nth-child(2){height:11px;animation-delay:-.25s}.sound-bars i:nth-child(3){height:8px;animation-delay:-.5s}
.sound-toggle.is-muted .sound-bars i,.sound-toggle.is-waiting .sound-bars i{animation:none;height:2px}.sound-toggle.is-waiting{opacity:.72}
@keyframes sound-wave{50%{transform:scaleY(.35)}}
@media(max-width:900px){.sound-toggle{padding:8px 9px}.sound-label{display:none}}
@media(prefers-reduced-motion:reduce){.sound-bars i{animation:none}}

/* Balanced desktop scenes: consistent centering and fully visible imagery. */
@media(min-width:901px){
  html{scroll-padding-top:86px}
  .immersive-scene.section{padding-block:clamp(42px,6vh,72px);padding-inline:max(7vw,120px);align-items:center}
  .hero{height:calc(100svh - 86px);min-height:620px;align-items:stretch}
  .hero-copy{padding:clamp(48px,7vh,82px) clamp(60px,7vw,110px)}
  .hero-art{height:100%;min-height:0}
  .hero-cup{width:min(72%,470px);max-height:68vh}
  .sun-disc{width:min(31vw,400px);height:min(31vw,400px)}
  .hero-note{margin-top:clamp(28px,5vh,52px)}
  .ritual{align-content:center}
  .ritual-heading,.ritual-path{align-self:center}
  .menu-section{display:flex;flex-direction:column;justify-content:center}
  .menu-section .section-heading{width:100%;gap:clamp(44px,6vw,80px)}
  .menu-section .section-heading h2{font-size:clamp(42px,4.2vw,64px)}
  .filters{margin:clamp(24px,3.5vh,38px) 0 20px}
  .menu-grid{width:100%}
  .card-art{height:clamp(165px,23vh,225px)}
  .card-info{padding:18px}.card-info h3{font-size:21px}.card-bottom{margin-top:14px}
  .menu-photo>img{object-fit:contain;background:var(--coffee)}
  .story{align-content:center;gap:clamp(60px,8vw,120px)}
  .story-art{height:min(62vh,510px);min-height:390px;max-width:560px;width:100%;justify-self:center}
  .story-copy{max-width:650px;justify-self:center}
  .story-copy>p:not(.eyebrow){font-size:14px;line-height:1.65}
  .story-copy h2{font-size:clamp(42px,4.2vw,64px)}
  .stats{margin-top:26px;padding-top:22px}
  .visit{align-content:center;gap:clamp(60px,8vw,120px)}
  .visit-copy{max-width:560px;justify-self:end}
  .visit-details{margin:30px 0}
  .map-card{width:min(100%,calc(100svh - 210px));height:min(100%,calc(100svh - 210px));max-width:580px;max-height:580px;justify-self:start;aspect-ratio:1}
  .illustrated-map{object-fit:contain;background:#394534}
  .contact{display:flex;flex-direction:column;justify-content:center}
  .contact-heading{margin-bottom:clamp(32px,5vh,50px)}
  .contact-heading h2{font-size:clamp(42px,4.2vw,64px)}
}

@media(min-width:901px) and (max-height:740px){
  .immersive-scene.section{padding-block:34px}
  .hero{min-height:560px}.hero h1{font-size:clamp(48px,5.2vw,72px)}.hero-text{margin:20px 0;font-size:16px}.hero-note{margin-top:24px}
  .ritual-path{padding-top:52px}.ritual-icon{height:72px;font-size:54px}.ritual-path p{line-height:1.5}
  .menu-section .section-heading>p{line-height:1.5}.filters{margin:18px 0 14px}.card-art{height:150px}.card-info{padding:14px}.card-info p{min-height:34px}.card-bottom{margin-top:9px}
  .story-art{height:500px;min-height:0}.story-copy>p:not(.eyebrow){line-height:1.45}.stats{margin-top:15px;padding-top:14px}
  .visit-details{margin:20px 0}.map-card{width:min(100%,500px);height:min(100%,500px)}
}

.story-badge{display:block;width:84%;height:88%;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(35,24,18,.18));transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s}
.story-art:hover .story-badge{transform:scale(1.035);filter:drop-shadow(0 22px 28px rgba(35,24,18,.24))}
@media(max-width:560px){.story-badge{width:82%;height:86%}}

.ritual>.craft-marquee{grid-column:1/-1;width:100vw;margin-left:calc(50% - 50vw);margin-bottom:calc(clamp(42px,6vh,72px) * -1);align-self:end}
@media(min-width:901px){.ritual{grid-template-rows:1fr auto}.ritual>.craft-marquee{margin-top:24px}}
@media(min-width:901px) and (max-height:740px){.ritual>.craft-marquee{margin-bottom:-34px;padding-block:15px}.ritual>.craft-marquee .marquee-track{font-size:15px}}
@media(max-width:900px){.ritual>.craft-marquee{margin-bottom:-80px;margin-top:30px}}

/* Local experience preview: brewing gate, language control, live status, scene feedback. */
body.entry-locked{overflow:hidden}
.entry-screen{position:fixed;z-index:100;inset:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:clamp(24px,4vw,72px);padding:clamp(38px,5vw,84px);background:var(--coffee);color:var(--parchment);overflow:hidden;transition:opacity .8s,visibility .8s,transform .9s cubic-bezier(.7,0,.2,1)}
.entry-screen.is-leaving{opacity:0;visibility:hidden;transform:translateY(-4%)}
.entry-screen[hidden]{display:none}
.entry-screen::before{content:"";position:absolute;inset:18px;border:1px solid rgba(239,225,169,.18);pointer-events:none}
.entry-grain{position:absolute;inset:0;opacity:.23;background-image:radial-gradient(circle at 20% 20%,var(--copper) 0 1px,transparent 1.5px),radial-gradient(circle at 75% 70%,var(--parchment) 0 1px,transparent 1.5px);background-size:34px 34px,51px 51px}
.brew-scene{position:relative;z-index:1;width:min(38vw,480px);aspect-ratio:1;display:grid;place-items:center;justify-self:center}
.brew-ring{position:absolute;width:88%;height:88%;border:1px solid rgba(239,225,169,.22);border-radius:50%;animation:brew-ring 4s ease-in-out infinite}
.brew-cup{position:absolute;bottom:15%;width:54%;height:28%;border:8px solid var(--parchment);border-top:0;border-radius:0 0 50% 50%;filter:drop-shadow(0 25px 18px rgba(20,12,9,.2))}
.brew-cup::before{content:"";position:absolute;left:-5%;right:-5%;top:-12px;height:24px;border:7px solid var(--parchment);border-radius:50%;background:var(--coffee)}
.brew-cup::after{content:"";position:absolute;right:-27%;top:16%;width:29%;height:48%;border:7px solid var(--parchment);border-left:0;border-radius:0 50% 50% 0}
.brew-cup span{position:absolute;left:4%;right:4%;top:-5px;height:12px;border-radius:50%;background:var(--copper);animation:coffee-ripple 2.4s ease-in-out infinite}
.brew-drop{position:absolute;z-index:2;top:17%;width:8px;height:18px;border-radius:60% 40% 60% 40%;background:var(--parchment);animation:brew-drop 1.8s ease-in infinite}.drop-two{animation-delay:.6s}.drop-three{animation-delay:1.2s}
.brew-steam{position:absolute;bottom:46%;display:flex;gap:24px}.brew-steam i{display:block;width:2px;height:65px;background:linear-gradient(transparent,var(--parchment),transparent);opacity:.65;animation:entry-steam 2.8s ease-in-out infinite}.brew-steam i:nth-child(2){animation-delay:-.8s}.brew-steam i:nth-child(3){animation-delay:-1.6s}
.entry-copy{position:relative;z-index:2;width:100%;max-width:620px;min-width:0}.entry-copy h1{font:400 clamp(48px,5.2vw,82px)/.94 "DM Serif Display",serif;letter-spacing:-.035em;margin:0}.entry-copy h1 em{color:#d9a76c;font-weight:400}.entry-copy>p:not(.eyebrow){max-width:480px;line-height:1.8;color:rgba(239,225,169,.72);margin:clamp(18px,2.2vw,28px) 0}
.entry-actions{display:flex;flex-wrap:wrap;gap:12px}.entry-button{border:1px solid rgba(239,225,169,.35);background:transparent;color:var(--parchment);padding:15px 18px;font:600 11px "DM Sans",sans-serif;letter-spacing:.05em;cursor:pointer;transition:.3s}.entry-button span{margin-left:24px}.entry-button:hover,.entry-button:focus-visible{background:var(--parchment);color:var(--coffee);outline:none;transform:translateY(-3px)}
@keyframes brew-drop{0%{translate:0 -22px;opacity:0}20%{opacity:1}90%{opacity:1}100%{translate:0 150px;opacity:0}}@keyframes entry-steam{50%{translate:8px -18px;opacity:.2;scale:1.2}}@keyframes brew-ring{50%{scale:1.05;opacity:.45}}@keyframes coffee-ripple{50%{scale:.94 1.2;opacity:.7}}
.site-header{grid-template-columns:1fr auto auto auto;column-gap:14px}.language-toggle{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--parchment);font:700 9px "DM Sans",sans-serif;letter-spacing:.1em;cursor:pointer}.language-toggle span{opacity:.45}.language-toggle span.active{opacity:1}.language-toggle i{height:12px;border-left:1px solid rgba(239,225,169,.35)}
.open-status{display:inline-flex;align-items:center;gap:9px;margin-top:20px;width:max-content;padding:8px 12px;border:1px solid rgba(38,53,43,.16);font-size:10px;font-weight:700;letter-spacing:.04em}.open-status i{width:8px;height:8px;border-radius:50%;background:#9b352d;box-shadow:0 0 0 4px rgba(155,53,45,.12)}.open-status.is-open i{background:#4f7b53;box-shadow:0 0 0 4px rgba(79,123,83,.13)}
.scene-announcer{position:fixed;z-index:70;left:50%;top:50%;translate:-50% -50%;min-width:220px;padding:24px 30px;background:rgba(80,53,45,.94);color:var(--parchment);border:1px solid rgba(239,225,169,.28);display:flex;align-items:baseline;gap:18px;opacity:0;visibility:hidden;scale:.92;transition:.3s;pointer-events:none;backdrop-filter:blur(12px)}.scene-announcer.show{opacity:1;visibility:visible;scale:1}.scene-announcer span{font-size:10px;letter-spacing:.16em;color:var(--gold)}.scene-announcer strong{font:400 34px "DM Serif Display",serif}
.immersive-scene.scene-arriving>*:not(.craft-marquee){animation:scene-arrive .85s cubic-bezier(.2,.8,.2,1) both}.immersive-scene.scene-arriving>*:nth-child(2){animation-delay:.09s}.immersive-scene.scene-arriving>*:nth-child(3){animation-delay:.16s}@keyframes scene-arrive{from{opacity:.15;translate:0 34px;filter:blur(3px)}to{opacity:1;translate:0 0;filter:none}}
.announcement b{color:var(--gold);font-weight:400}.announcement>span{color:#fff}
@media(max-width:1050px){.site-header{grid-template-columns:1fr auto auto auto}.language-toggle{padding:8px 2px}.entry-screen{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:center;gap:clamp(4px,2vh,18px);text-align:center;padding:clamp(34px,5vh,52px) 24px}.brew-scene{width:min(70vw,330px)}.entry-copy{justify-self:center}.entry-copy>p:not(.eyebrow){margin-inline:auto}.entry-actions{justify-content:center}}
@media(max-width:560px){.entry-screen{padding:28px 20px}.entry-screen::before{inset:8px}.brew-scene{width:230px}.entry-copy h1{font-size:43px}.entry-copy>p:not(.eyebrow){font-size:13px;margin:18px auto}.entry-actions{flex-direction:column}.language-toggle{font-size:8px}.sound-toggle{border:0;padding-inline:4px}}
@media(prefers-reduced-motion:reduce){.brew-drop,.brew-steam i,.brew-ring,.brew-cup span{animation:none}.immersive-scene.scene-arriving>*{animation:none}.entry-screen{transition:none}}

/* Sequential V60 entry ritual. */
.v60-stage{position:relative;z-index:2;width:min(100%,720px,78vh);justify-self:center}.v60-apparatus{display:block;width:100%;height:auto;overflow:visible}.v60-apparatus g,.v60-apparatus path,.v60-apparatus ellipse,.v60-apparatus circle{vector-effect:non-scaling-stroke}.server-piece,.dripper-piece,.kettle-piece{fill:none;stroke:var(--parchment);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.server-coffee,.coffee-bed{fill:var(--copper);stroke:var(--parchment)}.server-coffee{transform-box:fill-box;transform-origin:center bottom;transform:scaleY(.14);opacity:.45}.server-mark,.coffee-grain,.dripper-ribs,.glass-highlight,.filter-fold,.kettle-highlight{stroke:rgba(239,225,169,.48);stroke-width:2.5}.glass-highlight,.kettle-highlight{opacity:.7}.filter-paper{fill:rgba(239,225,169,.16);stroke-width:3}.dripper-shell{fill:rgba(145,98,60,.14)}.kettle-body{fill:rgba(239,225,169,.09)}
.object-shadows{fill:rgba(24,14,11,.22);stroke:none}.object-shadows ellipse{transform-origin:center;transition:opacity .4s,scale .5s}
.dripper-piece{transform-box:view-box;transform-origin:center}.kettle-piece{transform-box:view-box;transform-origin:78% 60%;transform:translate(7%,0)}
.water-stream{fill:none;stroke:#d8e6df;stroke-width:6;stroke-linecap:round;stroke-dasharray:85;stroke-dashoffset:85;opacity:0}.water-drop{fill:#d8e6df;stroke:none;opacity:0}.coffee-drip-stream{fill:none;stroke:#c58a55;stroke-width:5;stroke-linecap:round;stroke-dasharray:72;stroke-dashoffset:72;opacity:0}.bloom-ring{fill:none;stroke:#e9c18d;stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center}.brew-steam-svg{fill:none;stroke:var(--parchment);stroke-width:3;stroke-linecap:round;opacity:0}.brew-steam-svg path{stroke-dasharray:90;stroke-dashoffset:90}
.entry-language-toggle{position:absolute;z-index:4;top:42px;right:52px;padding:10px;color:var(--parchment)}
.apparatus-labels{position:absolute;inset:0;color:rgba(239,225,169,.62);font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;pointer-events:none;transition:opacity .4s}.apparatus-labels span{position:absolute;translate:-50% 0;text-align:center}.apparatus-labels span:nth-child(1){left:18.4%;top:79%}.apparatus-labels span:nth-child(2){left:41.3%;top:98%}.apparatus-labels span:nth-child(3){left:77.6%;top:88%}
.brew-enter{position:relative;width:126px;height:126px;border-radius:50%;border:1px solid rgba(239,225,169,.55);background:transparent;color:var(--parchment);display:grid;place-content:center;gap:2px;font-family:"DM Sans",sans-serif;cursor:pointer;transition:background .35s,color .35s,scale .35s;margin-top:24px}.brew-enter::before{content:"";position:absolute;inset:8px;border:1px solid rgba(239,225,169,.2);border-radius:50%;transition:inset .35s,border-color .35s}.brew-enter::after{content:"";position:absolute;inset:-6px;border:2px solid transparent;border-top-color:var(--gold);border-right-color:rgba(217,167,108,.25);border-radius:50%;opacity:0}.brew-enter span{font:400 22px "DM Serif Display",serif;letter-spacing:.08em}.brew-enter small{font-size:8px;letter-spacing:.16em;text-transform:uppercase;opacity:.62}.brew-enter i{position:absolute;right:-17px;top:50%;translate:0 -50%;font-style:normal;transition:translate .3s}.brew-enter:hover,.brew-enter:focus-visible{background:var(--parchment);color:var(--coffee);scale:1.04;outline:none}.brew-enter:hover::before{inset:4px;border-color:rgba(80,53,45,.25)}.brew-enter:hover i{translate:7px -50%}.brew-enter:disabled{cursor:wait;opacity:1}
.entry-screen.is-brewing .apparatus-labels{opacity:0}.entry-screen.is-brewing .dripper-shadow{animation:hide-dripper-shadow 1.15s .15s ease forwards}.entry-screen.is-brewing .kettle-shadow{animation:kettle-shadow-cycle 3.85s 1.15s ease-in-out forwards}.entry-screen.is-brewing .dripper-piece{animation:stack-dripper 1.25s .15s cubic-bezier(.22,.8,.22,1) forwards}.entry-screen.is-brewing .kettle-piece{animation:kettle-pour-cycle 3.85s 1.15s cubic-bezier(.4,0,.15,1) forwards}.entry-screen.is-brewing .water-stream{animation:pour-water 2.05s 2.05s ease-in-out forwards}.entry-screen.is-brewing .water-one{animation:fall-water .68s 2.15s linear 3}.entry-screen.is-brewing .water-two{animation:fall-water .68s 2.45s linear 3}.entry-screen.is-brewing .bloom-ring{animation:bloom-ring 1.55s 2.25s ease-out forwards}.entry-screen.is-brewing .coffee-bed{animation:bloom-coffee 1.55s 2.2s ease-in-out forwards}.entry-screen.is-brewing .coffee-drip-stream{animation:coffee-drip 1.85s 2.7s ease-in-out forwards}.entry-screen.is-brewing .server-coffee{animation:fill-server 2.05s 2.75s cubic-bezier(.22,.75,.25,1) forwards}.entry-screen.is-brewing .brew-steam-svg{animation:show-steam 1.55s 3.55s ease forwards}.entry-screen.is-brewing .brew-steam-svg path{animation:draw-entry-steam 1.35s 3.55s ease forwards}.entry-screen.is-brewing .brew-enter{pointer-events:none}.entry-screen.is-brewing .brew-enter::after{opacity:1;animation:brew-progress 1.05s linear infinite}.entry-screen.is-ready .brew-enter{background:var(--parchment);color:var(--coffee);scale:1.04}.entry-screen.is-ready .brew-enter::before{inset:4px;border-color:rgba(80,53,45,.24)}.entry-screen.is-ready .brew-enter::after{opacity:0;animation:none}.entry-screen.is-ready .brew-enter i{translate:7px -50%}
@keyframes stack-dripper{0%{transform:translate(0)}58%{transform:translate(23%,-7.5%) rotate(-2deg)}78%{transform:translate(23%,-3.6%) rotate(.8deg)}100%{transform:translate(23%,-4.8%) rotate(0)}}@keyframes hide-dripper-shadow{to{opacity:0;scale:.45}}@keyframes kettle-pour-cycle{0%{transform:translate(7%,0)}27%{transform:translate(-6.5%,-40%) rotate(-20deg)}74%{transform:translate(-6.5%,-40%) rotate(-20deg)}100%{transform:translate(7%,0) rotate(0)}}@keyframes kettle-shadow-cycle{0%{opacity:1;scale:1}27%,74%{opacity:.08;scale:.72}100%{opacity:1;scale:1}}@keyframes pour-water{0%{opacity:0;stroke-dashoffset:85}15%,80%{opacity:1}42%,70%{stroke-dashoffset:0}100%{opacity:0;stroke-dashoffset:-85}}@keyframes fall-water{0%{opacity:0;translate:0 -14px}18%{opacity:1}100%{opacity:0;translate:0 22px}}@keyframes bloom-ring{0%{opacity:0;scale:.35}28%{opacity:.8}100%{opacity:0;scale:4 2.5}}@keyframes coffee-drip{0%{opacity:0;stroke-dashoffset:72}20%,76%{opacity:.9}48%{stroke-dashoffset:0}100%{opacity:0;stroke-dashoffset:-72}}@keyframes fill-server{0%{transform:scaleY(.14);opacity:.45}18%{opacity:.82}100%{transform:scaleY(1);opacity:1}}@keyframes show-steam{to{opacity:.62}}@keyframes draw-entry-steam{to{stroke-dashoffset:0}}@keyframes bloom-coffee{45%{scale:1.1 1.32;fill:#b17b50}100%{scale:1.02 1.1;fill:#a7754e}}@keyframes brew-progress{to{rotate:1turn}}
@media(max-width:1050px){.v60-stage{width:min(88vw,600px,66vh)}.entry-copy{margin-top:0}.brew-enter{margin-inline:auto}}
@media(max-width:560px){.v60-stage{width:min(96vw,52vh);margin:0}.apparatus-labels{font-size:6px;letter-spacing:.08em}.entry-language-toggle{top:22px;right:22px}.entry-copy{margin-top:0}.entry-copy h1{font-size:clamp(34px,9.7vw,42px)}.entry-copy>p:not(.eyebrow){margin-block:14px;font-size:12px}.brew-enter{width:100px;height:100px;margin-top:10px}.brew-enter span{font-size:18px}}
@media(max-height:700px) and (min-width:1051px){.entry-screen{padding-block:32px}.v60-stage{width:min(100%,610px,72vh)}.entry-copy h1{font-size:clamp(44px,5vw,68px)}.brew-enter{width:104px;height:104px;margin-top:14px}}
@media(prefers-reduced-motion:reduce){.entry-screen.is-brewing .dripper-piece{transform:translate(23%,-4.8%);animation:none}.entry-screen.is-brewing .kettle-piece{transform:translate(7%,0);animation:none}.entry-screen.is-brewing .server-coffee{transform:scaleY(1);opacity:1;animation:none}.entry-screen.is-brewing .water-stream,.entry-screen.is-brewing .water-drop,.entry-screen.is-brewing .coffee-drip-stream,.entry-screen.is-brewing .bloom-ring{opacity:0;animation:none}.entry-screen.is-brewing .brew-enter::after{animation:none}.entry-screen.is-brewing .brew-steam-svg{opacity:.5;animation:none}.entry-screen.is-brewing .brew-steam-svg path{stroke-dashoffset:0;animation:none}}
