:root{
  --bg:#050B1E; --raised:#0A1633; --panel:#0C1B40; --panel2:#04143C; --hair:#1B2C58;
  --red:#D91E2E; --red-h:#FF2D3F; --red-l:#FF6470;
  --silver:#C9D1DC; --steel:#8E9AB0; --white:#F4F7FC; --muted:#5F6C82; --purple:#B14BF4;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg); color:var(--silver);
  font-family:'Barlow',sans-serif; overflow-x:hidden;
  background-image:
    repeating-linear-gradient(45deg, rgba(201,209,220,0.022) 0px, rgba(201,209,220,0.022) 1px, transparent 1px, transparent 8px),
    repeating-linear-gradient(-45deg, rgba(201,209,220,0.018) 0px, rgba(201,209,220,0.018) 1px, transparent 1px, transparent 8px);
  background-attachment:fixed;
}
a{color:var(--red-h); text-decoration:none;}
a:hover{color:var(--red-l);}
::selection{background:var(--red); color:var(--white);}
img{max-width:100%;}

.container{max-width:1200px; margin:0 auto; padding-left:24px; padding-right:24px;}
.section{padding-top:clamp(48px,6vw,84px); padding-bottom:clamp(48px,6vw,84px);}
.band{background:var(--raised); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair);}

/* Type */
.display{font-family:'Barlow Condensed',sans-serif; font-style:italic; font-weight:800; text-transform:uppercase; color:var(--white); line-height:0.92; letter-spacing:-0.01em; margin:0;}
h1.display{font-size:clamp(46px,7vw,92px); line-height:0.9;}
h2.display{font-size:clamp(32px,4.8vw,62px); line-height:0.94;}
h3.display{font-family:'Barlow Condensed',sans-serif; font-style:italic; font-weight:700; text-transform:uppercase; color:var(--white); line-height:1; margin:0;}
.lead{font-size:clamp(16px,1.6vw,19px); line-height:1.6; color:var(--silver); margin:0; max-width:640px;}

