.hero{height:100svh}.stage{justify-content:center;align-items:center;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.scene{background:linear-gradient(#0a1220 0%,#152232 38%,#1c2c3c 62%,#101a24 100%);position:absolute;inset:0}.scene svg{width:100%;height:100%;position:absolute;inset:0}.poster{opacity:0;transition:opacity 1.1s var(--ease-soft);background-position:50%;background-size:cover;position:absolute;inset:0}.stage.poster-ready .poster{opacity:1}.stage.photo-only .poster{transform-origin:50%;animation:22s ease-in-out infinite alternate heroPan}@keyframes heroPan{0%{transform:scale(1.06)translate(0)}to{transform:scale(1.14)translate(-2%,2%)}}.hero video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1s var(--ease-soft);will-change:transform;position:absolute;inset:0;transform:translateZ(0)}.stage.video-ready video{opacity:1}.scrim{pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,#0a0a1200 35%,#0a0a1299 100%);position:absolute;inset:0}.snowfield{pointer-events:none;position:absolute;inset:0}.flake{background:#f6efe0d9;border-radius:50%;animation:linear infinite fall;position:absolute;top:-5%}@keyframes fall{to{transform:translateY(115vh)}}.window-glow{filter:drop-shadow(0 0 10px #f4c45ad9)drop-shadow(0 0 22px #c9971f80);animation:4.5s ease-in-out -1.2s infinite flicker}@keyframes flicker{0%,to{opacity:.88}45%{opacity:1}60%{opacity:.72}}.smoke{transform-origin:bottom;animation:9s ease-in-out -3s infinite drift;position:absolute}@keyframes drift{0%{opacity:.55;transform:translateY(0)translate(0)scale(1)}to{opacity:0;transform:translateY(-70px)translate(18px)scale(1.6)}}.scroll-cue{color:var(--text-secondary);opacity:.75;animation:2.6s ease-in-out infinite bob;position:absolute;bottom:2.2rem;left:50%;transform:translate(-50%)}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}.band{text-align:center;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:0 1.5rem;display:flex;position:absolute;inset:0}.band.active{pointer-events:auto}.band:before{content:"";pointer-events:none;opacity:calc(.25 + .75*var(--k,1));background:radial-gradient(74% 60%,#05050aa8 0%,#05050a6b 46%,#05050a00 76%);position:absolute;inset:-4%}.band h1,.band p{text-shadow:var(--tshadow);position:relative}.band .w{padding:0 .05em;display:inline-block;overflow:hidden}.band .w .c{display:inline-block}.band-settle{gap:1.1rem}.band-settle .eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.8rem}.band-settle h1{color:var(--text-primary);font-size:clamp(2.6rem,7vw,5.2rem);line-height:0}.band-settle .hero-logo{filter:drop-shadow(0 2px 14px #0000008c)drop-shadow(0 1px 2px #0009);width:clamp(230px,34vw,480px);height:auto;padding:0;display:block}.band-settle .sub{color:var(--text-secondary);max-width:34ch;margin-top:.2rem;font-size:clamp(1rem,2vw,1.25rem)}.band-settle .cta-row{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.4rem;display:flex}.band-settle .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*14px))}.band-settle .sub{opacity:var(--ks,0);transform:translateY(calc((1 - var(--ks,0))*10px));transition:opacity 50ms linear}.band-settle .cta-row{opacity:var(--kb,0);transform:translateY(calc((1 - var(--kb,0))*10px));transition:opacity 50ms linear}.intro{text-align:center;position:relative}.intro-glow{background:radial-gradient(circle,var(--accent-muted) 0%,#e0a04000 70%);pointer-events:none;width:520px;height:520px;animation:7s ease-in-out -2s infinite pulse;position:absolute;top:0;left:50%;transform:translate(-50%,-40%)}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.intro h2{max-width:20ch;margin:0 auto;font-size:clamp(1.9rem,4vw,2.8rem)}.intro p{max-width:56ch;color:var(--text-secondary);margin:1.3rem auto 0;font-size:1.05rem}.intro-video{aspect-ratio:3/4;background:var(--panel-2);border:1px solid var(--line);border-radius:20px;width:min(460px,100%);margin:2.8rem auto 0;overflow:hidden}.intro-video video{object-fit:cover;width:100%;height:100%;display:block}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem;margin-top:3rem;display:grid}.dish{background:var(--panel);border:1px solid var(--line);transition:transform .35s var(--ease-soft),border-color .35s var(--ease-soft);border-radius:16px;overflow:hidden}.dish:hover{border-color:var(--accent);transform:translateY(-4px)}.dish-image{aspect-ratio:4/3;background:linear-gradient(135deg,var(--panel-2),var(--canvas-2));position:relative;overflow:hidden}.dish-image:after{content:"";background:radial-gradient(circle at 30% 20%,var(--accent-muted),transparent 60%);pointer-events:none;position:absolute;inset:0}.dish-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-soft)}.dish:hover .dish-image img{transform:scale(1.05)}.menu-more{text-align:center;margin-top:2.6rem}.dish-body{padding:1.3rem 1.4rem 1.6rem}.dish-body h3{margin-bottom:.4rem;font-size:1.2rem}.dish-body p{color:var(--text-secondary);font-size:.95rem}.news[hidden]{display:none}.news-grid{grid-template-columns:repeat(auto-fit,minmax(260px,520px));justify-content:center;gap:1.5rem;margin-top:2.6rem;display:grid}.news-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.news-card img{object-fit:contain;width:100%;height:auto;max-height:80vh;display:block}.news-body{padding:1.5rem}.news-body time{font-family:var(--font-mono);color:var(--accent);font-size:.8rem}.news-body h3{font-family:var(--font-display);margin:.4rem 0 .6rem;font-size:1.4rem}.news-body p{color:var(--text-secondary);white-space:pre-line;margin:0}.ambience-text{text-align:center}.ambience-text h2{max-width:20ch;margin:0 auto;font-size:clamp(1.9rem,3.6vw,2.6rem)}.ambience-text p{color:var(--text-secondary);max-width:52ch;margin:1.1rem auto 0;font-size:1.05rem}.ambience-photos{grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.8rem;display:grid}@media (width<=820px){.ambience-photos{grid-template-columns:1fr}}.ambience-image{aspect-ratio:4/3;background:var(--panel-2);border-radius:20px;margin:0;position:relative;overflow:hidden}.ambience-image img{object-fit:cover;width:100%;height:100%;display:block}.proof{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.6rem;display:grid}@media (width<=760px){.proof-grid{grid-template-columns:1fr}}.proof-card{background:var(--canvas);border:1px solid var(--line);border-radius:16px;padding:1.8rem}.proof-card p{font-family:var(--font-display);font-size:1.15rem;font-style:italic;line-height:1.4}.proof-note{color:var(--text-secondary);font-family:var(--font-mono);text-align:center;margin-top:2.2rem;font-size:.82rem}.info{grid-template-columns:1.1fr 1fr;align-items:start;gap:4rem;display:grid}.info-lead h2{margin-top:.2rem;font-size:clamp(2.8rem,6.2vw,4.8rem);line-height:1}.info-lead p{color:var(--text-secondary);max-width:44ch;margin:1.6rem 0 0}.info-grid{grid-template-columns:1fr 1fr;gap:2.4rem 2rem;display:grid}.info-block{border-top:1px solid var(--line);padding-top:1.1rem}.info-block h3{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary);font-size:.74rem;font-weight:600}.info-block p,.info-block dl{color:var(--text-secondary);margin:.9rem 0 0;font-size:.98rem;line-height:1.7}.info-block a{color:var(--accent);font-weight:600;text-decoration:none}.info-block a:hover{color:var(--accent-hover);text-decoration:underline}.info-block dl{grid-template-columns:auto 1fr;gap:.2rem 1.2rem;display:grid}.info-block dt{color:var(--text-secondary)}.info-block dd{color:var(--text-primary);margin:0}.info-block .closed{color:var(--accent)}@media (width<=900px){.info{grid-template-columns:1fr;gap:3rem}}@media (width<=520px){.info-grid{grid-template-columns:1fr}}.map-final{text-align:center;position:relative}.map-final .wrap{padding-bottom:0}.map-final h2{max-width:18ch;margin:.5rem auto 0;font-size:clamp(2.1rem,4.4vw,3.2rem)}.map-embed{aspect-ratio:21/9;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%;margin-top:2.6rem}@media (width<=640px){.map-embed{aspect-ratio:4/5}}
