/* Attaqo: identidad editorial, responsive y fuentes locales. */
.editor-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--bd)}
.editor-row h3{font-size:16px;margin:0 0 8px}.editor-row p{font-size:11px;color:var(--tx2);margin:0}
.editor-row button{flex:none;background:var(--ac);color:#111;border:0;border-radius:4px;padding:10px 16px;font-weight:600}
.editor-row button:disabled{background:#293024;color:var(--tx2);cursor:default}
@media(max-width:480px){.editor-row{align-items:start}.editor-row h3{font-size:13px}.editor-row button{padding:9px;font-size:10px}}
.media-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start}
.media-card{min-width:0;margin:0;border:1px solid var(--bd);border-radius:7px;background:#191e18;overflow:hidden;scroll-margin-top:120px}
.media-card:only-child{grid-column:1/-1;width:min(100%,760px)}
.media-card.map:only-child{width:min(100%,520px)}
.media-card a{display:block;color:var(--tx);cursor:zoom-in}
.media-heading{display:flex;align-items:center;justify-content:space-between;padding:13px 17px;gap:12px}
.media-heading h3{margin:0;font-size:12px;font-weight:600}
.media-heading span{color:var(--ac);font-size:18px}
.media-image{height:240px;background:#ecede5;padding:12px;display:flex;align-items:center;justify-content:center}
.media-image img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.media-card .vcap{margin:0;padding:12px 17px;font-size:10px}
.media-lightbox{border:0;padding:48px 22px 22px;background:#101311;border-radius:8px;width:calc(100vw - 40px);max-width:1500px;max-height:calc(100vh - 40px);overflow:auto}
.media-lightbox::backdrop{background:#000c;backdrop-filter:blur(8px)}
.media-lightbox img{display:block;max-width:100%;max-height:calc(100vh - 120px);width:auto;height:auto;margin:auto;object-fit:contain}
.media-lightbox button{position:absolute;top:8px;right:12px;width:36px;height:36px;background:none;color:var(--tx);font-size:28px;border:0;cursor:pointer}
@media(max-width:760px){.media-grid{grid-template-columns:1fr;gap:16px}.media-image{height:200px}.media-card.map .media-image{height:250px}.media-lightbox{width:calc(100vw - 20px);padding:48px 12px 12px}}
body[data-page="calendar"] h2[id]>.muted {font:400 12px Manrope, sans-serif;white-space:nowrap;letter-spacing:0}
@font-face {
  font-family:Manrope;
  src:url('/static/design-fonts/manrope-400.ttf');
  font-weight:400;
  font-display:swap
}
@font-face {
  font-family:Manrope;
  src:url('/static/design-fonts/manrope-600.ttf');
  font-weight:600;
  font-display:swap
}
@font-face {
  font-family:Manrope;
  src:url('/static/design-fonts/manrope-800.ttf');
  font-weight:800;
  font-display:swap
}
@font-face {
  font-family:Barlow;
  src:url('/static/design-fonts/barlow-condensed-600.ttf');
  font-weight:600;
  font-display:swap
}
@font-face {
  font-family:Barlow;
  src:url('/static/design-fonts/barlow-condensed-700.ttf');
  font-weight:700;
  font-display:swap
}
:root {
  --bg:#101311;
  --card:#191d19;
  --bd:#30362e;
  --tx:#f4f4ed;
  --tx2:#a3aaa0;
  --ac:#dfff00;
  --paper:#ecede5;
  --radius:8px;
  --font:Manrope,system-ui,sans-serif
}
body {
  font-family:var(--font);
  font-size:14px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  background:var(--bg)
}
::selection {
  background:var(--ac);
  color:#111
}
a,button {
  transition:color .18s,background .18s,border-color .18s,transform .18s
}
button,input,select {
  font-family:var(--font)
}
button,a,summary,input,select {
  touch-action:manipulation
}
:focus-visible {
  outline:2px solid var(--ac);
  outline-offset:5px
}
img {
  max-width:100%
}
button {
  cursor:pointer
}
a:hover {
  color:var(--ac)
}
.wrap,.wrap.wide {
  max-width:1376px;
  padding:0 48px
}
.wrap:not(.wide) {
  max-width:1184px
}
header.top {
  background:rgba(16,19,17,.96);
  backdrop-filter:blur(20px);
  border-color:var(--bd)
}
header.top .wrap {
  height:88px;
  gap:28px;
  max-width:1376px;
  flex-wrap:nowrap
}
.brand {
  gap:10px;
  font-size:28px;
  letter-spacing:-1.5px;
  font-weight:800
}
.brand img {
  width:34px;
  height:34px;
  background:transparent;
  border-radius:0
}
.nav {
  gap:22px;
  margin:0;
  overflow:visible
}
.navlink {
  padding:31px 0 28px;
  border-radius:0;
  font-size:12px;
  font-weight:600;
  border-bottom:3px solid transparent;
  color:#a9b0a4;
  line-height:24px
}
.navlink.on {
  background:none;
  color:var(--tx);
  border-color:var(--ac)
}
.navlink:hover {
  background:none;
  color:var(--ac)
}
.langsel {
  margin:0;
  background:none;
  border:0;
  font-size:11px;
  padding:6px;
  max-width:86px;
  order:4
}
.gs {
  flex:1 1 190px;
  max-width:240px;
  min-width:110px
}
.gs-q {
  background:#1b201b;
  border-radius:5px;
  border-color:#32392f;
  padding:11px 12px;
  font-size:11px
}
.gs-r {
  top:49px;
  width:340px;
  border-radius:8px;
  background:#171c16;
  box-shadow:0 14px 36px #0008
}
.gs-i {
  padding:12px
}
.gs-g {
  font-size:10px;
  letter-spacing:1.3px
}
.menu-toggle {
  display:none;
  background:transparent;
  border:0;
  color:var(--tx);
  width:42px;
  height:42px;
  padding:10px
}
.menu-toggle svg {
  width:22px;
  height:22px
}
main {
  padding:44px 0 80px;
  min-height:65vh
}
h1 {
  font-family:Barlow,Impact,sans-serif;
  font-size:68px;
  font-weight:700;
  letter-spacing:-1px;
  line-height:1.04;
  margin:0 0 14px
}
h2 {
  font-family:Barlow,sans-serif;
  font-size:32px;
  line-height:1.15;
  letter-spacing:.3px;
  font-weight:600;
  margin:36px 0 18px
}
h3 {
  line-height:1.25
}
main>.wrap>p.muted {
  font-size:14px;
  max-width:680px;
  margin:0 0 30px;
  color:#a7afa2
}
.kicker {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase
}
.kicker::before {
  content:'';
  width:5px;
  height:5px;
  background:var(--ac);
  display:block
}
.edition {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px
}
.edition h1 {
  font-size:60px;
  margin:8px 0 0;
  letter-spacing:-.6px
}
.edition-date {
  color:var(--tx2);
  font-size:11px;
  white-space:nowrap;
  display:flex;
  gap:16px;
  align-items:center
}
.edition-date b {
  font-weight:600;
  letter-spacing:.8px
}
.edition-date .line {
  height:1px;
  width:40px;
  background:var(--bd)
}
.home-lead {
  display:grid;
  grid-template-columns:minmax(0,1fr) 354px;
  gap:24px;
  align-items:stretch
}
.cover-story {
  position:relative;
  display:block;
  min-height:438px;
  border-radius:8px;
  overflow:hidden;
  background:#252b21
}
.cover-story>img {
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .6s
}
.cover-story:hover>img {
  transform:scale(1.025)
}
.cover-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,#0000 15%,#0004 45%,#000d 100%)
}
.cover-story-text {
  position:absolute;
  left:32px;
  right:32px;
  bottom:29px;
  color:#fff
}
.story-label {
  display:inline-flex;
  background:var(--ac);
  color:#101311;
  font-size:9px;
  font-weight:800;
  letter-spacing:1.1px;
  text-transform:uppercase;
  padding:5px 9px;
  margin-bottom:15px
}
.cover-story h2 {
  font-family:Barlow;
  font-size:48px;
  line-height:1.03;
  margin:0 0 16px;
  max-width:640px;
  letter-spacing:0;
  color:#fff
}
.story-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:10px;
  color:#e1e3d9
}
.circle-arrow {
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border:1px solid #ffffff75;
  border-radius:50%;
  font-size:20px;
  color:#fff
}
.race-desk {
  border:1px solid var(--bd);
  border-radius:8px;
  background:#171c16;
  display:flex;
  flex-direction:column;
  padding:20px 20px 14px;
  min-width:0
}
.desk-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:13px;
  border-bottom:1px solid var(--bd);
  font-size:12px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase
}
.desk-heading .live-dot {
  height:6px;
  width:6px;
  background:var(--ac);
  border-radius:50%
}
.race-desk h3 {
  font-size:16px;
  margin:0 0 7px;
  line-height:1.3
}
.race-desk .hoy {
  border:0;
  border-bottom:1px solid var(--bd);
  border-radius:0;
  padding:17px 0;
  background:none;
  gap:0
}
.race-desk .hoy:last-child {
  border-bottom:0
}
.race-desk .hoy-race {
  font-size:16px;
  margin-bottom:7px;
  letter-spacing:-.25px
}
.race-desk .hoy-meta {
  font-size:11px
}
.race-desk .hoy-et {
  font-size:11px
}
.race-desk .hoy-actions {
  padding-top:10px;
  gap:12px
}
.race-desk .hoy-actions .catpill {
  font-size:10px;
  padding:0;
  border:0;
  background:none;
  color:var(--ac);
  border-radius:0
}
.race-desk .hoy-k {
  font-size:9px
}
.race-desk .hoy-res {
  font-size:11px;
  margin-top:3px
}
.race-desk .rc-top {
  margin-bottom:9px;
  font-size:15px
}
.race-desk .prestige {
  font-size:9px
}
.race-desk .desk-next {
  padding-top:16px;
  color:var(--tx2);
  font-size:9px;
  letter-spacing:1.4px;
  text-transform:uppercase;
  margin-top:auto
}
.race-desk .hoy.next {
  padding:10px 0 0
}
.race-desk .gsex {
  font-size:8px
}
.home-tools {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:24px 0 10px
}
.home-tools .catbar {
  margin:0
}
.home-tools>a {
  font-size:11px;
  color:var(--tx2);
  white-space:nowrap
}
.home-tools>a:hover {
  color:var(--ac)
}
.catbar,.filters {
  gap:6px;
  align-items:center
}
.catpill {
  font-size:11px;
  font-weight:600;
  border-radius:4px;
  background:transparent;
  border-color:var(--bd);
  padding:8px 13px;
  color:var(--tx2);
  line-height:1.4
}
.catpill.on {
  background:var(--ac);
  border-color:var(--ac);
  color:#12160e
}
.fsep {
  height:20px;
  flex:none;
  margin:0 8px
}
.gsex {
  font-size:8px;
  letter-spacing:.6px;
  border:0;
  background:#282f29;
  padding:3px 5px;
  top:-2px;
  border-radius:3px
}
.gsex.m {
  color:#b5c5d5
}
.gsex.w {
  color:#d6b1c4
}
.prestige {
  color:#d4cd8b;
  font-size:10px;
  font-weight:600;
  letter-spacing:.5px
}
.livebadge,.todaytag {
  border:0;
  font-size:9px;
  letter-spacing:1px;
  border-radius:3px
}
.rcards {
  gap:12px;
  grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))
}
.rcard,.rcard.top {
  padding:20px;
  border-radius:6px;
  background:#191e18;
  border:1px solid var(--bd);
  position:relative;
  min-height:132px
}
.rcard:hover {
  background:#222920;
  transform:translateY(-3px);
  border-color:#63744c
}
.rcard.live {
  border-color:#7a872d
}
.rc-top {
  gap:9px;
  margin-bottom:14px
}
.rc-name {
  font-size:16px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:-.35px
}
.rc-sub {
  font-size:11px;
  margin-top:8px
}
.rc-winner {
  font-size:12px;
  margin-top:10px;
  display:flex;
  gap:8px;
  align-items:center
}
.rc-winner span {
  font-size:9px;
  letter-spacing:1px
}
.fold {
  margin:28px 0 0;
  border:0
}
.fold>summary {
  font-family:Barlow;
  font-size:29px;
  letter-spacing:.2px;
  font-weight:600;
  margin-bottom:16px;
  display:flex;
  align-items:center;
  gap:12px;
  list-style:none
}
.fold>summary::before {
  content:'+';
  font-family:Manrope;
  font-size:18px;
  color:var(--tx2);
  width:20px
}
.fold[open]>summary::before {
  content:'−'
}
.fold>summary>.muted {
  font-family:Manrope;
  font-size:10px;
  font-weight:600;
  border:1px solid var(--bd);
  border-radius:20px;
  padding:2px 8px
}
.home-recent {
  margin-top:24px
}
.home-recent .rcards {
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))
}
.home-recent .rcard {
  min-height:100px;
  background:#191c17
}
.home-recent .rc-top {
  margin-bottom:6px
}
.rk {
  padding:0
}
.rk-toggle {
  border-radius:4px;
  padding:3px;
  background:#1a2019;
  border-color:var(--bd)
}
.rk-tab {
  border-radius:3px;
  font-size:11px;
  padding:6px 17px
}
.rk-grid {
  gap:24px
}
.rk-box {
  min-width:0;
  padding:24px;
  border:1px solid var(--bd);
  border-radius:8px;
  background:#171c16
}
.rk-box h3 {
  font-size:10px;
  letter-spacing:1.4px;
  margin-bottom:13px
}
.rk-scroll ol,.rk-scroll ul {
  max-height:440px
}
.rk-scroll::after {
  background:linear-gradient(transparent,#171c16)
}
ol.rklist li {
  padding:11px 0;
  gap:12px;
  font-size:12px;
  border-color:#2a3227
}
.rkn {
  font-family:Barlow;
  font-size:21px;
  min-width:22px;
  text-align:left;
  font-weight:600
}
.rkp b,.rk-uci b {
  font-size:13px;
  font-weight:800
}
.rkp i,.rk-uci i {
  font-size:8px;
  letter-spacing:1px;
  margin-top:3px
}
.rklist .av {
  width:36px;
  height:36px;
  border:0
}
.rklist .tl {
  width:36px;
  height:36px;
  border:0;
  background:#252c21;
  border-radius:4px
}
.tier {
  font-size:8px;
  border:0;
  border-radius:3px;
  padding:3px 5px;
  background:#2b3325
}
.relegation {
  font-size:8px;
  letter-spacing:1.4px
}
.rk-head {
  margin:48px 0 20px;
  align-items:center
}
.verlas {
  font-size:11px;
  letter-spacing:.2px
}
.ngrid,.ngrid.home4 {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.ncard {
  border-radius:7px;
  border:0;
  background:none;
  overflow:visible
}
.ncard:hover {
  transform:translateY(-3px)
}
.ncard img {
  border-radius:7px;
  aspect-ratio:1.6
}
.ncard .nb {
  padding:16px 0 0;
  gap:13px
}
.ncard h3,.ncard.nopic h3 {
  font-size:19px;
  font-weight:800;
  letter-spacing:-.55px;
  line-height:1.3
}
.ncard .nd {
  font-size:10px;
  letter-spacing:.5px;
  padding-bottom:18px;
  border-bottom:1px solid var(--bd)
}
.ncard.nopic .nb {
  min-height:220px;
  padding:24px;
  background:var(--card);
  border-radius:7px
}
.nhero {
  max-height:560px;
  margin:30px 0;
  border-radius:8px
}
.nbody {
  font-size:16px;
  max-width:760px;
  margin:auto
}
.nbody p {
  line-height:1.9;
  margin:0 0 24px
}
.photo-credit {
  font-size:11px!important
}
.nbody h2 {
  margin:36px 0 14px
}
body[data-page="news-detail"] main>.wrap>h1 {
  max-width:1000px;
  font-size:60px
}
.hero {
  gap:32px;
  padding:34px 36px;
  border:1px solid var(--bd);
  background:#1b2119;
  border-radius:8px;
  margin-bottom:28px;
  position:relative;
  overflow:hidden
}
.hero::after {
  content:'';
  position:absolute;
  height:240px;
  width:240px;
  border:1px solid #384330;
  right:-120px;
  top:-100px;
  transform:rotate(-22deg);
  pointer-events:none
}
.hero h1 {
  font-size:60px
}
.avatar {
  width:142px;
  height:142px;
  border-radius:7px;
  border:0;
  background:#323b2a;
  font-family:Barlow;
  font-size:64px;
  object-position:top
}
.hero .meta {
  font-size:12px;
  margin:10px 0
}
.hero .chip {
  font-size:10px;
  padding:5px 9px;
  line-height:1.4;
  background:#293024;
  border:0;
  border-radius:3px
}
.hero .chip-red {
  padding:7px
}
.tlogo {
  width:126px;
  height:126px;
  border:0;
  border-radius:8px;
  background:var(--paper);
  padding:14px
}
.stats {
  gap:12px;
  margin:22px 0
}
.stat {
  border-radius:6px;
  background:#1c2319;
  border:1px solid var(--bd);
  padding:20px
}
.stat .val {
  font-family:Barlow;
  font-size:42px;
  color:var(--ac);
  line-height:1.1
}
.stat .lab {
  font-size:9px;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-top:6px
}
.sec {
  border:1px solid var(--bd);
  background:#171c16;
  border-radius:8px;
  margin:22px 0;
  padding:0 24px
}
.sec>summary {
  font-family:Barlow;
  font-size:26px;
  font-weight:600;
  letter-spacing:.3px;
  padding:20px 0;
  cursor:pointer
}
.sec[open]>summary {
  border-bottom:1px solid var(--bd);
  margin-bottom:12px
}
.cnt {
  font-family:Barlow;
  font-size:29px;
  color:var(--ac);
  background:none;
  border:0;
  min-width:35px
}
.hl li {
  padding:12px 0
}
.hl-name {
  font-size:13px;
  font-weight:600
}
.hl-years {
  font-size:10px;
  color:var(--tx2)
}
.res li {
  padding:13px 0;
  font-size:12px
}
.rank {
  border-radius:4px;
  font-size:11px;
  padding:5px;
  background:#2a3125
}
.rank.win {
  background:var(--ac);
  color:#151a0b
}
.chip {
  font-size:11px;
  border-radius:4px;
  background:#1b2218;
  border-color:var(--bd);
  padding:6px 10px
}
.meta {
  font-size:12px
}
.cmp-btn {
  border-radius:5px;
  font-size:11px;
  padding:10px 16px
}
.cmp-input {
  border-radius:5px;
  font-size:13px;
  padding:14px 16px;
  background:#1c2319
}
.cmp-item {
  font-size:12px;
  padding:13px
}
.cols {
  gap:24px
}
.cols .hero {
  padding:24px
}
.cols .hero h1 {
  font-size:40px
}
.cols .avatar {
  width:94px;
  height:110px
}
.cols .stats {
  flex-wrap:wrap
}
.cols .stat {
  flex:1
}
.cols .sec {
  padding:0 16px
}
.search {
  gap:8px;
  max-width:580px;
  margin:24px 0
}
.search button {
  border-radius:5px;
  border:0;
  background:var(--ac);
  color:#131809;
  font-size:12px;
  padding:0 22px;
  font-weight:800
}
.filters {
  margin:18px 0 28px
}
.team-section {
  margin:30px 0
}
.rklist a:hover,.res a:hover {
  color:var(--ac)
}
ul.ros li,ul.lst li {
  padding:16px 0;
  font-size:13px;
  gap:14px;
  border-color:var(--bd)
}
.st-no {
  font-family:Barlow;
  font-size:25px;
  min-width:40px;
  font-weight:600
}
.st-sub {
  font-size:11px;
  margin-top:5px
}
.st-km {
  font-size:12px
}
.av {
  border-radius:50%;
  border:0;
  width:36px;
  height:36px
}
.tl {
  background:#252c21;
  border:0;
  border-radius:4px;
  width:36px;
  height:36px
}
.ros .av {
  width:42px;
  height:42px
}
.rk-sub {
  font-size:10px;
  margin-top:2px
}
.mas {
  display:inline-block;
  font-size:12px;
  padding:12px 18px;
  border:1px solid var(--bd);
  border-radius:4px
}
.pagination {
  margin:30px 0
}
.stickybar {
  top:87px;
  border-bottom:1px solid var(--bd);
  background:#101311f5;
  backdrop-filter:blur(15px);
  padding:8px 0;
  margin-bottom:24px
}
.stickybar .catbar {
  margin:8px 0
}
.months {
  flex-wrap:nowrap;
  overflow:auto;
  padding-bottom:4px;
  scrollbar-width:none
}
.months .catpill {
  flex:none;
  background:none;
  font-size:10px;
  min-width:48px;
  text-align:center
}
.months .catpill.on {
  color:var(--ac);
  background:#2c351d;
  border-color:#53662d
}
body[data-page="calendar"] .rcards {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px
}
body[data-page="calendar"] h2[id] {
  scroll-margin-top:245px;
  font-family:Barlow;
  font-size:40px;
  text-transform:capitalize
}
.catbar.race-nav {
  padding:15px 0;
  border-top:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  gap:20px
}
.race-nav .catpill {
  background:none;
  border:0;
  padding:6px 0;
  color:var(--tx2)
}
.race-nav .catpill.on {
  color:var(--ac);
  border-bottom:2px solid var(--ac);
  border-radius:0
}
.viewer {
  margin:28px 0;
  max-width:none;
  scroll-margin-top:115px
}
.vtabs {
  gap:16px
}
.vtab {
  border-radius:0;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  padding:10px 0;
  font-size:12px
}
.vtab.on {
  color:var(--ac);
  background:transparent;
  border-color:var(--ac)
}
.viewer-stage {
  border-radius:8px;
  background:#ecede5;
  padding:16px
}
.slide img {
  max-height:490px
}
.cls-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));
  gap:24px
}
.cls-card {
  padding:24px;
  border:1px solid var(--bd);
  border-radius:7px;
  background:#181e17
}
.cls-card h3 {
  font-size:10px;
  letter-spacing:1.5px;
  margin-bottom:12px
}
.rr li {
  font-size:12px;
  padding:12px 0!important;
  gap:12px!important
}
.rr .gap {
  font-variant-numeric:tabular-nums
}
.podium {
  gap:12px
}
.pod {
  border-radius:7px;
  padding:24px 16px;
  background:#1b2218;
  border-color:var(--bd)
}
.pod .medal {
  font-family:Barlow;
  font-size:32px
}
.pod .pname {
  font-size:13px
}
.pod .ptime {
  font-size:11px
}
.pava {
  width:54px;
  height:54px;
  border:0
}
.stnav {
  margin:30px 0;
  gap:16px
}
.stnav a {
  border-radius:7px;
  padding:20px
}
.stnav .dir {
  font-size:9px;
  letter-spacing:1px;
  text-transform:uppercase
}
.stnav .dst {
  font-size:13px;
  margin-top:5px
}
.jr {
  border-radius:4px;
  padding:10px 13px;
  font-size:11px
}
.table-wrap {
  border:1px solid var(--bd);
  border-radius:7px;
  overflow-x:auto
}
.tfteam {
  border-radius:7px;
  padding:24px;
  background:#181e17;
  margin-bottom:18px
}
.tfhead {
  font-size:19px;
  margin-bottom:22px;
  letter-spacing:-.3px
}
.tfhead .tl {
  width:42px;
  height:42px
}
.tfcol h4 {
  font-size:9px;
  letter-spacing:1.7px;
  margin-bottom:12px
}
.tflist li {
  font-size:12px;
  padding:10px 0;
  border-bottom:1px solid var(--bd)
}
.tflist .muted {
  font-size:10px
}
.tfnew {
  font-size:8px;
  border-radius:2px;
  padding:2px 5px
}
.tfrum {
  background:#161b15
}
.tfcols {
  gap:36px
}
footer {
  border-top:1px solid var(--bd);
  background:#0d100d;
  padding:48px 0 28px;
  font-size:11px;
  color:var(--tx2)
}
.footer-grid {
  display:grid;
  grid-template-columns:1fr auto;
  gap:32px;
  align-items:center
}
.footer-brand .brand {
  font-size:25px;
  color:var(--tx)
}
.footer-brand p {
  font-size:11px;
  color:var(--tx2);
  max-width:350px;
  margin:14px 0 0
}
.footer-apps p {
  font-size:10px;
  letter-spacing:.5px;
  margin:0 0 12px
}
.sbadges {
  justify-content:flex-start;
  gap:14px;
  margin:0
}
.sbadges img {
  height:32px
}
.fline {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:16px;
  margin-top:35px;
  padding-top:22px;
  border-top:1px solid var(--bd);
  font-size:10px
}
.footer-links {
  display:flex;
  gap:22px
}
.preview-tag {
  position:fixed;
  bottom:13px;
  right:16px;
  z-index:90;
  background:#101311e8;
  color:#b8c3a8;
  border:1px solid #414c36;
  font-size:8px;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:5px 9px;
  border-radius:4px;
  backdrop-filter:blur(8px);
  pointer-events:none
}
.cbar {
  border-radius:8px;
  background:#1a2116
}
.cbar button {
  border-radius:4px
}
@media(min-width:1450px) {
  .home-lead {
    grid-template-columns:minmax(0,1fr) 390px
  }
  .cover-story {
    min-height:470px
  }
  .cover-story h2 {
    font-size:56px
  }
}
@media(max-width:1180px) {
  header.top .wrap {
    gap:18px
  }
  .nav {
    gap:16px
  }
  .langsel {
    max-width:76px
  }
  .gs {
    max-width:180px
  }
  .wrap,.wrap.wide {
    padding:0 32px
  }
  .home-lead {
    grid-template-columns:minmax(0,1fr) 320px
  }
  .cover-story h2 {
    font-size:43px
  }
  .race-desk {
    padding:17px
  }
  .edition h1 {
    font-size:54px
  }
}
@media(max-width:960px) {
  header.top .wrap {
    height:76px;
    gap:16px
  }
  .menu-toggle {
    display:block;
    margin-left:auto;
    order:5
  }
  .nav {
    display:none;
    position:absolute;
    top:76px;
    left:0;
    right:0;
    background:#141a12;
    padding:18px 32px 26px;
    border-bottom:1px solid var(--bd);
    flex-direction:column;
    gap:0
  }
  .nav.open {
    display:flex
  }
  .navlink {
    padding:13px 0;
    border:0;
    font-size:16px
  }
  .navlink.on {
    color:var(--ac)
  }
  .gs {
    margin-left:auto;
    display:block;
    max-width:280px;
    flex:1
  }
  .langsel {
    order:4
  }
  .home-lead {
    grid-template-columns:minmax(0,1fr) 290px;
    gap:16px
  }
  .cover-story {
    min-height:450px
  }
  .cover-story h2 {
    font-size:41px
  }
  .cover-story-text {
    left:24px;
    right:24px;
    bottom:24px
  }
  .edition-date {
    font-size:10px
  }
  .stickybar {
    top:75px
  }
  .ngrid,.ngrid.home4 {
    gap:18px
  }
  .ncard h3 {
    font-size:16px
  }
  .hero h1 {
    font-size:50px
  }
  .hero {
    padding:28px;
    gap:24px
  }
  .cls-grid {
    gap:16px
  }
}
@media(max-width:760px) {
  .wrap,.wrap.wide,.wrap:not(.wide) {
    padding:0 22px
  }
  .edition {
    align-items:start;
    gap:16px
  }
  .edition h1 {
    font-size:46px
  }
  .edition-date .line,.edition-date b {
    display:none
  }
  .edition-date {
    margin-top:5px;
    font-size:9px
  }
  .kicker {
    font-size:8px;
    letter-spacing:1.4px
  }
  .home-lead {
    grid-template-columns:1fr;
    gap:18px
  }
  .cover-story {
    min-height:380px
  }
  .cover-story h2 {
    font-size:42px
  }
  .race-desk {
    padding:18px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 20px
  }
  .desk-heading {
    grid-column:1/-1
  }
  .race-desk .hoy {
    border-bottom:0
  }
  .race-desk .hoy.next {
    grid-column:1/-1;
    border-top:1px solid var(--bd);
    padding-top:12px
  }
  .race-desk .desk-next {
    grid-column:1/-1;
    border-top:1px solid var(--bd);
    padding-top:12px
  }
  .race-desk .hoy.next {
    border:0
  }
  .race-desk .hoy-race {
    font-size:15px
  }
  .home-tools {
    align-items:start;
    padding:20px 0 0
  }
  .home-tools>a {
    display:none
  }
  .catbar {
    gap:5px
  }
  .catpill {
    font-size:10px;
    padding:7px 10px
  }
  .rcards {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .rcard,.rcard.top {
    padding:17px;
    min-height:140px
  }
  .rc-name {
    font-size:14px
  }
  .rcard .gsex {
    display:inline-block;
    margin:5px 0 0
  }
  .rc-top {
    font-size:16px
  }
  .rc-sub {
    font-size:10px
  }
  .rk-grid {
    grid-template-columns:1fr;
    gap:18px
  }
  .ngrid,.ngrid.home4 {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 16px
  }
  .ncard h3,.ncard.nopic h3 {
    font-size:16px
  }
  .hero {
    padding:24px;
    gap:20px
  }
  .hero h1 {
    font-size:44px
  }
  .avatar {
    width:112px;
    height:132px
  }
  .tlogo {
    width:98px;
    height:98px
  }
  .meta {
    font-size:11px
  }
  .stats {
    display:flex;
    flex-wrap:wrap
  }
  .stat {
    flex:1;
    min-width:120px;
    padding:16px
  }
  .sec {
    padding:0 18px
  }
  .sec>summary {
    font-size:24px
  }
  .res li {
    font-size:11px;
    flex-wrap:wrap
  }
  .cols {
    flex-direction:column
  }
  .cols .col {
    width:100%
  }
  body[data-page="calendar"] .rcards {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  h1 {
    font-size:56px
  }
  h2 {
    font-size:30px
  }
  main {
    padding:28px 0 56px
  }
  .stickybar {
    margin-left:-22px;
    margin-right:-22px;
    padding-left:22px;
    padding-right:22px
  }
  .stickybar .catbar {
    gap:5px
  }
  .footer-grid {
    grid-template-columns:1fr;
    gap:30px
  }
  .footer-apps .sbadges {
    justify-content:flex-start
  }
  .fline {
    font-size:9px
  }
  .nhero {
    margin:24px 0
  }
  .nbody {
    font-size:14px
  }
  .nbody p {
    line-height:1.85
  }
  body[data-page="news-detail"] main>.wrap>h1 {
    font-size:47px
  }
  .catbar.race-nav {
    gap:16px
  }
  .tfcols {
    flex-direction:row
  }
  .viewer-stage {
    padding:0
  }
  .slide img {
    max-height:360px
  }
  .cls-card {
    padding:18px
  }
  .podium {
    grid-template-columns:1fr
  }
  .pod {
    padding:16px
  }
  .stnav .dst {
    font-size:11px
  }
  .stnav a {
    padding:14px
  }
  .stnav {
    gap:10px
  }
}
@media(max-width:480px) {
  header.top .wrap {
    padding:0 18px;
    gap:12px;
    height:72px
  }
  .brand {
    font-size:24px;
    letter-spacing:-1.2px
  }
  .brand img {
    width:28px;
    height:28px
  }
  .gs {
    min-width:0;
    max-width:130px
  }
  .gs-q {
    font-size:10px;
    padding:9px;
    width:100%
  }
  .langsel {
    max-width:56px;
    font-size:10px;
    padding:4px
  }
  .menu-toggle {
    width:27px;
    padding:3px
  }
  .nav {
    top:72px;
    padding-left:22px
  }
  .gs-r {
    position:fixed;
    top:72px;
    left:18px;
    right:18px;
    width:auto
  }
  .edition h1 {
    font-size:40px;
    letter-spacing:-.4px
  }
  .edition {
    margin-bottom:22px
  }
  .edition-date {
    font-size:9px;
    max-width:75px;
    white-space:normal;
    text-align:right;
    line-height:1.4
  }
  .cover-story {
    min-height:365px
  }
  .cover-story-text {
    left:21px;
    right:21px;
    bottom:22px
  }
  .cover-story h2 {
    font-size:38px;
    line-height:1.07
  }
  .story-bottom {
    font-size:9px
  }
  .race-desk {
    grid-template-columns:1fr;
    gap:0
  }
  .race-desk .hoy {
    padding:16px 0;
    border-bottom:1px solid var(--bd)
  }
  .race-desk .hoy.next {
    padding:8px 0 0
  }
  .race-desk .desk-next {
    border:0
  }
  .race-desk .hoy-race {
    font-size:17px
  }
  .race-desk .hoy-actions {
    gap:20px
  }
  .race-desk .hoy-actions .catpill {
    font-size:11px
  }
  .rcards {
    gap:10px
  }
  .rcard,.rcard.top {
    padding:14px;
    min-height:150px
  }
  .rc-name {
    font-size:13px;
    letter-spacing:-.2px
  }
  .rc-top {
    gap:7px
  }
  .rc-top .prestige {
    font-size:8px
  }
  .fold>summary {
    font-size:26px
  }
  .rc-winner {
    flex-direction:column;
    align-items:start;
    gap:0;
    font-size:11px
  }
  .home-recent .rcard {
    min-height:110px
  }
  .ngrid,.ngrid.home4 {
    gap:22px 14px
  }
  .ncard h3,.ncard.nopic h3 {
    font-size:14px;
    letter-spacing:-.35px
  }
  .ncard.nopic .nb {
    min-height:180px;
    padding:15px
  }
  .rk-box {
    padding:20px
  }
  .hero {
    padding:20px;
    gap:16px;
    align-items:flex-start
  }
  .hero h1 {
    font-size:38px;
    margin-bottom:12px
  }
  .avatar {
    width:82px;
    height:110px
  }
  .tlogo {
    width:76px;
    height:76px;
    padding:8px
  }
  .hero .meta {
    font-size:10px;
    line-height:1.6
  }
  .hero .chip {
    font-size:9px;
    padding:4px 6px
  }
  .hero .chip .icm {
    width:12px;
    height:12px
  }
  .hero .chip-red {
    padding:6px
  }
  .hero::after {
    display:none
  }
  .stats {
    gap:8px
  }
  .stat {
    min-width:90px;
    padding:13px
  }
  .stat .val {
    font-size:35px
  }
  .stat .lab {
    font-size:8px
  }
  .cols .hero h1 {
    font-size:36px
  }
  .cols .avatar {
    width:75px;
    height:105px
  }
  .cols .hero {
    padding:20px;
    gap:14px
  }
  .rr .who {
    min-width:0
  }
  .rr .gap {
    font-size:10px
  }
  .tfcols {
    flex-direction:column;
    gap:22px
  }
  .tfteam {
    padding:20px
  }
  .tfhead {
    font-size:16px
  }
  .search button {
    padding:0 15px
  }
  .search .cmp-input {
    min-width:0
  }
  .stickybar {
    top:71px
  }
  .months .catpill {
    min-width:43px
  }
  .catbar.race-nav {
    flex-wrap:nowrap;
    overflow:auto;
    gap:18px;
    scrollbar-width:none
  }
  .race-nav .catpill {
    flex:none
  }
  .vcap {
    font-size:10px
  }
  .stnav {
    flex-wrap:wrap
  }
  .stnav a {
    flex-basis:45%
  }
  .preview-tag {
    bottom:8px;
    right:8px;
    font-size:7px
  }
  h1 {
    font-size:49px
  }
  body[data-page="news-detail"] main>.wrap>h1 {
    font-size:43px
  }
  .footer-brand p {
    font-size:11px
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    transition:none!important;
    animation:none!important;
    scroll-behavior:auto!important
  }
}
.skip-link {
  position:fixed;
  top:-80px;
  left:20px;
  background:var(--ac);
  color:#111;
  padding:12px 20px;
  z-index:100;
  border-radius:4px
}
.skip-link:focus {
  top:10px
}
.cover-empty {
  background:#252e1e
}
.cover-empty .cover-story-text {
  top:40px;
  bottom:auto
}
.cover-empty h2 {
  font-size:60px
}
.race-desk .hoy {
  padding:14px 0
}
.race-desk .rc-top {
  float:left;
  margin:0 8px 0 0;
  line-height:21px
}
.race-desk .hoy-actions {
  margin-top:0;
  padding-top:8px
}
.race-desk .hoy.next {
  background:none
}
.race-sections {
  padding:15px 0;
  border-top:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  gap:20px
}
.race-sections .catpill {
  border:0;
  padding:6px 0;
  background:none;
  border-radius:0;
  color:var(--tx2)
}
.race-sections .catpill:hover {
  color:var(--ac)
}
@media(min-width:761px) {
  ul.hl {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0 26px
  }
  ul.hl li {
    min-width:0;
    padding:19px 0;
    align-items:center
  }
  .hl-main {
    min-width:0
  }
  .hl-name {
    font-size:12px
  }
  .cnt {
    font-size:34px
  }
  .race-desk .hoy-race {
    font-size:15px
  }
  .race-desk .hoy-res {
    font-size:10px
  }
}
@media(max-width:480px) {
  .race-sections {
    flex-wrap:nowrap;
    overflow:auto;
    scrollbar-width:none;
    gap:20px
  }
  .race-sections .catpill {
    flex:none
  }
  .hero>div {
    min-width:0
  }
  .race-desk .rc-top {
    line-height:23px
  }
}
body[data-page="news-detail"] .kicker {
  margin-bottom:18px
}
body[data-page="news-detail"] .nhero {
  width:100%;
  height:440px;
  object-fit:cover;
  object-position:center;
  border-radius:8px
}
ul.team-roster {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px
}
ul.team-roster li {
  padding:20px;
  border:1px solid var(--bd);
  border-radius:6px;
  background:#191e18;
  flex-wrap:wrap
}
ul.team-roster .av {
  width:56px;
  height:56px;
  border-radius:5px
}
ul.team-roster a {
  flex:1;
  min-width:100px;
  font-size:12px;
  font-weight:600
}
ul.team-roster .rkp {
  margin-left:70px;
  width:100%;
  text-align:left
}
@media(max-width:760px) {
  ul.team-roster {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  body[data-page="news-detail"] .nhero {
    height:300px
  }
  ul.team-roster li {
    padding:16px
  }
  ul.team-roster .rkp {
    margin-left:0
  }
}
@media(max-width:480px) {
  ul.team-roster {
    grid-template-columns:1fr
  }
  ul.team-roster .rkp {
    margin-left:auto;
    width:auto;
    text-align:right
  }
  ul.team-roster a {
    font-size:12px
  }
  body[data-page="news-detail"] .nhero {
    height:250px
  }
}
.tflist li>.muted {
  display:block;
  margin:5px 0 0 15px;
  font-size:10px
}
.tflist li::before {
  margin-right:5px
}
.tflist li>a {
  font-weight:600
}