.eyebrow{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.eyebrow .dash{display:inline-block; width:26px; height:8px; background:var(--red); transform:skewX(-18deg);}
.eyebrow span.txt{font-family:'Chakra Petch',sans-serif; font-weight:600; font-size:14px; letter-spacing:0.26em; text-transform:uppercase; color:var(--steel);}

/* Buttons */
.btn{display:inline-block; transform:skewX(-10deg); padding:16px 34px; cursor:pointer; border:none; background:var(--red); box-shadow:0 10px 34px rgba(217,30,46,0.36); font-family:inherit;}
.btn>span{display:block; transform:skewX(10deg); font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:15px; letter-spacing:0.14em; text-transform:uppercase; color:var(--white);}
.btn:hover{background:var(--red-h);}
.btn--sm{padding:13px 28px;} .btn--sm>span{font-size:14px;}
.btn--ghost{background:transparent; border:1.5px solid rgba(201,209,220,0.35); box-shadow:none; padding:14.5px 32px;}
.btn--ghost>span{color:var(--silver);}
.btn--ghost:hover{background:rgba(201,209,220,0.06); border-color:var(--silver);}
.btn--ghost.btn--sm{padding:11.5px 26px;}

/* Nav */
.nav{position:sticky; top:0; z-index:60; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); background:rgba(5,11,30,0.85); border-bottom:1px solid var(--hair); font-family:'Chakra Petch',sans-serif;}
.nav-inner{max-width:1200px; margin:0 auto; padding:11px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px;}
.nav-logo img{height:40px; width:auto; display:block;}
.nav-links{display:flex; align-items:center; gap:26px;}
.nav-link{position:relative; font-weight:600; font-size:12.5px; letter-spacing:0.13em; text-transform:uppercase; color:var(--silver); padding:8px 0; white-space:nowrap;}
.nav-link:hover{color:var(--white);}
.nav-link.active{color:var(--white);}
.nav-link.active::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--red);}
.nav-toggle{display:none; background:transparent; border:1px solid var(--hair); color:var(--white); font-family:'Chakra Petch',sans-serif; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; font-size:12px; padding:10px 15px; cursor:pointer;}
.nav-mobile{display:none; border-top:1px solid var(--hair); background:rgba(4,20,60,0.97); padding:14px 22px 20px; flex-direction:column; gap:4px;}
.nav-mobile a{font-weight:600; font-size:14px; letter-spacing:0.13em; text-transform:uppercase; color:var(--silver); padding:12px 0; border-bottom:1px solid #12224a;}
.nav-mobile a.active{color:var(--white);}
.nav-mobile .btn{margin-top:14px; text-align:center;}
@media(max-width:900px){
  .nav-links,.nav-cta{display:none;}
  .nav-toggle{display:inline-block;}
  .nav-mobile.open{display:flex;}
}

/* Page header */
.page-header{position:relative; border-bottom:1px solid var(--hair); background:radial-gradient(120% 130% at 18% -30%, rgba(217,30,46,0.14), transparent 58%);}
.page-header .inner{max-width:1200px; margin:0 auto; padding:clamp(52px,7vw,96px) 24px clamp(34px,4vw,50px);}
.page-header h1{margin-bottom:22px;}

/* Cards */
.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:22px;}
.card{position:relative; background:var(--panel); border:1px solid var(--hair); border-top:3px solid var(--red); padding:30px 28px 32px; height:100%;}
.card-tag{display:inline-block; background:rgba(217,30,46,0.13); border:1px solid rgba(217,30,46,0.4); transform:skewX(-10deg); padding:5px 13px; margin-bottom:20px;}
.card-tag>span{display:block; transform:skewX(10deg); font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--red-l);}
.card h3{font-size:clamp(23px,2.5vw,31px); margin-bottom:13px;}
.card p{font-size:15.5px; line-height:1.62; color:var(--steel); margin:0;}

/* Split */
.split{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:26px; align-items:stretch;}
.split-panel{background:linear-gradient(150deg,var(--panel),var(--panel2)); border:1px solid var(--hair); padding:clamp(32px,4vw,52px);}
.split-panel h2{margin-bottom:18px;}
.split-panel .lead{color:var(--silver); margin-bottom:30px;}

/* Notice */
.notice{background:rgba(217,30,46,0.07); border:1px solid var(--hair); border-left:4px solid var(--red); padding:20px 24px;}
.notice p{font-size:15.5px; line-height:1.6; color:var(--silver); margin:0;}

/* Racing line */
.race-line{margin:clamp(38px,6vw,72px) 0 0;}
.race-line svg{display:block; width:100%; height:clamp(70px,10vw,128px); overflow:visible;}
.race-line path{stroke-dasharray:2000; stroke-dashoffset:2000; animation:raceLine 2.2s cubic-bezier(.6,.02,.2,1) .35s forwards;}
@keyframes raceLine{to{stroke-dashoffset:0;}}

/* Hero */
.hero{max-width:1200px; margin:0 auto; padding:clamp(44px,6vw,84px) 24px 0;}
.hero-row{display:flex; flex-wrap:wrap-reverse; align-items:center; gap:48px;}
.hero-text{flex:1 1 420px; min-width:300px;}
.hero-text h1{margin-bottom:26px;}
.hero-text .lead{max-width:520px; margin-bottom:34px;}
.hero-actions{display:flex; flex-wrap:wrap; gap:16px;}
.hero-logo{flex:1 1 380px; min-width:280px; display:flex; justify-content:center; position:relative;}
.hero-logo .glow{position:absolute; inset:-6% -4%; background:radial-gradient(closest-side, rgba(217,30,46,0.28), transparent 72%); opacity:0.55; filter:blur(6px);}
.hero-logo img{position:relative; width:100%; max-width:560px; height:auto; display:block; filter:drop-shadow(0 24px 50px rgba(0,0,0,0.55));}

