:root{--ink:#140b09;--char:#1f1210;--wine:#7a1f1f;--wine2:#9b2a22;--cream:#f3e6cc;--gold:#d9a63a;--ember:#ff7a2b;--muted:#c9b79a;
--fd:"Young Serif",Georgia,serif;--fb:"Figtree",system-ui,sans-serif;--r:18px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--cream);font:400 1.0625rem/1.65 var(--fb);overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--ink);padding:8px 14px;z-index:99;border-radius:8px}.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.eyebrow{font:600 .78rem/1 var(--fb);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1rem}
h1,h2,h3{font-family:var(--fd);font-weight:400;line-height:1.05;letter-spacing:-.01em}
h2{font-size:clamp(2rem,4.6vw,3.6rem);margin-bottom:1.25rem;text-wrap:balance}
.btn{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.85rem 1.5rem;border-radius:999px;background:var(--wine2);color:var(--cream);font-weight:700;text-decoration:none;border:1px solid transparent;transition:transform .25s,background .25s,box-shadow .25s}
.btn:hover{background:#b8342a;transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(255,122,43,.55)}
.btn-ghost{background:transparent;border-color:rgba(243,230,204,.45)}.btn-ghost:hover{background:rgba(243,230,204,.1)}
.btn-sm{min-height:40px;padding:.55rem 1.1rem;font-size:.92rem}
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem clamp(1rem,4vw,2.5rem);transition:background .35s,backdrop-filter .35s}
.nav.solid{background:rgba(20,11,9,.82);backdrop-filter:blur(12px);border-bottom:1px solid rgba(217,166,58,.15)}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font:1.2rem var(--fd)}.brand em{font-style:normal;color:var(--gold)}
.nav nav{display:flex;gap:1.8rem}.nav nav a{text-decoration:none;font-weight:600;opacity:.85}.nav nav a:hover{opacity:1;color:var(--gold)}
@media(max-width:760px){.nav nav{display:none}.brand span{font-size:1.05rem}}
.hero{position:relative;height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:flex-end;isolation:isolate}
.hero-media{position:absolute;inset:-8% 0 -8%;z-index:-3;will-change:transform}
.hero-media video{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,11,9,.92) 0%,rgba(20,11,9,.55) 42%,rgba(20,11,9,0) 70%),linear-gradient(0deg,var(--ink) 0%,rgba(20,11,9,0) 35%)}
.hero-embers{position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:radial-gradient(2px 2px at 12% 70%,#ffb15c,transparent),radial-gradient(1.5px 1.5px at 28% 40%,#ff8a3d,transparent),radial-gradient(2px 2px at 44% 82%,#ffc276,transparent),radial-gradient(1.5px 1.5px at 8% 30%,#ff9a4a,transparent),radial-gradient(2.5px 2.5px at 36% 60%,#ff7a2b,transparent);opacity:.7;will-change:transform}
.hero-copy{padding:0 clamp(1.25rem,6vw,5rem) clamp(4.5rem,12vh,8rem);max-width:760px;will-change:transform}
.hero h1{font-size:clamp(2.9rem,8vw,6.4rem);margin-bottom:1.25rem}.hero h1 span{color:var(--gold)}
.lede{font-size:clamp(1.05rem,1.6vw,1.25rem);color:#ead9bb;max-width:34rem;margin-bottom:2rem}
.cta{display:flex;flex-wrap:wrap;gap:.8rem}
.scroll-cue{position:absolute;left:50%;bottom:22px;width:26px;height:42px;border:2px solid rgba(243,230,204,.5);border-radius:14px;transform:translateX(-50%)}
.scroll-cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--gold);animation:cue 1.8s infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
.marquee{overflow:hidden;background:var(--wine);border-block:1px solid rgba(217,166,58,.35);padding:.9rem 0;font:1.15rem var(--fd);white-space:nowrap;color:var(--cream)}
.marquee div{display:inline-block;animation:mq 38s linear infinite;padding-left:100%}
@keyframes mq{to{transform:translateX(-100%)}}
section{position:relative}
.about{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(5rem,12vw,9rem) clamp(1.25rem,6vw,5rem);max-width:1300px;margin:auto}
.about-art{position:relative;aspect-ratio:3/4;max-width:460px;width:100%;justify-self:center}
.layer{position:absolute;will-change:transform}
.back{inset:0;margin:0;border-radius:200px 200px var(--r) var(--r);overflow:hidden;box-shadow:0 40px 80px -30px #000}
.back img{width:100%;height:115%;object-fit:cover}
.badge{width:44%;right:-10%;bottom:-6%;filter:drop-shadow(0 20px 30px rgba(0,0,0,.6))}
.about-copy p{color:#e6d5b6;margin-bottom:1rem;max-width:36rem}
.facts{list-style:none;padding:0;display:flex;gap:2.2rem;margin-top:2rem;border-top:1px solid rgba(217,166,58,.25);padding-top:1.5rem}
.facts strong{display:block;font:2.6rem/1 var(--fd);color:var(--gold)}.facts span{font-size:.9rem;color:var(--muted)}
@media(max-width:860px){.about{grid-template-columns:1fr}.about-art{max-width:340px}}
.menu{padding:clamp(5rem,10vw,8rem) clamp(1.25rem,6vw,5rem);background:var(--char);overflow:hidden;isolation:isolate}
.menu-bg{position:absolute;inset:-20% -10%;z-index:-1;background:radial-gradient(40% 35% at 85% 10%,rgba(155,42,34,.35),transparent 70%),radial-gradient(35% 30% at 5% 90%,rgba(217,166,58,.12),transparent 70%);will-change:transform}
.menu-head,.panel,.crusts{max-width:1200px;margin-inline:auto}
.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 2.5rem}
.tabs button{font:600 .98rem var(--fb);color:var(--cream);background:transparent;border:1px solid rgba(243,230,204,.25);border-radius:999px;padding:.7rem 1.2rem;min-height:44px;cursor:pointer;transition:.25s}
.tabs button:hover{border-color:var(--gold)}
.tabs button[aria-selected=true]{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.panel article{padding:1.6rem;border-radius:var(--r);background:linear-gradient(160deg,rgba(243,230,204,.06),rgba(243,230,204,.02));border:1px solid rgba(243,230,204,.1);transition:transform .35s,border-color .35s;animation:rise .5s both}
.panel article:hover{transform:translateY(-4px);border-color:rgba(217,166,58,.5)}
.panel article:nth-child(2){animation-delay:.05s}.panel article:nth-child(3){animation-delay:.1s}.panel article:nth-child(4){animation-delay:.15s}.panel article:nth-child(5){animation-delay:.2s}.panel article:nth-child(6){animation-delay:.25s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
.panel h3{font-size:1.45rem;margin-bottom:.6rem;color:var(--cream)}.panel p{color:var(--muted);font-size:.98rem}
.crusts{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:center;margin-top:clamp(4rem,8vw,6rem)}
.crust-art{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -30px #000;will-change:transform}
.crust-art img{width:100%;height:100%;object-fit:cover}
.crusts h3{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:.75rem}
.crusts dl{margin:1.5rem 0}.crusts dl div{padding:1rem 0;border-top:1px solid rgba(243,230,204,.12)}
.crusts dt{font-weight:700;color:var(--gold);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase}.crusts dd{margin:.3rem 0 0}
.note{color:var(--muted);font-size:.92rem}
@media(max-width:860px){.crusts{grid-template-columns:1fr}.crust-art{max-width:420px}}
.visit{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding:clamp(5rem,10vw,8rem) clamp(1.25rem,6vw,5rem);max-width:1300px;margin:auto}
.visit-card{padding:clamp(2rem,4vw,3rem);border-radius:24px;background:var(--wine);background:linear-gradient(150deg,#86241f,#5a1614)}
.visit-card:nth-child(2){background:linear-gradient(150deg,#2a1a15,#1c110e);border:1px solid rgba(217,166,58,.25)}
.hours{font:clamp(1.6rem,3vw,2.2rem) var(--fd)}.hours span{display:block;font:600 .9rem var(--fb);color:var(--gold);letter-spacing:.1em;text-transform:uppercase}
.muted{color:var(--muted);margin-top:.5rem}
address{font:normal clamp(1.4rem,2.6vw,1.9rem)/1.3 var(--fd);margin-bottom:1.75rem}
@media(max-width:760px){.visit{grid-template-columns:1fr}}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem;padding:3.5rem clamp(1.25rem,6vw,5rem) 2rem;border-top:1px solid rgba(217,166,58,.2);max-width:1300px;margin:auto}
.foot-brand{display:flex;gap:1rem;align-items:center}.foot-brand strong{display:block;font:1.3rem var(--fd)}.foot-brand span{color:var(--muted);font-size:.9rem}
.foot a{text-decoration:none}.foot a:hover{color:var(--gold)}
.copy{grid-column:1/-1;color:#8f7d64;font-size:.85rem;padding-top:1.5rem;border-top:1px solid rgba(243,230,204,.08)}
@media(max-width:760px){.foot{grid-template-columns:1fr}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}[data-depth]{transform:none!important}}
