:root{--fsr-pink:#ec158b;--fsr-yellow:#f2e500;--fsr-black:#050505;--fsr-charcoal:#0c0c0e;--fsr-white:#f8f8f6;--lime:var(--fsr-yellow)!important;--blue:var(--fsr-pink)!important;--orange:var(--fsr-yellow)!important;--deep:#a80062!important;--bg:#050505!important;--panel:#0b0b0d!important;--panel2:#101014!important;--line:#29292d!important}
html{background:#050505}body{background:radial-gradient(circle at 80% -10%,rgba(236,21,139,.14),transparent 36%),#050505!important}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(118deg,transparent 0 67%,rgba(242,229,0,.025) 67% 68%,transparent 68%),repeating-linear-gradient(125deg,transparent 0 80px,rgba(255,255,255,.012) 80px 81px)}
.site-header,.topbar,.portal-head,.mech-head{border-bottom-color:rgba(236,21,139,.28)!important;background:rgba(5,5,5,.92)!important;backdrop-filter:blur(20px)}
.brand img,.top-brand img,.portal-head img,.mech-head img,.login-mark img,.login-box img,footer img,.invoice-head img{object-fit:contain!important;filter:none!important}
.brand img{width:230px!important}.top-brand img{max-width:185px!important}.portal-head img{max-width:190px!important}
.primary-btn,.btn.primary,.pbtn.primary{background:linear-gradient(100deg,var(--fsr-pink),#ff2b9c)!important;color:white!important;border-color:transparent!important;box-shadow:0 10px 34px rgba(236,21,139,.13)}
.primary-btn:hover,.btn.primary:hover,.pbtn.primary:hover{box-shadow:0 0 38px rgba(236,21,139,.32)!important;transform:translateY(-1px)}
.ghost-btn,.btn.ghost,.pbtn{border-color:#343438!important;background:rgba(255,255,255,.025)!important}.ghost-btn:hover,.btn.ghost:hover,.pbtn:hover{border-color:var(--fsr-pink)!important;background:rgba(236,21,139,.06)!important}
.eyebrow,.hero-photo-caption small,.support-card>small,.timeline small,.status-chip,.badge,.setup-step>span{color:var(--fsr-pink)!important}.eyebrow span{background:var(--fsr-yellow)!important}.ticker div:last-child,.code-band span{color:var(--fsr-yellow)!important}
.hero h1 em,.section h2 em,.panel-head h1 em,.hero-panel h1 em{color:var(--fsr-pink)!important}.hero-glow{background:radial-gradient(circle,rgba(236,21,139,.18),transparent 66%)!important}
.hero-grid{background-image:linear-gradient(rgba(242,229,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(236,21,139,.04) 1px,transparent 1px)!important}
.hero-factory-panel{position:relative;z-index:2;min-height:590px;border:1px solid #2c2c31;background:linear-gradient(145deg,#141418,#070708 64%);overflow:hidden;box-shadow:0 35px 90px rgba(0,0,0,.52);display:flex;flex-direction:column;justify-content:flex-end;padding:42px}
.hero-factory-panel:before{content:"FSR HAASE";position:absolute;left:-25px;top:42px;font-family:Arial Black,Arial,sans-serif;font-size:clamp(100px,12vw,180px);font-weight:950;letter-spacing:-14px;color:rgba(255,255,255,.035);transform:skewX(-8deg)}
.hero-factory-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(128deg,transparent 0 42%,rgba(236,21,139,.95) 42% 45%,transparent 45% 52%,rgba(242,229,0,.92) 52% 54%,transparent 54%);opacity:.75;pointer-events:none}
.factory-panel-content{position:relative;z-index:2}.factory-panel-kicker{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:900;letter-spacing:.16em;color:var(--fsr-yellow)}.factory-panel-kicker:before{content:"";width:32px;height:3px;background:var(--fsr-pink)}.factory-panel-content h2{font-size:clamp(42px,5vw,72px);line-height:.9;margin:18px 0 24px;letter-spacing:-.055em}.factory-panel-content h2 span{color:var(--fsr-pink)}.factory-panel-specs{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #35353a;border-left:1px solid #35353a}.factory-panel-specs div{padding:14px;border-right:1px solid #35353a;border-bottom:1px solid #35353a}.factory-panel-specs small,.factory-panel-specs strong{display:block}.factory-panel-specs small{font-size:8px;letter-spacing:.13em;color:#797981}.factory-panel-specs strong{font-size:11px;margin-top:5px}
.support-card.featured{background:linear-gradient(145deg,#141016,#09090a)!important;border-color:#4b2440!important}.support-inclusions{background:#31232d!important}.support-inclusions>div{background:#0a090b!important}.support-inclusions b{color:white!important}
.pillars article,.timeline article{background:#09090b!important}.pillars b{color:var(--fsr-yellow)!important}.timeline>article>span{color:var(--fsr-yellow)!important}.code-band{border-color:#3c2635!important}.join{background:linear-gradient(120deg,#190d16,#080809 72%)!important;border-color:#4d223e!important}.join:after{content:"FSR"!important;color:rgba(236,21,139,.06)!important}
.sidebar button.active{border-color:var(--fsr-pink)!important;box-shadow:inset 3px 0 var(--fsr-pink)!important}.sidebar button.active span,.sidebar button:hover b,.top-actions a:hover{color:var(--fsr-pink)!important}.live-dot{background:var(--fsr-yellow)!important;box-shadow:0 0 14px rgba(242,229,0,.65)!important}
.card,.command-card,.mech-card,.login-card,.login-box,.hero-panel{border-color:#2c2c31!important}.rate-chip,.status-chip{border-color:rgba(236,21,139,.42)!important;background:rgba(236,21,139,.08)!important}
input:focus,select:focus,textarea:focus{border-color:var(--fsr-pink)!important;box-shadow:0 0 0 2px rgba(236,21,139,.12)!important;outline:none!important}
::selection{background:var(--fsr-pink);color:white}
@media(max-width:1050px){.hero-factory-panel{min-height:500px;max-width:760px;width:100%}}@media(max-width:620px){.hero-factory-panel{min-height:430px;padding:26px}.factory-panel-specs{grid-template-columns:1fr}.brand img{width:170px!important}}

/* =========================================================
   FSR HAASE WOW PASS · official artwork + PitLogic + Aaron
   ========================================================= */
:root{
  --fsr-gold:#e6c163;
  --fsr-gold-soft:#c9a84d;
  --fsr-olive:#b4aa08;
  --fsr-pink:#ed008c;
  --fsr-yellow:#ffd100;
  --fsr-black:#030303;
}
body{background:
  radial-gradient(circle at 82% 3%,rgba(237,0,140,.13),transparent 28%),
  radial-gradient(circle at 10% 42%,rgba(230,193,99,.055),transparent 25%),
  #030303!important}
.site-header{height:96px;padding:0 34px;grid-template-columns:210px 1fr auto;background:rgba(3,3,3,.94)!important}
.brand{height:88px;display:flex;align-items:center}.brand img{width:auto!important;height:82px!important;max-width:190px!important;object-fit:contain!important}
.top-brand img,.portal-head img,.mech-head img,.login-mark img,.login-box img,.signup-head img,.invoice-head img{width:auto!important;max-width:210px!important;max-height:86px!important}
.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:linear-gradient(90deg,var(--fsr-gold),var(--fsr-pink));transition:.2s}.site-header nav a:hover:after{right:0}
.gold-script,.leader-quote{background:linear-gradient(120deg,#9f7b2f 0%,#f7df8b 35%,#c79838 67%,#ffe8a1 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Home hero: real FSR Haase photography, no legacy imagery. */
.hero{min-height:790px;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:54px;padding-top:82px}
.hero-copy{padding:28px 0}.hero h1{font-size:clamp(54px,5.7vw,92px)}.hero .lead{max-width:650px}
.hero-team-photo.hero-factory-panel{position:relative;min-height:590px;padding:0!important;background:#050505!important;border:1px solid #3b3038!important;transform:perspective(1300px) rotateY(-2deg);overflow:hidden}
.hero-team-photo.hero-factory-panel:before{content:"";position:absolute;z-index:2;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--fsr-gold),var(--fsr-pink) 55%,var(--fsr-yellow))}
.hero-team-photo.hero-factory-panel:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.86) 100%);opacity:1}
.hero-team-photo img{width:100%;height:100%;min-height:590px;object-fit:cover;object-position:center center;display:block;filter:saturate(1.04) contrast(1.03)}
.hero-photo-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(0,0,0,.08),transparent 50%)}
.hero-photo-caption{z-index:4;align-items:flex-end}.hero-photo-caption>div:first-child{display:flex;flex-direction:column;gap:5px}.hero-photo-caption strong{font-size:20px!important;letter-spacing:.02em!important;text-align:left!important}.champion-lockup{text-align:right;max-width:220px}.champion-lockup span,.champion-lockup b{display:block}.champion-lockup span{font-size:9px;letter-spacing:.18em;color:var(--fsr-gold);font-weight:900}.champion-lockup b{font-size:12px;line-height:1.3;margin-top:5px;color:white}
.hero-pricing.single{grid-template-columns:minmax(220px,.72fr) minmax(360px,1.28fr);max-width:760px}.hero-pricing.single strong{font-size:22px}.hero-pricing.single .included span{color:var(--fsr-gold)}

/* Premium PitLogic selling block */
.pitlogic{display:grid;grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);gap:70px;align-items:center;border-top:1px solid #21181f;border-bottom:1px solid #21181f;background:linear-gradient(120deg,rgba(237,0,140,.035),transparent 42%)}
.pitlogic h2{font-size:clamp(48px,5vw,76px);margin-bottom:26px}.pitlogic-copy>p:not(.eyebrow){max-width:640px;color:#9e9aa0;line-height:1.75;font-size:15px}
.pitlogic-benefits{margin:30px 0;display:grid;border-top:1px solid #30282e}.pitlogic-benefits>div{display:grid;grid-template-columns:34px 155px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid #30282e;align-items:start}.pitlogic-benefits b{color:var(--fsr-gold);font-size:10px}.pitlogic-benefits strong{font-size:11px;letter-spacing:.08em}.pitlogic-benefits span{color:#88848a;font-size:12px;line-height:1.5}
.pitlogic-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.pitlogic-actions>span{font-size:10px;color:#8b878d;letter-spacing:.08em;text-transform:uppercase;max-width:270px}
.pitlogic-console{position:relative;padding:22px;background:linear-gradient(145deg,#101014,#060607);border:1px solid #42313d;box-shadow:0 35px 100px rgba(0,0,0,.52);overflow:hidden}.pitlogic-console:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 0 62%,rgba(230,193,99,.06) 62% 63%,transparent 63% 69%,rgba(237,0,140,.08) 69% 70%,transparent 70%);pointer-events:none}.pitlogic-brand{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #29242a;padding-bottom:17px;position:relative}.pitlogic-brand img{width:150px;max-height:58px;object-fit:contain}.pitlogic-brand span{font-size:9px;color:var(--fsr-gold);font-weight:900;letter-spacing:.16em}.pl-session{padding:24px 0 18px;display:grid;grid-template-columns:1fr auto;gap:5px 20px;position:relative}.pl-session small{grid-column:1/-1;color:#6e6a70;font-size:9px;letter-spacing:.14em}.pl-session strong{font-size:19px}.pl-session i{font-style:normal;color:#8de3ad;font-size:9px;letter-spacing:.11em;border:1px solid #28543a;padding:6px 8px;align-self:center}.pl-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #2a252b}.pl-grid article{padding:17px;border-right:1px solid #2a252b;border-bottom:1px solid #2a252b}.pl-grid article:nth-child(2n){border-right:0}.pl-grid article:nth-last-child(-n+2){border-bottom:0}.pl-grid small,.pl-grid span{display:block}.pl-grid small{font-size:8px;color:#757178;letter-spacing:.12em}.pl-grid b{display:block;font-size:27px;margin:6px 0;color:#fff}.pl-grid span{font-size:9px;color:var(--fsr-gold)}.pl-trace{height:110px;margin:18px 0;border:1px solid #2b252c;position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 21px,rgba(255,255,255,.025) 21px 22px)}.pl-trace:before{content:"";position:absolute;left:-5%;right:-5%;top:54%;height:3px;background:linear-gradient(90deg,transparent,var(--fsr-pink) 12%,var(--fsr-gold) 50%,var(--fsr-pink) 85%,transparent);transform:skewY(-7deg);filter:drop-shadow(0 0 8px rgba(237,0,140,.45))}.pl-trace span{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--fsr-gold);box-shadow:0 0 12px rgba(230,193,99,.6)}.pl-trace span:nth-child(1){left:10%;top:71%}.pl-trace span:nth-child(2){left:24%;top:52%}.pl-trace span:nth-child(3){left:38%;top:60%}.pl-trace span:nth-child(4){left:51%;top:38%}.pl-trace span:nth-child(5){left:65%;top:50%}.pl-trace span:nth-child(6){left:79%;top:27%}.pl-trace span:nth-child(7){left:90%;top:39%}.pl-decision{padding:16px;border-left:3px solid var(--fsr-gold);background:#0d0c0e}.pl-decision small,.pl-decision strong{display:block}.pl-decision small{font-size:8px;letter-spacing:.14em;color:#706b71}.pl-decision strong{font-size:11px;line-height:1.5;margin-top:6px}

/* Championship / leadership block */
.leader{display:grid;grid-template-columns:minmax(500px,1.08fr) minmax(0,.92fr);gap:68px;align-items:center;background:radial-gradient(circle at 20% 40%,rgba(230,193,99,.06),transparent 36%)}
.leader-photo{position:relative;min-height:510px;overflow:hidden;border:1px solid #352f34;box-shadow:0 30px 80px #0008}.leader-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.62))}.leader-photo img{width:100%;height:100%;min-height:510px;object-fit:cover;object-position:center center;transform:scale(1.02)}.leader-number{position:absolute;z-index:2;right:18px;bottom:-22px;font-size:150px;line-height:1;font-weight:950;color:rgba(255,255,255,.08)}.gold-script{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:19px;letter-spacing:.015em;margin:28px 0 5px}.leader-copy h2{font-size:clamp(52px,5.5vw,80px);margin:8px 0 18px}.leader-role{color:var(--fsr-gold)!important;font-size:10px!important;font-weight:900;letter-spacing:.11em!important;line-height:1.55!important;max-width:620px}.leader-copy>p:not(.eyebrow):not(.leader-role){color:#969298;line-height:1.75;max-width:630px}.leader-quote{font-family:Georgia,serif;font-style:italic;font-size:30px;margin-top:28px}.heritage-signature{width:220px;max-width:70%;display:block;margin-top:20px;mix-blend-mode:screen}

/* Gold micro-accent system: premium, not overused. */
.section-title .eyebrow,.way-intro .eyebrow,.leader .eyebrow,.pitlogic .eyebrow{color:var(--fsr-gold)!important}.leader .eyebrow span,.pitlogic .eyebrow span{background:var(--fsr-pink)!important}.code-band span,.pillars b{color:var(--fsr-gold)!important}.primary-btn{background:linear-gradient(100deg,#ed008c,#ff2da1)!important}.join{box-shadow:inset 0 1px rgba(230,193,99,.15)}

/* Portal gets the same FSR identity + PitLogic is a visible benefit. */
.login-screen,.login{background-image:linear-gradient(90deg,rgba(3,3,4,.96),rgba(7,4,7,.76)),url('/assets/aaron-alexander-hero.jpg')!important;background-size:cover!important;background-position:center!important}
.login-box,.login-card,.signup-box{background:rgba(8,7,9,.92)!important;border-color:#3b3038!important}.login-box:before,.signup-box:before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--fsr-gold),var(--fsr-pink),var(--fsr-yellow));margin:-42px -42px 30px}.signup-box:before{margin:-24px -24px 22px}.portal-head{min-height:90px}.portal-head img{max-height:76px!important}.v4-customer .hero-panel{min-height:380px;background-image:linear-gradient(90deg,rgba(3,3,4,.96) 0%,rgba(8,4,8,.82) 43%,rgba(8,4,8,.22) 100%),url('/assets/aaron-alexander-hero.jpg')!important;background-position:center center!important;border-color:#493442!important}.portal-performance-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px}.portal-performance-links .pbtn{width:auto!important;margin:0!important}.portal-performance-links>span{font-size:10px;letter-spacing:.05em;color:#c0b8be;max-width:390px;line-height:1.5}.portal-performance-links b{color:var(--fsr-gold)}
.v4-admin .admin-welcome-v4{background-image:linear-gradient(90deg,rgba(4,4,5,.94),rgba(8,5,8,.72) 65%,rgba(8,5,8,.30)),url('/assets/aaron-alexander-hero.jpg')!important;background-position:center!important;border-color:#3d3039}.v4-admin .admin-welcome-v4:before{content:"FSR HAASE · RACE OPERATIONS";display:block;color:var(--fsr-gold);font-size:9px;font-weight:900;letter-spacing:.14em;margin-bottom:8px}

/* Responsive refinement */
@media(max-width:1120px){.site-header{grid-template-columns:180px 1fr auto}.brand img{height:72px!important}.pitlogic,.leader{grid-template-columns:1fr}.pitlogic-console{max-width:780px}.leader-photo{min-height:440px}.hero{grid-template-columns:1fr}.hero-team-photo.hero-factory-panel{max-width:900px;width:100%;transform:none}.hero-pricing.single{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.site-header nav{display:none}.site-header{grid-template-columns:1fr auto;height:82px;padding:0 16px}.brand{height:76px}.brand img{height:68px!important}.header-actions .ghost-btn{display:none}.pitlogic,.leader,.section{padding-left:22px;padding-right:22px}.pitlogic-benefits>div{grid-template-columns:28px 1fr}.pitlogic-benefits span{grid-column:2}.leader-photo{min-height:370px}.leader-photo img{min-height:370px}.hero-pricing.single{grid-template-columns:1fr}.champion-lockup{display:none}}
@media(max-width:620px){.hero{padding:55px 18px 55px;gap:26px}.hero h1{font-size:48px}.hero-team-photo.hero-factory-panel,.hero-team-photo img{min-height:330px}.hero-photo-caption strong{font-size:15px!important}.pitlogic-console{padding:15px}.pl-grid{grid-template-columns:1fr}.pl-grid article{border-right:0!important;border-bottom:1px solid #2a252b!important}.pl-grid article:last-child{border-bottom:0!important}.pitlogic h2,.leader-copy h2{font-size:44px}.leader-quote{font-size:24px}.login-box:before{margin:-28px -28px 22px}}

/* =========================================================
   FSR HAASE v6.1 QA PASS · race-ops colour + collision cleanup
   Removes legacy blue/Lap Lab styling and stabilises headings.
   ========================================================= */
body.tpm-race-ops{
  --fluoro:var(--fsr-pink)!important;
  --fluoro-hot:#ff31a5!important;
  --brand-secondary:#fff!important;
  --brand-third:#030303!important;
  --brand-base:#030303!important;
  --line:#2b2429!important;
  background:#030303!important;
  color:#f8f8f6!important;
}
body.tpm-race-ops .site-header{
  background:rgba(3,3,3,.96)!important;
  border-bottom:1px solid rgba(237,0,140,.28)!important;
}
body.tpm-race-ops .hero{
  min-height:410px!important;
  height:auto!important;
  max-height:none!important;
  background:
    radial-gradient(circle at 78% 18%,rgba(237,0,140,.10),transparent 34%),
    radial-gradient(circle at 16% 80%,rgba(230,193,99,.045),transparent 28%),
    linear-gradient(135deg,#070608,#020202)!important;
  border-bottom:1px solid rgba(237,0,140,.18);
}
body.tpm-race-ops .hero-content{
  padding-top:78px!important;
  padding-bottom:104px!important;
  margin-top:0!important;
  max-width:860px!important;
}
body.tpm-race-ops .factory-code{color:var(--fsr-gold)!important;border-left-color:var(--fsr-pink)!important}
body.tpm-race-ops .hero .eyebrow{color:var(--fsr-gold)!important}
body.tpm-race-ops .hero h1{
  color:#fff!important;
  font-size:clamp(50px,5.15vw,82px)!important;
  line-height:.94!important;
  letter-spacing:-.045em!important;
  max-width:820px!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body.tpm-race-ops .hero h1 span{color:var(--fsr-pink)!important;text-shadow:0 0 32px rgba(237,0,140,.12)!important}
body.tpm-race-ops .hero-copy{color:#bdb6bb!important;line-height:1.65!important;margin:20px 0 0!important}
body.tpm-race-ops .motto{
  left:clamp(24px,6.5vw,104px)!important;
  bottom:30px!important;
  color:#c6bdc2!important;
  line-height:1.5!important;
  max-width:720px;
}
body.tpm-race-ops .motto::before{background:var(--fsr-gold)!important;box-shadow:0 0 12px rgba(230,193,99,.34)!important}
body.tpm-race-ops .race-strip,
body.tpm-race-ops .owner-mode-bar{
  background:#09080a!important;
  border-color:#32232c!important;
}
body.tpm-race-ops .owner-mode-bar strong{color:var(--fsr-yellow)!important}
body.tpm-race-ops .owner-mode-bar nav a,
body.tpm-race-ops .owner-mode-bar nav button{color:#fff!important}
body.tpm-race-ops .owner-mode-bar nav a:hover,
body.tpm-race-ops .owner-mode-bar nav button:hover{color:var(--fsr-pink)!important}
body.tpm-race-ops .race-day-section,
body.tpm-race-ops .analysis-section,
body.tpm-race-ops .garage-section,
body.tpm-race-ops .setup-book-section{
  background:linear-gradient(180deg,#070709,#040404)!important;
}
body.tpm-race-ops .section-heading{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr)!important;
  gap:64px!important;
  align-items:end!important;
}
body.tpm-race-ops .section-heading::before{background:var(--fsr-gold)!important;box-shadow:0 0 14px rgba(230,193,99,.26)!important}
body.tpm-race-ops .section-heading .eyebrow,
body.tpm-race-ops .analysis-heading .eyebrow{color:var(--fsr-pink)!important}
body.tpm-race-ops .section-heading h2,
body.tpm-race-ops .analysis-heading h2{
  color:#fff!important;
  font-size:clamp(46px,4.65vw,76px)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body.tpm-race-ops .section-heading h2 span,
body.tpm-race-ops .analysis-heading h2 span{color:var(--fsr-yellow)!important}
body.tpm-race-ops .section-heading>p{color:#bbb3b8!important;line-height:1.72!important}

/* Lap Lab / RaceHub: neutral black panels with Haase pink, yellow and gold accents. */
body.tpm-race-ops .laplab-source-mode,
body.tpm-race-ops .laplab-raceday-context,
body.tpm-race-ops .weekend-shell,
body.tpm-race-ops .analyser-shell,
body.tpm-race-ops .alfano-laplab,
body.tpm-race-ops .driver-compare-block,
body.tpm-race-ops .dual-race-pace-block,
body.tpm-race-ops .launch-performance-block,
body.tpm-race-ops .panel,
body.tpm-race-ops .metric-card{
  background-color:#09090b!important;
  border-color:#31282e!important;
}
body.tpm-race-ops .weekend-top,
body.tpm-race-ops .session-picker,
body.tpm-race-ops .browser-select-row,
body.tpm-race-ops .selection-flow,
body.tpm-race-ops .status-box{
  border-color:#31282e!important;
}
body.tpm-race-ops .weekend-top{background:linear-gradient(90deg,rgba(237,0,140,.075),transparent 40%)!important}
body.tpm-race-ops .session-card,
body.tpm-race-ops .selection-step,
body.tpm-race-ops .metric-card,
body.tpm-race-ops .driver-selector-panel,
body.tpm-race-ops .driver-chart-panel{background:#0a090b!important}
body.tpm-race-ops .session-card.active,
body.tpm-race-ops .selection-step.active,
body.tpm-race-ops [data-laplab-source].active{background:var(--fsr-pink)!important;color:#fff!important}
body.tpm-race-ops .session-card.active *,
body.tpm-race-ops .selection-step.active *{color:#fff!important}
body.tpm-race-ops .session-index,
body.tpm-race-ops .session-arrow,
body.tpm-race-ops .browser-label>span,
body.tpm-race-ops .selection-step>span,
body.tpm-race-ops .weekend-top small,
body.tpm-race-ops .session-picker-head>span,
body.tpm-race-ops .metric-card small,
body.tpm-race-ops .panel-head small,
body.tpm-race-ops .alfano-laplab-head small,
body.tpm-race-ops .alfano-panel-head small{color:var(--fsr-gold)!important}
body.tpm-race-ops .metric-main{border-top-color:var(--fsr-pink)!important}
body.tpm-race-ops .metric-main strong,
body.tpm-race-ops .pace-summary strong,
body.tpm-race-ops .compare-lap,
body.tpm-race-ops .compare-row.on-pace .compare-gap{color:var(--fsr-yellow)!important}
body.tpm-race-ops input:focus,
body.tpm-race-ops select:focus,
body.tpm-race-ops textarea:focus{border-color:var(--fsr-pink)!important;box-shadow:0 0 0 2px rgba(237,0,140,.12)!important}
body.tpm-race-ops .btn-primary{background:linear-gradient(100deg,var(--fsr-pink),#ff2da1)!important;color:#fff!important}
body.tpm-race-ops .btn-ghost{border-color:#40353c!important;color:#fff!important;background:#0a090b!important}
body.tpm-race-ops .btn-ghost:hover{border-color:var(--fsr-pink)!important;color:var(--fsr-pink)!important}

/* Collision prevention for operational headings/cards. */
body.tpm-race-ops h1,
body.tpm-race-ops h2,
body.tpm-race-ops h3,
body.tpm-race-ops h4,
body.tpm-race-ops strong{max-width:100%}
body.tpm-race-ops .weekend-top h3,
body.tpm-race-ops .session-head h3,
body.tpm-race-ops .compare-lab-head h4,
body.tpm-race-ops .official-race-pace-head h4,
body.tpm-race-ops .launch-performance-head h4,
body.tpm-race-ops .race-day-config-head h3,
body.tpm-race-ops .rd-dashboard-head h3,
body.tpm-race-ops .rd-driver-head h4,
body.tpm-race-ops .rd-panel-head h4{
  line-height:1.04!important;
  overflow-wrap:break-word;
}
body.tpm-race-ops .compare-lab-head,
body.tpm-race-ops .official-race-pace-head,
body.tpm-race-ops .launch-performance-head,
body.tpm-race-ops .race-day-config-head,
body.tpm-race-ops .rd-dashboard-head{gap:28px!important}

@media(max-width:1100px){
  body.tpm-race-ops .section-heading{grid-template-columns:1fr!important;gap:22px!important}
  body.tpm-race-ops .section-heading>p{max-width:720px!important}
}
@media(max-width:720px){
  body.tpm-race-ops .hero{min-height:450px!important}
  body.tpm-race-ops .hero-content{padding:70px 18px 120px!important;margin:0!important;max-width:100%!important}
  body.tpm-race-ops .hero h1{font-size:clamp(42px,13vw,58px)!important;line-height:.98!important}
  body.tpm-race-ops .motto{left:18px!important;right:18px!important;bottom:28px!important;font-size:7px!important;letter-spacing:.16em!important}
  body.tpm-race-ops .section-heading h2,
  body.tpm-race-ops .analysis-heading h2{font-size:clamp(40px,12vw,54px)!important;line-height:1!important}
  body.tpm-race-ops .owner-mode-bar{position:relative!important;top:auto!important;gap:10px!important}
}

/* Shared layout resilience — prevents long live-data strings and headings colliding. */
.panel-head,.card-head,.portal-head,.topbar,.top-context,.top-actions,.hero-panel,.rd-dashboard-head,.rd-panel-head,.race-day-config-head,.weekend-top,.alfano-laplab-head,.alfano-panel-head{min-width:0}
.panel-head>*,.card-head>*,.hero-panel>*,.rd-dashboard-head>*,.rd-panel-head>*,.race-day-config-head>*,.weekend-top>*,.alfano-laplab-head>*,.alfano-panel-head>*{min-width:0}
h1,h2,h3,h4,.card-head strong,.panel-head strong{overflow-wrap:break-word;word-break:normal}
.card-head,.panel-head{flex-wrap:wrap}
.portal-head nav,.top-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){
  .panel-head,.card-head,.rd-dashboard-head,.rd-panel-head,.race-day-config-head,.weekend-top,.alfano-laplab-head{align-items:flex-start!important}
}


/* =========================================================
   FSR HAASE v6.2 HEADER HOTFIX · top-bar collision cleanup
   Fixes live-dot overlap and cramped header text on desktop.
   ========================================================= */
body.v4-admin{--side:236px;--top:78px}
body.v4-admin .topbar{grid-template-columns:minmax(236px,var(--side)) minmax(0,1fr) auto!important;min-height:var(--top)}
body.v4-admin .top-brand{gap:10px!important;padding:8px 16px!important;min-width:0}
body.v4-admin .top-brand img{max-width:150px!important;max-height:62px!important;flex:0 0 auto}
body.v4-admin .top-brand>div{display:grid!important;gap:2px;min-width:0}
body.v4-admin .top-brand b,
body.v4-admin .top-brand span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.v4-admin .top-brand b{font-size:10px!important;letter-spacing:.12em!important;line-height:1.1}
body.v4-admin .top-brand span{font-size:7px!important;letter-spacing:.14em!important;line-height:1.1}
body.v4-admin .top-context{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;grid-template-areas:"dot event" "dot session";column-gap:10px;row-gap:2px;align-items:center;padding-left:16px!important;min-width:0}
body.v4-admin .top-context .live-dot{grid-area:dot;align-self:center;justify-self:center;width:8px;height:8px;margin:0}
body.v4-admin .top-context b{grid-area:event;display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px!important;letter-spacing:.08em;line-height:1.15}
body.v4-admin .top-context small{grid-area:session;display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px!important;line-height:1.15;color:#8d939a!important}
body.v4-admin .top-actions{align-items:center;flex-wrap:wrap;justify-content:flex-end;padding-right:14px!important}
body.v4-admin .top-actions a,
body.v4-admin .top-actions button,
body.v4-admin .save-status-v4{white-space:nowrap}
body.v4-admin .weekend-toolbar{margin-top:18px!important}
@media(max-width:1180px){
  body.v4-admin{--side:224px}
  body.v4-admin .topbar{grid-template-columns:minmax(224px,var(--side)) minmax(0,1fr) auto!important}
  body.v4-admin .top-brand img{max-width:138px!important}
}

/* =========================================================
   FSR HAASE v6.3 FULL VISUAL QA · legacy colour purge +
   spacing/responsive resilience across every portal surface.
   ========================================================= */
:root{
  --fsr-panel:#0a090b;
  --fsr-panel-2:#0e0c0f;
  --fsr-line:#33272f;
  --fsr-muted:#aaa2a8;
}

/* Command Centre: neutralise the old blue Lap Lab/admin skin. */
body.v4-admin .topbar,
body.v4-admin .sidebar,
body.v4-admin .command-card,
body.v4-admin .table-card,
body.v4-admin .kpi-grid article,
body.v4-admin .weekend-toolbar,
body.v4-admin dialog .modal-card{
  background-color:var(--fsr-panel)!important;
  border-color:var(--fsr-line)!important;
}
body.v4-admin .sidebar{background:#070608!important}
body.v4-admin .sidebar nav button{color:#aaa2a8!important}
body.v4-admin .sidebar nav button:hover{background:rgba(237,0,140,.055)!important;color:#fff!important}
body.v4-admin .sidebar nav button.active{
  background:linear-gradient(90deg,rgba(237,0,140,.14),rgba(237,0,140,.025))!important;
  border-color:var(--fsr-pink)!important;
  box-shadow:inset 3px 0 var(--fsr-pink)!important;
  color:#fff!important;
}
body.v4-admin .sidebar nav button.active span{color:var(--fsr-gold)!important}
body.v4-admin .nav-group-v4{color:var(--fsr-gold)!important}
body.v4-admin .kpi-grid article{
  background:linear-gradient(145deg,#100d10,#080709)!important;
  border-color:#352b32!important;
}
body.v4-admin .kpi-grid article strong{color:#fff!important}
body.v4-admin .kpi-grid article span{color:var(--fsr-gold)!important}
body.v4-admin .kpi-grid article small,
body.v4-admin .panel-head p,
body.v4-admin .card-head p,
body.v4-admin .dashboard-summary span{color:var(--fsr-muted)!important}
body.v4-admin .save-status-v4{color:var(--fsr-gold)!important;border-color:#5b4933!important;background:#0d0a0b!important}
body.v4-admin .save-status-v4[data-state=saved]{color:#a7e2bd!important;border-color:#28523a!important}
body.v4-admin input,
body.v4-admin select,
body.v4-admin textarea{background:#080709!important;border-color:#3b3037!important;color:#fff!important}
body.v4-admin input[readonly],
body.v4-admin input:disabled,
body.v4-admin select:disabled{background:#111013!important;color:#8e888d!important}
body.v4-admin .btn.ghost{border-color:#443740!important;background:#0b090b!important}
body.v4-admin .btn.ghost:hover{border-color:var(--fsr-pink)!important;color:var(--fsr-pink)!important}
body.v4-admin .badge.green{background:#112318!important;border-color:#26583a!important;color:#9ce4b9!important}
body.v4-admin .weekend-toolbar{border-color:#342931!important}

/* Customer portal / mechanic / invoices: remove residual navy/blue styling. */
body.v4-customer,
.mechanic-shell,
.login-screen{background-color:#050405!important}
body.v4-customer .card,
body.v4-customer .hero-panel,
.mechanic-shell .mech-card,
.login-box,
.signup-box{
  background-color:#0a090b!important;
  border-color:#382c34!important;
}
body.v4-customer .tabs{border-color:#30262c!important}
body.v4-customer .tabs button{color:#aaa2a8!important}
body.v4-customer .tabs button.active{color:#fff!important;border-bottom-color:var(--fsr-pink)!important;background:rgba(237,0,140,.05)!important}
body.v4-customer .race-countdown{background:rgba(9,7,10,.88)!important;border-color:rgba(230,193,99,.32)!important}
body.v4-customer .race-countdown span,
body.v4-customer .handbook-preview summary,
body.v4-customer .login-help summary,
body.v4-customer #readinessProgress{color:var(--fsr-gold)!important}
body.v4-customer .profile-card input[readonly]{background:#111013!important;color:#bcb4ba!important}
body.v4-customer #noAvailableWeekends{border-color:#40343b!important;background:#0b090c!important}

/* Tables/cards should never force a collision when live text runs long. */
body.v4-admin .table-card,
body.v4-admin .command-card,
body.v4-customer .card,
body.tpm-race-ops .panel,
body.tpm-race-ops .alfano-lab-panel{max-width:100%;overflow-x:auto}
body.v4-admin table,
body.v4-customer table{min-width:0;max-width:100%}
body.v4-admin td,
body.v4-admin th,
body.v4-customer td,
body.v4-customer th{overflow-wrap:anywhere}

/* Global flex/grid safety: children are allowed to shrink instead of overlap. */
.topbar>*,.portal-head>*,.site-header>*,.weekend-toolbar>*,.panel-actions>*,
.header-actions>*,.race-day-fields>*,.rd-hero-grid>*,.alfano-lab-grid>*,
.setup-performance-delta>*,.combined-source-grid>*,.invoice-meta>*,.bank-grid>*{min-width:0}
.panel-actions,.header-actions,.weekend-toolbar,.race-day-config-actions,.rd-dashboard-actions{flex-wrap:wrap}

/* Long event/session labels: preserve information without painting over neighbours. */
body.v4-admin .top-context b,
body.v4-admin .top-context small,
body.v4-admin .weekend-toolbar label,
body.v4-customer .portal-head label{max-width:100%}

/* Race Ops: remaining old direct colour rules are overridden here with brand colours. */
body.tpm-race-ops .hero h1 span,
body.tpm-race-ops .section-heading .eyebrow,
body.tpm-race-ops .analysis-heading .eyebrow{color:var(--fsr-pink)!important}
body.tpm-race-ops .owner-mode-bar strong{color:var(--fsr-yellow)!important}
body.tpm-race-ops .tpm-driver-badge{background:rgba(237,0,140,.12)!important;border-color:var(--fsr-pink)!important;color:#fff!important}

/* More forgiving typography across compact operational components. */
body.v4-admin .card-head h2,
body.v4-admin .panel-head h1,
body.v4-customer h1,
body.v4-customer h2,
body.tpm-race-ops h1,
body.tpm-race-ops h2,
body.tpm-race-ops h3,
body.tpm-race-ops h4{hyphens:none;overflow-wrap:break-word}

/* Desktop widths where the original TPM layout was most prone to collision. */
@media(min-width:1001px) and (max-width:1350px){
  body.v4-admin{--side:210px}
  body.v4-admin .topbar{grid-template-columns:210px minmax(0,1fr) auto!important}
  body.v4-admin .top-brand{padding-left:12px!important;padding-right:12px!important}
  body.v4-admin .top-brand img{max-width:132px!important}
  body.v4-admin .top-actions{gap:5px!important}
  body.v4-admin .top-actions a,body.v4-admin .top-actions button{font-size:8px!important}
  body.v4-admin .panel{padding-left:28px!important;padding-right:28px!important}
}

@media(max-width:1000px){
  body.v4-admin .topbar{grid-template-columns:1fr auto!important}
  body.v4-admin .top-brand{border-right:0!important}
  body.v4-admin .top-brand img{max-width:145px!important}
  body.v4-admin .top-context{display:none!important}
  body.v4-admin .top-actions{padding-right:10px!important}
  body.v4-admin .save-status-v4{display:none!important}
}

@media(max-width:760px){
  body.v4-admin .topbar{height:68px!important;min-height:68px!important}
  body.v4-admin .top-brand img{max-width:118px!important;max-height:54px!important}
  body.v4-admin .top-brand>div{display:none!important}
  body.v4-admin .top-actions a{display:none!important}
  body.v4-admin .top-actions button{font-size:8px!important}
  body.v4-admin .workspace{padding-top:68px!important}
  body.v4-admin .sidebar{margin-top:68px!important}
  body.v4-admin .panel{padding:24px 14px 78px!important}
  body.v4-admin .panel-head h1{font-size:clamp(32px,10vw,42px)!important}
  body.v4-admin .weekend-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  body.v4-admin .weekend-toolbar>*{width:100%!important;max-width:none!important}
  body.v4-customer .portal-head{align-items:flex-start!important;gap:12px!important}
  body.v4-customer .portal-head nav{width:100%;justify-content:flex-start!important;overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:4px}
}

@media(max-width:560px){
  body.v4-admin .top-brand img{max-width:105px!important}
  body.v4-admin .kpi-grid{grid-template-columns:1fr!important}
  body.v4-admin .command-card,body.v4-admin .table-card{border-radius:8px!important}
  body.v4-customer .hero-panel{grid-template-columns:1fr!important;min-height:0!important}
  body.v4-customer .race-countdown{align-self:auto!important}
  body.tpm-race-ops .owner-mode-bar nav{display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important;width:100%}
  body.tpm-race-ops .owner-mode-bar nav a,body.tpm-race-ops .owner-mode-bar nav button{text-align:center;white-space:normal!important}
}


/* =========================================================
   FSR HAASE v6.4 · COMMAND CENTRE UX RESET
   Tiles first, contextual weekend controls, one Setup Book path.
   ========================================================= */
body.v4-admin .sidebar{display:none!important}
body.v4-admin .workspace{margin-left:0!important;padding-top:var(--top)!important}
body.v4-admin .panel{max-width:1560px;margin:0 auto;padding-left:clamp(20px,3.2vw,52px)!important;padding-right:clamp(20px,3.2vw,52px)!important}
body.v4-admin .top-brand{cursor:pointer;border-right:0!important}
body.v4-admin .top-brand:after{content:"COMMAND CENTRE";font-size:7px;letter-spacing:.16em;color:var(--fsr-gold);font-weight:900;margin-left:3px;white-space:nowrap}
body.v4-admin .top-brand>div{display:none!important}
body.v4-admin .topbar{grid-template-columns:minmax(230px,auto) minmax(0,1fr) auto!important}
body.v4-admin .command-welcome{min-height:250px!important;display:flex;flex-direction:column;justify-content:center;margin-bottom:24px!important}
body.v4-admin .command-welcome h2{font-size:clamp(34px,4vw,58px)!important;margin:8px 0 10px!important}
body.v4-admin .command-welcome p{font-size:15px!important;max-width:700px!important;color:#aaa4aa!important}
body.v4-admin .command-kpis{margin-bottom:22px}
.command-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 48px}
.command-tile{appearance:none;text-align:left;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:start;min-height:180px;padding:24px;border:1px solid #322931;background:linear-gradient(145deg,#0f0d10,#070708);color:white;cursor:pointer;position:relative;overflow:hidden;transition:.18s ease}
.command-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 0 72%,rgba(237,0,140,.06) 72% 74%,transparent 74%);pointer-events:none}
.command-tile:hover{transform:translateY(-2px);border-color:var(--fsr-pink);box-shadow:0 18px 48px rgba(0,0,0,.32)}
.command-tile>span{font-family:Impact,"Arial Black",sans-serif;font-size:28px;line-height:1;color:#5e555c;font-style:italic}
.command-tile small{display:block;color:var(--fsr-gold);font-size:8px;font-weight:950;letter-spacing:.16em;margin-bottom:8px}
.command-tile strong{display:block;font-size:24px;line-height:1.05;letter-spacing:-.025em}
.command-tile p{margin:10px 0 0;color:#918b91;font-size:11px;line-height:1.55;max-width:360px}
.command-tile>b{align-self:end;color:var(--fsr-pink);font-size:9px;letter-spacing:.12em;white-space:nowrap}
.command-tile.tile-pink{border-top:3px solid var(--fsr-pink)}.command-tile.tile-yellow{border-top:3px solid var(--fsr-yellow)}.command-tile.tile-gold{border-top:3px solid var(--fsr-gold)}
body.v4-admin .weekend-toolbar{margin:0 0 22px!important;padding:14px 16px!important;background:#0b090c!important;border-color:#352a32!important;border-radius:10px!important}
body.v4-admin .weekend-toolbar label{color:#b6afb5!important}
body.v4-admin .weekend-toolbar label:before{content:"EVENT MANAGEMENT";display:block;color:var(--fsr-gold);font-size:7px;font-weight:950;letter-spacing:.14em;margin-bottom:5px}
body.v4-admin .weekend-toolbar label{font-size:0!important}
body.v4-admin .weekend-toolbar select{font-size:13px!important;margin-top:0!important}
.setup-book-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:-8px 0 22px}
.setup-book-intro>div{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #2e272c;background:#09080a}
.setup-book-intro b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(230,193,99,.1);border:1px solid rgba(230,193,99,.35);color:var(--fsr-gold);font-size:10px}
.setup-book-intro span{font-size:10px;color:#b7b0b5;font-weight:800}
body.v4-admin #setup .setup-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important}
body.v4-admin #setup .setup-card{border-top:2px solid var(--fsr-gold)!important}
body.v4-admin #setup .panel-actions{align-items:center}
body.v4-admin dialog .setup-field-group{margin-top:18px}
body.v4-admin dialog .setup-notes{display:grid;gap:7px;margin-top:16px}
body.v4-admin dialog .setup-notes span{font-size:11px;color:#b8b0b6;font-weight:800;letter-spacing:.06em}
body.v4-admin dialog .setup-notes textarea{width:100%}
@media(max-width:1080px){.command-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body.v4-admin .top-brand:after{display:none}.command-tiles{grid-template-columns:1fr}.command-tile{min-height:145px}.setup-book-intro{grid-template-columns:1fr}.v4-admin .panel{padding-left:14px!important;padding-right:14px!important}.v4-admin .weekend-toolbar{margin:0 0 18px!important}}

/* v6.5 · Alpha RaceHub search usability */
.racehub-search-hint{display:block;margin-top:7px;font-size:8px;line-height:1.45;letter-spacing:.04em;color:#8e8a90}
.racehub-search-hint[data-state="ready"]{color:var(--fsr-gold)}
.racehub-search-hint[data-state="matches"]{color:#d7d2d6}
.racehub-search-hint[data-state="error"]{color:#ff8abf}
#orgSearch,#rdOrgSearch{border-color:#3b3038!important}
#orgSearch:focus,#rdOrgSearch:focus{border-color:var(--fsr-pink)!important}


/* v6.5.1 — simplified Command Centre header: no current weekend/session context */
body.v4-admin .topbar{grid-template-columns:minmax(236px,var(--side)) 1fr!important}
body.v4-admin .top-actions{grid-column:2;justify-self:end;margin-left:auto}
@media(max-width:1180px){body.v4-admin .topbar{grid-template-columns:minmax(224px,var(--side)) 1fr!important}}
@media(max-width:850px){body.v4-admin .topbar{grid-template-columns:1fr auto!important}.v4-admin .top-actions{grid-column:2}}

/* FSR HAASE v6.5.3 · simplified Race Day + obvious settings */
.race-day-settings-btn{border-color:rgba(230,193,99,.46)!important;color:var(--fsr-gold)!important}
.race-day-settings-card{margin:0 0 24px;border-top:3px solid var(--fsr-gold)!important;background:linear-gradient(135deg,rgba(230,193,99,.035),rgba(237,0,140,.025)),#09090b!important}
.race-day-settings-card .card-head{align-items:flex-start}
.race-day-settings-card .card-head h2{margin:4px 0 6px;font-size:26px}.race-day-settings-card .card-head p{max-width:720px}
.race-day-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.race-day-setting-block{border:1px solid #302b30;background:#070708;padding:20px;display:grid;gap:14px;align-content:start}
.race-day-setting-title{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid #282328}.race-day-setting-title>span{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(230,193,99,.45);color:var(--fsr-gold);font-weight:950;font-size:10px}.race-day-setting-title small{display:block;color:var(--fsr-pink);font-size:8px;font-weight:950;letter-spacing:.13em}.race-day-setting-title h3{margin:3px 0 0;font-size:17px}
.race-day-setting-block>label:not(.setting-toggle),.race-day-coordinates label{display:grid;gap:6px}.race-day-setting-block label>span,.race-day-coordinates label>span{font-size:8px;color:#8f8990;font-weight:900;letter-spacing:.09em}.race-day-setting-block input{width:100%}
.setting-toggle{display:flex!important;align-items:center;gap:10px;padding:10px;border:1px solid #2c282d;background:#0b0a0c;cursor:pointer}.setting-toggle input{width:18px!important;height:18px!important;min-height:18px!important;accent-color:var(--fsr-pink)}.setting-toggle span{color:#d4ced3!important;font-size:10px!important;letter-spacing:0!important}
.race-day-coordinates{display:grid;grid-template-columns:1fr 1fr .7fr;gap:8px}
.race-day-settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #2d282d}.race-day-settings-actions>span{margin-right:auto;font-size:9px;font-weight:900;letter-spacing:.08em;color:#888188}.race-day-settings-actions>span[data-state="saved"]{color:#7be6a9}.race-day-settings-actions>span[data-state="failed"]{color:#ff8e8e}.race-day-settings-actions>span[data-state="pending"],.race-day-settings-actions>span[data-state="local"]{color:var(--fsr-gold)}
@media(max-width:1150px){.race-day-settings-grid{grid-template-columns:1fr 1fr}.race-day-setting-block:last-child{grid-column:1/-1}}
@media(max-width:760px){.race-day-settings-grid{grid-template-columns:1fr}.race-day-setting-block:last-child{grid-column:auto}.race-day-coordinates{grid-template-columns:1fr}.race-day-settings-actions{align-items:stretch;flex-direction:column}.race-day-settings-actions>span{margin-right:0}.session-control{flex-wrap:wrap}}


/* v6.5.4 · Command Centre + Lap Lab simplification */
body.v4-admin #cloudSaveStatus{display:none!important}
body.tpm-race-ops .laplab-source-mode{border-color:#3a3037!important;background:linear-gradient(90deg,rgba(237,0,140,.045),rgba(230,193,99,.025))!important}
body.tpm-race-ops .laplab-source-mode>span{color:var(--fsr-gold)!important}
body.tpm-race-ops .laplab-source-mode button.active{border-color:var(--fsr-pink)!important;background:rgba(237,0,140,.12)!important;color:#fff!important;box-shadow:inset 0 -2px var(--fsr-pink)}
body.tpm-race-ops .racehub-browser{border-top:3px solid var(--fsr-pink)!important;box-shadow:0 20px 60px rgba(0,0,0,.28)}
body.tpm-race-ops .racehub-browser .weekend-top small{color:var(--fsr-gold)!important}

/* =========================================================
   FSR HAASE v6.6 CINEMATIC MOTION PASS
   Bespoke motorsport motion language: signature intro,
   editorial reveals, parallax, subtle tilt and page wipes.
   ========================================================= */
.cinematic-loading{overflow:hidden}
.fsr-intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#020202;color:#fff;overflow:hidden;transition:opacity .45s ease,visibility .45s ease}
.fsr-intro:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(237,0,140,.10),transparent 34%),linear-gradient(115deg,transparent 0 68%,rgba(255,209,0,.025) 68% 69%,transparent 69%);pointer-events:none}
.fsr-intro:after{content:"FSR HAASE";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) skewX(-8deg);font:900 clamp(110px,22vw,360px)/.8 Arial Black,Arial,sans-serif;letter-spacing:-.09em;color:rgba(255,255,255,.017);pointer-events:none}
.fsr-intro-stage{position:relative;z-index:3;width:min(680px,84vw);display:grid;justify-items:center;text-align:center}
.fsr-intro-kicker{font-size:9px;font-weight:950;letter-spacing:.24em;color:#7f7b7e;opacity:0;transform:translateY(8px)}
.fsr-signature-write{position:relative;width:min(650px,82vw);margin:28px auto 22px;overflow:hidden;clip-path:inset(0 100% 0 0)}
.fsr-signature-write img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 14px rgba(230,193,99,.18))}
.fsr-signature-sweep{position:absolute;top:3%;bottom:3%;left:-16px;width:34px;background:linear-gradient(90deg,transparent,rgba(255,232,161,.95),transparent);filter:blur(5px);opacity:0}
.fsr-intro-rule{width:0;height:1px;background:#2c272a;position:relative;overflow:hidden}.fsr-intro-rule i{display:block;width:38%;height:100%;background:linear-gradient(90deg,var(--fsr-pink),var(--fsr-gold),var(--fsr-yellow));transform:translateX(-110%)}
.fsr-intro-status{display:flex;gap:24px;margin-top:15px;font-size:7px;font-weight:900;letter-spacing:.22em;color:#625e62;opacity:0}.fsr-intro-status span:nth-child(2){color:var(--fsr-gold)}
.fsr-intro.play .fsr-intro-kicker{animation:introKicker .45s .08s both}
.fsr-intro.play .fsr-signature-write{animation:signatureReveal 1.22s .28s cubic-bezier(.23,.72,.2,1) both}
.fsr-intro.play .fsr-signature-sweep{animation:signaturePen 1.22s .28s cubic-bezier(.23,.72,.2,1) both}
.fsr-intro.play .fsr-intro-rule{animation:introRule .55s 1.32s ease-out both}.fsr-intro.play .fsr-intro-rule i{animation:introStripe .7s 1.35s ease-out both}
.fsr-intro.play .fsr-intro-status{animation:introStatus .4s 1.52s both}
.fsr-intro-wipe{position:absolute;z-index:5;inset:-15% -20%;transform:translateX(-135%) skewX(-13deg);pointer-events:none}.fsr-intro-wipe-pink{background:var(--fsr-pink)}.fsr-intro-wipe-yellow{background:var(--fsr-yellow)}
.fsr-intro.exit .fsr-intro-wipe-pink{animation:introWipe .55s cubic-bezier(.72,0,.23,1) both}.fsr-intro.exit .fsr-intro-wipe-yellow{animation:introWipe .55s .08s cubic-bezier(.72,0,.23,1) both}
.fsr-intro.exit{animation:introFade .01s .62s both}.fsr-intro.done,.fsr-intro.skip{opacity:0;visibility:hidden;pointer-events:none}.fsr-intro.skip{transition:none}
@keyframes introKicker{to{opacity:1;transform:none}}@keyframes signatureReveal{0%{clip-path:inset(0 100% 0 0)}100%{clip-path:inset(0 0 0 0)}}@keyframes signaturePen{0%{left:-16px;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}@keyframes introRule{to{width:min(430px,65vw)}}@keyframes introStripe{to{transform:translateX(265%)}}@keyframes introStatus{to{opacity:1}}@keyframes introWipe{0%{transform:translateX(-135%) skewX(-13deg)}100%{transform:translateX(135%) skewX(-13deg)}}@keyframes introFade{to{opacity:0;visibility:hidden}}

/* Ambient pointer light - intentionally subtle. */
.motion-spotlight{position:fixed;z-index:1;inset:0;pointer-events:none;background:radial-gradient(320px circle at var(--x,-999px) var(--y,-999px),rgba(237,0,140,.045),transparent 64%);mix-blend-mode:screen}
.site-header,main,footer{position:relative;z-index:2}

/* Editorial reveal language. */
.motion-reveal{opacity:0;transform:translateY(38px);filter:blur(5px);transition:opacity .72s cubic-bezier(.22,.68,.2,1) var(--reveal-delay,0ms),transform .82s cubic-bezier(.22,.68,.2,1) var(--reveal-delay,0ms),filter .65s ease var(--reveal-delay,0ms)}
.motion-reveal.is-visible{opacity:1;transform:none;filter:none}
.section-title h2,.way-intro h2,.pitlogic h2,.leader-copy h2{position:relative}.section-title h2:after,.way-intro h2:after,.pitlogic h2:after,.leader-copy h2:after{content:"";position:absolute;left:0;bottom:-13px;width:0;height:2px;background:linear-gradient(90deg,var(--fsr-pink),var(--fsr-gold),transparent);transition:width .9s .15s cubic-bezier(.2,.8,.2,1)}.motion-reveal.is-visible h2:after,.motion-reveal.is-visible.pitlogic-copy h2:after,.motion-reveal.is-visible.leader-copy h2:after{width:min(260px,42%)}

/* Large moving editorial word behind major sections. */
.section{position:relative;overflow:hidden}.section:before{position:absolute;z-index:0;right:-.04em;top:.06em;font:950 clamp(90px,14vw,240px)/.8 Arial Black,Arial,sans-serif;letter-spacing:-.08em;color:rgba(255,255,255,.018);pointer-events:none;transform:translate3d(0,var(--editorial-y,0),0) skewX(-7deg)}
.support:before{content:"RACE"}.pitlogic:before{content:"DATA"}.way:before{content:"FSR HAASE"}.leader:before{content:"01"}.raceweek:before{content:"TEAM"}
.section>*{position:relative;z-index:1}

/* Photo movement / premium hover response. */
[data-parallax] img{transform:translateY(var(--parallax-y,0)) scale(1.045);transition:transform .16s linear}
.motion-tilt{transform:perspective(1300px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;transition:transform .22s ease,box-shadow .22s ease}.motion-tilt:hover{box-shadow:0 38px 100px rgba(0,0,0,.62),0 0 0 1px rgba(230,193,99,.09)}
.hero-team-photo.motion-tilt{transform:perspective(1300px) rotateX(var(--tilt-x,0deg)) rotateY(calc(-2deg + var(--tilt-y,0deg)))}

/* Extra energy in the ticker and CTAs. */
.ticker{overflow:hidden}.ticker>div{position:relative;transition:color .2s ease,transform .2s ease}.ticker>div:hover{color:var(--fsr-gold)!important;transform:translateY(-2px)}
.primary-btn,.ghost-btn{position:relative;overflow:hidden}.primary-btn:before,.ghost-btn:before{content:"";position:absolute;top:-70%;bottom:-70%;left:-55%;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);transition:left .55s ease;pointer-events:none}.primary-btn:hover:before,.ghost-btn:hover:before{left:125%}

/* Branded internal-page exit wipe. */
body:after{content:"";position:fixed;z-index:9998;inset:-20%;background:linear-gradient(110deg,var(--fsr-pink) 0 72%,var(--fsr-yellow) 72% 76%,#030303 76%);transform:translateX(-135%) skewX(-11deg);pointer-events:none}.fsr-page-leaving:after{animation:pageExit .38s cubic-bezier(.72,0,.25,1) forwards}@keyframes pageExit{to{transform:translateX(0) skewX(-11deg)}}

@media(max-width:820px){.fsr-intro-stage{width:88vw}.fsr-intro-kicker{font-size:7px}.fsr-intro-status{gap:13px;font-size:6px}.motion-spotlight{display:none}.motion-tilt,.hero-team-photo.motion-tilt{transform:none!important}[data-parallax] img{transform:none!important}.section:before{font-size:34vw;opacity:.8}}
@media(prefers-reduced-motion:reduce){.fsr-intro{display:none!important}.cinematic-loading{overflow:auto}.motion-reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.motion-tilt,.hero-team-photo.motion-tilt,[data-parallax] img{transform:none!important;transition:none!important}body:after{display:none!important}.primary-btn:before,.ghost-btn:before{display:none!important}}


/* v6.6.1 · high-resolution FSR Haase signature artwork */
.fsr-signature-write img{image-rendering:auto;filter:drop-shadow(0 0 18px rgba(230,193,99,.22))}
.heritage-signature{width:300px;max-width:78%;mix-blend-mode:normal;filter:drop-shadow(0 0 10px rgba(230,193,99,.12))}
@media(max-width:620px){.fsr-signature-write{width:min(92vw,560px)}.heritage-signature{width:250px;max-width:85%}}

/* =========================================================
   FSR HAASE v6.7 · EDITORIAL PHOTO MOTION
   Fusion-style image panning reinterpreted for FSR Haase.
   ========================================================= */
.race-reel{height:430vh;position:relative;background:#030303;border-top:1px solid #1e191d;border-bottom:1px solid #251d23;z-index:2}
.race-reel-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;align-items:center;padding:110px 0 26px;background:radial-gradient(circle at 68% 30%,rgba(237,0,140,.075),transparent 26%),#030303}
.race-reel-head{padding:0 clamp(24px,5vw,86px);display:grid;grid-template-columns:minmax(330px,.8fr) minmax(300px,.45fr);gap:30px;align-items:end;margin-bottom:24px}
.race-reel-head .eyebrow{grid-column:1/-1;margin:0}.race-reel-head h2{font-size:clamp(46px,5.7vw,90px);line-height:.88;margin:0;letter-spacing:-.055em}.race-reel-head h2 em{color:var(--fsr-pink)}.race-reel-head>p:last-child{color:#928c91;line-height:1.65;max-width:430px;margin:0 0 4px}
.race-reel-window{overflow:hidden;min-height:0}.race-reel-track{display:flex;gap:18px;height:100%;padding:0 clamp(24px,5vw,86px);will-change:transform;transform:translate3d(0,0,0)}
.race-reel-card{position:relative;flex:0 0 min(72vw,1040px);min-width:680px;height:100%;max-height:610px;overflow:hidden;border:1px solid #352c33;background:#080808;box-shadow:0 40px 100px rgba(0,0,0,.55)}
.race-reel-card.portrait{flex-basis:min(42vw,620px);min-width:460px}.race-reel-card img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.035);transition:transform 1.2s cubic-bezier(.2,.7,.2,1);filter:saturate(1.03) contrast(1.04)}.race-reel-card:hover img{transform:scale(1.075)}
.race-reel-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.82) 100%),linear-gradient(90deg,rgba(0,0,0,.18),transparent 42%)}
.race-reel-card figcaption{position:absolute;z-index:2;left:30px;right:30px;bottom:28px}.race-reel-card figcaption small,.race-reel-card figcaption strong,.race-reel-card figcaption span{display:block}.race-reel-card figcaption small{font-size:8px;letter-spacing:.18em;color:var(--fsr-gold);font-weight:950}.race-reel-card figcaption strong{font-size:clamp(23px,2.2vw,34px);margin-top:7px;letter-spacing:-.025em}.race-reel-card figcaption span{margin-top:6px;color:#beb8bc;font-size:11px}
.race-reel-progress{height:2px;margin:24px clamp(24px,5vw,86px) 0;background:#211d20;overflow:hidden}.race-reel-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--fsr-pink),var(--fsr-gold),var(--fsr-yellow))}
.photo-interlude{position:relative;height:min(78vh,820px);min-height:560px;overflow:hidden;background:#050505}.photo-interlude>img{width:100%;height:120%;object-fit:cover;object-position:center 52%;transform:translateY(var(--interlude-y,-7%)) scale(1.02);will-change:transform}.photo-interlude-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.22) 58%,rgba(0,0,0,.15)),linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.62))}.photo-interlude-copy{position:absolute;z-index:2;left:clamp(24px,6vw,110px);bottom:clamp(38px,8vh,95px);max-width:760px}.photo-interlude-copy small,.photo-interlude-copy strong,.photo-interlude-copy span{display:block}.photo-interlude-copy small{font-size:9px;color:var(--fsr-gold);font-weight:950;letter-spacing:.18em}.photo-interlude-copy strong{white-space:pre-line;font-size:clamp(58px,8vw,124px);line-height:.78;letter-spacing:-.07em;margin:15px 0;color:#fff}.photo-interlude-copy span{font-size:15px;color:#d1cbd0}
.support-main{position:relative;overflow:hidden}.support-photo{position:absolute;inset:0 0 auto auto;width:46%;height:100%;opacity:.14;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 35%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%)}.support-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25) contrast(1.15)}.support-main>*:not(.support-photo){position:relative;z-index:2}
.brand-signature-panel{margin-top:34px;padding:26px 30px;border:1px solid #31272e;background:linear-gradient(135deg,#080808,#111014);display:flex;align-items:center;justify-content:space-between;gap:30px;overflow:hidden}.brand-signature-panel img{width:min(620px,65%);height:auto;display:block}.brand-signature-panel span{font-size:8px;letter-spacing:.19em;color:var(--fsr-gold);font-weight:950;text-align:right}
.leader-photo img{object-position:center 32%!important}
@media(max-width:900px){.race-reel{height:auto}.race-reel-sticky{position:relative;height:auto;display:block;padding:90px 0 34px}.race-reel-head{grid-template-columns:1fr;padding:0 22px}.race-reel-head .eyebrow{grid-column:auto}.race-reel-window{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.race-reel-track{transform:none!important;padding:0 22px;gap:12px}.race-reel-card,.race-reel-card.portrait{flex:0 0 86vw;min-width:0;height:68vh;max-height:620px;scroll-snap-align:center}.race-reel-progress{display:none}.photo-interlude{min-height:480px;height:65vh}.brand-signature-panel{align-items:flex-start;flex-direction:column}.brand-signature-panel img{width:100%;max-width:620px}.brand-signature-panel span{text-align:left}}
@media(max-width:620px){.race-reel-head h2{font-size:46px}.race-reel-card,.race-reel-card.portrait{height:58vh}.race-reel-card figcaption{left:20px;right:20px;bottom:20px}.photo-interlude{min-height:440px}.photo-interlude-copy strong{font-size:54px}.photo-interlude-copy span{font-size:12px}.support-photo{display:none}.brand-signature-panel{padding:18px}}
\n\n/* =========================================================\n   FSR HAASE v6.7.1 · TRUE HANDWRITTEN SIGNATURE INTRO\n   The real gold signature is revealed by sequenced SVG strokes,\n   rather than by a left-to-right crop.\n   ========================================================= */\n.fsr-signature-handwrite{\n  width:min(760px,88vw)!important;\n  overflow:visible!important;\n  clip-path:none!important;\n  margin:20px auto 16px!important;\n}\n.fsr-signature-svg{display:block;width:100%;height:auto;overflow:visible}\n.fsr-signature-handwrite .signature-stroke,\n.fsr-signature-handwrite .pen-stroke{stroke-dasharray:1;stroke-dashoffset:1}\n.fsr-signature-handwrite .pen-stroke{opacity:0}\n.fsr-intro.play .fsr-signature-handwrite{animation:none!important}\n.fsr-intro.play .fsr-signature-handwrite .s1{animation:sigDraw .72s .30s cubic-bezier(.22,.72,.24,1) forwards}\n.fsr-intro.play .fsr-signature-handwrite .s2{animation:sigDraw .28s .93s ease-out forwards}\n.fsr-intro.play .fsr-signature-handwrite .s3{animation:sigDraw .48s 1.14s ease-in-out forwards}\n.fsr-intro.play .fsr-signature-handwrite .s4{animation:sigDraw .67s 1.55s cubic-bezier(.22,.72,.24,1) forwards}\n.fsr-intro.play .fsr-signature-handwrite .s5{animation:sigDraw .58s 2.12s cubic-bezier(.22,.72,.24,1) forwards}\n.fsr-intro.play .fsr-signature-handwrite .s6{animation:sigDraw .32s 2.57s ease-out forwards}\n.fsr-intro.play .fsr-signature-handwrite .s7{animation:sigDraw .46s 2.80s ease-in-out forwards}\n.fsr-intro.play .fsr-signature-handwrite .s8{animation:sigDraw .45s 3.18s ease-in-out forwards}\n.fsr-intro.play .fsr-signature-handwrite .p1{animation:sigPen .72s .30s linear forwards}\n.fsr-intro.play .fsr-signature-handwrite .p2{animation:sigPen .28s .93s linear forwards}\n.fsr-intro.play .fsr-signature-handwrite .p3{animation:sigPen .48s 1.14s linear forwards}\n.fsr-intro.play .fsr-signature-handwrite .p4{animation:sigPen .67s 1.55s linear forwards}\n.fsr-intro.play .fsr-signature-handwrite .p5{animation:sigPen .58s 2.12s linear forwards}\n.fsr-intro.play .fsr-signature-handwrite .p6{animation:sigPen .32s 2.57s linear forwards}\n.fsr-intro.play .fsr-signature-handwrite .p7{animation:sigPen .46s 2.80s linear forwards}\n.fsr-intro.play .fsr-signature-handwrite .p8{animation:sigPen .45s 3.18s linear forwards}\n.fsr-intro.play .fsr-intro-rule{animation:introRule .55s 3.55s ease-out both!important}\n.fsr-intro.play .fsr-intro-rule i{animation:introStripe .72s 3.58s ease-out both!important}\n.fsr-intro.play .fsr-intro-status{animation:introStatus .4s 3.78s both!important}\n@keyframes sigDraw{0%{stroke-dashoffset:1}100%{stroke-dashoffset:0}}\n@keyframes sigPen{0%{stroke-dashoffset:1;opacity:0}8%{opacity:.9}72%{opacity:.55}100%{stroke-dashoffset:0;opacity:0}}\n@media(max-width:620px){.fsr-signature-handwrite{width:min(92vw,760px)!important;margin:16px auto 14px!important}}\n

/* =========================================================
   FSR HAASE v6.7.2 · LOGO + SIGNATURE INTRO SEQUENCE
   Brand mark arrives with race-energy, then the signature is
   genuinely written underneath as the premium finishing move.
   ========================================================= */
.fsr-intro-stage{width:min(780px,88vw)}
.fsr-intro-logo{
  position:relative;
  width:min(620px,78vw);
  margin:18px auto 6px;
  opacity:0;
  transform:translateY(-10px) scale(.94);
  clip-path:inset(0 100% 0 0);
  filter:drop-shadow(0 0 0 rgba(237,0,140,0));
}
.fsr-intro-logo img{display:block;width:100%;height:auto;position:relative;z-index:2}
.fsr-intro-logo-glow{position:absolute;inset:18% 7% 8%;z-index:0;background:radial-gradient(ellipse at 68% 42%,rgba(255,209,0,.22),rgba(237,0,140,.13) 42%,transparent 72%);filter:blur(24px);opacity:0}
.fsr-intro-logo-scan{position:absolute;z-index:3;top:-12%;bottom:-12%;left:-16%;width:18%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95) 48%,rgba(255,209,0,.72) 58%,transparent);filter:blur(7px);opacity:0;transform:skewX(-12deg)}
.fsr-intro.play .fsr-intro-logo{animation:fsrLogoArrive .82s .12s cubic-bezier(.18,.78,.22,1) forwards,fsrLogoSettle .34s .93s ease-out forwards}
.fsr-intro.play .fsr-intro-logo-glow{animation:fsrLogoGlow .9s .22s ease-out both}
.fsr-intro.play .fsr-intro-logo-scan{animation:fsrLogoScan .72s .22s cubic-bezier(.2,.72,.2,1) both}
@keyframes fsrLogoArrive{
  0%{opacity:0;transform:translateY(-10px) scale(.94);clip-path:inset(0 100% 0 0);filter:drop-shadow(0 0 0 rgba(237,0,140,0))}
  60%{opacity:1;clip-path:inset(0 0 0 0);filter:drop-shadow(0 0 18px rgba(237,0,140,.22))}
  100%{opacity:1;transform:translateY(0) scale(1.015);clip-path:inset(0 0 0 0);filter:drop-shadow(0 0 12px rgba(255,209,0,.09))}
}
@keyframes fsrLogoSettle{to{transform:translateY(0) scale(1)}}
@keyframes fsrLogoGlow{0%{opacity:0}40%{opacity:1}100%{opacity:.28}}
@keyframes fsrLogoScan{0%{left:-16%;opacity:0}8%{opacity:.9}82%{opacity:.8}100%{left:104%;opacity:0}}

/* Shift the handwriting so it starts after the top identity has landed. */
.fsr-intro.play .fsr-signature-handwrite .s1{animation:sigDraw .66s 1.02s cubic-bezier(.22,.72,.24,1) forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s2{animation:sigDraw .25s 1.60s ease-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s3{animation:sigDraw .42s 1.80s ease-in-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s4{animation:sigDraw .60s 2.16s cubic-bezier(.22,.72,.24,1) forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s5{animation:sigDraw .52s 2.67s cubic-bezier(.22,.72,.24,1) forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s6{animation:sigDraw .28s 3.08s ease-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s7{animation:sigDraw .40s 3.29s ease-in-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s8{animation:sigDraw .40s 3.62s ease-in-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p1{animation:sigPen .66s 1.02s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p2{animation:sigPen .25s 1.60s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p3{animation:sigPen .42s 1.80s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p4{animation:sigPen .60s 2.16s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p5{animation:sigPen .52s 2.67s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p6{animation:sigPen .28s 3.08s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p7{animation:sigPen .40s 3.29s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p8{animation:sigPen .40s 3.62s linear forwards!important}
.fsr-intro.play .fsr-intro-rule{animation:introRule .48s 3.98s ease-out both!important}
.fsr-intro.play .fsr-intro-rule i{animation:introStripe .62s 4.01s ease-out both!important}
.fsr-intro.play .fsr-intro-status{animation:introStatus .34s 4.20s both!important}
@media(max-width:620px){
 .fsr-intro-logo{width:min(86vw,620px);margin:12px auto 2px}
 .fsr-signature-handwrite{margin:10px auto 10px!important}
}


/* =========================================================
   FSR HAASE v6.7.3 · logo-first intro + full-screen hero pan
   ========================================================= */
.fsr-intro-logo{opacity:0;transform:translateY(20px) scale(.965);margin:16px auto 0!important}
.fsr-signature-handwrite{opacity:0;transform:translateY(16px) scale(.988);transform-origin:center center}
.fsr-signature-handwrite .signature-raster{filter:none!important;opacity:.985}
.fsr-signature-handwrite .signature-pen-trace{opacity:.42;mix-blend-mode:screen}
.fsr-signature-handwrite .pen-stroke{stroke:#f4d37b;stroke-width:8.5!important}
.fsr-intro.play .fsr-intro-logo{animation:fsrLogoArrive .92s .12s cubic-bezier(.18,.78,.22,1) forwards,fsrLogoSettle .34s 1.0s ease-out forwards}
.fsr-intro.play .fsr-intro-logo-glow{animation:fsrLogoGlow .95s .22s ease-out both}
.fsr-intro.play .fsr-intro-logo-scan{animation:fsrLogoScan .8s .20s cubic-bezier(.2,.72,.2,1) both}
.fsr-intro.play .fsr-signature-handwrite{animation:fsrSignatureStage .45s 1.24s ease-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s1{animation:sigDraw .98s 1.45s cubic-bezier(.22,.72,.24,1) forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s2{animation:sigDraw .42s 2.34s ease-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s3{animation:sigDraw .84s 2.60s ease-in-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s4{animation:sigDraw .92s 3.34s cubic-bezier(.22,.72,.24,1) forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s5{animation:sigDraw 1.02s 4.13s cubic-bezier(.22,.72,.24,1) forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s6{animation:sigDraw .46s 5.00s ease-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s7{animation:sigDraw .78s 5.28s ease-in-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s8{animation:sigDraw .72s 5.96s ease-in-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p1{animation:sigPen .98s 1.45s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p2{animation:sigPen .42s 2.34s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p3{animation:sigPen .84s 2.60s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p4{animation:sigPen .92s 3.34s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p5{animation:sigPen 1.02s 4.13s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p6{animation:sigPen .46s 5.00s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p7{animation:sigPen .78s 5.28s linear forwards!important}
.fsr-intro.play .fsr-signature-handwrite .p8{animation:sigPen .72s 5.96s linear forwards!important}
.fsr-intro.play .fsr-intro-rule{animation:introRule .52s 6.78s ease-out both!important}
.fsr-intro.play .fsr-intro-rule i{animation:introStripe .7s 6.84s ease-out both!important}
.fsr-intro.play .fsr-intro-status{animation:introStatus .36s 7.00s both!important}
@keyframes fsrSignatureStage{from{opacity:0;transform:translateY(16px) scale(.988)}to{opacity:1;transform:translateY(0) scale(1)}}

.hero.hero-fullbleed{position:relative;max-width:none;min-height:100svh;padding:0;display:block;overflow:hidden;background:#030303;border-bottom:1px solid rgba(237,0,140,.14)}
.hero-fullbleed .hero-media{position:absolute;inset:0;overflow:hidden;background:#050505}
.hero-fullbleed .hero-media img{width:112%;max-width:none;height:100%;object-fit:cover;object-position:center 48%;display:block;transform:translate3d(calc(-6% + var(--hero-pan-offset,0%)),0,0) scale(1.035);animation:heroPanIntro 1.8s cubic-bezier(.18,.78,.22,1) both,heroPanDrift 16s 1.8s ease-in-out infinite alternate;will-change:transform}
.hero-fullbleed .hero-media-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,4,.90) 0%,rgba(4,4,4,.70) 30%,rgba(4,4,4,.26) 62%,rgba(4,4,4,.14) 100%),linear-gradient(180deg,rgba(4,4,4,.18),rgba(4,4,4,.42) 68%,rgba(4,4,4,.82) 100%);z-index:1}
.hero-fullbleed .hero-grid,.hero-fullbleed .hero-glow{position:absolute;inset:0;z-index:2}
.hero-fullbleed .hero-grid{right:auto;left:0;mask-image:linear-gradient(to right,#000 0,#000 44%,transparent 78%),linear-gradient(to bottom,transparent 0,#000 26%,#000 78%,transparent);mask-composite:intersect}
.hero-fullbleed .hero-glow{width:auto;height:auto;right:auto;top:auto;background:radial-gradient(circle at 72% 38%,rgba(237,0,140,.17),transparent 24%),radial-gradient(circle at 82% 30%,rgba(255,209,0,.13),transparent 22%);pointer-events:none}
.hero-shell{position:relative;z-index:4;min-height:100svh;max-width:min(1440px,100%);margin:0 auto;padding:150px clamp(24px,5vw,76px) 54px;display:flex;flex-direction:column;justify-content:flex-end;gap:24px}
.hero-fullbleed .hero-copy{max-width:min(760px,94vw)}
.hero-fullbleed .hero-copy .lead{max-width:630px}
.hero-floating-panel{align-self:flex-end;display:flex;align-items:end;justify-content:space-between;gap:22px;min-width:min(540px,70vw);padding:18px 22px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(7,7,7,.78),rgba(7,7,7,.56));backdrop-filter:blur(12px);box-shadow:0 20px 55px rgba(0,0,0,.26)}
.hero-floating-panel small{display:block;color:var(--fsr-gold);font-size:8px;font-weight:900;letter-spacing:.16em}.hero-floating-panel strong{display:block;font-size:clamp(20px,2.2vw,32px);letter-spacing:-.03em;text-transform:uppercase}.hero-floating-meta{display:grid;gap:8px}
.hero-floating-panel .champion-lockup{min-width:185px}
.hero-fullbleed .hero-pricing.single{grid-template-columns:minmax(220px,260px) minmax(280px,420px);max-width:760px}
@keyframes heroPanIntro{from{opacity:0;transform:translate3d(7%,0,0) scale(1.12)}to{opacity:1;transform:translate3d(calc(-6% + var(--hero-pan-offset,0%)),0,0) scale(1.035)}}
@keyframes heroPanDrift{from{transform:translate3d(calc(-8% + var(--hero-pan-offset,0%)),0,0) scale(1.04)}to{transform:translate3d(calc(0% + var(--hero-pan-offset,0%)),0,0) scale(1.06)}}
@media(max-width:1120px){.hero-shell{padding-top:138px}.hero-floating-panel{align-self:flex-start;min-width:min(100%,620px)}}
@media(max-width:820px){.hero.hero-fullbleed,.hero-shell{min-height:100svh}.hero-shell{padding:126px 22px 38px}.hero-fullbleed .hero-media img{width:128%;object-position:center center}.hero-floating-panel{width:100%;min-width:0;flex-direction:column;align-items:flex-start;gap:10px}.hero-fullbleed .hero-pricing.single{grid-template-columns:1fr;max-width:100%}}
@media(max-width:620px){.hero-shell{padding:118px 18px 30px;gap:18px}.hero-fullbleed .hero-copy h1{font-size:clamp(42px,11vw,58px)}.hero-fullbleed .hero-copy .lead{font-size:15px}.hero-fullbleed .hero-media img{width:154%;transform:translate3d(calc(-16% + var(--hero-pan-offset,0%)),0,0) scale(1.04)}.hero-floating-panel strong{font-size:22px}.hero-floating-panel .champion-lockup{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.hero-fullbleed .hero-media img{animation:none!important;transform:translate3d(-6%,0,0) scale(1.04)!important}}

/* =========================================================
   FSR HAASE v6.7.3.1 · SIGNATURE VISIBILITY HOTFIX
   Keep the SVG stage visible at all times; the mask strokes themselves
   control the write-on reveal. This avoids the container opacity animation
   suppressing the real gold signature in some browsers/previews.
   ========================================================= */
.fsr-signature-handwrite{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.fsr-intro.play .fsr-signature-handwrite{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  animation:none!important;
}
.fsr-signature-svg,.signature-raster{opacity:1!important;visibility:visible!important}
.fsr-signature-handwrite .signature-pen-trace{opacity:.34!important}


/* =========================================================
   FSR HAASE v6.7.3.2 · robust signature render
   Draws visible gold SVG strokes directly, then crossfades to
   the exact supplied raster artwork. No SVG mask dependency.
   ========================================================= */
.fsr-signature-handwrite{opacity:1!important;visibility:visible!important;transform:none!important}
.fsr-signature-handwrite .signature-direct-strokes{filter:drop-shadow(0 0 5px rgba(230,193,99,.18))}
.fsr-signature-handwrite .signature-stroke{stroke-dasharray:1;stroke-dashoffset:1;opacity:1!important}
/* Do not make dashoffset !important: keyframe animation must be allowed to override it. */
.fsr-signature-handwrite .signature-raster-final{opacity:0;visibility:visible;filter:none!important}
.fsr-intro.play .fsr-signature-handwrite{animation:none!important}
.fsr-intro.play .signature-raster-final{animation:fsrExactSignatureIn .55s 6.62s ease-out forwards!important}
@keyframes fsrExactSignatureIn{from{opacity:0}to{opacity:1}}


/* v6.7.3.3 exact signature animation fix */
.fsr-intro.play .fsr-signature-handwrite .signature-stroke{will-change:stroke-dashoffset}
.fsr-intro.play .fsr-signature-handwrite .s1{animation:sigDraw .98s 1.45s cubic-bezier(.22,.72,.24,1) forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s2{animation:sigDraw .42s 2.34s ease-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s3{animation:sigDraw .84s 2.60s ease-in-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s4{animation:sigDraw .92s 3.34s cubic-bezier(.22,.72,.24,1) forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s5{animation:sigDraw 1.02s 4.13s cubic-bezier(.22,.72,.24,1) forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s6{animation:sigDraw .46s 5.00s ease-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s7{animation:sigDraw .78s 5.28s ease-in-out forwards!important}
.fsr-intro.play .fsr-signature-handwrite .s8{animation:sigDraw .72s 5.96s ease-in-out forwards!important}
.fsr-signature-handwrite .signature-raster-final{pointer-events:none}


/* =========================================================
   FSR HAASE v6.7.3.4 · guaranteed raster signature reveal
   Removes SVG dependency entirely for maximum browser reliability.
   ========================================================= */
.fsr-signature-simple{
  width:min(760px,88vw)!important;
  margin:16px auto 14px!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  overflow:visible!important;
}
.fsr-signature-simple .fsr-signature-clip{
  position:relative;
  width:100%;
  overflow:hidden;
  clip-path:inset(0 100% 0 0);
  opacity:1;
}
.fsr-signature-simple img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}
.fsr-signature-pen{
  position:absolute;
  top:6%;
  bottom:6%;
  width:20px;
  right:-5px;
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,231,159,.85),transparent);
  filter:blur(5px);
  pointer-events:none;
}
.fsr-intro.play .fsr-signature-simple .fsr-signature-clip{
  animation:fsrSignatureRasterWrite 4.7s 1.42s cubic-bezier(.18,.58,.2,1) forwards!important;
}
.fsr-intro.play .fsr-signature-simple .fsr-signature-pen{
  animation:fsrSignaturePenSweep 4.7s 1.42s linear forwards!important;
}
@keyframes fsrSignatureRasterWrite{
  0%{clip-path:inset(0 100% 0 0)}
  12%{clip-path:inset(0 88% 0 0)}
  28%{clip-path:inset(0 68% 0 0)}
  42%{clip-path:inset(0 55% 0 0)}
  58%{clip-path:inset(0 40% 0 0)}
  76%{clip-path:inset(0 21% 0 0)}
  100%{clip-path:inset(0 0 0 0)}
}
@keyframes fsrSignaturePenSweep{
  0%{opacity:0;right:100%}
  4%{opacity:.7}
  92%{opacity:.45}
  100%{opacity:0;right:-4px}
}
.fsr-intro.play .fsr-intro-rule{animation:introRule .52s 6.38s ease-out both!important}
.fsr-intro.play .fsr-intro-rule i{animation:introStripe .7s 6.44s ease-out both!important}
.fsr-intro.play .fsr-intro-status{animation:introStatus .36s 6.62s both!important}
@media(max-width:620px){.fsr-signature-simple{width:min(92vw,760px)!important;margin:10px auto 10px!important}}
@media(prefers-reduced-motion:reduce){.fsr-signature-simple .fsr-signature-clip{clip-path:inset(0 0 0 0)!important}.fsr-signature-pen{display:none!important}}


/* =========================================================
   FSR HAASE v6.7.8 · DIRECTIONAL HERO PAN
   Full-bleed cycling race imagery with image-specific motion.
   Side-on karts travel horizontally; front-on shots drift subtly.
   ========================================================= */
.hero-fullbleed .hero-slideshow{position:absolute;inset:0;overflow:hidden;background:#050505}
.hero-slideshow .hero-slide{position:absolute;inset:-2%;margin:0;opacity:0;z-index:0;overflow:hidden;transition:opacity 1.25s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.hero-slideshow .hero-slide.is-active{opacity:1;z-index:1}
.hero-slideshow .hero-slide img{position:absolute;inset:0;width:114%;height:100%;max-width:none;object-fit:cover;object-position:center 50%;display:block;filter:saturate(1.035) contrast(1.025);will-change:transform}
.hero-slideshow .hero-slide.is-active.pan-left img{animation:fsrHeroPanLeft 8.1s linear both}
.hero-slideshow .hero-slide.is-active.pan-right img{animation:fsrHeroPanRight 8.1s linear both}
.hero-slideshow .hero-slide.is-active.drift-left img{animation:fsrHeroDriftLeft 8.1s ease-out both}
.hero-slideshow .hero-slide.is-active.drift-right img{animation:fsrHeroDriftRight 8.1s ease-out both}
.hero-slideshow .hero-slide.hero-shot-front img{width:108%}
.hero-slideshow .hero-slide:nth-child(1) img{object-position:center 50%}
.hero-slideshow .hero-slide:nth-child(2) img{object-position:center 49%}
.hero-slideshow .hero-slide:nth-child(3) img{object-position:center 52%}
.hero-slideshow .hero-slide:nth-child(4) img{object-position:center 50%}
.hero-slideshow .hero-media-shade,.hero-slideshow .hero-grid,.hero-slideshow .hero-glow{z-index:3}
@keyframes fsrHeroPanLeft{
  0%{transform:translate3d(4%,0,0) scale(1.075)}
  100%{transform:translate3d(-8%,0,0) scale(1.125)}
}
@keyframes fsrHeroPanRight{
  0%{transform:translate3d(-8%,0,0) scale(1.125)}
  100%{transform:translate3d(4%,0,0) scale(1.075)}
}
@keyframes fsrHeroDriftLeft{
  0%{transform:translate3d(1.5%,0,0) scale(1.045)}
  100%{transform:translate3d(-4.5%,0,0) scale(1.09)}
}
@keyframes fsrHeroDriftRight{
  0%{transform:translate3d(-4.5%,0,0) scale(1.09)}
  100%{transform:translate3d(1.5%,0,0) scale(1.045)}
}
@media(max-width:820px){
 .hero-slideshow .hero-slide{inset:-1.2%}
 .hero-slideshow .hero-slide img{width:128%;object-position:center center}
 .hero-slideshow .hero-slide.hero-shot-front img{width:120%}
 @keyframes fsrHeroPanLeft{0%{transform:translate3d(0,0,0) scale(1.08)}100%{transform:translate3d(-14%,0,0) scale(1.14)}}
 @keyframes fsrHeroPanRight{0%{transform:translate3d(-14%,0,0) scale(1.14)}100%{transform:translate3d(0,0,0) scale(1.08)}}
 @keyframes fsrHeroDriftLeft{0%{transform:translate3d(0,0,0) scale(1.07)}100%{transform:translate3d(-7%,0,0) scale(1.12)}}
 @keyframes fsrHeroDriftRight{0%{transform:translate3d(-7%,0,0) scale(1.12)}100%{transform:translate3d(0,0,0) scale(1.07)}}
}
@media(max-width:620px){
 .hero-slideshow .hero-slide img{width:148%}
 .hero-slideshow .hero-slide.hero-shot-front img{width:138%}
}
@media(prefers-reduced-motion:reduce){
 .hero-slideshow .hero-slide{transition:none}
 .hero-slideshow .hero-slide img{animation:none!important;transform:translate3d(-3%,0,0) scale(1.08)!important}
}


/* =========================================================
   FSR HAASE v6.8.5 · MOBILE SITE NAVIGATION
   Complete public navigation under a premium 3-line menu.
   ========================================================= */
.fsr-mobile-menu-toggle,.fsr-mobile-drawer{display:none}
@media(max-width:820px){
  .site-header{position:sticky!important;top:0;z-index:9990!important}
  .site-header .header-actions{display:none!important}
  .fsr-mobile-menu-toggle{
    display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:50%;
    border:1px solid rgba(255,255,255,.15);background:rgba(10,10,12,.72);cursor:pointer;
    position:relative;z-index:10002;box-shadow:0 12px 34px rgba(0,0,0,.26);backdrop-filter:blur(14px)
  }
  .fsr-mobile-menu-toggle .fsr-menu-lines{width:21px;height:16px;position:relative;display:block}
  .fsr-mobile-menu-toggle i{position:absolute;left:0;width:21px;height:2px;background:#fff;border-radius:2px;transition:transform .28s ease,top .28s ease,opacity .2s ease,background .2s ease}
  .fsr-mobile-menu-toggle i:nth-child(1){top:0}
  .fsr-mobile-menu-toggle i:nth-child(2){top:7px}
  .fsr-mobile-menu-toggle i:nth-child(3){top:14px}
  .fsr-mobile-menu-toggle[aria-expanded="true"]{border-color:rgba(230,193,99,.5);box-shadow:0 0 0 1px rgba(237,0,140,.1),0 12px 36px rgba(0,0,0,.4)}
  .fsr-mobile-menu-toggle[aria-expanded="true"] i:nth-child(1){top:7px;transform:rotate(45deg);background:var(--fsr-gold)}
  .fsr-mobile-menu-toggle[aria-expanded="true"] i:nth-child(2){opacity:0}
  .fsr-mobile-menu-toggle[aria-expanded="true"] i:nth-child(3){top:7px;transform:rotate(-45deg);background:var(--fsr-pink)}
  .fsr-mobile-drawer{
    display:block;position:fixed;z-index:9988;left:0;right:0;top:82px;height:calc(100dvh - 82px);
    background:linear-gradient(155deg,rgba(4,4,5,.985),rgba(13,8,12,.99));
    transform:translate3d(100%,0,0);opacity:0;visibility:hidden;pointer-events:none;
    transition:transform .38s cubic-bezier(.2,.72,.2,1),opacity .28s ease,visibility .28s ease;
    overflow:auto;overscroll-behavior:contain;border-top:1px solid rgba(230,193,99,.12)
  }
  .fsr-mobile-drawer.is-open{transform:none;opacity:1;visibility:visible;pointer-events:auto}
  .fsr-mobile-drawer:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 95% 5%,rgba(237,0,140,.15),transparent 28%),linear-gradient(128deg,transparent 0 70%,rgba(230,193,99,.035) 70% 71%,transparent 71%)}
  .fsr-mobile-drawer-inner{position:relative;min-height:100%;padding:26px 20px 32px;display:flex;flex-direction:column}
  .fsr-mobile-drawer-kicker{display:flex;align-items:center;gap:10px;color:var(--fsr-gold);font-size:9px;font-weight:900;letter-spacing:.17em;text-transform:uppercase;margin-bottom:19px}
  .fsr-mobile-drawer-kicker:before{content:"";width:28px;height:2px;background:var(--fsr-pink)}
  .fsr-mobile-links{display:grid;border-top:1px solid rgba(255,255,255,.09)}
  .fsr-mobile-links a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:16px 2px;border-bottom:1px solid rgba(255,255,255,.09);color:#fff;text-decoration:none;text-transform:uppercase;font-size:clamp(19px,5.7vw,28px);font-weight:950;font-style:italic;letter-spacing:-.035em;line-height:1}
  .fsr-mobile-links a small{font-size:8px;font-style:normal;letter-spacing:.14em;color:#68656a}
  .fsr-mobile-links a span:last-child{font-size:17px;font-style:normal;color:#5d5960;transition:transform .2s,color .2s}
  .fsr-mobile-links a.is-current{color:var(--fsr-pink)}
  .fsr-mobile-links a.is-current small{color:var(--fsr-gold)}
  .fsr-mobile-links a:active span:last-child{transform:translateX(4px);color:var(--fsr-gold)}
  .fsr-mobile-drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}
  .fsr-mobile-drawer-actions a{min-height:50px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}
  .fsr-mobile-drawer-foot{margin-top:auto;padding-top:24px;color:#66626a;font-size:8px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between;gap:16px}
  body.fsr-mobile-nav-open{overflow:hidden!important}
}
@media(max-width:430px){
  .fsr-mobile-drawer-actions{grid-template-columns:1fr}
  .fsr-mobile-links a{padding:14px 2px}
}

@media(max-width:820px){.fsr-mobile-drawer-actions .fsr-mobile-admin-extra{grid-column:1/-1}}

/* v6.9 public navigation expansion */
@media(min-width:1121px){.site-header nav{gap:16px!important}.site-header nav a{font-size:9.5px!important;white-space:nowrap}.site-header{grid-template-columns:200px 1fr auto!important;padding-left:26px!important;padding-right:26px!important}}

/* =========================================================
   FSR HAASE v6.10.0 · AARON SMALL FEEDBACK PASS
   ========================================================= */
/* Cleaner desktop hero typography */
@media(min-width:821px){
  .fsr-home .hero-fullbleed .hero-copy h1{font-size:clamp(50px,4.55vw,76px)!important;line-height:.9!important;letter-spacing:-.045em!important;max-width:900px}
}
/* Remove the solid black homepage top bar while keeping legibility over photography. */
.fsr-home .site-header{position:absolute!important;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(3,3,3,.62),rgba(3,3,3,.18) 65%,transparent)!important;border-bottom-color:rgba(255,255,255,.07)!important;backdrop-filter:none!important}
/* One premium 3-line menu across desktop and mobile. */
.site-header .fsr-legacy-nav,.site-header .fsr-legacy-actions{display:none!important}
.site-header{display:grid!important;grid-template-columns:minmax(150px,1fr) auto auto!important;gap:14px!important;align-items:center!important}
.fsr-mobile-menu-toggle{display:grid!important;place-items:center;width:48px;height:48px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(10,10,12,.62);cursor:pointer;position:relative;z-index:10002;box-shadow:0 12px 34px rgba(0,0,0,.22);backdrop-filter:blur(12px)}
.fsr-mobile-menu-toggle .fsr-menu-lines{width:21px;height:16px;position:relative;display:block}.fsr-mobile-menu-toggle i{position:absolute;left:0;width:21px;height:2px;background:#fff;border-radius:2px;transition:transform .28s ease,top .28s ease,opacity .2s ease,background .2s ease}.fsr-mobile-menu-toggle i:nth-child(1){top:0}.fsr-mobile-menu-toggle i:nth-child(2){top:7px}.fsr-mobile-menu-toggle i:nth-child(3){top:14px}.fsr-mobile-menu-toggle[aria-expanded="true"] i:nth-child(1){top:7px;transform:rotate(45deg);background:var(--fsr-gold)}.fsr-mobile-menu-toggle[aria-expanded="true"] i:nth-child(2){opacity:0}.fsr-mobile-menu-toggle[aria-expanded="true"] i:nth-child(3){top:7px;transform:rotate(-45deg);background:var(--fsr-pink)}
.fsr-header-socials{display:flex;align-items:center;justify-content:flex-end;gap:7px;position:relative;z-index:10002}.fsr-header-socials a{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(6,6,7,.38);color:#fff;text-decoration:none;font-size:8px;font-weight:950;letter-spacing:.03em;transition:.2s}.fsr-header-socials a:hover{border-color:var(--fsr-pink);color:var(--fsr-gold);transform:translateY(-1px)}
.fsr-mobile-drawer{display:block!important;position:fixed;z-index:9988;left:0;right:0;top:0;height:100dvh;padding-top:96px;background:linear-gradient(155deg,rgba(4,4,5,.99),rgba(13,8,12,.995));transform:translate3d(100%,0,0);opacity:0;visibility:hidden;pointer-events:none;transition:transform .38s cubic-bezier(.2,.72,.2,1),opacity .28s ease,visibility .28s ease;overflow:auto;overscroll-behavior:contain}
.fsr-mobile-drawer.is-open{transform:none;opacity:1;visibility:visible;pointer-events:auto}.fsr-mobile-drawer:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 95% 5%,rgba(237,0,140,.16),transparent 28%),linear-gradient(128deg,transparent 0 70%,rgba(230,193,99,.035) 70% 71%,transparent 71%)}.fsr-mobile-drawer-inner{position:relative;width:min(780px,100%);min-height:calc(100dvh - 96px);margin-left:auto;padding:30px clamp(22px,5vw,58px) 38px;display:flex;flex-direction:column}.fsr-mobile-drawer-kicker{display:flex;align-items:center;gap:10px;color:var(--fsr-gold);font-size:9px;font-weight:900;letter-spacing:.17em;text-transform:uppercase;margin-bottom:19px}.fsr-mobile-drawer-kicker:before{content:"";width:28px;height:2px;background:var(--fsr-pink)}.fsr-mobile-links{display:grid;border-top:1px solid rgba(255,255,255,.09)}.fsr-mobile-links a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:15px 2px;border-bottom:1px solid rgba(255,255,255,.09);color:#fff;text-decoration:none;text-transform:uppercase;font-size:clamp(18px,2.4vw,30px);font-weight:950;font-style:italic;letter-spacing:-.035em;line-height:1}.fsr-mobile-links a small{font-size:8px;font-style:normal;letter-spacing:.14em;color:#68656a}.fsr-mobile-links a span:last-child{font-size:17px;font-style:normal;color:#5d5960}.fsr-mobile-links a:hover,.fsr-mobile-links a.is-current{color:var(--fsr-pink)}.fsr-mobile-links a.is-current small{color:var(--fsr-gold)}.fsr-mobile-drawer-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:22px}.fsr-mobile-drawer-actions a{min-height:50px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}.fsr-mobile-drawer-foot{margin-top:auto;padding-top:24px;color:#66626a;font-size:8px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between;gap:16px}.fsr-mobile-drawer-foot a{color:var(--fsr-gold);text-decoration:none}body.fsr-mobile-nav-open{overflow:hidden!important}
/* Stronger gallery description as requested. */
.gal-album-head p{color:#fff!important;font-size:14px!important;font-weight:750!important;line-height:1.6!important}
/* Make the official lockup sit naturally in the heritage panel. */
.brand-signature-panel img{object-fit:contain!important;filter:none!important}
@media(max-width:820px){.site-header{grid-template-columns:1fr auto auto!important;height:82px!important;padding:0 16px!important}.fsr-mobile-drawer{padding-top:82px}.fsr-mobile-drawer-inner{min-height:calc(100dvh - 82px)}.fsr-header-socials{gap:5px}.fsr-header-socials a{width:29px;height:29px;font-size:7px}.fsr-mobile-drawer-actions{grid-template-columns:1fr 1fr}.fsr-mobile-admin-extra{grid-column:1/-1}.fsr-mobile-links a{font-size:clamp(19px,5.7vw,28px)}}
@media(max-width:520px){.fsr-header-socials a:not(:first-child):not(:nth-child(2)){display:none}.fsr-mobile-drawer-actions{grid-template-columns:1fr}.fsr-mobile-admin-extra{grid-column:auto}}


/* =========================================================
   FSR HAASE v6.10.1 · URGENT HEADER VISIBILITY FIX
   Static logo/social/menu controls are now present in HTML so
   the header never depends on async JS to become visible.
   ========================================================= */
.site-header{z-index:9990!important}
.site-header .brand{position:relative;z-index:10002;display:flex!important;visibility:visible!important;opacity:1!important}
.site-header .brand img{display:block!important;visibility:visible!important;opacity:1!important}
.site-header .fsr-header-socials{display:flex!important;visibility:visible!important;opacity:1!important}
.site-header .fsr-mobile-menu-toggle{display:grid!important;visibility:visible!important;opacity:1!important}
.fsr-home .site-header{z-index:9990!important}

.fsr-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.fsr-header-socials a{position:relative;overflow:hidden}
.fsr-header-socials a .fsr-social-icon{display:grid;place-items:center;width:16px;height:16px;line-height:1}
.fsr-header-socials a .fsr-social-icon svg{display:block;width:16px;height:16px;fill:currentColor;stroke:none}
.brand-signature-panel img,.site-header .brand img,footer img{background:transparent!important}

/* =========================================================
   FSR HAASE v6.10.5 · HEADER SEAM + MOBILE SOCIAL FIX
   ========================================================= */
/* The old sticky-header rule still supplied a 1px bottom border even after
   the homepage header was changed to a transparent overlay. Remove the seam. */
.fsr-home .site-header{
  border-bottom:0!important;
  border-bottom-color:transparent!important;
  box-shadow:none!important;
  outline:0!important;
}
.fsr-home .site-header:before,.fsr-home .site-header:after{border:0!important;box-shadow:none!important}

/* Keep every configured social channel visible on mobile. Previous v6.10
   CSS intentionally hid icons 3+ below 520px. Compact the whole control row
   instead so Instagram/Facebook/YouTube/TikTok/X can all remain available. */
@media(max-width:520px){
  .fsr-header-socials a,
  .fsr-header-socials a:not(:first-child):not(:nth-child(2)){
    display:grid!important;
  }
  .site-header{
    grid-template-columns:minmax(78px,1fr) auto 42px!important;
    gap:5px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .site-header .brand{min-width:0!important;overflow:visible!important}
  .site-header .brand img{
    width:105px!important;
    max-width:105px!important;
    height:auto!important;
  }
  .fsr-header-socials{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:3px!important;
  }
  .fsr-header-socials a{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
  }
  .fsr-header-socials a .fsr-social-icon,
  .fsr-header-socials a .fsr-social-icon svg{
    width:13px!important;
    height:13px!important;
  }
  .fsr-mobile-menu-toggle{
    width:42px!important;
    height:42px!important;
  }
}
@media(max-width:360px){
  .site-header{
    grid-template-columns:minmax(66px,1fr) auto 38px!important;
    gap:4px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
  .site-header .brand img{width:88px!important;max-width:88px!important}
  .fsr-header-socials{gap:2px!important}
  .fsr-header-socials a{width:22px!important;height:22px!important;min-width:22px!important}
  .fsr-header-socials a .fsr-social-icon,.fsr-header-socials a .fsr-social-icon svg{width:12px!important;height:12px!important}
  .fsr-mobile-menu-toggle{width:38px!important;height:38px!important}
}


/* =========================================================
   FSR HAASE v6.10.11 · ALWAYS-AVAILABLE PUBLIC MENU
   ========================================================= */
/* All non-home public headers stay at the top of the viewport. */
body:not(.fsr-home) .site-header{position:sticky!important;top:0!important;z-index:9990!important}
/* Homepage remains an overlay, but now follows the visitor rather than disappearing. */
.fsr-home .site-header{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:9990!important}

/* v6.10.15 screen-size guard: dramatic display type stays inside its section on differing laptop/tablet viewports. */
.site-header,main,section,article{min-width:0}
main h1,main h2,main h3{max-width:100%;}
@media(max-width:1100px){main h1,main h2{text-wrap:balance}}

/* =========================================================
   FSR HAASE v6.11.1.9 · MOBILE SOCIAL ICON SIZE
   ========================================================= */
@media(max-width:520px){
  .fsr-header-socials{gap:4px!important}
  .fsr-header-socials a,
  .fsr-header-socials a:not(:first-child):not(:nth-child(2)){
    width:30px!important;height:30px!important;min-width:30px!important;display:grid!important
  }
  .fsr-header-socials a .fsr-social-icon,
  .fsr-header-socials a .fsr-social-icon svg{width:17px!important;height:17px!important}
  .site-header .brand img{width:98px!important;max-width:98px!important}
}
@media(max-width:360px){
  .fsr-header-socials{gap:3px!important}
  .fsr-header-socials a,
  .fsr-header-socials a:not(:first-child):not(:nth-child(2)){width:26px!important;height:26px!important;min-width:26px!important}
  .fsr-header-socials a .fsr-social-icon,.fsr-header-socials a .fsr-social-icon svg{width:15px!important;height:15px!important}
  .site-header .brand img{width:82px!important;max-width:82px!important}
}

/* v6.11.2.0 · Command Centre mobile access + unified Weather & Rain Intelligence */
.public-site-mobile{display:none}
@media(max-width:760px){
  body.v4-admin .top-actions a.public-site-link{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;padding:0 10px!important;border-color:rgba(237,0,140,.45)!important;color:#fff!important;background:rgba(237,0,140,.08)!important}
  body.v4-admin .top-actions .public-site-desktop{display:none}
  body.v4-admin .top-actions .public-site-mobile{display:inline}
  body.v4-admin .top-actions{gap:6px!important}
}
.weather-intelligence-config{gap:13px}
.weather-weekend-source{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid #332c33;background:#0b090c}
.weather-weekend-source small,.weather-selected-location small{display:block;color:var(--fsr-pink);font-size:7px;font-weight:950;letter-spacing:.13em}
.weather-weekend-source strong,.weather-selected-location strong{display:block;margin-top:5px;font-size:12px;color:#fff}
.weather-weekend-source span,.weather-selected-location span{display:block;margin-top:4px;color:#8f8990;font-size:8px;line-height:1.45}
.weather-search-label{display:grid!important;gap:7px}
.weather-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.weather-search-row .btn{min-width:88px}
.weather-location-results{border:1px solid #332c33;background:#060607;max-height:245px;overflow:auto}
.weather-location-results button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:center;text-align:left;border:0;border-bottom:1px solid #282328;background:transparent;color:#fff;padding:11px 12px;cursor:pointer}
.weather-location-results button:last-child{border-bottom:0}.weather-location-results button:hover{background:rgba(237,0,140,.07)}
.weather-location-results strong{font-size:10px}.weather-location-results span{grid-column:1;color:#817b82;font-size:8px}.weather-location-results b{grid-column:2;grid-row:1/3;align-self:center;color:var(--fsr-pink);font-size:7px;letter-spacing:.1em}
.weather-search-loading{padding:12px;color:#8f8990;font-size:8px}
.weather-selected-location{padding:12px;border:1px solid #3a3037;background:linear-gradient(90deg,rgba(237,0,140,.06),transparent),#080708}
.weather-selected-location[data-state="selected"]{border-color:rgba(237,0,140,.45)}
@media(max-width:760px){.weather-weekend-source,.weather-search-row{grid-template-columns:1fr}.weather-weekend-source .btn,.weather-search-row .btn{width:100%}}
@media(max-width:760px){
  body.v4-admin .top-actions #commandHomeBtn:not([hidden]){display:inline-flex!important;align-items:center;justify-content:center;font-size:0!important;padding:0 8px!important}
  body.v4-admin .top-actions #commandHomeBtn:not([hidden])::after{content:"HOME";font-size:7px;letter-spacing:.08em}
}

/* v6.11.2.1 Analytics accents are HAASE pink. */
body.tpm-race-ops.haase-analytics-page .analysis-heading h2 span,body.tpm-race-ops.haase-analytics-page .launch-key{color:var(--fsr-pink)!important}

/* v6.11.2.16 — premium desktop MENU, mobile hamburger unchanged */
.fsr-desktop-menu-label{display:none;}
@media(min-width:821px){
 .site-header .fsr-mobile-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:11px!important;width:126px!important;min-width:126px!important;height:47px!important;padding:0 15px!important;border-radius:4px!important;border:1px solid rgba(230,193,99,.60)!important;background:linear-gradient(125deg,rgba(24,17,25,.96),rgba(8,8,11,.96))!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(237,0,140,.14),0 9px 27px rgba(0,0,0,.35)!important;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s!important;}
 .site-header .fsr-mobile-menu-toggle .fsr-menu-lines{display:none!important;}
 .site-header .fsr-desktop-menu-label{display:inline-block!important;color:#fff;font:900 11px/1 Inter,Arial,sans-serif;letter-spacing:.22em;}
 .site-header .fsr-mobile-menu-toggle:after{content:'↗';position:static;color:#e6c163;font-size:15px;font-weight:700;transition:transform .2s;}
 .site-header .fsr-mobile-menu-toggle:hover{border-color:rgba(237,0,140,.95)!important;background:linear-gradient(120deg,rgba(45,12,33,.98),rgba(9,9,12,.98))!important;transform:translateY(-1px);}
 .site-header .fsr-mobile-menu-toggle:hover:after{transform:translate(2px,-2px);}
 .site-header .fsr-mobile-menu-toggle[aria-expanded='true']{border-color:rgba(237,0,140,.9)!important;}
 .site-header .fsr-mobile-menu-toggle[aria-expanded='true']:after{content:'×';font-size:21px;transform:none;}
}
@media(max-width:820px){.site-header .fsr-desktop-menu-label{display:none!important;}}
