/* ============================================================
   CRONUS.GG — DESIGN TOKENS
   Change the brand here and the whole site follows.

   COLOUR ROLES — each colour has one job, which is what keeps
   a three-colour palette from turning into noise:
     PURPLE  = structure  (surfaces, bands, borders)
     GOLD    = time & data(clock, labels, first place)
     CRIMSON = action     (buttons, live, hover)
     LILAC   = text
   ============================================================ */
:root{
  /* Brand */
  --plum:       #280137;  /* PRIMARY   */
  --crimson:    #AB0000;  /* SECONDARY */
  --lilac:      #D3C4E3;  /* TERTIARY  */
  --gold:       #E2B85E;  /* retained accent */

  /* Derived */
  --void:       #0B0310;  /* page base — near-black, purple cast */
  --plum-lift:  #3A0B4D;  /* raised surface on plum */
  --raise:      #14041C;  /* raised surface on void */
  --line:       #3D1750;  /* hairlines */
  --crimson-lt: #D81E1E;  /* brightened crimson for hover */
  --lilac-br:   #F4EFF9;  /* headings */
  --muted:      #8B7AA3;  /* secondary text, labels */
  --pitch:      #07020B;  /* footer */

  /* Type roles */
  --display: 'Archivo', system-ui, sans-serif;
  --body:    'Barlow', system-ui, sans-serif;
  --data:    'JetBrains Mono', ui-monospace, monospace;

  /* Rhythm */
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --band-y: clamp(4.5rem, 10vw, 9rem);
  --max: 1240px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--void);
  color:var(--lilac);
  font-family:var(--body);
  font-size:clamp(1rem,0.96rem + 0.2vw,1.0625rem);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}

/* ---------- shared primitives ---------- */
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter);}
.band{padding-block:var(--band-y);}
.band--plum{background:var(--plum);border-block:1px solid var(--line);}

.eyebrow{
  font-family:var(--data);
  font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin:0 0 1.25rem;
  display:flex;align-items:center;gap:.75rem;
}
.eyebrow::after{
  content:"";height:1px;flex:1;max-width:120px;
  background:linear-gradient(90deg,var(--line),transparent);
}

.display{
  font-family:var(--display);
  font-variation-settings:'wdth' 118,'wght' 800;
  line-height:.92;letter-spacing:-.015em;text-transform:uppercase;
  color:var(--lilac-br);margin:0;
}
h2.display{font-size:clamp(2rem,1.2rem + 3.4vw,3.5rem);}
.lede{color:var(--muted);max-width:56ch;font-size:1.0625rem;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--data);font-size:.75rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  padding:.95rem 1.6rem;text-decoration:none;
  border:1px solid var(--line);color:var(--lilac);
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.btn--primary{background:var(--crimson);color:#fff;border-color:var(--crimson);font-weight:700;}
.btn--primary:hover{background:var(--crimson-lt);border-color:var(--crimson-lt);}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold);}
:where(a,button):focus-visible{outline:2px solid var(--gold);outline-offset:3px;}


/* ============================================================
   LOGO LOCKUP
   ============================================================ */
.logo{display:inline-flex;align-items:center;text-decoration:none;line-height:0;}
.logo img{height:30px;width:auto;display:block;}
.foot .logo img{height:38px;}
@media(max-width:520px){.logo img{height:26px;}}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed;inset:0 0 auto;z-index:100;
  background:color-mix(in srgb,var(--void) 84%,transparent);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:70px;}
.nav__links{display:flex;gap:2rem;list-style:none;margin:0;padding:0;}
.nav__links a{
  font-family:var(--data);font-size:.7rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);text-decoration:none;
  transition:color .18s ease;
}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--lilac-br);}