/* Timing tower */
.tower{background:var(--panel); border:1px solid var(--hair); overflow:hidden; font-family:'Chakra Petch',sans-serif; max-width:820px;}
.tower-head{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:18px 22px; background:linear-gradient(90deg, rgba(217,30,46,0.28), rgba(217,30,46,0.04) 60%, transparent); border-bottom:1px solid var(--hair);}
.tower-title{font-family:'Barlow Condensed',sans-serif; font-style:italic; font-weight:800; text-transform:uppercase; font-size:clamp(20px,2.2vw,28px); color:var(--white);}
.tower-status{font-weight:600; font-size:11.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--steel);}
.tower-cols,.tower-row{display:grid; grid-template-columns:64px 1fr auto 92px; align-items:center;}
.tower-cols{padding:11px 22px; border-bottom:1px solid var(--hair); font-weight:700; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted);}
.tower-cols .r,.tower-row .r{text-align:right;}
.tower-row{padding:14px 22px; border-bottom:1px solid #12224a;}
.pos{display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-right:3px solid var(--hair); font-family:'Barlow Condensed',sans-serif; font-style:italic; font-weight:800; font-size:26px; color:var(--white);}
.pos.p1{border-right-color:var(--red);} .pos.pod{border-right-color:var(--silver);}
.driver{font-weight:600; font-size:15px; letter-spacing:0.08em; text-transform:uppercase; color:var(--white); padding-left:4px;}
.driver .star{color:var(--red); margin-left:7px;}
.val{text-align:right; font-weight:600; font-size:15.5px; font-variant-numeric:tabular-nums; letter-spacing:0.02em; color:var(--white);}
.val.fast{color:var(--purple);}
.gap{text-align:right; font-weight:500; font-size:13.5px; font-variant-numeric:tabular-nums; color:var(--steel);}

/* Filter row / chips */
.filter-row{display:flex; flex-wrap:wrap; gap:26px 40px; align-items:flex-end; margin-bottom:30px;}
.filter-label{display:block; font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); margin-bottom:10px;}
.select-chip{display:inline-block; background:var(--panel); border:1px solid var(--hair); border-left:3px solid var(--red); transform:skewX(-10deg); cursor:pointer;}
.select-chip .inner{transform:skewX(10deg); display:flex; align-items:center; padding:10px 16px; gap:10px;}
.select-chip select{appearance:none; -webkit-appearance:none; background:transparent; border:none; color:var(--white); font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:13px; letter-spacing:0.1em; text-transform:uppercase; padding:0; cursor:pointer; outline:none;}
.select-chip .caret{pointer-events:none; color:var(--steel); font-size:10px;}
.chips{display:flex; flex-wrap:wrap; gap:10px;}
.chip{background:transparent; border:1px solid var(--hair); transform:skewX(-10deg); padding:9px 16px; cursor:pointer;}
.chip>span{display:block; transform:skewX(10deg); font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--silver);}
.chip.active{background:var(--red); border-color:var(--red);}
.chip.active>span{color:var(--white);}

/* Events schedule */
.ev-row{display:flex; gap:20px; align-items:center; background:var(--panel); border:1px solid var(--hair); border-left:3px solid var(--red); padding:16px 22px;}
.ev-date{flex:0 0 auto; text-align:center; background:var(--panel2); border:1px solid var(--hair); padding:8px 14px; min-width:72px;}
.ev-date .k{display:block; font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:10.5px; letter-spacing:0.18em; text-transform:uppercase; color:var(--steel);}
.ev-date .v{display:block; font-family:'Barlow Condensed',sans-serif; font-style:italic; font-weight:800; font-size:26px; line-height:1; color:var(--white);}
.ev-body{flex:1 1 auto; min-width:0;}
.ev-body .t{display:inline-block; font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--red-l); margin-bottom:4px;}
.ev-body h4{font-family:'Barlow Condensed',sans-serif; font-style:italic; font-weight:700; text-transform:uppercase; font-size:22px; line-height:1; margin:0 0 4px; color:var(--white);}
.ev-body p{font-size:14px; line-height:1.5; color:var(--steel); margin:0;}
.stack{display:flex; flex-direction:column; gap:12px;}

