:root{--bg:#14100d;--bg2:#1e1813;--card:#241c16;--tx:#f6efe6;--mu:#c2b4a3;--ac:#e0452b;--ac2:#f2a541;--ln:#3a2e25;--r:14px;font-size:clamp(16px,0.55vw + 13px,30px)}
[data-theme=light]{--bg:#fbf6ef;--bg2:#f2e9dc;--card:#fff;--tx:#231a13;--mu:#6c5b4b;--ln:#e4d7c6}
@media (max-width:700px){:root{font-size:16px}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--tx);font:1rem/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.15;margin:.2em 0 .5em}h1{font-size:clamp(2.2rem,5vw,4.2rem)}h2{font-size:clamp(1.7rem,3vw,2.6rem)}
a{color:var(--ac2)}img{max-width:100%;height:auto;display:block}.wrap{width:min(92%,80rem);margin:auto}.muted{color:var(--mu)}.small,small{font-size:.85rem}.center{text-align:center}.narrow{max-width:46rem}
.eyebrow{color:var(--ac2);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700}
.topbar{background:var(--ac);font-size:.85rem}.tb{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0}.tbl{color:#fff;text-decoration:none}.tbl:hover{text-decoration:underline}
@media(max-width:700px){.tbp{display:none}.tb{justify-content:center;text-align:center}}
.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--ln)}
.nv{display:flex;align-items:center;gap:1.5rem;padding:.6rem 0}.brand{display:flex;align-items:center;gap:.6rem;color:var(--tx);text-decoration:none;font:700 1.3rem Georgia,serif}.brand small{display:block;font:.7rem system-ui;color:var(--mu);letter-spacing:.08em;text-transform:uppercase}
.lg{width:3rem;height:3rem;border-radius:50%;object-fit:cover}.mainnav{display:flex;gap:1.2rem;margin-left:auto}.mainnav a{color:var(--tx);text-decoration:none;font-weight:600}.mainnav a:hover{color:var(--ac2)}
.act{display:flex;gap:.5rem;align-items:center}#theme{background:none;border:1px solid var(--ln);color:var(--tx);border-radius:50%;width:2.4rem;height:2.4rem;cursor:pointer;font-size:1.1rem}
@media(max-width:900px){.mainnav{display:none}.act{margin-left:auto}.act .btn:not(.ghost){display:none}}
.btn{display:inline-block;background:var(--ac);color:#fff;padding:.65em 1.2em;border-radius:999px;text-decoration:none;font-weight:700;border:2px solid var(--ac);cursor:pointer;font-size:.95rem}.btn:hover{filter:brightness(1.1)}
.btn.ghost{background:transparent;color:var(--tx);border-color:var(--ac2)}.btn.big{font-size:1.1rem;padding:.8em 1.5em}
.hero{position:relative;min-height:min(88vh,60rem);display:flex;align-items:flex-end;overflow:hidden;color:#fff}.slides,.slide{position:absolute;inset:0}.slide{opacity:0;transition:opacity 1.4s}.slide.on{opacity:1}.slide img{width:100%;height:100%;object-fit:cover;animation:kb 12s ease-out infinite alternate}
@keyframes kb{to{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.slide img{animation:none}.slide{transition:none}}
.hshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.75))}.hc{position:relative;padding:4rem 0}.lead{font-size:1.2rem;max-width:40rem}.cta{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.4rem 0 .6rem}.cta.c{justify-content:center}
.strip{background:var(--bg2);border-block:1px solid var(--ln)}.st{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.2rem 0}.st div{display:flex;flex-direction:column}.st span{color:var(--mu);font-size:.9rem}@media(max-width:700px){.st{grid-template-columns:1fr 1fr}}
.sec{padding:4rem 0}.dishes{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.2rem;margin:1.5rem 0}
.dish{background:var(--card);border:1px solid var(--ln);border-radius:var(--r);overflow:hidden;color:var(--tx);text-decoration:none;display:flex;flex-direction:column;transition:transform .2s}.dish:hover{transform:translateY(-4px);border-color:var(--ac2)}
.dish img,.ph{aspect-ratio:4/3;width:100%;object-fit:cover}.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,var(--bg2),var(--bg2) 10px,var(--card) 10px,var(--card) 20px);color:var(--mu);font-weight:700}.ph small{font-weight:400;opacity:.7}
.dt{padding:1rem;display:flex;flex-direction:column;gap:.2rem;flex:1}.dt h3{font-size:1.15rem;margin:0}.pr{color:var(--ac2);font-weight:700}.dt p{color:var(--mu);font-size:.88rem;margin:.3rem 0;flex:1}.ob{font-weight:700;color:var(--ac)}
@media(max-width:700px){.dishes{grid-template-columns:1fr 1fr;gap:.7rem}.dt p{display:none}.dt{padding:.7rem}.dt h3{font-size:.95rem}}
.story{background:var(--bg2);padding:4rem 0}.sg{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.sp img{border-radius:var(--r);filter:sepia(.15)}
.kg{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.kp{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.kp img{border-radius:10px;aspect-ratio:1;object-fit:cover}
@media(max-width:800px){.sg,.kg{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--ln);border-radius:var(--r);padding:1.4rem}.rate{display:flex;gap:1.2rem;align-items:center;margin:1rem 0 1.5rem;max-width:40rem}.rate .n{font:700 3rem Georgia,serif;color:var(--ac2)}.stars{color:#f5b301;letter-spacing:.1em}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:800px){.grid3{grid-template-columns:1fr}}.q{margin:0}.q blockquote{margin:0 0 .8rem;font-style:italic}
.faq details{border-bottom:1px solid var(--ln);padding:.9rem 0}.faq summary{cursor:pointer;font-weight:700}
.cband{background:linear-gradient(120deg,#5a1a10,#e0452b);color:#fff;padding:4rem 0}
.phero{position:relative;color:#fff;padding:5rem 0 3rem;overflow:hidden}.phero .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.4)}.phero .wrap{position:relative}.phero a{color:#ffd28a}
.mtabs{position:sticky;top:4.2rem;z-index:10;background:var(--bg);border-bottom:1px solid var(--ln);overflow-x:auto}.mtabs .wrap{display:flex;gap:1rem;padding:.7rem 0;white-space:nowrap}.mtabs a{color:var(--tx);text-decoration:none;font-weight:600;font-size:.9rem}
.msec{padding-top:2.5rem;scroll-margin-top:8rem}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.5rem}.tag{background:var(--card);color:var(--tx);border:1px solid var(--ln);border-radius:999px;padding:.45em 1em;cursor:pointer;font-size:.9rem}.tag.on{background:var(--ac);border-color:var(--ac);color:#fff}
.gal{columns:4 14rem;gap:.8rem}.gi{break-inside:avoid;margin:0 0 .8rem;position:relative}.gi img{border-radius:10px;width:100%}.gi figcaption{font-size:.8rem;color:var(--mu);padding:.3rem .2rem}.gi[hidden]{display:none}
.cg{display:grid;grid-template-columns:1fr 1fr;gap:3rem}@media(max-width:800px){.cg{grid-template-columns:1fr}}.map iframe{width:100%;aspect-ratio:4/3;border:0;border-radius:var(--r);margin-bottom:1rem}.map img{border-radius:var(--r)}
.cf{display:flex;flex-direction:column;gap:.7rem;margin-top:2rem}.cf label{display:flex;flex-direction:column;font-weight:600;font-size:.9rem}.cf input,.cf textarea{margin-top:.3rem;padding:.7rem;border-radius:8px;border:1px solid var(--ln);background:var(--bg);color:var(--tx);font:inherit}
footer{background:var(--bg2);border-top:1px solid var(--ln);padding:3rem 0 5rem;margin-top:3rem}.fg{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.flogo{width:4rem;border-radius:50%;margin-bottom:.6rem}@media(max-width:800px){.fg{grid-template-columns:1fr 1fr}}.copy{color:var(--mu);font-size:.8rem;margin-top:2rem}
.fab{position:fixed;right:1rem;bottom:1rem;z-index:30;background:var(--ac);color:#fff;padding:.8em 1.3em;border-radius:999px;font-weight:700;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.35)}@media(min-width:901px){.fab{display:none}}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ac2);outline-offset:3px}
.slide picture,.slide picture img{width:100%;height:100%;object-fit:cover;display:block}.slide img{animation:none}
.hvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}.hvid.on{opacity:1}
.lg{width:auto;height:3.4rem;border-radius:10px;object-fit:contain;background:#fff;padding:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.25)}
.flogo{width:9rem;height:auto;border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
@media(max-width:420px){.bt small{display:none}.lg{height:3rem}}
.hero .btn.ghost,.cband .btn.ghost,.phero .btn.ghost{color:#fff}
.hamb{display:none;width:44px;height:44px;flex:0 0 44px;border:1px solid var(--ln);border-radius:10px;background:var(--card);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}
.hamb span{display:block;width:22px;height:2px;background:var(--tx);border-radius:2px;transition:transform .2s,opacity .2s}
.hamb[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamb[aria-expanded=true] span:nth-child(2){opacity:0}.hamb[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--ln);box-shadow:0 12px 30px rgba(0,0,0,.35);max-height:calc(100vh - 6rem);overflow-y:auto;z-index:40}
.mnav nav{display:flex;flex-direction:column;width:min(92%,80rem);margin:auto;padding:.5rem 0}.mnav nav a{color:var(--tx);text-decoration:none;font-weight:700;font-size:1.15rem;padding:.8rem 0;border-bottom:1px solid var(--ln);min-height:44px}
.mcta{display:flex;flex-direction:column;gap:.6rem;width:min(92%,80rem);margin:.8rem auto 1.2rem}.mcta .btn{text-align:center}
@media(max-width:900px){.hamb{display:flex}.nv{gap:.6rem}.act{gap:.4rem}.brand{min-width:0}.bt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:380px){.act .btn.ghost{display:none}}
@media(min-width:901px){.mnav{display:none!important}}
.hamb{-webkit-tap-highlight-color:transparent}
.fab{display:none!important}
.bnav{display:none}
@media(max-width:899.98px){
.bnav{position:fixed;left:0;right:0;bottom:0;z-index:15;display:grid;grid-template-columns:repeat(3,1fr);background:var(--bg2);border-top:1px solid var(--ln);box-shadow:0 -6px 18px rgba(0,0,0,.25);padding-bottom:env(safe-area-inset-bottom)}
.bnav a{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--tx);text-decoration:none;font-weight:700;font-size:.8rem;-webkit-tap-highlight-color:transparent}
.bnav a:first-child{background:var(--ac);color:#fff}.bnav a+a{border-left:1px solid var(--ln)}
.bnav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}footer{padding-bottom:2rem}}
.hpost,.hpost img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .hshade{background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.08) 35%,rgba(20,8,0,.62) 78%,rgba(20,8,0,.82) 100%),radial-gradient(120% 80% at 80% 10%,rgba(255,150,60,.12),transparent 60%)}
.hero .hc h1,.hero .hc .lead,.hero .hc .eyebrow,.hero .hc .cta,.hero .hc .small{text-shadow:0 2px 14px rgba(0,0,0,.55)}
.hero .hc>*{opacity:0;transform:translateY(18px);animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards}
.hero .hc>*:nth-child(2){animation-delay:.12s}.hero .hc>*:nth-child(3){animation-delay:.24s}.hero .hc>*:nth-child(4){animation-delay:.36s}.hero .hc>*:nth-child(5){animation-delay:.48s}
@keyframes rise{to{opacity:1;transform:none}}
.hero h1{background:linear-gradient(90deg,#fff 0%,#fff 40%,#ffd9a0 50%,#fff 60%,#fff 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise .8s cubic-bezier(.2,.7,.2,1) .12s forwards,glow 6s ease-in-out 1.5s infinite}
@keyframes glow{0%,100%{background-position:100% 0}50%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){.hero .hc>*,.hero h1{animation:none;opacity:1;transform:none}}
.hero .hc h1{text-shadow:none;filter:drop-shadow(0 2px 10px rgba(0,0,0,.6))}
.hpp{position:absolute;right:1rem;bottom:1rem;z-index:3;width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:rgba(20,10,5,.55);backdrop-filter:blur(6px);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.hpp[hidden]{display:none}.hpp svg{width:22px;height:22px;fill:currentColor}.hpp .i-play{display:none}.hpp.paused .i-play{display:block}.hpp.paused .i-pause{display:none}
.hpp:hover{background:rgba(224,69,43,.85)}.hpp:focus-visible{outline:3px solid var(--ac2);outline-offset:3px}
@media(max-width:899.98px){.hero{min-height:calc(100svh - 7.5rem - 56px - env(safe-area-inset-bottom))}.hc{padding-bottom:4.5rem}}
@media(min-width:900px){.hero{min-height:min(calc(100vh - 6.6rem),60rem)}}
.ohero{position:relative;color:#fff;min-height:min(78vh,52rem);display:flex;align-items:flex-end;overflow:hidden}.ohero .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.oshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(20,8,0,.78))}.oh{position:relative;padding:4rem 0 3rem}.oh h1,.oh .lead{text-shadow:0 2px 14px rgba(0,0,0,.55)}.ohero .btn.ghost{color:#fff}
.paths{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.path{display:block;background:var(--card);border:1px solid var(--ln);border-radius:var(--r);padding:1.6rem;color:var(--tx);text-decoration:none;transition:transform .2s,border-color .2s}.path:hover{transform:translateY(-3px);border-color:var(--ac2)}.path.back{background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--ac) 18%,var(--card)))}
@media(max-width:700px){.paths{grid-template-columns:1fr}}
.mt{margin-top:2.5rem}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.steps li{display:flex;gap:1rem;background:var(--card);border:1px solid var(--ln);border-radius:var(--r);padding:1.2rem}.steps b{flex:0 0 2.6rem;height:2.6rem;border-radius:50%;background:var(--ac);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.steps h4{margin:.1rem 0 .3rem}.steps p{margin:0;color:var(--mu);font-size:.92rem}
@media(max-width:800px){.steps{grid-template-columns:1fr}}
.car{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem max(4vw,calc((100vw - 80rem)/2)) 1.5rem;scrollbar-width:thin;overscroll-behavior-x:contain}
.cc{flex:0 0 clamp(13rem,22vw,20rem);scroll-snap-align:start;background:var(--card);border:1px solid var(--ln);border-radius:var(--r);overflow:hidden;color:var(--tx);text-decoration:none;display:flex;flex-direction:column}.cc img{aspect-ratio:1;object-fit:cover;width:100%}
.ccn{font:700 1.05rem Georgia,serif;padding:.8rem 1rem 0}.ccp{color:var(--ac2);font-weight:700;padding:.2rem 1rem}.cc .ob{padding:0 1rem 1rem}.cc:hover{border-color:var(--ac2)}
@media(max-width:700px){.cc{flex-basis:70vw}}
.perks{list-style:none;padding:0;margin:1rem 0}.perks li{padding:.55rem 0 .55rem 2rem;position:relative;border-bottom:1px solid var(--ln)}.perks li:before{content:"★";position:absolute;left:0;color:var(--ac2)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:700px){.grid2{grid-template-columns:1fr}}
@media(prefers-reduced-motion:no-preference){.path,.cc,.steps li{animation:rise .6s ease both}}
.mainnav a[aria-current=page],.mnav nav a[aria-current=page]{color:var(--ac2)}.mainnav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--ac2)}
@media(min-width:900px) and (max-width:1180px){.mainnav{gap:.8rem}.mainnav a{font-size:.92rem}.nv{gap:1rem}.brand small{display:none}}
.mainnav a,.act .btn,.brand{white-space:nowrap}
@media(min-width:900px) and (max-width:1180px){.bt{display:none}.mainnav{gap:.7rem}.act .btn{padding:.55em .9em;font-size:.88rem}}