.nav__toggle{
  display:none;background:none;cursor:pointer;
  border:1px solid var(--line);color:var(--lilac);padding:.55rem .8rem;
  font-family:var(--data);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;
}
.nav__toggle:hover{border-color:var(--gold);color:var(--gold);}
@media(max-width:880px){
  .nav__toggle{display:block;}
  .nav__links{
    display:none;position:absolute;top:70px;left:0;right:0;
    flex-direction:column;gap:0;
    background:var(--void);border-bottom:1px solid var(--line);
  }
  .nav__links.open{display:flex;}
  .nav__links li{border-top:1px solid var(--line);}
  .nav__links a{display:block;padding:1rem var(--gutter);font-size:.75rem;}
}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;padding-top:clamp(9rem,16vh,12rem);padding-bottom:var(--band-y);overflow:hidden;}
.hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
/* brake-light glow on the horizon */
.hero__bg::before{
  content:"";position:absolute;left:50%;bottom:-48%;
  width:min(1150px,155vw);aspect-ratio:1;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(171,0,0,.20) 0%,rgba(58,11,77,.22) 40%,transparent 68%);
}
/* the wheel, ghosted off the right edge */
.hero__mark{
  position:absolute;right:-9%;top:2%;
  width:min(660px,72vw);opacity:.07;
}
.hero__in{position:relative;display:grid;grid-template-columns:1fr 380px;gap:clamp(2.5rem,5vw,4.5rem);align-items:center;}
@media(max-width:1000px){.hero__in{grid-template-columns:1fr;}}

.hero h1{
  font-family:var(--display);
  font-variation-settings:'wdth' 122,'wght' 900;
  font-size:clamp(2.9rem,1.1rem + 8vw,6.4rem);
  line-height:.85;letter-spacing:-.025em;text-transform:uppercase;
  color:var(--lilac-br);margin:0 0 1.75rem;
}
.hero h1 em{font-style:normal;color:var(--gold);display:block;}
@media(max-width:560px){
  /* pull the width axis in so the display face breathes on a phone */
  .hero h1{font-variation-settings:'wdth' 100,'wght' 900;font-size:clamp(2.5rem,.8rem + 8vw,3.4rem);}
}
.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;}

/* --- SIGNATURE: pit wall timing panel --- */
.pitwall{
  background:linear-gradient(180deg,var(--plum),#1A0326);
  border:1px solid var(--line);
  font-family:var(--data);
  box-shadow:0 24px 60px -28px #000;
}
.pitwall__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:.7rem 1rem;border-bottom:1px solid var(--line);
  font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
}
.live{display:flex;align-items:center;gap:.45rem;color:var(--crimson-lt);}
.live i{width:6px;height:6px;border-radius:50%;background:var(--crimson-lt);animation:pulse 2.4s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.2;}}

.pitwall__clock{padding:1.4rem 1rem 1.25rem;text-align:center;border-bottom:1px solid var(--line);}
.pitwall__clock small{
  display:block;font-size:.625rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;
}
#sessionClock{
  font-size:clamp(1.85rem,1.2rem + 2vw,2.4rem);font-weight:700;
  color:var(--lilac-br);letter-spacing:.01em;font-variant-numeric:tabular-nums;
}
#sessionClock b{color:var(--gold);font-weight:700;}

.pitwall__rows{display:grid;grid-template-columns:1fr 1fr;}
.pw{padding:.85rem 1rem;border-bottom:1px solid var(--line);}
.pw:nth-child(odd){border-right:1px solid var(--line);}
.pw small{display:block;font-size:.5625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;}
.pw span{font-size:1.0625rem;font-weight:500;color:var(--lilac-br);font-variant-numeric:tabular-nums;}
.pw span.up{color:var(--gold);}
.pw span em{font-style:normal;font-size:.6875rem;color:var(--muted);letter-spacing:0;}
.pitwall__foot{
  padding:.7rem 1rem;font-size:.5625rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);text-align:center;
}

/* ============================================================
   MANIFESTO / ABOUT
   ============================================================ */