/* Booking slot */
.book-slot{position:relative; min-height:320px; background:var(--raised); border:1px solid var(--hair); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:48px 24px; overflow:hidden;}
.book-slot .weave{position:absolute; inset:0; background:repeating-linear-gradient(-10deg, transparent 0 44px, rgba(217,30,46,0.05) 44px 46px);}
.book-slot .inner{position:relative;}
.book-slot .big{font-family:'Barlow Condensed',sans-serif; font-style:italic; font-weight:700; text-transform:uppercase; font-size:clamp(22px,2.6vw,30px); color:var(--silver); margin:0 0 8px;}
.book-slot .sub{font-family:'Chakra Petch',sans-serif; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin:0;}

/* Contact panel */
.cta-panel{position:relative; background:linear-gradient(135deg,var(--panel),var(--bg)); border:1px solid var(--hair); padding:clamp(38px,5vw,64px); overflow:hidden; text-align:center;}
.cta-panel .wash{position:absolute; inset:0; background:radial-gradient(80% 120% at 50% -20%, rgba(217,30,46,0.16), transparent 60%); pointer-events:none;}
.cta-panel .inner{position:relative;}
.cta-panel .eyebrow{justify-content:center;}
.cta-panel h2{margin-bottom:18px;}
.cta-panel .lead{margin:0 auto 32px; text-align:center;}

/* Data blocks */
.data-hours{border-top:1px solid #12224a; padding-top:16px; margin-bottom:20px;}
.data-hours .k{display:block; font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); margin-bottom:8px;}
.data-hours .row{display:flex; justify-content:space-between; gap:14px; font-family:'Chakra Petch',sans-serif; font-size:13.5px; letter-spacing:0.05em; color:var(--silver); margin-bottom:5px;}
.data-hours .row .num{color:var(--white); font-variant-numeric:tabular-nums;}
.addr{font-family:'Chakra Petch',sans-serif; font-size:14px; line-height:1.7; letter-spacing:0.04em; color:var(--silver); margin:0 0 6px;}
.dir-link{font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:13px; letter-spacing:0.12em; text-transform:uppercase; color:var(--red-l);}

/* Footer */
.footer{border-top:1px solid var(--hair); background:rgba(4,20,60,0.4); font-family:'Barlow',sans-serif;}
.footer-cols{max-width:1200px; margin:0 auto; padding:clamp(40px,5vw,60px) 24px; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:40px;}
.footer img{height:52px; width:auto; display:block; margin-bottom:18px;}
.footer .blurb{font-size:15px; line-height:1.6; color:var(--steel); margin:0; max-width:300px;}
.footer h4{font-family:'Chakra Petch',sans-serif; font-weight:700; font-size:12px; letter-spacing:0.2em; text-transform:uppercase; color:var(--silver); margin:0 0 18px;}
.footer ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px;}
.footer ul a{font-size:15px; color:var(--steel);}
.footer ul a:hover{color:var(--white);}
.footer ul a.fam{color:var(--silver);}
.footer ul a.fam:hover{color:var(--red-l);}
.footer-base{border-top:1px solid #12224a;}
.footer-base .inner{max-width:1200px; margin:0 auto; padding:18px 24px; display:flex; flex-wrap:wrap; gap:10px 20px; align-items:center; justify-content:space-between;}
.footer-base .cc{font-family:'Chakra Petch',sans-serif; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted);}
.footer-base .tag{font-family:'Barlow Condensed',sans-serif; font-style:italic; font-weight:700; font-size:15px; letter-spacing:0.1em; text-transform:uppercase; color:var(--steel);}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .race-line path{animation:none; stroke-dashoffset:0;}
}
