:root{--red:#e63b23;--coal:#11100e;--cream:#fff4e1;--gold:#f3b33d;--ink:#211c18;--muted:#8d7b68;--line:rgba(255,244,225,.18);--glass:rgba(12,10,8,.72)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--coal);color:var(--cream);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,244,225,.045) 1px,transparent 1px),radial-gradient(circle at 20% 10%,rgba(230,59,35,.18),transparent 32rem);background-size:78px 78px,auto;opacity:.8;z-index:-1}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
img{max-width:100%;height:auto;display:block}
/* El atributo hidden manda siempre: un display de componente no debe pisarlo */
[hidden]{display:none !important}
.skip-link{position:absolute;left:-999px;top:1rem;background:#fff;color:#000;padding:.7rem 1rem;z-index:20}
/* Volver arriba: aparece cuando ya has bajado una pantalla larga */
.to-top{position:fixed;right:1rem;bottom:1rem;z-index:25;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--glass);color:var(--cream);border:1px solid rgba(255,244,225,.28);backdrop-filter:blur(12px);cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,background .2s ease,border-color .2s ease}
.to-top.is-on{opacity:1;transform:none}
.to-top:hover{background:var(--red);border-color:var(--gold);color:#fff}
@media (min-width:1080px){.to-top{right:1.5rem;bottom:1.5rem}}
.skip-link:focus{left:1rem}
.mobile-cta{display:none}
.site-header{position:sticky;top:0;z-index:20;background:var(--glass);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,244,225,.18);box-shadow:0 14px 45px rgba(0,0,0,.22)}
.header-main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.5rem clamp(1rem,3vw,2rem)}
.brand{display:flex;align-items:center;gap:1rem;text-decoration:none}
.brand img{width:54px;height:54px;object-fit:cover;border-radius:50%;background:#fff;border:1px solid rgba(255,244,225,.4);filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.brand span{display:grid;gap:.05rem;line-height:1;text-transform:uppercase}
.brand strong{font-family:Anton,Impact,sans-serif;color:var(--cream);font-weight:400;font-size:1.25rem}
.brand small{color:var(--gold);font-size:.64rem;font-weight:950}
.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:.35rem}
.main-nav a{padding:.62rem .8rem;text-decoration:none;font-weight:900;text-transform:uppercase;font-size:.72rem;letter-spacing:0;border:1px solid transparent;border-radius:999px;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.main-nav a:hover{border-color:var(--gold);background:rgba(255,244,225,.1);color:#fff;transform:translateY(-1px)}
.nav-reserve{background:var(--cream);color:var(--coal);box-shadow:0 0 0 3px rgba(230,59,35,.28)}
.header-phone{font-size:.78rem;text-decoration:none;font-weight:950;color:var(--gold);white-space:nowrap}
.header-contact{display:flex;align-items:center;gap:.6rem}
.header-ig{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--cream);border:1px solid rgba(255,244,225,.28);transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}
.header-ig:hover{color:#fff;border-color:var(--gold);background:rgba(230,59,35,.9);transform:translateY(-1px)}
.nav-toggle{display:none;background:none;border:0;color:var(--cream);width:44px;height:44px}
.nav-toggle span{display:block;height:2px;background:currentColor;margin:7px}
.hero{position:relative;display:grid;overflow:hidden;background:#060504}
.hero-slide{grid-area:1/1;position:relative;min-height:calc(100svh - 74px);display:grid;align-items:center;padding:clamp(4.5rem,8vw,7rem) clamp(1.25rem,4vw,4rem) clamp(5rem,7vw,6rem);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility .55s ease}
.hero-slide:not(.is-active){position:absolute;inset:0}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.hero-slide:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,5,4,.94) 0%,rgba(7,5,4,.7) 42%,rgba(7,5,4,.2) 100%),linear-gradient(0deg,rgba(7,5,4,.82),transparent 45%)}
.hero-slide img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.05)}
.hero-panel{position:relative;z-index:2;max-width:760px;background:linear-gradient(135deg,rgba(6,5,4,.72),rgba(6,5,4,.34));border:1px solid rgba(255,244,225,.18);border-radius:10px;padding:clamp(1rem,2.6vw,2rem);box-shadow:0 28px 80px rgba(0,0,0,.32);backdrop-filter:blur(4px)}
.hero-meta{position:absolute;z-index:3;left:clamp(1.25rem,4vw,4rem);right:clamp(1.25rem,4vw,4rem);bottom:1rem;display:flex;flex-wrap:wrap;gap:.65rem}
.hero-meta span,.hero-meta a{background:rgba(255,244,225,.1);border:1px solid var(--line);backdrop-filter:blur(12px);border-radius:999px;padding:.55rem .8rem;text-decoration:none;font-weight:850;font-size:.78rem}
.hero-dots{position:absolute;z-index:4;right:clamp(1.25rem,4vw,4rem);bottom:5.5rem;display:flex;gap:.5rem}
.hero-dots button{width:40px;height:6px;border:0;border-radius:99px;background:rgba(255,244,225,.35);cursor:pointer}
.hero-dots button.is-active{background:var(--red)}
.kicker{margin:0 0 1rem;color:var(--gold);text-transform:uppercase;font-size:.82rem;font-weight:900;letter-spacing:0}
h1,h2,h3{margin:0;color:var(--cream);line-height:.95;letter-spacing:0;font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase}
h1{font-size:clamp(3rem,7vw,6.7rem);max-width:10ch}
h2{font-size:clamp(1.85rem,3.8vw,3.75rem)}
h3{font-size:2rem}
.hero-lead{font-size:clamp(1.1rem,2vw,1.45rem);max-width:690px;color:#eadfc9;font-weight:700}
.hero-actions,.footer-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.btn{font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.9rem 1.15rem;border:2px solid currentColor;text-decoration:none;font-weight:950;text-transform:uppercase;border-radius:4px;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.btn:after{content:"->";font-weight:950;transition:transform .2s ease}
.btn-primary{background:var(--red);border-color:var(--red);color:#fff}
.btn-secondary{background:transparent;color:var(--cream)}
.btn-dark{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.btn-outline-dark{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.25)}
.btn:hover:after{transform:translateX(4px)}
.btn-primary:hover{background:#ff4a2f;border-color:#ff4a2f}
.btn-secondary:hover{background:var(--cream);border-color:var(--cream);color:var(--coal)}
.btn-dark:hover{background:var(--red);border-color:var(--red);color:#fff}
.btn-outline-dark:hover{background:var(--ink);color:var(--cream)}
.quick-info{display:grid;gap:.5rem;margin:2rem 0 0;padding:0;list-style:none;color:#d6c7af;font-weight:800}
.quick-info li{border-left:4px solid var(--red);padding-left:.75rem}
.showcase-hero{min-height:calc(100svh - 74px);display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;padding:clamp(4rem,8vw,7rem) clamp(1.25rem,4vw,4rem);background:radial-gradient(circle at 12% 18%,rgba(230,59,35,.28),transparent 34rem),linear-gradient(110deg,rgba(67,18,12,.72),rgba(6,5,4,.96) 48%);color:var(--cream);overflow:hidden}
.showcase-copy{position:relative;z-index:2;max-width:720px;min-width:0}
.showcase-media{position:relative;min-height:clamp(360px,46vw,680px)}
.showcase-main{position:absolute;inset:7% 4% 7% 8%;width:88%;height:86%;object-fit:cover;border:2px solid var(--cream);box-shadow:24px 24px 0 var(--red);filter:saturate(1.08) contrast(1.05)}
.showcase-card{position:absolute;z-index:2;width:34%;aspect-ratio:1/1;object-fit:cover;border:2px solid var(--cream);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.showcase-card-a{left:0;bottom:0}
.showcase-card-b{right:0;top:0}
.marquee{overflow:hidden;border-block:1px solid var(--line);background:#000}
.marquee div,.marquee span{display:flex;gap:2rem;white-space:nowrap;animation:marquee 18s linear infinite;padding:.85rem 0}
.marquee span{font-family:Anton,Impact,sans-serif;font-size:clamp(2rem,5vw,4rem);text-transform:uppercase;color:var(--red)}
@keyframes marquee{to{transform:translateX(-50%)}}
.marquee a{color:var(--cream);text-decoration:none;transition:color .2s ease}
.marquee a:hover{color:var(--gold)}
@media (prefers-reduced-motion:reduce){.marquee div,.marquee span{animation:none}}
.section,.split-feature,.menu-strip,.reservation-band,.contact-layout,.page-hero,.legal-page,.seo-intro,.reviews-section,.local-proof,.faq-section,.menu-text,.contact-form-section,.local-hero,.local-info,.internal-links,.visit-strip,.menu-board,.menu-original{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4vw,4rem)}
.section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:end;margin-bottom:2rem}
.rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.rule-grid article{background:#1a1714;border:1px solid var(--line);padding:1rem;border-radius:6px}
.rule-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:1rem;filter:saturate(1.12) contrast(1.06)}
.rule-grid p,.menu-strip small,.reservation-band p,.legal-page p{color:#dacbb6;font-weight:650}
.seo-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,4vw,4rem);border-bottom:1px solid var(--line)}
.seo-copy{font-size:clamp(1.05rem,1.6vw,1.25rem);color:#dacbb6;font-weight:700}
.seo-copy p{margin:0 0 1rem}
.reviews-section{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;background:linear-gradient(135deg,#fff4e1,#ffe7bd);color:var(--ink);border-bottom:1px solid rgba(33,28,24,.16)}
.reviews-section h2,.reviews-section .kicker{color:var(--ink)}
.reviews-summary p{max-width:680px;color:#4f4338;font-weight:760}
.rating-panel{display:grid;gap:.2rem;width:min(100%,340px);margin:1.5rem 0;padding:1.15rem;background:#211c18;color:var(--cream);border:2px solid #211c18;box-shadow:10px 10px 0 var(--red)}
.rating-panel strong{font-family:Anton,Impact,sans-serif;font-size:clamp(3.4rem,6vw,5.2rem);line-height:.85;color:var(--gold);font-weight:400}
.rating-panel span{font-size:1.05rem;font-weight:950;text-transform:uppercase}
.rating-panel small{color:#dbcbb5;font-weight:800}
.review-carousel{min-width:0;display:grid;gap:1rem}
.review-tools{display:flex;justify-content:flex-end;gap:.5rem}
.review-tools button{width:44px;height:44px;border:2px solid var(--ink);background:var(--ink);color:var(--cream);border-radius:4px;font-size:1.6rem;line-height:1;cursor:pointer}
.review-tools button:hover{background:var(--red);border-color:var(--red)}
.review-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,42%);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.2rem .2rem 1rem;scrollbar-color:var(--red) rgba(33,28,24,.18)}
.review-card{scroll-snap-align:start;display:grid;grid-template-rows:auto 1fr auto auto;min-height:255px;padding:1.25rem;background:#11100e;color:var(--cream);border:1px solid rgba(33,28,24,.28);border-radius:6px;box-shadow:0 18px 45px rgba(33,28,24,.14)}
.review-card span{color:var(--gold);letter-spacing:0;font-size:.9rem}
.review-card p{margin:.85rem 0 1.2rem;color:#f0e1ca;font-size:1.05rem;font-weight:760}
.review-card strong{color:#fff;font-size:.9rem;text-transform:uppercase}
.review-card small{color:#c8b79f;font-weight:800;margin-top:.25rem}
.review-insights{display:flex;flex-wrap:wrap;gap:.55rem}
.review-insights span{background:#fff9eb;border:1px solid rgba(33,28,24,.2);color:#3a3028;border-radius:999px;padding:.58rem .8rem;font-size:.78rem;font-weight:950;text-transform:uppercase}
.trust-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}
.split-feature{display:grid;grid-template-columns:minmax(280px,.85fr) 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;background:var(--cream);color:var(--ink)}
.split-feature h2,.split-feature .kicker{color:var(--ink)}
.split-feature p{color:#4f4338;font-weight:700}
.split-feature img{width:100%;aspect-ratio:908/820;object-fit:cover;border:3px solid var(--ink);box-shadow:14px 14px 0 var(--red)}
.text-link{font-weight:950;text-transform:uppercase;color:var(--red);text-underline-offset:.25em;text-decoration-thickness:2px;transition:color .2s ease,text-decoration-color .2s ease}
.text-link:after{content:" ->"}
.text-link:hover{color:#9d1f12;text-decoration-color:#9d1f12}
.inline-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}
.inline-links a{border:1px solid rgba(33,28,24,.2);border-radius:999px;padding:.65rem .9rem;text-decoration:none;font-weight:900;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.inline-links a:after{content:" ->"}
.inline-links a:hover{background:var(--ink);border-color:var(--ink);color:var(--cream);transform:translateY(-2px)}
.image-band{display:grid;grid-template-columns:repeat(3,1fr);background:#000;border-block:1px solid var(--line)}
.image-band img{width:100%;height:clamp(240px,30vw,460px);object-fit:cover;border-right:1px solid var(--line)}
.menu-strip{background:#000;display:grid;grid-template-columns:.75fr 1.25fr;gap:1.5rem 3rem;align-items:start}
.menu-strip .section-head{grid-template-columns:1fr;gap:1rem;margin:0}
.menu-strip .section-head p:not(.kicker){margin:0;color:#dacbb6;font-weight:700;max-width:34ch}
.menu-strip>.btn{grid-column:1;justify-self:start}
.menu-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.menu-cards article{border:1px solid var(--line);padding:1.25rem;background:#171310;border-radius:6px}
.menu-cards span{color:var(--gold);font-weight:950;text-transform:uppercase;font-size:.75rem}
.menu-cards strong{display:block;font-size:1.35rem;margin:.35rem 0}
.menu-hero{max-width:1120px}
.menu-board{display:grid;gap:1rem;padding-top:clamp(2rem,4vw,3rem);background:var(--cream);color:var(--ink)}
.menu-board-head{max-width:900px}
.menu-board-head h2{color:var(--ink)}
.menu-accordion{border:2px solid var(--ink);border-radius:8px;background:#fff9eb;overflow:hidden}
.menu-accordion summary h2{font-size:inherit;color:inherit}
.menu-accordion summary::-webkit-details-marker{display:none}
.menu-accordion summary:after{content:"+";font-family:Inter,system-ui,sans-serif;font-weight:900;font-size:1.4rem;margin-left:.25rem;transition:transform .2s ease}
.menu-accordion[open] summary:after{transform:rotate(45deg)}
.menu-accordion{scroll-margin-top:140px}
.menu-accordion summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;padding:1rem 1.25rem;font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.5rem);color:var(--ink)}
.menu-accordion summary small{margin-left:auto;font-family:Inter,system-ui,sans-serif;font-size:.78rem;color:var(--red);font-weight:950}
.dish-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#211c18;border-top:2px solid var(--ink)}
.dish:last-child:nth-child(odd){grid-column:1/-1}
.dish{display:flex;justify-content:space-between;gap:1rem;background:#fff9eb;padding:1rem}
.dish h3{font-family:Inter,system-ui,sans-serif;color:var(--ink);font-size:1.08rem;line-height:1.2;font-weight:950;text-transform:none}
.dish p{margin:.35rem 0 0;color:#5e5044;font-weight:700}
.dish strong{white-space:nowrap;color:#b8301b;font-size:1.05rem}
.dish-tag{display:inline-block;vertical-align:.15em;margin-left:.35rem;padding:.15rem .45rem;border-radius:999px;background:var(--ink);color:var(--gold);font-size:.66rem;font-weight:950;text-transform:uppercase;letter-spacing:.02em}
.menu-note{margin:0;padding:1rem 1.25rem;border-top:2px solid var(--ink);background:#ffe7bd;color:var(--ink);font-weight:800}
.menu-legal{margin:.5rem 0 0;color:#5e5044;font-weight:700}
.menu-legal a{color:#b8301b;font-weight:900}
.menu-jump{position:sticky;top:70px;z-index:15;display:flex;gap:.5rem;overflow-x:auto;padding:.75rem clamp(1.25rem,4vw,4rem);background:rgba(255,244,225,.94);backdrop-filter:blur(10px);border-bottom:2px solid var(--ink);scrollbar-width:none}
.menu-jump a{flex:0 0 auto;padding:.55rem .9rem;border:2px solid var(--ink);border-radius:999px;color:var(--ink);text-decoration:none;font-weight:950;text-transform:uppercase;font-size:.78rem;transition:background .2s ease,color .2s ease}
.menu-jump a:hover,.menu-jump a:focus-visible{background:var(--ink);color:var(--cream)}
.menu-jump small{color:#b8301b;font-weight:950}
.menu-jump a:hover small{color:var(--gold)}
.menu-original{padding-top:0;background:var(--cream)}
.menu-original details{max-width:980px;margin:auto;border:2px solid var(--ink);border-radius:8px;background:#fff9eb;padding:1rem}
.menu-original summary{cursor:pointer;font-weight:950;text-transform:uppercase;color:var(--ink)}
.menu-original img{margin-top:1rem;border:1px solid #d8cbbb}
.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;padding:.5rem;background:var(--red)}
.gallery img{width:100%;height:28vw;min-height:220px;object-fit:cover;border:2px solid #000}
.internal-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;background:#15120f;border-block:1px solid var(--line)}
.internal-links a{display:block;text-decoration:none;border:1px solid var(--line);background:#1a1714;padding:1.25rem;border-radius:6px;position:relative;overflow:hidden;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.internal-links a:after{content:"->";position:absolute;right:1.1rem;top:1rem;color:var(--gold);font-weight:950;transition:transform .2s ease}
.internal-links a:hover{transform:translateY(-4px);border-color:var(--gold);background:#211c18;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.internal-links a:hover:after{transform:translateX(4px)}
.internal-links span{display:block;color:var(--gold);text-transform:uppercase;font-size:.75rem;font-weight:950;margin-bottom:.35rem}
.internal-links strong{font-size:1.25rem}
.visit-strip{display:grid;grid-template-columns:.85fr 1.15fr;gap:2rem;align-items:end;background:var(--cream);color:var(--ink)}
.visit-strip h2,.visit-strip .kicker{color:var(--ink)}
.visit-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.visit-cards a{display:grid;align-content:space-between;min-height:145px;padding:1rem;background:#fff9eb;border:2px solid var(--ink);border-radius:6px;color:var(--ink);text-decoration:none;position:relative;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.visit-cards a:after{content:"->";position:absolute;right:1rem;top:1rem;color:var(--red);font-weight:950}
.visit-cards a:hover{transform:translateY(-4px);background:#fff;box-shadow:9px 9px 0 var(--red)}
.visit-cards span{color:var(--red);font-size:.75rem;font-weight:950;text-transform:uppercase}
.visit-cards strong{max-width:92%;font-size:1.1rem;line-height:1.15}
.reservation-band{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid var(--line)}
.page-hero.compact{max-width:980px}
.page-hero h1,.contact-layout h1{font-size:clamp(2.8rem,6.2vw,5.8rem);max-width:12ch}
.menu-page{padding:0 clamp(1rem,4vw,4rem) 5rem;display:grid;place-items:center}
.menu-page img{max-width:min(900px,100%);border:2px solid var(--cream);box-shadow:16px 16px 0 #000}
.contact-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:2rem;align-items:start}
.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}
.contact-cards a{padding:1.25rem;background:#1a1714;border:1px solid var(--line);border-radius:6px;text-decoration:none;position:relative;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.contact-cards a:after{content:"->";position:absolute;right:1rem;top:1rem;color:var(--gold);font-weight:950}
.contact-cards a:hover{transform:translateY(-3px);border-color:var(--gold);background:#211c18}
.contact-cards span{display:block;color:var(--gold);text-transform:uppercase;font-size:.75rem;font-weight:950}
.contact-cards strong{font-size:1.2rem}
.contact-layout aside{background:var(--red);padding:2rem;border-radius:6px;position:sticky;top:100px}
.contact-layout aside img{width:160px;margin-bottom:1.5rem}
.contact-form-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;background:var(--cream);color:var(--ink)}
.contact-form-section h2{color:var(--ink)}
.form-copy p{color:#4f4338;font-weight:750}
.contact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.contact-form label{display:grid;gap:.45rem;font-weight:900;text-transform:uppercase;font-size:.78rem;color:#3a3028}
.contact-form input,.contact-form textarea{width:100%;border:2px solid #211c18;background:#fff9eb;color:#211c18;border-radius:6px;padding:.9rem 1rem;font:inherit;font-weight:650}
.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(230,59,35,.25)}
.contact-form .full,.contact-form button,.form-status{grid-column:1/-1}
.hp{position:absolute;left:-9999px}
.contact-form .consent{display:flex;align-items:flex-start;gap:.65rem;text-transform:none;font-size:.9rem;font-weight:700;line-height:1.4}
.contact-form .consent input{width:22px;height:22px;flex:0 0 22px;margin:0;accent-color:var(--red)}
.contact-form .consent a{color:#b8301b}
.form-status{margin:0;padding:1rem;border-radius:6px;font-weight:900}
.form-status.ok{background:#d9f6d5;color:#174318}
.form-status.error{background:#ffe0d7;color:#671b0d}
.local-hero{display:grid;grid-template-columns:1fr .9fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.local-hero img{width:100%;border:2px solid var(--cream);box-shadow:16px 16px 0 var(--red)}
.local-info{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;background:var(--cream);color:var(--ink)}
.local-info article{border:2px solid var(--ink);background:#fff9eb;padding:1.5rem;border-radius:6px}
.local-info article{transition:transform .2s ease,box-shadow .2s ease}
.local-info article:hover{transform:translateY(-3px);box-shadow:10px 10px 0 rgba(230,59,35,.18)}
.local-info h2{color:var(--ink)}
.local-info span{display:block;color:var(--red);font-size:.75rem;font-weight:950;text-transform:uppercase;margin-bottom:.5rem}
.local-info p{color:#4f4338;font-weight:700}
.local-gallery{border-top:1px solid #000}
.local-venue-hero img{aspect-ratio:4/3;object-fit:cover}
.venue-gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:minmax(230px,24vw);gap:.75rem;padding:clamp(1rem,2vw,1.5rem);background:#080706;border-block:1px solid var(--line)}
.venue-shot{position:relative;overflow:hidden;border:2px solid var(--cream);background:#171310;min-height:230px}
.venue-shot-large{grid-row:span 2}
.venue-shot img{width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.04)}
.local-proof{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:end;background:#000;border-block:1px solid var(--line)}
.local-proof p{max-width:660px;color:#dacbb6;font-weight:750}
.review-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.review-links a{border:1px solid var(--line);border-radius:999px;padding:.65rem 1rem;text-decoration:none;font-weight:900;color:var(--cream);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.review-links a:after{content:" ->"}
.review-links a:hover{border-color:var(--gold);background:#1a1714;transform:translateY(-2px)}
.proof-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.proof-metrics span{display:grid;gap:.25rem;padding:1rem;background:#1a1714;border:1px solid var(--line);border-radius:6px;color:#d8c8b1;font-weight:850;text-transform:uppercase;font-size:.78rem}
.proof-metrics strong{font-family:Anton,Impact,sans-serif;color:var(--gold);font-size:2.4rem;line-height:1;font-weight:400;text-transform:none}
.faq-section{border-top:1px solid var(--line)}
.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.faq-grid details{background:#1a1714;border:1px solid var(--line);border-radius:6px;padding:1rem}
.faq-grid summary{cursor:pointer;font-weight:950;text-transform:uppercase}
.faq-grid p{color:#dacbb6;font-weight:700}
.legal-page{max-width:850px}
.legal-page p{font-size:1.1rem}
.site-footer{border-top:1px solid var(--line);padding:clamp(2rem,4vw,3rem);background:#090807}
.footer-cta-panel{display:grid;grid-template-columns:1fr auto;gap:.5rem 2rem;align-items:center;padding:2rem;background:linear-gradient(135deg,#1b1712,#0d0b09);border:1px solid var(--line);border-radius:8px;margin-bottom:2rem}
.footer-cta-panel h2{font-size:clamp(2rem,4vw,3.5rem);grid-column:1}
.footer-cta-panel .kicker{grid-column:1/-1;margin:0}
.footer-cta-panel .hero-actions{grid-column:2;grid-row:2;margin:0}
.footer-main{display:grid;grid-template-columns:1.2fr .7fr .8fr .9fr;gap:2rem}
.footer-brand img{width:130px;height:auto;margin-bottom:1rem}
.footer-main p{max-width:520px;margin:0;color:#d8c8b1;font-weight:700}
.footer-col{display:grid;align-content:start;gap:.55rem}
.footer-col strong{color:var(--gold);text-transform:uppercase}
.footer-col a{color:#efe3cf;text-decoration:none;font-weight:850}
.footer-col a:hover{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem;color:#bcae99;font-size:.9rem}
@media (max-width:900px){
  .mobile-cta{display:grid;grid-template-columns:1fr auto;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:24;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(17,16,14,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.1rem;border-radius:4px;text-decoration:none;font-weight:950;text-transform:uppercase;font-size:.9rem}
  .mobile-cta-reserve{background:var(--red);color:#fff}
  .mobile-cta-call{border:2px solid var(--cream);color:var(--cream)}
  body{padding-bottom:76px}
  .to-top{bottom:calc(76px + .75rem)}
  .menu-jump{top:66px}
  .footer-cta-panel .hero-actions{grid-column:1;grid-row:auto}
  .visit-cards a{min-height:0;gap:.75rem}
  .image-band{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
  .image-band img{flex:0 0 82%;height:62vw;scroll-snap-align:start}
  .gallery img:first-child{grid-column:1/-1}
  .nav-toggle{display:block}
  .nav-toggle{position:fixed;right:1rem;top:.55rem;z-index:30;background:var(--red);border:2px solid var(--cream);border-radius:4px;color:#fff}
  .header-main{grid-template-columns:minmax(0,1fr) auto}
  .brand{min-width:0}
  .header-phone{display:none}
  .header-contact{margin-right:52px}
  .main-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;background:#11100e;padding:1rem;border-bottom:1px solid var(--line)}
  .main-nav.is-open{display:flex}
  .section-head,.split-feature,.menu-strip,.contact-layout,.seo-intro,.reviews-section,.local-proof,.visit-strip,.contact-form-section,.local-hero,.local-info,.showcase-hero{grid-template-columns:1fr}
  .hero-slide{min-height:680px}
  .showcase-hero{display:block;min-height:auto;padding-left:1rem;padding-right:1rem;width:100%}
  .showcase-copy,.showcase-copy h1{max-width:100%;width:100%}
  .showcase-copy .hero-lead,.showcase-copy .quick-info{max-width:330px;width:100%}
  .showcase-copy .hero-lead,.showcase-copy .quick-info li{overflow-wrap:anywhere}
  .showcase-media{min-height:auto;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;width:100%;max-width:100%;min-width:0;margin-top:2rem}
  .showcase-main{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/3;grid-column:1/-1;box-shadow:10px 10px 0 var(--red)}
  .showcase-card{position:relative;inset:auto;width:100%;box-shadow:none}
  .rule-grid,.menu-cards,.proof-metrics,.visit-cards,.contact-cards,.dish-grid,.faq-grid,.internal-links,.contact-form,.venue-gallery{grid-template-columns:1fr}
  .review-track{grid-auto-columns:minmax(270px,86%)}
  .venue-shot-large{grid-row:auto}
  .showcase-hero:before,.local-venue-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,5,4,.92),rgba(7,5,4,.48)),var(--mobile-hero,none) center/cover;z-index:0}
  .showcase-hero,.local-venue-hero{position:relative}
  .showcase-hero{--mobile-hero:url('/assets/img/oven-service.webp')}
  .local-venue-hero{--mobile-hero:url('/assets/img/local-facade.webp')}
  .showcase-copy,.local-hero>div{position:relative;z-index:1}
    .gallery{grid-template-columns:repeat(2,1fr)}
  .gallery img{height:46vw}
  .reservation-band,.footer-main,.footer-bottom,.footer-cta-panel{display:grid;grid-template-columns:1fr}
  h1{font-size:clamp(3rem,13vw,4.6rem);max-width:100%}
}
@media (max-width:520px){
  .brand img{width:48px;height:48px}
  .brand strong{font-size:1.05rem}
  .brand small{font-size:.58rem}
  .hero-slide{padding-top:4rem}
  .hero-meta{display:none}
  .hero-dots{bottom:1.5rem}
  .btn{width:100%}
  .gallery img{height:52vw;min-height:0}
  .gallery img:first-child{grid-column:1/-1;height:70vw}
}
