@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Oswald:wght@500;600&display=swap');

:root{--navy:#17134d;--navy-2:#0d0b31;--red:#f21d2b;--ice:#f2f5f7;--ink:#151627;--white:#fff;--muted:#6e7180;--line:#dfe3e8;--shell:min(1160px,calc(100% - 40px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}img{max-width:100%;display:block}a{color:inherit}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;left:12px;top:-80px;z-index:99;background:#fff;padding:10px 16px;border-radius:5px}.skip-link:focus{top:12px}.site-header{position:absolute;z-index:10;width:100%;color:#fff;border-bottom:1px solid #ffffff26}.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:600 25px Oswald,sans-serif;letter-spacing:.04em}.brand img{width:48px;height:48px;object-fit:contain}.brand span span{color:var(--red)}nav{display:flex;align-items:center;gap:30px}nav a{text-decoration:none;font-size:14px;font-weight:600}nav a:hover{text-decoration:underline;text-underline-offset:5px}.nav-action{border:1px solid #ffffff6e;border-radius:999px;padding:10px 18px}.menu-button{display:none;border:1px solid #ffffff66;background:transparent;color:#fff;border-radius:8px;padding:8px 12px}
.hero{position:relative;overflow:hidden;background:var(--navy-2);color:#fff;padding:165px 0 0;min-height:790px}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,#302b8050),repeating-linear-gradient(90deg,transparent 0,transparent 99px,#fff06 100px);pointer-events:none}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;align-items:center}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:#fff}.eyebrow:before{content:"";display:inline-block;vertical-align:middle;width:32px;height:3px;background:var(--red);margin-right:12px}.eyebrow.red{color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font:600 clamp(56px,7.6vw,112px)/.92 Oswald,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.035em;margin-bottom:28px}h1 em{font-style:normal;color:var(--red)}.hero-lead{font-size:20px;font-weight:700}.hero-text{max-width:610px;color:#cac9dd;font-size:16px}.hero-actions{display:flex;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:7px;padding:15px 22px;font-weight:800;font-size:14px;transition:.2s transform,.2s background}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);color:#fff}.button-ghost{border:1px solid #ffffff50;color:#fff}.button-light{background:#fff;color:var(--navy)}.hero-mark{position:relative;min-height:480px;display:grid;place-items:center}.hero-mark img{width:min(430px,90%);opacity:.23;filter:drop-shadow(0 24px 50px #0007)}.hero-mark p{position:absolute;text-align:center;font:600 64px/.8 Oswald;color:#fff}.hero-mark p strong{font-size:88px;color:var(--red)}.control-point{position:absolute;width:170px;height:170px;border:12px solid #fff;border-radius:50%;opacity:.12}.control-point span{position:absolute;width:0;height:0;border-left:57px solid transparent;border-right:57px solid transparent;border-bottom:100px solid var(--red);top:22px;left:16px}.hero-orbit{position:absolute;border:1px solid #ffffff1f;border-radius:50%;width:600px;height:600px;right:-130px;top:30px}.orbit-two{width:380px;height:380px;right:-25px;top:140px}.stats{position:relative;z-index:2;margin-top:60px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff2b}.stats div{display:flex;align-items:center;gap:15px;padding:26px 20px;border-right:1px solid #ffffff2b}.stats div:first-child{padding-left:0}.stats strong{font:600 42px Oswald;color:var(--red)}.stats span{font-size:12px;color:#d3d2df;text-transform:uppercase;letter-spacing:.08em}
.section{padding:110px 0}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:55px}.section-heading h2,.about h2,.partners h2,footer h2{font:600 clamp(38px,5vw,66px)/1.05 Oswald,sans-serif;text-transform:uppercase;letter-spacing:-.02em;margin:0}.section-heading>p{color:var(--muted);margin:0}.event-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.event-list li{position:relative;display:grid;grid-template-columns:160px 1fr 70px;align-items:center;min-height:118px;border-bottom:1px solid var(--line);transition:.2s;background}.event-list li:hover{background:var(--ice);padding-inline:18px}.event-list time{display:flex;align-items:center;gap:12px}.event-list time b{font:600 43px Oswald;color:var(--red)}.event-list time span,.event-list div>span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:700}.event-list h3{font:600 clamp(19px,2.2vw,28px) Oswald,sans-serif;margin:5px 0 0;text-transform:uppercase}.event-list i{font:600 31px Oswald;color:#d9dce1;font-style:normal;text-align:right}
.auto-rank-note{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center;margin:-18px 0 34px;padding:22px 26px;border-left:4px solid var(--red);border-radius:0 10px 10px 0;background:#f5f3ff;color:var(--navy)}
.auto-rank-note strong{font:600 22px Oswald,sans-serif;text-transform:uppercase}
.auto-rank-note p{margin:0;color:var(--muted);font-size:14px}
.rules{background:var(--navy);color:#fff}.section-heading.light>p{color:#c7c6d8}.rule-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.formula-card,.groups-card{border-radius:14px;padding:34px;background:#0d0b35;border:1px solid #ffffff18}.formula-card{background:var(--red)}.card-label{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}.formula{font:500 clamp(28px,4vw,48px) Oswald;margin:42px 0}.formula dl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0}.formula dl div{border-top:1px solid #ffffff60;padding-top:13px}.formula dt{font:600 20px Oswald}.formula dd{font-size:12px;margin:4px 0 0;color:#fff}.groups{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0}.groups span{display:grid;place-items:center;aspect-ratio:1;border:1px solid #ffffff30;border-radius:50%;font:500 20px Oswald}.groups-card p{color:#c7c6d8;font-size:13px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:65px}.steps article{border-top:1px solid #ffffff30;padding-top:25px}.steps b{color:var(--red);font:600 16px Oswald}.steps h3{font:500 24px Oswald;text-transform:uppercase;margin:14px 0 7px}.steps p{color:#c7c6d8;font-size:13px}.rating-banner{margin-top:65px;background:#272268;border-radius:14px;padding:27px 34px;display:flex;align-items:center;justify-content:space-between}.rating-banner span{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#c7c6d8}.rating-banner h3{font:500 29px Oswald;text-transform:uppercase;margin:3px 0 0}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.about-copy .lead{font-size:24px;font-weight:600;line-height:1.45}.about-copy>p:last-child{color:var(--muted)}.partners{padding:95px 0;background:var(--ice)}.partners h2{margin-bottom:45px}.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.logo-card{height:280px;background:#fff;border-radius:12px;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center}.logo-card img{width:150px;height:170px;object-fit:contain}.logo-card p{margin:15px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:center}.logo-card.dark{background:#08071f}.logo-card.dark img{width:180px}.logo-card.dark p{color:#fff}.logo-card.wide img{width:230px}
footer{background:#090822;color:#fff;padding:85px 0 25px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contacts{display:flex;flex-direction:column;align-items:flex-start}.contacts a{font:500 clamp(24px,3vw,42px) Oswald;text-decoration:none;border-bottom:1px solid #ffffff3c;margin-bottom:12px}.contacts a:hover{color:var(--red)}.contacts p{color:#aaa9bd;font-size:13px;margin-top:20px}.footer-bottom{border-top:1px solid #ffffff20;margin-top:70px;padding-top:22px;display:flex;gap:25px;font-size:12px;color:#aaa9bd}.footer-bottom a:nth-child(2){margin-left:auto}
@media(max-width:820px){nav{display:none;position:absolute;top:84px;left:0;right:0;background:#0d0b31;padding:24px 20px;flex-direction:column;align-items:flex-start}nav.open{display:flex}.menu-button{display:block}.hero{padding-top:135px}.hero-grid{grid-template-columns:1fr}.hero-mark{display:none}.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(2){border-right:0}.section{padding:75px 0}.section-heading,.about-grid,.footer-grid{grid-template-columns:1fr;gap:26px}.event-list li{grid-template-columns:115px 1fr 35px}.rule-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.logo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){:root{--shell:calc(100% - 28px)}.header-inner{height:70px}.brand img{width:39px;height:39px}nav{top:70px}.hero{min-height:auto;padding-top:125px}.hero-lead{font-size:17px}.hero-actions{flex-direction:column;align-items:stretch}.stats{margin-top:48px}.stats div{padding:18px 8px}.stats strong{font-size:34px}.event-list li{grid-template-columns:90px 1fr;padding-block:15px}.event-list li:hover{padding-inline:8px}.event-list i{display:none}.event-list time{align-items:flex-start;flex-direction:column;gap:0}.event-list time b{font-size:35px}.event-list h3{font-size:18px}.formula-card,.groups-card{padding:24px 20px}.formula dl{grid-template-columns:1fr}.formula{margin:30px 0}.groups{grid-template-columns:repeat(4,1fr)}.rating-banner{align-items:flex-start;flex-direction:column;gap:20px;padding:24px}.logo-grid{grid-template-columns:1fr}.logo-card{height:235px}.footer-bottom{flex-wrap:wrap}.footer-bottom a:nth-child(2){margin-left:0;width:100%}}
/* Adjustments for the pre-start version */
.hero-grid{grid-template-columns:1.35fr .65fr}
.hero-text{max-width:none;font-size:15px;white-space:nowrap;margin-bottom:6px}
.hero-note{color:#cac9dd;font-size:15px}
.stats{grid-template-columns:repeat(3,1fr)}
.stats div:last-child{border-right:0}
.formula{margin:35px 0}
.formula dl{display:grid;grid-template-columns:1fr;gap:0}
.formula dl div{display:grid;grid-template-columns:70px 1fr;align-items:baseline;gap:14px;padding:12px 0}
.formula dd{font-size:13px;margin:0}
.formula-card,.groups-card{grid-column:1/-1}
.formula dl{grid-template-columns:.85fr 1.5fr 2.5fr;gap:28px}
.formula dl div{display:flex;grid-template-columns:none;align-items:baseline;gap:10px;white-space:nowrap}
.formula dt{flex:0 0 auto}
.groups{grid-template-columns:repeat(12,1fr)}
.formula-explainer{display:grid;grid-template-columns:.85fr 1.5fr 2.5fr;gap:28px}
.formula-explainer p{display:flex;align-items:baseline;gap:10px;min-width:0;margin:0;padding:12px 0;border-top:1px solid #ffffff60;white-space:nowrap;font-size:13px}
.formula-explainer strong{flex:0 0 auto;font:600 20px Oswald,sans-serif}
.logo-card{text-decoration:none;transition:.2s transform,.2s box-shadow}
.logo-card[href]:hover{transform:translateY(-4px);box-shadow:0 14px 34px #17134d17}
.logo-card:first-child img{width:180px}

@media(max-width:820px){.hero-text{white-space:normal}.stats{grid-template-columns:repeat(3,1fr)}.stats div:nth-child(2){border-right:1px solid #ffffff2b}.formula dl{grid-template-columns:1fr}.formula-explainer{grid-template-columns:1fr}.groups{grid-template-columns:repeat(6,1fr)}}
@media(max-width:520px){.stats{grid-template-columns:1fr}.stats div,.stats div:nth-child(2){border-right:0;border-bottom:1px solid #ffffff2b}.stats div:last-child{border-bottom:0}.formula dl div{white-space:normal}.formula-explainer p:last-child{white-space:normal}.groups{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.event-list li{transition:none}}

/* Rank page */
.rank-page{background:var(--ice)}
.rank-header{position:absolute;background:transparent}
.nav-action.active{background:#fff;color:var(--navy);border-color:#fff}
.rank-intro{background:var(--navy-2);color:#fff;padding:150px 0 72px;overflow:hidden;position:relative}
.rank-intro:after{content:"";position:absolute;width:520px;height:520px;border:1px solid #ffffff17;border-radius:50%;right:-130px;top:-190px;box-shadow:0 0 0 90px #ffffff08,0 0 0 180px #ffffff05}
.rank-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;position:relative;z-index:1}
.rank-intro h1{font-size:clamp(62px,8vw,110px);margin:0}
.rank-intro h1 em{color:var(--red)}
.rank-intro p{color:#cac9dd;margin:22px 0 0}
.rank-update{min-width:230px;border-left:3px solid var(--red);padding:9px 0 9px 20px;margin-bottom:8px}
.rank-update span,.rank-update strong{display:block}
.rank-update span{text-transform:uppercase;letter-spacing:.15em;font-size:10px;color:#9c9aaf;margin-bottom:4px}
.rank-update strong{font-size:14px}
.rank-content{padding:54px 0 100px}
.rank-toolbar{display:grid;grid-template-columns:1.4fr .7fr .8fr;gap:12px;padding:18px;background:#fff;border-radius:14px;box-shadow:0 14px 40px #17134d0c}
.rank-toolbar label{display:flex;flex-direction:column;gap:7px}
.rank-toolbar label span{font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--muted)}
.rank-toolbar input,.rank-toolbar select{width:100%;height:48px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:0 14px;font:600 14px Manrope,Arial,sans-serif;outline:none}
.rank-toolbar input:focus,.rank-toolbar select:focus{border-color:var(--red);box-shadow:0 0 0 3px #f21d2b16}
.rank-toolbar-single{display:block;max-width:330px;margin-left:auto;padding:14px}
.rank-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:26px 0;border:1px solid var(--line);border-radius:12px;background:#fff}
.rank-summary p{display:flex;align-items:center;gap:11px;margin:0;padding:18px 22px;border-right:1px solid var(--line)}
.rank-summary p:last-child{border-right:0}
.rank-summary strong{font:600 30px Oswald;color:var(--red)}
.rank-summary span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10px;font-weight:700}
.rank-empty{background:#fff;border-radius:14px;text-align:center;padding:75px 30px;border:1px solid var(--line)}
.rank-empty>span{display:inline-block;padding:7px 12px;border-radius:999px;background:#f21d2b12;color:var(--red);text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:800}
.rank-empty h2{font:600 clamp(30px,4vw,48px)/1.08 Oswald,sans-serif;text-transform:uppercase;margin:24px 0 12px}
.rank-empty p{max-width:620px;margin:0 auto 28px;color:var(--muted)}
.rank-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:14px}
.rank-table{width:100%;border-collapse:collapse;min-width:1100px;font-size:13px}
.rank-table th,.rank-table td{padding:15px 12px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}
.rank-table thead th{position:sticky;top:0;background:var(--navy);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.rank-table thead th:nth-child(2),.rank-table tbody th{text-align:left}
.rank-table tbody th{min-width:220px}
.rank-table tbody th strong,.rank-table tbody th span{display:block}
.rank-table tbody th span{font-size:10px;color:var(--muted);font-weight:500;margin-top:2px}
.rank-table tbody tr:hover{background:#f8f9fb}
.place-cell{font:600 21px Oswald;color:var(--red)}
.group-badge{display:inline-block;padding:5px 8px;border-radius:5px;background:#17134d0d;color:var(--navy)}
.score-cell{color:#6e7180}
.best-score{font-weight:800;color:var(--ink);background:#f21d2b0a}
.total-cell{font:600 18px Oswald;background:#f3f1ff;color:var(--navy)}
.no-results{padding:40px!important;color:var(--muted)}
.rank-note{color:var(--muted);font-size:12px;margin:16px 4px 0}
.rank-footer{padding-top:10px}
.rank-footer .footer-bottom{margin-top:0}
@media(max-width:820px){.rank-title-row{align-items:flex-start;flex-direction:column}.rank-toolbar-single{margin-left:0}.rank-summary{grid-template-columns:1fr}.rank-summary p{border-right:0;border-bottom:1px solid var(--line)}.rank-summary p:last-child{border-bottom:0}}
@media(max-width:520px){.rank-intro{padding-top:125px}.rank-toolbar-single{max-width:none}.rank-empty{padding:55px 20px}}

/* Mobile polish for both pages */
@media(max-width:640px){
  body{overflow-x:hidden}
  .shell{width:calc(100% - 28px)}
  .site-header{border-bottom-color:#ffffff1f}
  .header-inner{height:68px}
  .brand{font-size:21px;gap:9px}
  .brand img{width:38px;height:38px}
  .menu-button{min-width:64px;min-height:40px;font-weight:700}
  nav{top:68px;padding:20px 14px;gap:8px;box-shadow:0 18px 30px #0004}
  nav a{display:block;width:100%;padding:11px 12px;border-radius:7px}
  nav .nav-action{border:0;background:#ffffff10;color:#fff}
  nav .nav-action.active{background:#fff;color:var(--navy)}
  .hero{padding-top:112px;min-height:auto}
  .hero-grid{grid-template-columns:minmax(0,1fr);width:calc(100% - 28px)}
  .hero-copy{min-width:0;text-align:center;padding-inline:4px}
  .hero .eyebrow{display:block;width:100%;max-width:100%;text-align:center;white-space:nowrap;font-size:10px;letter-spacing:.11em;margin-inline:auto}
  .hero .eyebrow:before{width:22px;margin-right:8px}
  .hero h1{font-size:clamp(42px,13.5vw,58px);line-height:.98;overflow-wrap:anywhere;margin-bottom:22px}
  .hero-lead{font-size:16px;line-height:1.45}
  .hero-text,.hero-note{font-size:14px;line-height:1.55;margin-inline:auto}
  .hero-actions{margin-top:26px;max-width:420px;margin-inline:auto}
  .button{width:100%;min-height:48px;padding:13px 16px}
  .stats{margin-top:38px}
  .stats div{min-height:74px;padding:14px 8px}
  .stats strong{font-size:32px;min-width:52px}
  .stats span{font-size:10px}
  .section{padding:62px 0}
  .section-heading{margin-bottom:32px}
  .section-heading h2,.about h2,.partners h2,footer h2{font-size:clamp(34px,10vw,46px);line-height:1.05}
  .section-heading>p{font-size:14px}
  .auto-rank-note{grid-template-columns:1fr;gap:7px;margin:-8px 0 26px;padding:18px 17px;text-align:left}
  .auto-rank-note strong{font-size:19px}
  .auto-rank-note p{font-size:13px}
  .event-list li{grid-template-columns:78px minmax(0,1fr);min-height:92px;gap:8px;padding-block:14px}
  .event-list time{gap:0}
  .event-list time b{font-size:34px;line-height:1}
  .event-list time span{font-size:9px}
  .event-list h3{font-size:17px;line-height:1.25;margin:0;overflow-wrap:anywhere}
  .formula-card,.groups-card{padding:24px 18px}
  .formula{font-size:clamp(24px,8vw,34px);line-height:1.25;overflow-wrap:anywhere}
  .formula-explainer{gap:0}
  .formula-explainer p{font-size:12px;gap:8px;white-space:normal}
  .formula-explainer strong{font-size:18px}
  .steps{gap:22px;margin-top:45px}
  .groups{gap:8px}
  .groups span{font-size:17px}
  .about-grid{gap:24px}
  .about-copy .lead{font-size:20px}
  .partners{padding:62px 0}
  .partners h2{margin-bottom:30px}
  .logo-card{height:215px;padding:22px}
  .logo-card img{height:145px}
  footer{padding-top:62px}
  .footer-grid{gap:32px}
  .contacts a{font-size:clamp(22px,7vw,31px);overflow-wrap:anywhere;max-width:100%}
  .footer-bottom{margin-top:44px;gap:14px;align-items:flex-start}
  .footer-bottom span,.footer-bottom a{width:100%}
  .footer-bottom a:nth-child(2){margin-left:0}

  .rank-intro{padding:110px 0 48px}
  .rank-intro h1{font-size:clamp(50px,16vw,68px);line-height:.94;overflow-wrap:normal}
  .rank-intro p{font-size:14px;margin-top:18px}
  .rank-content{padding:30px 0 70px}
  .rank-summary{margin:0 0 20px}
  .rank-summary p{min-height:64px;padding:12px 17px}
  .rank-summary strong{font-size:27px}
  .rank-empty{padding:48px 18px}
  .rank-empty h2{font-size:32px;margin-top:0}
  .rank-empty p{font-size:14px}
  .rank-table-wrap{border-radius:10px;-webkit-overflow-scrolling:touch}
  .rank-table{font-size:12px}
  .rank-table th,.rank-table td{padding:12px 9px}
  .rank-table thead th:first-child,.rank-table tbody td:first-child{position:sticky;left:0;width:52px;min-width:52px;z-index:2;background:#fff}
  .rank-table thead th:nth-child(2),.rank-table tbody th{position:sticky;left:52px;z-index:2;background:#fff;box-shadow:5px 0 9px #17134d10}
  .rank-table thead th:first-child,.rank-table thead th:nth-child(2){z-index:4;background:var(--navy)}
  .rank-table tbody th{min-width:180px}
  .rank-footer{padding-top:0}
}
@media(max-width:370px){
  .hero .eyebrow{font-size:9px;letter-spacing:.08em}
  .hero .eyebrow:before{width:16px;margin-right:6px}
  .hero h1{font-size:40px}
  .event-list li{grid-template-columns:68px minmax(0,1fr)}
  .event-list h3{font-size:15px}
  .rank-intro h1{font-size:48px}
}