.manifesto__in{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,5rem);align-items:start;}
@media(max-width:880px){.manifesto__in{grid-template-columns:1fr;}}
.manifesto p{color:var(--lilac);opacity:.78;margin:0 0 1.15rem;}
.manifesto p:last-child{margin-bottom:0;}
.manifesto strong{color:var(--lilac-br);font-weight:500;opacity:1;}

/* ============================================================
   DISCIPLINES
   ============================================================ */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.sec-head a{
  font-family:var(--data);font-size:.6875rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold);text-decoration:none;
  border-bottom:1px solid transparent;transition:border-color .18s ease;
}
.sec-head a:hover{border-color:var(--gold);}

.sims{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:3rem;}
@media(max-width:820px){.sims{grid-template-columns:1fr;}}
.sim{background:var(--void);padding:clamp(1.75rem,3vw,2.75rem);transition:background .25s ease;}
.sim:hover{background:var(--raise);}
.sim__label{font-family:var(--data);font-size:.625rem;letter-spacing:.2em;color:var(--crimson-lt);text-transform:uppercase;margin:0;}
.sim h3{
  font-family:var(--display);font-variation-settings:'wdth' 112,'wght' 700;
  font-size:1.6rem;text-transform:uppercase;letter-spacing:-.01em;
  color:var(--lilac-br);margin:.9rem 0 .85rem;
}
.sim p{color:var(--muted);margin:0 0 1.5rem;font-size:.9375rem;}
.sim dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.25rem;margin:0;font-family:var(--data);font-size:.75rem;}
.sim dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem;}
.sim dd{margin:0;color:var(--lilac);}

/* ============================================================
   ROSTER
   ============================================================ */
.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:3rem;}
@media(max-width:900px){.roster{grid-template-columns:repeat(2,1fr);}}
@media(max-width:460px){.roster{grid-template-columns:1fr;}}

.driver{position:relative;background:var(--void);display:block;text-decoration:none;overflow:hidden;}
.driver__photo{
  position:relative;aspect-ratio:3/4;
  background:radial-gradient(120% 90% at 50% 0%,#4A1560 0%,#2A0A3A 58%,#150420 100%);
}
/* placeholder silhouette — swap for real photography */
.driver__photo::after{
  content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  width:64%;height:56%;
  background:radial-gradient(58% 44% at 50% 0%,#6B2F86 0%,transparent 72%);
  border-radius:50% 50% 0 0;opacity:.6;
}
.driver__no{
  position:absolute;top:.9rem;left:.9rem;z-index:2;
  font-family:var(--data);font-size:.75rem;font-weight:700;
  color:var(--gold);letter-spacing:.05em;
}
.driver__flag{
  position:absolute;top:.9rem;right:.9rem;z-index:2;
  font-family:var(--data);font-size:.625rem;letter-spacing:.14em;color:var(--muted);
}
.driver__body{padding:1.15rem 1.15rem 1.35rem;}
.driver__body h3{
  font-family:var(--display);font-variation-settings:'wdth' 105,'wght' 700;
  font-size:1.05rem;text-transform:uppercase;color:var(--lilac-br);margin:0;
}
.driver__role{
  font-family:var(--data);font-size:.625rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin:.4rem 0 0;
}
.driver__meta{
  font-family:var(--data);font-size:.6875rem;color:var(--muted);
  margin:.85rem 0 0;padding-top:.85rem;border-top:1px solid var(--line);
  display:grid;gap:.3rem;
}
.driver__meta b{color:var(--lilac-br);font-weight:500;}
.driver::before{
  content:"";position:absolute;inset:0;border:1px solid transparent;
  transition:border-color .22s ease;pointer-events:none;z-index:3;
}
.driver:hover::before,.driver:focus-visible::before{border-color:var(--crimson-lt);}

/* reveal-on-hover only where hover actually exists */
@media(hover:hover) and (min-width:900px){
  .driver__meta{
    max-height:0;overflow:hidden;opacity:0;margin-top:0;padding-top:0;
    border-top-color:transparent;
    transition:max-height .3s ease,opacity .25s ease,margin-top .3s ease,padding-top .3s ease;
  }
  .driver:hover .driver__meta,.driver:focus-visible .driver__meta{
    max-height:120px;opacity:1;margin-top:.85rem;padding-top:.85rem;
    border-top-color:var(--line);
  }
}

/* ============================================================
   RESULTS  — gold means first, same as a trophy
   ============================================================ */
.table{width:100%;border-collapse:collapse;font-family:var(--data);font-size:.8125rem;margin-top:2.5rem;}
.table th{
  text-align:left;font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);font-weight:400;padding:0 1rem .85rem 0;border-bottom:1px solid var(--line);
}
.table td{padding:1rem 1rem 1rem 0;border-bottom:1px solid var(--line);color:var(--muted);vertical-align:middle;}
.table tbody tr{transition:background .18s ease;}
.table tbody tr:hover{background:var(--plum-lift);}
.table tbody tr:hover td{color:var(--lilac-br);}
.table .ev{color:var(--lilac);}
.pos{font-weight:700;color:var(--lilac);}
.pos.win{color:var(--gold);}
.pos.podium{color:var(--lilac-br);}
.tag{
  display:inline-block;font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.22rem .5rem;border:1px solid var(--line);color:var(--muted);
}
@media(max-width:720px){
  .table .hide-sm{display:none;}
  .table td,.table th{padding-right:.6rem;}
}

/* ============================================================
   PARTNERS
   ============================================================ */
.partners{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:3rem;}
@media(max-width:900px){.partners{grid-template-columns:repeat(2,1fr);}}
.partner{
  background:var(--void);aspect-ratio:16/9;display:grid;place-items:center;
  font-family:var(--data);font-size:.6875rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);text-align:center;padding:1rem;
  transition:background .2s ease,color .2s ease;
}
.partner:hover{background:var(--raise);color:var(--lilac);}
.partner--open{color:var(--gold);}

