/* ==========================================================================
   AFILÉON MOTORSPORT — CYBERPUNK LAYER
   Loads LAST on every public page. Same palette as the live site
   (navy · yellow · magenta). No new colours, no external fonts/requests,
   CSP-safe. Remove the <link> to this file to revert to the previous look.
   ========================================================================== */

:root{
  --cy-yellow:#ffe500;
  --cy-pink:#ff3bd4;
  --cy-void:#04061b;
  --cy-navy:#0b1236;
  --cy-navy2:#111a4a;
  --cy-ink:#070b2c;
  --cy-cream:#fbf5e6;
  --cy-cream2:#cfd3ea;
  --cy-glass:linear-gradient(160deg,rgba(21,31,92,.74),rgba(7,11,44,.86));
  --cy-edge:rgba(255,229,0,.26);
  --cy-glow-y:0 0 22px rgba(255,229,0,.35);
  --cy-glow-p:0 0 22px rgba(255,59,212,.45);
  --cy-mono:"JetBrains Mono","Cascadia Code","Cascadia Mono","SF Mono",ui-monospace,Menlo,Consolas,"DejaVu Sans Mono","Liberation Mono",monospace;
  --cy-display:"Bahnschrift","Rajdhani","Chakra Petch","Barlow Condensed","Oswald","Arial Narrow","Helvetica Neue",Impact,sans-serif;
  --cut:14px;
}

/* ---------- 1. world: void, glow, grid, scanlines ---------- */
html{
  background:
    radial-gradient(52rem 34rem at 88% -8%,rgba(255,59,212,.20),transparent 62%),
    radial-gradient(46rem 30rem at -4% 6%,rgba(255,229,0,.09),transparent 60%),
    radial-gradient(60rem 40rem at 50% 100%,rgba(255,59,212,.14),transparent 65%),
    linear-gradient(180deg,#04061b 0%,#090f35 50%,#04061b 100%) !important;
  background-color:#04061b !important;
  background-repeat:no-repeat !important;
  scrollbar-color:var(--cy-yellow) #060a26;
  scrollbar-width:thin;
}
html body{background:none !important;color:var(--cy-cream);font-family:"Inter","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;position:relative}
::selection{background:var(--cy-pink);color:#04061b}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#060a26}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--cy-yellow),var(--cy-pink));border:2px solid #060a26}

/* faint circuit grid across the whole page */
html body:after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.55;
  background-image:
    linear-gradient(rgba(255,229,0,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,229,0,.035) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 0,transparent 75%);
          mask-image:radial-gradient(ellipse at 50% 30%,#000 0,transparent 75%);
}
/* CRT scanlines + vignette (non-interactive) */
html:after{
  content:"";position:fixed;inset:0;z-index:9990;pointer-events:none;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px),
    radial-gradient(ellipse at 50% 50%,transparent 68%,rgba(2,3,16,.34) 100%);
}

/* scroll-progress bar replaces the old tri-colour strip */
html body:before{
  content:"";position:fixed;left:0;top:0;height:3px;width:var(--cy-progress,0%);
  background:linear-gradient(90deg,var(--cy-yellow),var(--cy-pink));
  box-shadow:0 0 14px var(--cy-pink),0 0 6px var(--cy-yellow);
  z-index:10001;pointer-events:none;transition:width .12s linear;
  inset:0 auto auto 0;
}

/* ---------- 2. type ---------- */
html body h1,html body h2,html body h3,html body .display{font-family:var(--cy-display)}
html body h1,html body h2,html body .display{text-transform:uppercase;font-style:italic;font-weight:800;letter-spacing:-.005em}
html body h1,html body .display{text-shadow:0 0 28px rgba(255,59,212,.28)}
html body .display .accent,html body .accent{color:var(--cy-yellow);text-shadow:0 0 14px rgba(255,229,0,.55),0 0 46px rgba(255,229,0,.28)}
html body h3{letter-spacing:.02em}
html body .eyebrow,html body .breadcrumbs,html body .kicker,html body .role,html body .partner .label,html body .card-number,
html body .tag,html body .race-first-overline,html body .sp-kicker{font-family:var(--cy-mono);font-weight:700;letter-spacing:.16em;font-size:.7rem;text-transform:uppercase}
html body .eyebrow{color:var(--cy-yellow);text-shadow:0 0 12px rgba(255,229,0,.35)}
html body .eyebrow:before{content:"//";width:auto;height:auto;background:none;transform:none;color:var(--cy-pink);letter-spacing:0;text-shadow:0 0 10px rgba(255,59,212,.7)}
html body .breadcrumbs{color:var(--cy-yellow)}
html body .breadcrumbs:before{content:"> ";color:var(--cy-pink)}
html body .lead,html body .section-head p,html body .page-hero p{color:var(--cy-cream2)}

/* blinking terminal cursor on page + section titles */
html body .page-hero h1:after,html body .section-head h2:after{
  content:"_";color:var(--cy-pink);margin-left:.08em;text-shadow:0 0 14px var(--cy-pink);
  animation:cy-blink 1.05s steps(1,end) infinite;
}
@keyframes cy-blink{0%,55%{opacity:1}56%,100%{opacity:0}}

/* ---------- 3. header / nav ---------- */
html body .site-header{
  background:linear-gradient(180deg,rgba(4,6,27,.92),rgba(7,11,44,.78)) !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.35);backdrop-filter:blur(16px) saturate(1.35);
  border-bottom:1px solid rgba(255,229,0,.30) !important;
  box-shadow:0 12px 40px rgba(0,0,0,.5) !important;
  top:0;
}
html body .site-header:after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--cy-pink) 20%,var(--cy-yellow) 50%,var(--cy-pink) 80%,transparent);
  background-size:200% 100%;box-shadow:0 0 12px rgba(255,59,212,.8);
  animation:cy-edge 6s linear infinite;
}
@keyframes cy-edge{to{background-position:-200% 0}}
html body .brand-logo{filter:brightness(1.18) drop-shadow(0 0 10px rgba(255,229,0,.4))}
html body .brand:hover .brand-logo{filter:drop-shadow(0 0 16px rgba(255,229,0,.7)) drop-shadow(0 0 28px rgba(255,59,212,.35))}
html body .nav-links>a:not(.nav-cta),html body .nav-more>summary{
  font-family:var(--cy-mono);font-weight:700;font-size:.68rem;letter-spacing:.14em;color:#dfe3fa;border-bottom:0;padding:10px 11px;
}
html body .nav-links>a:not(.nav-cta):hover,html body .nav-more>summary:hover,html body .nav-more[open]>summary{color:var(--cy-yellow);text-shadow:0 0 12px rgba(255,229,0,.6)}
html body .nav-links>a[aria-current="page"]{color:var(--cy-yellow);text-shadow:0 0 12px rgba(255,229,0,.55)}
html body .nav-links>a[aria-current="page"]:before{content:">";color:var(--cy-pink);margin-right:5px}
html body .more-panel{
  background:linear-gradient(160deg,rgba(14,22,70,.97),rgba(5,8,34,.98));
  border:1px solid var(--cy-edge);box-shadow:0 24px 60px rgba(0,0,0,.65),0 0 30px rgba(255,59,212,.12);padding:6px;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
}
html body .more-panel a{color:var(--cy-cream)!important;font-family:var(--cy-mono);font-size:.7rem;letter-spacing:.1em;border-left:2px solid transparent;transition:.18s}
html body .more-panel a:hover{background:rgba(255,229,0,.07);border-left-color:var(--cy-pink);color:var(--cy-yellow)!important;padding-left:18px}
html body .menu-btn{background:transparent;border:1px solid var(--cy-yellow);color:var(--cy-yellow);box-shadow:var(--cy-glow-y)}

