:root{--bg:#0a0a0a;--bg2:#141414;--red:#e0202a;--fg:#fff;--mut:#a8a8a8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 Saira,system-ui,sans-serif}
a{color:inherit}h1,h2,h3{font-family:'Saira Condensed',Saira,sans-serif;text-transform:uppercase;letter-spacing:.04em;line-height:1.05;margin:0 0 .5em}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:10px 4vw;background:rgba(0,0,0,.92);border-bottom:2px solid var(--red)}
.brand img{height:54px;display:block}nav{display:flex;gap:22px;margin-left:auto;align-items:center}nav a{text-decoration:none;text-transform:uppercase;font-weight:600;font-size:.9rem;letter-spacing:.08em}nav a:hover{color:var(--red)}
.contact-links{display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.2}.phone,.email{font-weight:800;text-decoration:none;color:var(--red);white-space:nowrap}.phone{font-size:1.1rem}.email{font-size:.78rem;font-weight:600;letter-spacing:.02em;text-transform:none;font-family:Saira,system-ui,sans-serif}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:14px 26px;border:2px solid var(--red);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);cursor:pointer;font-family:inherit;font-size:1rem}
.btn:hover{background:#b8141c}.btn.ghost{background:transparent;color:#fff;border-color:#fff}.btn.sm{padding:8px 16px;font-size:.8rem}
.hero{position:relative;overflow:hidden;background:#000}.hero-vid,.hero-shade{display:none}
.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3vw;padding:3vw 4vw;max-width:1400px;margin:0 auto;min-height:78vh}
.kicker{color:var(--red);text-transform:uppercase;letter-spacing:.2em;font-weight:600;font-size:.85rem}
h1{font-size:clamp(2.6rem,6vw,5rem)}h1 span{display:block;color:var(--red)}.lead{font-size:1.15rem;color:#ddd;max-width:560px}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0}.hours{color:var(--mut);text-transform:uppercase;letter-spacing:.12em;font-size:.85rem}
.hero-art img{width:100%;max-width:760px;max-height:90vh;object-fit:contain;display:block;margin:auto;filter:drop-shadow(0 12px 40px rgba(224,32,42,.25))}
.sec{padding:80px 4vw;max-width:1300px;margin:0 auto}.band{max-width:none;background:var(--bg2);border-top:1px solid #222;border-bottom:1px solid #222}.band>*{max-width:1300px;margin-left:auto;margin-right:auto}
h2{font-size:clamp(2rem,4vw,3rem);border-left:6px solid var(--red);padding-left:16px}h2 em{color:var(--red);font-style:normal;margin-right:10px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.card{background:var(--bg2);border-top:4px solid var(--red)}.card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;filter:brightness(.85)}.card div{padding:20px}.card p{color:#ccc;margin:0}h3{font-size:1.4rem}
.cities{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.cities div{border:2px solid #2a2a2a;padding:24px;text-align:center;background:#000}.cities b{display:block;font:800 2rem 'Saira Condensed',sans-serif;text-transform:uppercase}.cities span{color:var(--red);text-transform:uppercase;letter-spacing:.15em;font-size:.8rem}
.area p{color:#ccc;max-width:760px}.hours.big{color:#fff;font-weight:600}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery img{width:100%;aspect-ratio:1;object-fit:cover;display:block;filter:grayscale(.15) brightness(.9);transition:.2s}.gallery img:hover{filter:none}
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.why div{border-left:3px solid var(--red);padding-left:18px}.why p{color:#ccc;margin:0}
.quote .intro{color:#ccc}#qf{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;max-width:900px;background:var(--bg2);padding:28px;border-top:4px solid var(--red)}
.f{display:flex;flex-direction:column}.f.wide{grid-column:1/-1}.f label{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:600;margin-bottom:6px}
.f input,.f select,.f textarea{background:#000;color:#fff;border:1px solid #333;padding:12px;font:inherit;border-radius:0}.f textarea{min-height:110px}.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--red);border-color:var(--red)}
.err{color:#ff5a62;font-size:.85rem;margin:4px 0 0}.formerr{grid-column:1/-1;color:#ff5a62}.actions{grid-column:1/-1}.thanks{grid-column:1/-1;font-size:1.2rem}.muted{color:var(--mut)}
footer{text-align:center;padding:50px 4vw 100px;border-top:2px solid var(--red);color:#ccc}footer img{height:70px}footer a{color:var(--red);font-weight:800;text-decoration:none}
.callbar{display:none}
@media(max-width:860px){nav{display:none}.contact-links{margin-left:auto}.phone{font-size:1rem}.email{font-size:.68rem;max-width:46vw;overflow:hidden;text-overflow:ellipsis}.brand img{height:42px}
.hero{min-height:88vh;position:relative}.hero-vid{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:1}.hero-vid::-webkit-media-controls{display:none!important}
.hero-shade{display:block;position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,.40) 45%,rgba(0,0,0,.62) 100%)}
.hero-in{display:flex;flex-direction:column;align-items:stretch;grid-template-columns:1fr;min-height:88vh;padding:16px 6vw 48px;text-align:left;position:relative;z-index:2;gap:12px}
.hero-art{display:block;position:static;order:-1;align-self:center;width:100%;max-width:100%;margin:0;padding:0;z-index:2;pointer-events:none;text-align:center}
.hero-art img{display:inline-block;width:auto;height:96px;max-height:96px;max-width:110px;object-fit:contain;margin:0 auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.7))}
.hero-copy{order:1;width:100%;max-width:100%;position:relative;z-index:2;margin-top:0;padding:12px 14px 16px;border-radius:10px;background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.58));clear:both}
.hero-copy h1,.hero-copy .lead,.hero-copy .pride,.hero-copy .kicker,.hero-copy .hours,.hero-copy .soon{text-shadow:0 2px 10px rgba(0,0,0,.9)}
.hero-copy .lead{margin-left:0;margin-right:0}.ctas{justify-content:flex-start}.pride{text-align:left}
.cities{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}#qf{grid-template-columns:1fr;padding:20px}
.callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--red);color:#fff;text-align:center;font-weight:800;text-transform:uppercase;letter-spacing:.12em;padding:16px;text-decoration:none;font-size:1.1rem}}
.pride{font:800 clamp(1.2rem,2.2vw,1.6rem)/1.25 'Saira Condensed',sans-serif;text-transform:uppercase;letter-spacing:.05em;border-left:4px solid var(--red);padding-left:12px;margin:0 0 14px}.pride.center{margin:0 0 30px;color:#fff}
.soon{display:inline-block;background:var(--red);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;padding:6px 12px;margin:0 0 10px}
.tag{display:inline-block;background:#333;color:#fff;font-size:.7rem;padding:3px 8px;vertical-align:middle;letter-spacing:.1em}
.cities .later{border-style:dashed;opacity:.75}