/* ============================================================
   LEAGUE — sub-brand: same bones, gold-led instead of crimson-led
   ============================================================ */
.league{
  border-top:1px solid var(--line);
  background:radial-gradient(88% 140% at 14% 0%,rgba(226,184,94,.09) 0%,transparent 62%),var(--plum);
}
.league__in{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
@media(max-width:880px){.league__in{grid-template-columns:1fr;}}
.league h2 em{font-style:normal;color:var(--gold);}
.league p{color:var(--lilac);opacity:.78;margin:1.5rem 0 0;max-width:52ch;}
.league__list{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);}
.league__list li{
  background:var(--plum);padding:1rem 1.25rem;
  font-family:var(--data);font-size:.75rem;color:var(--muted);
  display:flex;justify-content:space-between;gap:1rem;
}
.league__list b{color:var(--lilac-br);font-weight:500;}

/* ============================================================
   FOOTER
   ============================================================ */
.foot{border-top:1px solid var(--line);background:var(--pitch);padding-block:3.5rem 2.5rem;}
.foot__in{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;}
@media(max-width:760px){.foot__in{grid-template-columns:1fr 1fr;}}
.foot h4{
  font-family:var(--data);font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);margin:0 0 1.15rem;font-weight:400;
}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.65rem;}
.foot a{font-size:.875rem;color:var(--lilac);text-decoration:none;transition:color .18s ease;}
.foot a:hover{color:var(--gold);}
.foot__blurb{color:var(--muted);font-size:.875rem;max-width:34ch;margin:1rem 0 0;}
.foot .foot__base{
  margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-family:var(--data);font-size:.625rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);
}