/* ---------- 4. buttons: chamfered neon plates ---------- */
html body .btn,html body .nav-links a.nav-cta{
  --b-edge:var(--cy-yellow);--b-fill:rgba(5,8,36,.9);--b-text:#fff;--b-glow:rgba(255,229,0,.5);--c:12px;
  position:relative;isolation:isolate;border:0 !important;background:transparent !important;border-radius:0;
  color:var(--b-text) !important;clip-path:none !important;box-shadow:none;
  font-family:var(--cy-mono);font-weight:700;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;
  min-height:50px;padding:0 24px;transition:color .18s,filter .18s,transform .18s;filter:drop-shadow(0 0 0 transparent);
}
html body .btn:before,html body .btn:after,
html body .nav-links a.nav-cta:before,html body .nav-links a.nav-cta:after{
  content:"";position:absolute;z-index:-1;pointer-events:none;transition:background .18s;
  clip-path:polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));
}
html body .btn:before,html body .nav-links a.nav-cta:before{inset:0;background:var(--b-edge)}
html body .btn:after,html body .nav-links a.nav-cta:after{inset:1.5px;--c:11px;background:var(--b-fill)}
html body .btn:hover,html body .btn:focus-visible,html body .nav-links a.nav-cta:hover{
  --b-fill:var(--cy-yellow);--b-text:#060824;transform:translateY(-2px);filter:drop-shadow(0 0 14px var(--b-glow));
}
html body .btn.primary,html body .nav-links a.nav-cta{--b-edge:var(--cy-pink);--b-fill:var(--cy-pink);--b-text:#060824;--b-glow:rgba(255,59,212,.7);filter:drop-shadow(0 0 12px rgba(255,59,212,.45))}
html body .btn.primary:hover,html body .btn.primary:focus-visible,html body .nav-links a.nav-cta:hover{--b-edge:var(--cy-yellow);--b-fill:var(--cy-yellow);--b-text:#060824;--b-glow:rgba(255,229,0,.75)}
html body .btn.secondary,html body .race-services-btn{--b-edge:var(--cy-yellow);--b-text:var(--cy-yellow)}
html body .btn.whatsapp{--b-edge:#25d366;--b-text:#c8ffe0;--b-glow:rgba(37,211,102,.55)}
html body .btn.whatsapp:hover{--b-fill:#25d366;--b-text:#04120a}
html body .btn.whatsapp-solid,html body .btn.whatsapp-solid:hover{--b-edge:#25d366;--b-fill:#25d366;--b-text:#04120a;--b-glow:rgba(37,211,102,.6)}
html body .btn:disabled,html body .btn[disabled]{opacity:.45;filter:none;transform:none}
html body .btn:active{transform:translateY(0) scale(.985)}
/* scan-sweep across a button on hover */
html body .btn:hover:after{background:linear-gradient(105deg,var(--b-fill) 40%,rgba(255,255,255,.65) 50%,var(--b-fill) 60%) 0 0/250% 100%;animation:cy-sweep .55s ease-out 1 both}
@keyframes cy-sweep{from{background-position:130% 0}to{background-position:-30% 0}}
html body .nav-links a.nav-cta{padding:0 20px;min-height:40px;display:inline-flex;align-items:center;margin-left:8px}
html body .race-first-actions .race-book-btn{--b-edge:rgba(255,255,255,.7)}
/* sponsorship page + inline variants */
html body .sp-main .btn{background:transparent !important;border:0 !important}
html body .sp-main .sp-primary{--b-edge:var(--cy-yellow);--b-fill:var(--cy-yellow);--b-text:#060824;--b-glow:rgba(255,229,0,.6)}
html body .sp-main .sp-primary:hover{--b-edge:var(--cy-pink);--b-fill:var(--cy-pink);--b-text:#060824}
html body .sp-main .sp-outline{--b-edge:rgba(255,255,255,.6);--b-text:#fff}
html body .calendar-head .btn{min-height:auto;padding:9px 12px}
html body .cta-band .btn{--b-fill:rgba(5,8,36,.92);--b-edge:var(--cy-yellow);--b-text:#fff}
html body .cta-band .btn:hover{--b-fill:var(--cy-yellow);--b-text:#060824}

/* ---------- 5. hero + page-hero ---------- */
html body .hero,html body .page-hero{position:relative;overflow:hidden;isolation:isolate;background:transparent !important;border:0;
  border-bottom:1px solid rgba(255,229,0,.22);}
html body .hero:before,html body .page-hero:before{
  content:"";position:absolute;inset:0;z-index:-2;mask-image:none;-webkit-mask-image:none;opacity:1;
  background:
    radial-gradient(34rem 22rem at 82% 8%,rgba(255,59,212,.26),transparent 65%),
    radial-gradient(30rem 20rem at 8% 100%,rgba(255,229,0,.12),transparent 65%),
    linear-gradient(115deg,transparent 0 62%,rgba(255,59,212,.07) 62% 63%,transparent 63% 66%,rgba(255,229,0,.07) 66% 66.6%,transparent 66.6%);
}
/* ghost numerals become outlined neon glyphs */
html body .hero:after,html body .page-hero:after,html body .pitlane-hero:after,html body .race-first-mission:before,html body .sp-hero::before{
  color:transparent !important;-webkit-text-stroke:1px rgba(255,229,0,.16);text-shadow:none;z-index:-1;
}
html body .page-hero:after{-webkit-text-stroke:1px rgba(255,59,212,.2)}
html body .hero-inner,html body .page-hero>.wrap{position:relative;z-index:1}
html body .hero-promise{background:none;color:var(--cy-yellow);transform:none;padding:0;font-family:var(--cy-mono);font-style:normal;font-size:.76rem;letter-spacing:.14em}
html body .hero-promise:before{content:"> ";color:var(--cy-pink)}

/* injected perspective floor + HUD (see cyberpunk.js) */
.cy-floor{position:absolute;left:-60%;right:-60%;bottom:-2px;height:58%;z-index:-1;pointer-events:none;opacity:.5;
  transform:perspective(360px) rotateX(64deg);transform-origin:50% 100%;
  background-image:linear-gradient(rgba(255,59,212,.7) 1px,transparent 1px),linear-gradient(90deg,rgba(255,59,212,.7) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(0deg,#000 0,transparent 88%);mask-image:linear-gradient(0deg,#000 0,transparent 88%);
  animation:cy-floor 2.6s linear infinite}
@keyframes cy-floor{to{background-position:0 64px,0 0}}
.cy-hud{position:absolute;right:clamp(14px,3vw,34px);top:clamp(12px,2vw,22px);z-index:2;pointer-events:none;text-align:right;
  font:700 .62rem/1.6 var(--cy-mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,229,0,.7)}
.cy-hud b{color:var(--cy-pink);font-weight:700}
.cy-hud i{display:inline-block;width:7px;height:7px;background:var(--cy-yellow);box-shadow:0 0 10px var(--cy-yellow);margin-right:7px;animation:cy-blink 1.4s steps(1,end) infinite}
@media(max-width:700px){.cy-hud{display:none}}

/* top ticker (system status) */
.cy-ticker{position:relative;z-index:60;overflow:hidden;white-space:nowrap;background:#030517;border-bottom:1px solid rgba(255,59,212,.45);
  font:700 .62rem/1 var(--cy-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--cy-yellow);height:28px;display:flex;align-items:center}
.cy-ticker-track{display:inline-flex;gap:0;animation:cy-marquee 48s linear infinite;will-change:transform}
.cy-ticker span{padding:0 1.6rem;display:inline-flex;align-items:center;gap:.9rem}
.cy-ticker span:after{content:"◢◤";color:var(--cy-pink);letter-spacing:0}
.cy-ticker em{font-style:normal;color:#fff}
@keyframes cy-marquee{to{transform:translateX(-50%)}}

/* ---------- 6. glass cards with HUD corner brackets ---------- */
html body .card,html body .panel,html body .partner,html body .profile,html body .legacy-card,html body .origin-step,html body .spec,
html body .story-side,html body .principal-partner,html body .hero-panel,html body .offer-panel,html body .contact-method,
html body .enquire-form,html body .shop-card,html body .shop-basket,html body .shop-loading,html body .involve-grid .card,
html body main .booking-panel,html body .race-first-car,html body .race-first-mission-facts,html body .sp-tier,html body .sp-purpose-item{
  position:relative;
  background:
    radial-gradient(240px circle at var(--mx,50%) var(--my,-60%),rgba(255,229,0,.11),transparent 70%),
    var(--cy-glass) !important;
  border:1px solid var(--cy-edge) !important;border-top-width:1px !important;border-radius:0 !important;
  clip-path:none !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 18px 50px rgba(0,0,0,.45) !important;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  color:var(--cy-cream) !important;
  transition:transform .28s cubic-bezier(.2,.7,.2,1),border-color .25s,box-shadow .25s;
}
html body .card:hover,html body .partner:hover,html body .profile:hover,html body .legacy-card:hover,html body .origin-step:hover,
html body .principal-partner:hover,html body .shop-card:hover,html body .contact-method:hover,html body .sp-tier:hover{
  border-color:rgba(255,229,0,.7) !important;
  box-shadow:inset 0 0 0 1px rgba(255,229,0,.08),0 0 0 1px rgba(255,229,0,.25),0 0 36px rgba(255,229,0,.16),0 0 60px rgba(255,59,212,.12),0 24px 60px rgba(0,0,0,.55) !important;
}
/* top-left yellow bracket / bottom-right pink bracket */
html body .card:before,html body .partner:before,html body .profile:before,html body .legacy-card:before,html body .origin-step:before,
html body .spec:before,html body .principal-partner:before,html body .hero-panel:before,html body .offer-panel:before,html body .panel:before,
html body .contact-method:before,html body .enquire-form:before,html body .shop-card:before,html body main .booking-panel:before,html body .race-first-car:before,
html body .story-side:before{
  content:"" !important;display:block !important;position:absolute;left:-1px !important;top:-1px !important;right:auto !important;bottom:auto !important;
  width:20px !important;height:20px !important;background:none !important;box-shadow:none !important;pointer-events:none;
  border-top:2px solid var(--cy-yellow);border-left:2px solid var(--cy-yellow);filter:drop-shadow(0 0 5px rgba(255,229,0,.8));
}
html body .card:after,html body .partner:after,html body .profile:after,html body .legacy-card:after,html body .origin-step:after,
html body .spec:after,html body .principal-partner:after,html body .hero-panel:after,html body .offer-panel:after,html body .panel:after,
html body .contact-method:after,html body .enquire-form:after,html body .shop-card:after,html body main .booking-panel:after,html body .race-first-car:after,
html body .story-side:after{
  content:"" !important;display:block !important;position:absolute;right:-1px !important;bottom:-1px !important;left:auto !important;top:auto !important;
  width:20px !important;height:20px !important;background:none !important;box-shadow:none !important;pointer-events:none;
  border-right:2px solid var(--cy-pink);border-bottom:2px solid var(--cy-pink);filter:drop-shadow(0 0 5px rgba(255,59,212,.9));
}
html body .hero-panel:after,html body .page-hero.has-panel:after{font-size:inherit}
/* text colours inside the (now dark) panels */
html body .hero-panel *,html body .offer-panel *{color:var(--cy-cream) !important}
html body .hero-panel h3,html body .hero-panel strong,html body .offer-panel strong{color:#fff !important}
html body .offer-panel .data-row strong,html body .hero-panel .data-row strong{color:var(--cy-yellow) !important;font-family:var(--cy-mono)}
html body .hero-panel .tag{background:rgba(255,59,212,.14);color:var(--cy-pink) !important;border:1px solid var(--cy-pink)}
html body .hero-smallprint,html body .form-note{color:var(--cy-cream2) !important}
html body .data-row{border-color:rgba(255,229,0,.14)}
html body .card h2,html body .card h3{text-shadow:0 0 18px rgba(255,255,255,.08)}
html body .card-number{color:var(--cy-pink) !important;text-shadow:0 0 12px rgba(255,59,212,.5)}
html body .card a.more,html body .more{font-family:var(--cy-mono);font-size:.68rem;letter-spacing:.14em;color:var(--cy-yellow) !important;transition:.2s}
html body .card a.more:hover,html body .more:hover{color:#fff !important;text-shadow:0 0 14px var(--cy-yellow);letter-spacing:.2em}
html body .card a:not(.btn),html body .panel a:not(.btn),html body .note a{color:var(--cy-yellow) !important;text-decoration-color:rgba(255,59,212,.7);text-underline-offset:3px}
html body .partner-logo-box{border-color:var(--cy-edge)}

/* notes, quotes, callouts */
html body .note,html body .story-callout,html body .contact-flow div,html body .timeline .step,html body .support-strip div,html body .booking-note,html body main .booking-note{
  background:linear-gradient(90deg,rgba(255,229,0,.07),rgba(255,229,0,.015)) !important;
  border:0 !important;border-left:2px solid var(--cy-yellow) !important;border-radius:0;clip-path:none !important;
  box-shadow:inset 0 0 40px rgba(255,229,0,.03);color:var(--cy-cream) !important;
}
html body .timeline .step{border-left:0 !important;border-top:2px solid var(--cy-pink) !important}
html body .quote{border-block:1px solid rgba(255,229,0,.4);background:linear-gradient(90deg,transparent,rgba(255,59,212,.06),transparent);text-shadow:0 0 30px rgba(255,59,212,.25)}
html body .quote cite{font-family:var(--cy-mono);color:var(--cy-pink)}
html body .initials{background:rgba(255,229,0,.05);border:1px solid var(--cy-yellow);box-shadow:var(--cy-glow-y),inset 0 0 22px rgba(255,229,0,.12);font-family:var(--cy-display);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}

/* ---------- 7. stat strips, sponsor strip, bands ---------- */
html body .stat-row{
  background:
    repeating-linear-gradient(115deg,transparent 0 22px,rgba(255,229,0,.025) 22px 23px),
    linear-gradient(90deg,rgba(255,229,0,.10),rgba(255,59,212,.08)),#050827 !important;
  border-block:1px solid rgba(255,229,0,.45);box-shadow:0 0 40px rgba(255,229,0,.08),inset 0 0 60px rgba(255,59,212,.06);position:relative;
}
html body .stat-row,html body .stat-row *{color:var(--cy-cream2) !important}
html body .stat-row div{border-right:1px solid rgba(255,229,0,.2) !important}
html body .stat-row strong{color:var(--cy-yellow) !important;text-shadow:0 0 16px rgba(255,229,0,.5);font-family:var(--cy-display);font-style:italic}
html body .stat-row span{font-family:var(--cy-mono);font-weight:700;letter-spacing:.14em}
html body .fx .stat-row.scan:after{background:linear-gradient(transparent,rgba(255,229,0,.28),transparent)}
html body .band,html body .section.band,html body .section.band:nth-of-type(even),html body .section.band:nth-of-type(odd){
  background:
    linear-gradient(90deg,rgba(255,229,0,.05),rgba(255,59,212,.06)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 4px),
    rgba(8,12,50,.62) !important;
  border-block:1px solid rgba(255,229,0,.22);
}
html body .support-strip div{padding:12px 20px;font-family:var(--cy-mono)}
html body .support-strip span{font-family:var(--cy-display);font-style:italic;font-size:1.1rem;letter-spacing:.08em;color:#fff;text-shadow:0 0 14px rgba(255,255,255,.18)}
html body .support-strip small{font-family:var(--cy-mono);color:var(--cy-pink) !important;letter-spacing:.14em}
html body .section,html body .section:nth-of-type(even),html body .section:nth-of-type(odd){background-image:none}
html body .section-head h2{text-shadow:0 0 30px rgba(255,59,212,.2)}

/* section divider: glowing hairline between consecutive sections */
html body main>section+section{position:relative}
html body main>section+section:not(.band):not(.stat-row):before{
  content:"";position:absolute;left:50%;top:0;width:min(1320px,92%);height:1px;transform:translateX(-50%);pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,229,0,.35),rgba(255,59,212,.45),transparent);
}

/* ---------- 8. home: race-first components ---------- */
html body .race-first-hero{background:transparent !important}
html body .race-first-car{border-top:1px solid var(--cy-edge) !important;overflow:visible}
html body .race-first-car-image{overflow:hidden;border-bottom:1px solid var(--cy-edge)}
html body .race-first-car-image:after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px),linear-gradient(180deg,transparent 55%,rgba(5,8,36,.8)),linear-gradient(120deg,rgba(255,59,212,.14),transparent 45%)}
html body .race-first-car-image img{filter:contrast(1.08) saturate(1.1)}
html body .race-first-image-label{background:rgba(5,8,36,.85);color:var(--cy-yellow);font-family:var(--cy-mono);border:1px solid var(--cy-yellow);border-left:0;border-bottom:0;z-index:2;letter-spacing:.16em}
html body .race-first-image-label:before{content:"● ";color:var(--cy-pink);animation:cy-blink 1.2s steps(1,end) infinite}
html body .race-first-id{font-family:var(--cy-display);font-style:italic;color:var(--cy-yellow);text-shadow:0 0 22px rgba(255,229,0,.55),0 0 60px rgba(255,59,212,.3)}
html body .race-first-car-body,html body .race-first-help{background:transparent}
html body .race-first-help{border-top:1px solid var(--cy-edge);background:rgba(3,5,23,.55)}
html body .race-first-car-link,html body .race-first-help a,html body .race-first-mission-link{font-family:var(--cy-mono);letter-spacing:.12em;font-size:.7rem}
html body .race-first-mission,html body .race-first-services{background:transparent !important;border-color:rgba(255,229,0,.18)}
html body .race-first-mission-facts>div{border-color:rgba(255,229,0,.16)}
html body .race-first-mission-facts span{font-family:var(--cy-mono)}
html body .race-first-mission-facts strong{font-family:var(--cy-display);font-style:italic}
html body .race-programme-photo{border-top:1px solid var(--cy-edge);background:rgba(3,5,23,.7);position:relative}
html body .race-programme-photo:before{content:"";position:absolute;left:-1px;top:-1px;width:20px;height:20px;border-top:2px solid var(--cy-yellow);border-left:2px solid var(--cy-yellow);z-index:2}

/* big CTA band: neon slab instead of flat pink block */
html body .cta-band{
  background:
    linear-gradient(100deg,rgba(255,59,212,.22),rgba(255,59,212,.04) 55%,rgba(255,229,0,.12)),
    #050827 !important;
  color:#fff;border-block:1px solid rgba(255,59,212,.55);box-shadow:inset 0 0 80px rgba(255,59,212,.12),0 0 50px rgba(255,59,212,.1);
}
html body .cta-band:before{background:repeating-linear-gradient(115deg,rgba(255,229,0,.18) 0 10px,transparent 10px 22px);opacity:.7;transform:skewX(-20deg)}
html body .cta-band h2{color:#fff;text-shadow:0 0 28px rgba(255,59,212,.5)}

/* ---------- 9. forms & booking ---------- */
html body input:not([type=checkbox]):not([type=radio]),html body select,html body textarea,
html body .form-field input,html body .form-field select,html body .form-field textarea,
html body .form-grid input,html body .form-grid textarea,html body .travel-panel select{
  background:rgba(3,5,26,.85) !important;color:#fff !important;border:1px solid rgba(255,229,0,.3) !important;border-radius:0 !important;
  font-family:var(--cy-mono);font-size:.88rem;caret-color:var(--cy-pink);transition:border-color .2s,box-shadow .2s;
}
html body input::placeholder,html body textarea::placeholder{color:rgba(207,211,234,.5)}
html body input:focus,html body select:focus,html body textarea:focus{
  outline:0 !important;border-color:var(--cy-yellow) !important;box-shadow:0 0 0 1px var(--cy-yellow),0 0 26px rgba(255,229,0,.28),inset 0 0 18px rgba(255,229,0,.06) !important;
}
html body select option{background:#0b1236;color:#fff}
html body .form-field label,html body .form-grid label{font-family:var(--cy-mono);color:var(--cy-yellow) !important;letter-spacing:.14em;font-size:.68rem}
html body input[type=checkbox],html body input[type=radio]{accent-color:var(--cy-pink)}
html body .booking-steps span{font-family:var(--cy-mono);border-radius:0}
html body main .booking-steps span.on,html body .booking-steps span.on{border-color:var(--cy-yellow);color:var(--cy-yellow);box-shadow:0 0 14px rgba(255,229,0,.25);background:rgba(255,229,0,.07)}
html body .service-choice,html body main .service-choice,html body .variant-box,html body main .variant-box,html body .step-selection,html body main .step-selection,html body .travel-panel,html body .travel-estimate,
html body .variant-row button,html body main .variant-row button{
  background:rgba(3,5,26,.7) !important;border:1px solid rgba(255,229,0,.22) !important;border-radius:0;color:var(--cy-cream) !important;clip-path:none;
}
html body .service-choice:hover{border-color:var(--cy-pink) !important;box-shadow:0 0 22px rgba(255,59,212,.2)}
html body .service-choice.on,html body main .service-choice.on,html body .variant-row button.on{border-color:var(--cy-yellow) !important;box-shadow:0 0 0 1px var(--cy-yellow) inset,0 0 24px rgba(255,229,0,.2);background:rgba(255,229,0,.06) !important}
html body .service-choice .service-price,html body .payment-breakdown{color:var(--cy-yellow);font-family:var(--cy-mono);text-shadow:0 0 12px rgba(255,229,0,.4)}
html body .booking-price{color:var(--cy-yellow);text-shadow:0 0 18px rgba(255,229,0,.5);font-family:var(--cy-display);font-style:italic}
html body .step-back{color:var(--cy-pink);font-family:var(--cy-mono)}
html body .calendar-day{border-radius:0;font-family:var(--cy-mono)}
html body .calendar-day:hover:not(:disabled){box-shadow:0 0 0 2px var(--cy-yellow) inset,0 0 18px rgba(255,229,0,.35)}
html body .calendar-day.selected{outline:2px solid var(--cy-pink);box-shadow:0 0 22px rgba(255,59,212,.55)}
html body .summary-line{border-bottom-color:rgba(255,229,0,.16)}
html body .terms-panel{border-color:var(--cy-edge) !important}
html body .terms-panel h2{border-top:1px solid rgba(255,229,0,.2)}
html body .terms-panel h3,html body .terms-panel th{color:var(--cy-yellow) !important;font-family:var(--cy-mono)}
html body .terms-panel th,html body .terms-panel td{border-color:rgba(255,229,0,.18)}

/* ---------- 10. social + shop + misc ---------- */
html body .social-link{background:var(--cy-glass) !important;border:1px solid var(--cy-edge) !important;clip-path:none !important;border-radius:0;box-shadow:none}
html body .social-link:hover{border-color:var(--cy-pink) !important;box-shadow:0 0 28px rgba(255,59,212,.28) !important;transform:translateY(-3px)}
html body .social-icon{border:1px solid var(--cy-yellow);box-shadow:var(--cy-glow-y);background:rgba(255,229,0,.05)}
html body .social-icon svg{fill:var(--cy-yellow)}
html body .social-copy small{font-family:var(--cy-mono)}
html body .shop-card img{filter:contrast(1.05) saturate(1.05)}
html body .tag{border-color:var(--cy-pink);color:var(--cy-pink);background:rgba(255,59,212,.08);border-radius:0}
html body .list-clean li:before{background:var(--cy-pink);box-shadow:0 0 8px var(--cy-pink)}
html body hr{border:0;height:1px;background:linear-gradient(90deg,transparent,var(--cy-yellow),var(--cy-pink),transparent);opacity:.5}
html body a{text-decoration-color:rgba(255,59,212,.6)}
html body :focus-visible{outline:2px solid var(--cy-yellow);outline-offset:3px;box-shadow:0 0 18px rgba(255,229,0,.5)}
html body .season-campaign{border-bottom:1px solid var(--cy-pink)}

/* PIT 77 keeps its hot-yellow product hero, with cyber scan treatment */
html body .p77-hero:after,html body .p77-yellow:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.07) 0 1px,transparent 1px 3px);-webkit-text-stroke:0}
html body .pit-rb .rb-hero:before{opacity:.85}
html body .p77-strip,html body .p77-board div{font-family:var(--cy-mono)}
html body .p77-board div{border:1px solid var(--cy-edge);background:rgba(3,5,26,.6);font-style:normal}
html body .p77-steps>div{background:var(--cy-glass);border:1px solid var(--cy-edge);clip-path:none}

/* ---------- 11. footer ---------- */
html body .footer{background:linear-gradient(180deg,rgba(4,6,27,.9),#02030f) !important;border-top:1px solid rgba(255,229,0,.35) !important;position:relative;overflow:hidden}
html body .footer:before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--cy-pink),var(--cy-yellow),var(--cy-pink),transparent);box-shadow:0 0 14px var(--cy-pink)}
html body .footer h3{font-family:var(--cy-mono);font-style:normal;font-size:.72rem;letter-spacing:.2em;color:var(--cy-yellow);text-shadow:0 0 12px rgba(255,229,0,.4)}
html body .footer h3:before{content:"// ";color:var(--cy-pink)}
html body .footer a{transition:.18s}
html body .footer a:hover{color:var(--cy-yellow) !important;text-shadow:0 0 12px rgba(255,229,0,.55);padding-left:6px}
html body .footer-emblem{filter:drop-shadow(0 0 12px rgba(255,229,0,.55))}
html body .footer-bottom{font-family:var(--cy-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;border-top:1px solid rgba(255,229,0,.18)}
html body .footer-bottom span:last-child{color:var(--cy-pink)}

/* ---------- 12. scroll-reveal (classes added by JS only) ---------- */
.cy-reveal{opacity:0;transform:translateY(26px) scale(.985);filter:blur(4px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),filter .7s}
.cy-reveal.cy-in{opacity:1;transform:none;filter:none}

/* ---------- 13. responsive + motion safety ---------- */
@media(max-width:1100px){
  html body .nav-links{background:linear-gradient(180deg,#04061b,#070b2c) !important;border-bottom:1px solid var(--cy-pink) !important;box-shadow:0 24px 50px rgba(0,0,0,.6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  html body .more-panel a{color:var(--cy-cream)!important}
  html body .nav-links a.nav-cta{margin:10px 0 0;justify-content:center}
}
@media(max-width:700px){
  html:after{background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px)}
  .cy-ticker{font-size:.56rem}
  html body .card:hover,html body .partner:hover,html body .profile:hover{transform:none}
  html body .page-hero h1:after,html body .section-head h2:after{display:none}
}
@media(prefers-reduced-motion:reduce){
  .cy-floor,.cy-ticker-track,html body .site-header:after,.cy-hud i,html body .page-hero h1:after,html body .section-head h2:after,html body .race-first-image-label:before{animation:none !important}
  .cy-reveal{opacity:1;transform:none;filter:none;transition:none}
}
@media print{html:after,html body:after,.cy-ticker,.cy-floor,.cy-hud{display:none !important}}

/* ---------- 14. polish ---------- */
#afl-code{opacity:.5}
html body .grid-2>.card:last-child:nth-child(odd),html body .grid-2>article:last-child:nth-child(odd){grid-column:1/-1}

/* ---------- 15. sponsor showcase (logos + role, links to /partners) ---------- */
.cy-sponsors-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.cy-sponsor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
html body .cy-sponsor{display:flex;flex-direction:column;gap:6px;padding:14px;text-decoration:none;color:#fff;position:relative;
  background:var(--cy-glass);border:1px solid var(--cy-edge);transition:transform .25s,border-color .25s,box-shadow .25s}
html body .cy-sponsor:hover{transform:translateY(-4px);border-color:var(--cy-yellow);box-shadow:0 0 30px rgba(255,229,0,.18),0 18px 40px rgba(0,0,0,.5)}
.cy-sponsor-logo{display:flex;align-items:center;justify-content:center;height:92px;padding:12px 16px;background:#0a0f33;border:1px solid rgba(255,255,255,.08)}
.cy-sponsor-logo.light{background:#f4f5f9}
.cy-sponsor-logo.demon{background:#000}
.cy-sponsor-logo img{max-width:100%;max-height:64px;width:auto;height:auto;object-fit:contain}
.cy-sponsor-name{font-family:var(--cy-display);font-style:italic;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
html body .cy-sponsor small{font-family:var(--cy-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cy-pink)}
@media(max-width:900px){.cy-sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cy-sponsors{padding:34px 0 38px}
html body .cta-band .wrap{justify-content:flex-start;gap:14px}
html body .cta-band h2{flex:1 1 100%;max-width:none;margin-bottom:8px}


/* 2026-10-22: Mechanical-support-first services card and clearer mobile layout */
html body .service-support-card .support-lead{font-size:1rem;line-height:1.55;margin:.55rem 0 1.25rem;color:#e6e9f8}
html body .service-support-card .support-lead strong{display:block;font-size:1.13rem;line-height:1.36;color:#fff;margin-bottom:.45rem}
html body .service-support-card .support-includes-label{font-family:var(--cy-mono);font-size:.7rem;color:var(--cy-pink);letter-spacing:.11em;font-weight:850;margin:1.25rem 0 .38rem}
html body .service-support-card .support-includes{margin:0 0 .6rem}
html body .service-support-card .support-includes li{line-height:1.5;padding:10px 0 10px 17px}
html body .service-support-card .support-includes li strong{color:#fff}
html body .service-support-card .support-prices-heading{margin-top:1.4rem}
html body .service-support-card .support-rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:.5rem 0 1rem}
html body .service-support-card .support-rate{border:1px solid rgba(255,229,0,.42);background:rgba(255,229,0,.045);padding:12px 13px;display:flex;flex-direction:column;gap:6px;line-height:1.4}
html body .service-support-card .support-rate strong{color:var(--cy-yellow);font-size:1rem}
html body .service-support-card .support-rate span{color:#fff;font-size:.96rem}
html body .service-support-card .support-extras{font-size:.94rem;line-height:1.55;margin:.8rem 0;color:#dce1fa}
html body .service-support-card .support-fineprint{font-size:.78rem;line-height:1.5;color:#b4bedc;margin:.7rem 0 1.2rem}
@media(max-width:720px){
 html body .service-support-card{padding:22px 18px}
 html body .service-support-card h3{font-size:clamp(1.55rem,6.5vw,2.25rem);line-height:1.16;overflow-wrap:normal}
 html body .service-support-card .support-lead{font-size:.99rem;line-height:1.5}
 html body .service-support-card .support-includes li{font-size:.92rem;line-height:1.48}
 html body .service-support-card .support-rates{grid-template-columns:minmax(0,1fr);gap:8px}
 html body .service-support-card .support-rate{flex-direction:row;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
 html body .service-support-card .support-rate span{font-size:.92rem}
}
@media(max-width:360px){html body .service-support-card .support-rate{flex-direction:column;gap:4px}}


/* Route estimate control — visible label on narrow Android displays. */
html body #calculateTransportRoute, html body #calculateTransportRoute:hover,
html body #calculateTransportRoute:focus-visible {
  background:#ffe500 !important;
  color:#080c26 !important;
  -webkit-text-fill-color:#080c26 !important;
  border:1px solid #ffe500 !important;
  min-height:54px;
  height:auto;
  width:100%;
  white-space:normal;
  word-break:normal;
  text-align:center;
  padding:13px 14px;
  letter-spacing:.045em;
  line-height:1.4;
  filter:none;
  text-shadow:none;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px) !important;
}
html body #calculateTransportRoute::before, html body #calculateTransportRoute::after { content:none !important; }
html body #calculateTransportRoute:focus-visible { outline:3px solid #ff3bd4; outline-offset:3px; }
html body #calculateTransportRoute:disabled { opacity:.65; cursor:wait; }

/* 2026-10-26 — service illustrations + layout hardening */
.svc-art{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;margin:0 0 14px;background:#04061b;border:1px solid rgba(255,59,212,.35);border-bottom-width:2px;box-shadow:0 0 22px rgba(255,59,212,.12) inset}
.track-tier-card>.svc-art{margin:-2px 0 6px}
html{overflow-x:clip;max-width:100%}
html body{overflow-x:clip;max-width:100%}
.wrap,.card,.grid>*,.track-tier-card,.section-head>*{min-width:0}
img,video{max-width:100%}
h1,h2,h3{overflow-wrap:break-word}
@media(max-width:420px){.svc-art{margin-bottom:10px}}

.svc-art-band{padding:clamp(18px,4vw,34px) 0 0}.svc-art-band .svc-art{max-width:760px;margin:0 auto}
/* Grid/flex children may shrink below their content width, so long text can never widen a page on phones */
.booking-shell>*,.wrap>*,.grid>*,[class*="grid"]>*{min-width:0}
#bookingFlow,.booking-panel,.service-choice,.essential-booking-card{min-width:0;max-width:100%}
.booking-panel p,.booking-panel h2,.booking-panel h3,.service-choice *{overflow-wrap:anywhere}
