:root{--bg:#0a0a0b;--fg:#f2f2f2;--red:#e10600;--mute:#8a8a90}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font:16px/1.6 Inter,sans-serif}
img{display:block;width:100%;height:100%;object-fit:cover}
.preview-tag{position:fixed;bottom:10px;left:10px;z-index:99;background:#000c;border:1px solid #333;font-size:11px;padding:4px 8px;border-radius:4px;color:#aaa}
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:16px 5vw;background:linear-gradient(#000c,#0000)}
.logo{font:400 22px Anton;letter-spacing:2px;color:#fff;text-decoration:none}.logo span{color:var(--red)}
.nav nav a{color:#ddd;text-decoration:none;margin-left:22px;font:600 15px 'Barlow Condensed';text-transform:uppercase;letter-spacing:1.5px}
.btn-sm{border:1px solid var(--red);padding:6px 14px}
@media(max-width:640px){.nav nav a:not(.btn-sm){display:none}}
.intro{height:400vh;position:relative}
.stage{position:sticky;top:0;height:100vh;overflow:hidden}
.scene{position:absolute;inset:0}.scene img{filter:saturate(1.1)}
.zoom{opacity:0}
.door{position:absolute;inset:0;z-index:3;background:#26272a;will-change:transform;box-shadow:0 20px 40px #000}
.slats{position:absolute;inset:0;background:repeating-linear-gradient(#3a3b3f 0 4px,#2a2b2e 4px 46px,#1b1c1e 46px 50px)}
.door-sign{position:absolute;top:64%;left:50%;transform:translate(-50%,-50%);font:400 clamp(30px,7vw,90px) Anton;letter-spacing:4px;color:#e9e9e9;text-align:center;text-shadow:0 2px 0 #000}
.door-sign small{display:block;font:600 16px 'Barlow Condensed';letter-spacing:8px;color:var(--red)}
.handle{position:absolute;bottom:6%;left:50%;width:120px;height:10px;margin-left:-60px;background:#111;border-radius:3px}
.frame{position:absolute;inset:0;z-index:4;pointer-events:none;border:clamp(10px,3vw,30px) solid #0d0d0e;border-bottom:0;box-shadow:inset 0 0 80px #000}
.intro-copy{position:absolute;z-index:5;left:6vw;bottom:12vh;max-width:90vw}
.intro-copy h1{font:400 clamp(48px,10vw,130px)/.9 Anton;text-transform:uppercase}
.intro-copy h2{font:800 clamp(30px,5vw,64px)/1 'Barlow Condensed';text-transform:uppercase;text-shadow:0 4px 30px #000}
.intro-copy em{color:var(--red);font-style:normal}.c2,.c3{opacity:0}
.c1{bottom:auto;top:16vh}.scroll-cue{font-size:30px;color:var(--red);animation:b 1.4s infinite}@keyframes b{50%{transform:translateY(8px)}}
.kicker{font:600 14px 'Barlow Condensed';letter-spacing:4px;text-transform:uppercase;color:var(--red)}
.btn{display:inline-block;margin-top:20px;background:var(--red);color:#fff;padding:14px 28px;font:800 16px 'Barlow Condensed';letter-spacing:2px;text-transform:uppercase;text-decoration:none;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.sec{padding:100px 6vw}.big{font:400 clamp(40px,7vw,96px)/1 Anton;text-transform:uppercase;margin:6px 0 40px}
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;background:#222}
.svc article{background:var(--bg);padding:32px;transition:.3s}.svc article:hover{background:#140808}
.svc span{font:400 40px Anton;color:var(--red)}.svc h3{font:800 24px 'Barlow Condensed';text-transform:uppercase;margin:8px 0}
.note{color:var(--mute);font-size:13px;margin-top:20px}
.dark2{background:repeating-linear-gradient(45deg,#0f0f10 0 3px,#0b0b0c 3px 6px)}
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:300px;gap:8px}
.gal figure{position:relative;overflow:hidden}.gal .w2{grid-column:span 2}
.gal img{transition:transform .6s}.gal figure:hover img{transform:scale(1.06)}
.gal figcaption{position:absolute;left:0;bottom:0;right:0;padding:12px;background:linear-gradient(#0000,#000d);font:600 15px 'Barlow Condensed';text-transform:uppercase;letter-spacing:1px}
@media(max-width:760px){.gal{grid-template-columns:1fr 1fr;grid-auto-rows:200px}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.split img{height:520px}
@media(max-width:760px){.split{grid-template-columns:1fr}.split img{height:320px}}
blockquote{border-left:4px solid var(--red);padding:20px;color:var(--mute)}
.ig{text-align:center}.igrow{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:30px 0}.igrow img{aspect-ratio:1}
.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:5vw}.contact iframe{grid-column:1/-1}.contact iframe{width:100%;height:380px;border:0;filter:invert(.9) hue-rotate(180deg)}
@media(max-width:760px){.contact{grid-template-columns:1fr}}
footer{padding:30px;text-align:center;color:var(--mute);font-size:13px;border-top:1px solid #222}
.reveal{opacity:0;transform:translateY(40px);transition:1s}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.intro{height:auto}.stage{position:relative}.door,.c1,.zoom{display:none}.c3{opacity:1}.reveal{opacity:1;transform:none}.scroll-cue{animation:none}}

.offer{position:absolute;z-index:6;top:70px;right:5vw;background:var(--red);color:#fff;font:800 14px 'Barlow Condensed';letter-spacing:2px;text-transform:uppercase;padding:6px 12px}
.offer-inline{color:var(--red);font:800 18px 'Barlow Condensed';text-transform:uppercase;letter-spacing:1px}
.tagline{font:600 20px/1.5 'Barlow Condensed';text-transform:uppercase;letter-spacing:2px;color:var(--red);margin:16px 0}
.revs{display:grid;grid-template-columns:1fr 1fr;gap:20px}.revs blockquote{color:#ddd;font-size:18px}.revs cite{display:block;margin-top:12px;color:var(--mute);font-style:normal;font-size:14px}
.tel{color:#fff;font:400 28px Anton;text-decoration:none}
@media(max-width:760px){.revs{grid-template-columns:1fr}
.intro-copy{left:5vw;right:5vw;bottom:9vh}
.intro-copy h2{font-size:26px;line-height:1.1;background:#000a;padding:12px 14px;display:inline-block}
.c1{top:20vh}.offer{top:64px;font-size:12px}
.door-sign{font-size:34px;top:68%}}

.bookform{display:grid;gap:12px;background:#111;border:1px solid #2a2a2a;border-top:3px solid var(--red);padding:24px}
.bookform h3{font:400 32px Anton;text-transform:uppercase}.fsub{color:var(--mute);font-size:14px;margin-top:-8px}
.bookform label{display:grid;gap:4px;font:600 13px 'Barlow Condensed';letter-spacing:1.5px;text-transform:uppercase;color:#bbb}
.bookform input,.bookform select,.bookform textarea{width:100%;background:#0a0a0b;border:1px solid #333;color:#fff;padding:12px;font:16px Inter;border-radius:0}
.bookform :focus{outline:2px solid var(--red);outline-offset:0}
.bookform .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bookform .btn{border:0;cursor:pointer;margin-top:6px;justify-self:start}
.hp{position:absolute;left:-9999px;width:1px;height:1px}
.fmsg{font-size:15px}.fmsg.ok{color:#5be37d}.fmsg.err{color:#ff6b6b}.fmsg a{color:#fff}
.modal{position:fixed;inset:0;z-index:100;background:#000c;display:flex;align-items:center;justify-content:center;padding:16px}
.modal[hidden]{display:none}.mbox{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto}
.mclose{position:absolute;top:8px;right:12px;z-index:2;background:none;border:0;color:#fff;font-size:32px;cursor:pointer}
@media(max-width:560px){.bookform .row{grid-template-columns:1fr}.bookform{padding:18px}}

.revs{grid-template-columns:repeat(3,1fr)}@media(max-width:1000px){.revs{grid-template-columns:1fr}}
.revs blockquote{font-size:16px;line-height:1.6}.revs .stars{display:block;color:#ffb400;letter-spacing:3px;margin-bottom:10px}
body.modal-open .preview-tag{display:none}

.revs.featured{display:block;max-width:900px}.revs.featured blockquote{font-size:19px;line-height:1.7;padding:32px;background:#111;border-left:4px solid var(--red)}
.revs.featured cite{font-size:15px}

/* ===== Pit board contact ===== */
.pit{position:relative;min-height:100vh;overflow:hidden;padding:110px 5vw 80px;isolation:isolate}
.pit-map{position:absolute;inset:-10%;z-index:-3;transform:scale(1.9);transform-origin:50% 50%;transition:transform 2.2s cubic-bezier(.2,.8,.2,1)}
.pit-map iframe{width:100%;height:100%;border:0;filter:invert(.92) hue-rotate(180deg) saturate(.4) brightness(.8) contrast(1.1)}
.pit.locked .pit-map{transform:scale(1)}
.pit-shade{position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(circle at 50% 50%,#0000 0 18%,#0a0a0bcc 60%),linear-gradient(90deg,#0a0a0bee 0,#0a0a0b88 45%,#0a0a0b22 70%,#0a0a0b99),linear-gradient(#0a0a0b,#0000 15%,#0000 85%,#0a0a0b);mix-blend-mode:normal}
.pit-route{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.pit-route path{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:round;stroke-dasharray:1400;stroke-dashoffset:1400;filter:drop-shadow(0 0 6px var(--red));transition:stroke-dashoffset 2.4s .6s ease}
.pit.locked .pit-route path{stroke-dashoffset:0}
.pin{position:absolute;left:50%;top:50%;z-index:-1;width:0;height:0;pointer-events:none}
.pin .dot{position:absolute;width:20px;height:20px;margin:-10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px #fff,0 0 30px 8px var(--red)}
.pin .ring{position:absolute;width:260px;height:260px;margin:-130px;border-radius:50%;border:2px solid var(--red);opacity:0;animation:radar 2.6s infinite ease-out}
.pin .r2{animation-delay:1.3s}
@keyframes radar{0%{transform:scale(.05);opacity:.9}100%{transform:scale(1);opacity:0}}
.lock{position:absolute;left:50%;top:calc(50% + 34px);transform:translateX(-50%);z-index:-1;font:600 13px 'Barlow Condensed';letter-spacing:3px;white-space:nowrap}
.lock .l1{color:#aaa;animation:blink .5s steps(2) infinite}.lock .l2{display:none;color:var(--red)}
.pit.locked .lock .l1{display:none}.pit.locked .lock .l2{display:inline}
@keyframes blink{50%{opacity:.2}}
.pit-inner{position:relative;display:grid;grid-template-columns:minmax(0,440px) minmax(0,480px);justify-content:space-between;gap:40px;align-items:start}
.board,.pit .bookform{background:#0d0d0fb8;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px);border:1px solid #ffffff1f;box-shadow:0 30px 80px #000a;opacity:0;transform:translateY(40px);transition:1s .4s}
.pit .bookform{transition-delay:.7s}.pit.locked .board,.pit.locked .bookform{opacity:1;transform:none}
.board{padding:30px;border-top:3px solid var(--red)}
.board .big{margin:6px 0 10px}.addr{font-size:18px}
.status{display:inline-flex;align-items:center;gap:10px;margin:14px 0 4px;padding:6px 14px;border:1px solid #333;font:800 18px 'Barlow Condensed';letter-spacing:3px}
.status i{width:10px;height:10px;border-radius:50%;background:#666}.status small{font:600 12px Inter;letter-spacing:0;color:var(--mute)}
.status.open{border-color:#1f7a3a}.status.open i{background:#2ee66b;box-shadow:0 0 12px #2ee66b;animation:blink 1.2s infinite}.status.open b{color:#2ee66b}
.status.closed i{background:var(--red)}.status.closed b{color:var(--red)}
.gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.gauge{position:relative;text-align:center}.gauge svg{width:100%;max-width:96px;transform:rotate(-90deg)}
.gauge circle{fill:none;stroke:#2a2a2e;stroke-width:3}
.gauge .arc{stroke:var(--red);stroke-dasharray:0 100;transition:stroke-dasharray 1.6s 1s ease;filter:drop-shadow(0 0 3px var(--red))}
.pit.locked .gauge .arc{stroke-dasharray:var(--v) 100}
.gauge span{position:absolute;left:0;right:0;top:calc(50% - 22px);font:400 26px/1 Anton}.gauge span small{display:block;font:600 10px 'Barlow Condensed';letter-spacing:2px;color:var(--mute);text-transform:uppercase}
.gauge em{display:block;font:600 12px 'Barlow Condensed';letter-spacing:1.5px;text-transform:uppercase;color:#bbb;font-style:normal;margin-top:4px}
.gauge.off span{color:#555}
.pit-ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.ghost{margin-top:20px;color:#fff;text-decoration:none;border:1px solid #fff5;padding:13px 22px;font:800 15px 'Barlow Condensed';letter-spacing:2px;text-transform:uppercase}
.ghost:hover{border-color:var(--red)}
@media(max-width:900px){
 .pit{padding:90px 4vw 60px}
 .pit-inner{grid-template-columns:1fr;gap:24px}
 .pit-map{position:relative;inset:auto;height:56vh;margin:-90px -4vw 0;transform:scale(1.9)}
 .pit-shade{background:linear-gradient(#0a0a0b,#0000 12%,#0000 40%,#0a0a0b 58%)}
 .pin{top:28vh}.lock{top:calc(28vh + 34px)}.pin .ring{width:180px;height:180px;margin:-90px}
 .pit-route{height:56vh}
 .pit-inner{margin-top:-14vh}
}
@media(prefers-reduced-motion:reduce){
 .pit-map{transform:none;transition:none}.pin .ring,.lock .l1,.status.open i{animation:none}
 .pin .ring{opacity:.4;transform:scale(.6)}.pit-route path{stroke-dashoffset:0;transition:none}
 .board,.pit .bookform{opacity:1;transform:none;transition:none}.gauge .arc{stroke-dasharray:var(--v) 100;transition:none}
 .lock .l1{display:none}.lock .l2{display:inline}
}
.board .big{font-size:clamp(40px,4.4vw,64px)}
.pit-map iframe{filter:invert(.9) hue-rotate(180deg) saturate(.5) brightness(.95) contrast(1.05)}

/* logo */
.logo img{height:44px;width:auto;display:block;object-fit:contain}
@media(max-width:640px){.logo img{height:36px}}
.door-sign{width:min(60vw,560px)}.door-sign img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 3px 0 #000) drop-shadow(0 0 18px #0008)}
.door-sign small{margin-top:14px}
@media(max-width:760px){.door-sign{width:78vw;font-size:inherit}}
footer{display:flex;flex-direction:column;align-items:center;gap:14px}.flogo{width:180px;height:auto;opacity:.9}
.formlogo{width:120px;height:auto;margin-bottom:-4px}.pit .formlogo,#contact .formlogo{display:none}

/* ===== QA fixes ===== */
html,body{overflow-x:clip;max-width:100%}
.nav{gap:12px}.logo{display:flex;align-items:center;min-height:44px}
.nav nav{display:flex;align-items:center}
.nav nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.btn-sm{padding:0 16px!important;min-height:44px}
.tel{display:inline-flex;align-items:center;min-height:48px}
.btn,.ghost{min-height:48px;display:inline-flex;align-items:center}
.gauge span small{font-size:12px}
.intro-copy h2{background:#000a;padding:12px 16px;display:inline-block}
.menu-toggle{display:none;width:44px;height:44px;background:none;border:1px solid #444;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.menu-toggle span{width:20px;height:2px;background:#fff;transition:.25s}
@media(max-width:860px){
 .menu-toggle{display:inline-flex;margin-left:auto}
 .nav nav{position:fixed;inset:0 0 auto 0;top:0;height:100dvh;flex-direction:column;justify-content:center;gap:8px;background:#0a0a0bf5;transform:translateY(-100%);transition:transform .35s ease;z-index:-1}
 .nav nav.open{transform:none}
 .nav nav a,.nav nav a:not(.btn-sm){display:inline-flex;margin:0;font-size:28px;letter-spacing:3px}
 .nav nav .btn-sm{margin-top:16px;font-size:22px}
 body.nav-open{overflow:hidden}
 .nav-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .nav-open .menu-toggle span:nth-child(2){opacity:0}
 .nav-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media(max-width:760px){.gal figcaption{font-size:13px;padding:8px}.gal{grid-auto-rows:220px}}
@media(max-width:400px){.gal{grid-template-columns:1fr}.gal .w2{grid-column:auto}.offer{right:auto;left:5vw;top:72px}.c1{top:24vh}}
.modal{align-items:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch}.mbox{max-height:none;margin:auto 0}
@media(max-height:700px),(max-width:480px){.modal{padding:8px}}
@media(prefers-reduced-motion:reduce){.nav nav{transition:none}}
@media(max-width:860px){.nav nav{background:#0a0a0b}}