/* ---------- accessibility ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
  html{scroll-behavior:auto;}
}
.skip{
  position:absolute;left:-9999px;top:0;z-index:200;background:var(--gold);color:var(--plum);
  padding:.75rem 1.25rem;font-family:var(--data);font-size:.75rem;text-transform:uppercase;
}
.skip:focus{left:0;}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.pagehead{
  padding-top:clamp(8rem,14vh,10.5rem);
  padding-bottom:clamp(3rem,6vw,4.5rem);
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
}
.pagehead::before{
  content:"";position:absolute;left:50%;bottom:-60%;
  width:min(900px,140vw);aspect-ratio:1;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(171,0,0,.13) 0%,rgba(40,1,55,.10) 40%,transparent 68%);
  pointer-events:none;
}
.pagehead__in{position:relative;}
.pagehead h1{
  font-family:var(--display);
  font-variation-settings:'wdth' 120,'wght' 900;
  font-size:clamp(2.4rem,1.1rem + 5.4vw,4.75rem);
  line-height:.88;letter-spacing:-.022em;text-transform:uppercase;
  margin:0;color:var(--lilac-br);
}
.pagehead h1 em{font-style:normal;color:var(--crimson-lt);display:block;}
.pagehead .lede{margin-top:1.75rem;}

/* Two-column prose block */
.prose__in{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(2rem,5vw,5rem);align-items:start;}
@media(max-width:880px){.prose__in{grid-template-columns:1fr;}}
.prose p{color:var(--muted);margin:0 0 1.15rem;}
.prose p:last-child{margin-bottom:0;}
.prose strong{color:var(--lilac-br);font-weight:500;}

/* Founding timeline */
.tl{list-style:none;margin:3rem 0 0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);}
.tl li{background:var(--void);padding:1.4rem clamp(1.15rem,2.5vw,1.9rem);display:grid;grid-template-columns:130px 1fr;gap:1.5rem;align-items:baseline;}
@media(max-width:640px){.tl li{grid-template-columns:1fr;gap:.5rem;}}
.tl time{font-family:var(--data);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--crimson-lt);}
.tl h3{font-family:var(--display);font-variation-settings:'wdth' 108,'wght' 700;font-size:1.05rem;text-transform:uppercase;margin:0 0 .5rem;color:var(--lilac-br);}
.tl p{margin:0;color:var(--muted);font-size:.9375rem;}

/* Values / how we race */
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:3rem;}
@media(max-width:860px){.vals{grid-template-columns:1fr;}}
.val{background:var(--void);padding:clamp(1.6rem,3vw,2.4rem);transition:background .25s ease;}
.val:hover{background:var(--raise);}
.val h3{font-family:var(--display);font-variation-settings:'wdth' 108,'wght' 700;font-size:1.15rem;text-transform:uppercase;margin:.9rem 0 .8rem;color:var(--lilac-br);}
.val p{margin:0;color:var(--muted);font-size:.9375rem;}
.val__label{font-family:var(--data);font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--crimson-lt);margin:0;}

/* Community callout */
.callout{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--raise);}
.callout__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
@media(max-width:860px){.callout__in{grid-template-columns:1fr;}}
.callout blockquote{
  margin:0;font-family:var(--display);
  font-variation-settings:'wdth' 108,'wght' 600;
  font-size:clamp(1.35rem,.9rem + 1.6vw,2rem);line-height:1.18;
  letter-spacing:-.01em;color:var(--lilac-br);
}
.callout p{color:var(--muted);margin:0;}

/* Results table additions */
.tbl-cap{
  caption-side:top;text-align:left;
  font-family:var(--data);font-size:.625rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--crimson-lt);padding-bottom:1.25rem;
}
.table .note{
  font-style:normal;font-size:.625rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
}
@media(max-width:900px){.table .hide-md{display:none;}}

/* Footer contact column */
.foot__in--4{grid-template-columns:1.6fr 1fr 1fr 1.4fr;}
@media(max-width:900px){.foot__in--4{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.foot__in--4{grid-template-columns:1fr;}}
.foot__note{
  font-style:normal;font-family:var(--data);font-size:.5625rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.foot ul li{line-height:1.5;}
