:root{
  --ink:#101713;
  --ink-2:#17241c;
  --green:#078b3b;
  --green-dark:#073e21;
  --red:#ed1c24;
  --yellow:#f2c300;
  --cream:#f5f2ea;
  --paper:#ffffff;
  --muted:#7b867d;
  --line:rgba(16,23,19,.12);
  --white-line:rgba(255,255,255,.16);
  --shadow:0 22px 55px rgba(0,0,0,.16);
  --radius:26px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ink);
  color:var(--cream);
  font-family:Manrope,Arial,sans-serif;
  overflow-x:hidden;
}
img,svg,iframe{max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
h1,h2,h3{font-family:"Archivo Black",Impact,sans-serif;text-transform:uppercase;line-height:.93;margin:0;letter-spacing:-.04em}
p{line-height:1.75}
.eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:900}
.orange{color:var(--red)}
.lime{color:var(--yellow)}
.section{padding:110px clamp(20px,7vw,96px)}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:52px;
  padding:15px 22px;
  border:1px solid transparent;
  border-radius:999px;
  text-transform:uppercase;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  transition:.22s ease;
}
.button:hover{transform:translateY(-3px)}
.button-light{background:var(--cream);color:var(--ink)}
.button-outline{border-color:rgba(255,255,255,.45);color:#fff}

/* Header limpio */
.site-header{
  position:fixed;
  inset:0 0 auto;
  height:82px;
  z-index:50;
  background:rgba(255,255,255,.9);
  color:var(--ink);
  border-bottom:1px solid var(--line);
  box-shadow:0 10px 34px rgba(0,0,0,.08);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.header-main{
  height:100%;
  padding:0 clamp(18px,4vw,64px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{
  display:block;
  width:clamp(150px,13vw,205px);
  max-height:66px;
  object-fit:contain;
}
.main-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(12px,1.75vw,28px);
  font-size:12px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  white-space:nowrap;
}
.main-nav a{transition:.2s ease}
.main-nav a:hover{color:var(--green)}
.nav-cta{
  color:var(--red);
  border-left:1px solid var(--line);
  padding-left:clamp(14px,2vw,28px);
}
.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  position:relative;
  z-index:70;
}
.menu-toggle span{
  display:block;
  width:26px;
  height:2px;
  margin:7px auto;
  background:var(--ink);
  transition:.2s ease;
}

/* Hero */
.hero{
  min-height:100svh;
  min-height:760px;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(7,15,11,.95) 0%,rgba(7,15,11,.62) 48%,rgba(7,15,11,.18) 100%),
    url("assets/hero-mtb-enhanced.png") center/cover no-repeat;
}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(transparent,var(--ink))}
.hero-content{
  position:relative;
  z-index:2;
  width:min(760px,calc(100% - 40px));
  margin-left:clamp(20px,8vw,120px);
  padding-top:90px;
}
.hero h1{font-size:clamp(48px,7.2vw,112px)}
.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.68)}
.hero-year{font-family:"Archivo Black";font-size:clamp(58px,8vw,126px);line-height:.9;color:var(--red);margin-top:12px}
.hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin:28px 0;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.12em}
.hero-meta i{width:5px;height:5px;border-radius:50%;background:var(--yellow)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.season-rail{position:absolute;right:-115px;top:50%;transform:rotate(90deg);display:flex;gap:34px;color:rgba(255,255,255,.44);font-size:10px;text-transform:uppercase;letter-spacing:.22em}
.scroll-cue{position:absolute;z-index:3;left:clamp(20px,4vw,64px);bottom:34px;font-size:10px;text-transform:uppercase;letter-spacing:.2em}
.scroll-cue span{display:inline-block;width:32px;height:1px;background:#fff;margin-right:10px;vertical-align:middle}

/* Encabezados */
.section-heading,.member-clubs-heading,.teams-heading,.regulations-heading,.authorities-heading,.news-heading,.social-heading{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(28px,7vw,96px);
  align-items:end;
  margin-bottom:54px;
}
.section-heading h2,.member-clubs-heading h2,.teams-heading h2,.regulations-heading h2,.authorities-heading h2,.news-heading h2,.social-heading h2,.results-copy h2,.about-copy h2,.signup-event-copy h2{
  font-size:clamp(42px,5.5vw,84px);
}
.section-heading p,.member-clubs-heading p,.teams-heading p,.regulations-heading p,.authorities-heading p,.news-heading p,.social-heading p,.results-copy>p,.about-copy p{
  margin:0;
  color:#b6c2ba;
  max-width:650px;
}
.routes-section .section-heading p,.member-clubs-heading p,.news-heading p{color:#5d6860}

/* Clubes socios */
.member-clubs-section{background:var(--cream);color:var(--ink)}
.member-clubs-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:16px;
}
.member-club{
  min-width:0;
  min-height:158px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:18px 12px;
  background:#fff;
  border:1px solid #dde2de;
  border-radius:22px;
  box-shadow:0 14px 36px rgba(16,23,19,.07);
  text-align:center;
  overflow:hidden;
  transition:.22s ease;
}
.member-club img{
  width:96px;
  height:84px;
  object-fit:contain;
  object-position:center;
  flex:0 0 auto;
}
.member-club span{
  min-height:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ink);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  line-height:1.2;
}
a.member-club:hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(16,23,19,.13);border-color:var(--green)}

/* Calendario */
.stages-section{background:#17251d}
.calendar-progress{
  display:grid;
  grid-template-columns:auto minmax(120px,1fr) auto;
  align-items:center;
  gap:22px;
  margin:-14px 0 36px;
}
.calendar-progress>div:not(.calendar-progress-bar){display:flex;align-items:center;gap:10px}
.calendar-progress strong{font-family:"Archivo Black";font-size:38px;color:var(--yellow)}
.calendar-progress span{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.calendar-progress-bar{height:8px;background:rgba(255,255,255,.14);border-radius:99px;overflow:hidden}
.calendar-progress-bar span{display:block;width:44.44%;height:100%;background:var(--yellow)}
.calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.event-card{
  min-height:210px;
  display:grid;
  grid-template-columns:42px 58px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:24px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:#203428;
  position:relative;
  overflow:hidden;
}
.event-number{font-family:"Archivo Black";font-size:25px;color:rgba(255,255,255,.34)}
.event-date{padding-right:16px;border-right:1px solid rgba(255,255,255,.18);text-align:center}
.event-date small{display:block;color:var(--yellow);font-size:9px;font-weight:900;letter-spacing:.18em}
.event-date strong{display:block;font-family:"Archivo Black";font-size:34px}
.event-main{align-self:center;min-width:0}
.event-status{display:inline-block;margin-bottom:12px;padding:5px 8px;border-radius:99px;background:rgba(255,255,255,.1);font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.event-main h3{font-size:clamp(21px,2vw,30px)}
.event-main p{margin:8px 0 0;color:#aab7ae;font-size:10px;text-transform:uppercase}
.event-mode{grid-column:2/4;align-self:end;font-family:"Archivo Black";font-size:20px;color:var(--yellow)}
.event-mode small{font-family:Manrope;font-size:10px}
.event-card.completed{background:#6d2025;border-color:var(--red)}
.event-card.completed .event-status{background:var(--red)}
.event-card.completed::after{content:"✓";position:absolute;right:18px;bottom:2px;font-family:"Archivo Black";font-size:54px;color:rgba(255,255,255,.1)}
.event-card.upcoming{background:var(--green);border-color:var(--yellow);box-shadow:inset 0 -6px 0 var(--yellow)}
.event-card.upcoming .event-status{background:var(--yellow);color:var(--ink)}
.calendar-legend{display:flex;flex-wrap:wrap;align-items:center;gap:18px 32px;margin-top:28px;padding-top:20px;border-top:1px solid var(--white-line);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#c8d1cb}
.calendar-legend b{color:var(--yellow)}
.calendar-legend small{margin-left:auto;color:#909c94}

/* Próxima fecha */
.signup-section{background:var(--red);padding:110px clamp(20px,7vw,96px);color:white}
.signup-event{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:clamp(28px,6vw,76px);align-items:center}
.event-poster{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#111;
}
.event-poster img{display:block;width:100%;height:100%;max-height:880px;object-fit:cover;object-position:center}
.event-poster span{position:absolute;left:18px;right:18px;bottom:18px;padding:10px 14px;border-radius:999px;background:rgba(0,0,0,.72);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.14em;text-align:center}
.signup-event-copy{max-width:720px}
.signup-event-copy h2{font-size:clamp(48px,6.4vw,96px)}
.event-edition{font-size:17px;font-weight:800}
.event-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}
.event-facts div,.event-price,.race-kit,.event-contact{
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.2);
  border-radius:18px;
  padding:16px;
}
.event-facts small,.event-price small,.event-contact span,.race-kit span{display:block;color:#ffe1df;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.event-facts strong,.event-price strong{display:block;margin-top:5px}
.event-price{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:12px}
.event-price ul{margin:0;padding-left:18px}
.race-kit p{margin:7px 0 0}
.event-contact{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:12px 0 22px}
.event-contact span{width:100%}
.event-register{background:var(--ink);color:#fff}

/* Modalidades */
.routes-section{background:var(--cream);color:var(--ink)}
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.route-card{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:32px;
  min-height:390px;
  padding:46px;
  border-radius:28px;
  background:#dceba2;
  overflow:hidden;
}
.route-dark{background:#26382d;color:white}
.route-km{font-family:"Archivo Black";font-size:64px;line-height:1;color:var(--red)}
.route-dark .route-km{color:var(--yellow)}
.route-card h3{font-size:36px;margin:18px 0}
.route-card p:not(.eyebrow){color:inherit;opacity:.74}
.route-card dl{margin:34px 0 0}
.route-card dl div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid currentColor;padding:13px 0;font-size:12px}
.route-card dt{opacity:.65}.route-card dd{margin:0;font-weight:900;text-align:right}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border:1px solid #c5cbc3;border-radius:24px;overflow:hidden}
.stats div{display:flex;align-items:center;gap:16px;padding:28px;background:#fff;border-right:1px solid #c5cbc3}
.stats div:last-child{border-right:0}
.stats strong{font-family:"Archivo Black";font-size:44px;color:var(--red)}
.stats span{text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.08em}

/* Ranking individual */
.results-section{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(28px,6vw,80px);background:#111b15}
.ranking-stats{display:grid;gap:14px;margin-top:28px}
.gender-chart,.category-chart,.ranking-browser,.ranking-rules article{
  border:1px solid var(--white-line);
  border-radius:24px;
  background:rgba(255,255,255,.045);
}
.gender-chart{padding:22px}
.chart-total{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.chart-total small,.chart-heading span{color:#9fb0a5;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.chart-total strong{font-family:"Archivo Black";font-size:46px;color:var(--yellow)}
.gender-bars article,.category-bars article{margin:12px 0}
.gender-bars div,.category-bars div{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:900}
.gender-bars i,.category-bars i{display:block;height:9px;margin-top:7px;border-radius:99px;background:var(--red)}
.gender-bars article:nth-child(2) i{background:var(--yellow)}
.category-chart{padding:20px;max-height:360px;overflow:auto}
.chart-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.chart-heading strong{color:var(--yellow)}
.category-bars i{height:7px;background:var(--green)}
.ranking-browser{padding:22px;min-width:0}
.ranking-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}
.gender-tabs{display:flex;gap:8px;flex-wrap:wrap}
.gender-tabs button,.category-tabs button{
  border:1px solid var(--white-line);
  border-radius:999px;
  background:transparent;
  color:white;
  padding:10px 16px;
  cursor:pointer;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.gender-tabs button.active,.category-tabs button.active{background:var(--red);border-color:var(--red)}
.ranking-search{display:flex;align-items:center;gap:8px;min-width:min(330px,100%);padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid var(--white-line)}
.ranking-search input{width:100%;border:0;outline:0;background:transparent;color:white}
.ranking-search input::placeholder{color:#aeb9b1}
.ranking-search small{font-size:10px;text-transform:uppercase;font-weight:900}
.ranking-selected{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:14px 0;padding:16px;border-radius:18px;background:rgba(255,255,255,.08)}
.ranking-selected small{display:block;color:#9fb0a5;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.12em}
.ranking-selected strong{display:block;font-family:"Archivo Black";font-size:24px;text-transform:uppercase;color:var(--yellow)}
.category-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;scrollbar-width:thin}
.individual-table-wrap,.teams-table-wrap{overflow:auto;border-radius:20px;border:1px solid var(--white-line);background:#fff}
.individual-table,.teams-table{width:100%;border-collapse:collapse;color:var(--ink);font-size:13px;min-width:820px}
.individual-table th,.individual-table td,.teams-table th,.teams-table td{padding:13px 14px;border-bottom:1px solid #e7e2d5;text-align:left;vertical-align:middle}
.individual-table th,.teams-table th{background:var(--red);color:white;text-transform:uppercase;font-size:10px;letter-spacing:.08em;white-space:nowrap}
.individual-table tbody tr:nth-child(even),.teams-table tbody tr:nth-child(even){background:#fff7d8}
.individual-table td:last-child,.teams-table td:nth-child(3){font-family:"Archivo Black";color:var(--red);font-size:18px}
.dates-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:4px 8px;border-radius:999px;background:#edf3ef;color:var(--green);font-weight:900}
.ranking-license-note{color:var(--red);font-weight:900}
.ranking-empty{padding:28px;text-align:center;color:var(--ink)}
.ranking-empty[hidden]{display:none}
.ranking-count{display:flex;justify-content:space-between;gap:16px;margin-top:14px;color:#b6c2ba;font-size:12px}
.ranking-count span{font-weight:900;color:white}
.ranking-rules{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ranking-rules article{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:22px}
.ranking-rules span{font-family:"Archivo Black";font-size:28px;color:var(--yellow)}
.ranking-rules strong{display:block;margin-bottom:5px;text-transform:uppercase}.ranking-rules p{margin:0;color:#b6c2ba;font-size:14px}

/* Equipos */
.teams-section{background:#0f1813}
.season-progress{align-self:end}
.progress-copy{display:flex;align-items:end;gap:14px;margin-bottom:12px}
.progress-copy strong{font-family:"Archivo Black";font-size:44px;color:var(--yellow)}
.progress-copy span,.progress-legend{font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.1em;color:#b6c2ba}
.progress-track{height:9px;background:rgba(255,255,255,.14);border-radius:99px;overflow:hidden}.progress-track span{display:block;width:44.44%;height:100%;background:var(--yellow)}
.progress-legend{display:flex;justify-content:space-between;margin-top:8px}
.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:14px;align-items:end;margin-bottom:24px}
.podium-card{min-height:150px;border-radius:24px;background:#203428;border:1px solid var(--white-line);padding:22px;display:flex;gap:16px;align-items:center}
.podium-card.first{min-height:190px;background:linear-gradient(135deg,var(--green),#0d6b35);box-shadow:inset 0 -6px 0 var(--yellow)}
.podium-place{font-family:"Archivo Black";font-size:42px;color:var(--yellow)}
.podium-card p{margin:0 0 5px;font-weight:900;text-transform:uppercase}.podium-card strong{font-family:"Archivo Black";font-size:40px}.podium-card small{text-transform:uppercase;color:#d4ddd7}
.teams-table-wrap{background:#fff}.teams-table{min-width:980px}.teams-table .pending{background:#f7efd0;color:#8b7b43}.teams-table tr.leader{background:#fff0a8}
.ranking-update{display:flex;align-items:center;gap:10px;color:#b6c2ba;font-size:12px}.ranking-update span{width:10px;height:10px;border-radius:50%;background:var(--yellow)}

/* Reglamento */
.regulations-section{background:var(--cream);color:var(--ink)}
.regulations-heading p{color:#5d6860;margin-bottom:18px}
.regulation-download{background:var(--ink);color:white}
.regulation-accordions{display:grid;gap:10px}
.regulation-accordions details{background:#fff;border:1px solid #d9dfda;border-radius:18px;overflow:hidden}
.regulation-accordions summary{list-style:none;display:flex;align-items:center;gap:18px;padding:20px;cursor:pointer;font-weight:900;text-transform:uppercase}
.regulation-accordions summary::-webkit-details-marker{display:none}
.regulation-accordions summary span{font-family:"Archivo Black";color:var(--red)}.regulation-accordions summary b{margin-left:auto;color:var(--green)}
.regulation-accordions details div{padding:0 20px 20px;color:#59645d}
.regulation-accordions a{color:var(--red);font-weight:900}

/* Institucional */
.about-section{display:grid;grid-template-columns:1.12fr .88fr;min-height:680px;background:#1e2c23}
.about-image{min-height:520px;background:linear-gradient(90deg,transparent 58%,#1e2c23),url("assets/comision-directiva-2026-enhanced.png") center/cover no-repeat}
.about-copy{align-self:center;padding:80px clamp(20px,6vw,82px)}
.text-link{display:inline-flex;margin-top:18px;padding:13px 0;border-bottom:2px solid var(--yellow);color:var(--yellow);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.authorities-section{background:#102015}
.leadership{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.leader-profile{display:flex;align-items:center;gap:22px;padding:24px;border-radius:24px;background:#fff;color:var(--ink)}
.leader-profile img{width:145px;height:145px;border-radius:50%;object-fit:cover;border:5px solid var(--green)}
.leader-profile span{color:var(--red);font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.12em}
.leader-profile h3{font-size:28px;margin:6px 0}.leader-profile p{margin:0;color:#657068}
.board-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.board-grid article{padding:22px;border-radius:22px;background:#183123;border:1px solid var(--white-line)}
.board-grid .board-wide{grid-column:span 2}
.board-number{font-family:"Archivo Black";font-size:25px;color:var(--yellow)}.board-grid h3{font-size:24px;margin:16px 0}
.board-grid dl,.board-grid ul{margin:0;padding:0}.board-grid li{list-style:none;padding:8px 0;border-top:1px solid var(--white-line)}
.board-grid dl div{padding:9px 0;border-top:1px solid var(--white-line)}.board-grid dt{color:#a7b7ad;font-size:11px;text-transform:uppercase;font-weight:900}.board-grid dd{margin:4px 0 0;font-weight:900}
.board-statement{margin-top:18px;padding:24px;border-radius:22px;background:var(--green);display:flex;justify-content:space-between;gap:20px;align-items:center}.board-statement p{margin:0;max-width:850px}.board-statement span{font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.1em}

/* Noticias y redes */
.news-section{background:var(--cream);color:var(--ink)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.news-card{min-height:330px;display:flex;flex-direction:column;padding:30px;border-radius:24px;background:#fff;border:1px solid #dde2de;box-shadow:0 12px 32px rgba(16,23,19,.07);position:relative;overflow:hidden}
.news-card::before{content:"";position:absolute;inset:0 0 auto;height:7px;background:var(--green)}.news-card:nth-child(2)::before{background:var(--yellow)}.news-card.facebook-news::before{background:var(--red)}
.news-card span{color:var(--green);text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.14em}.news-card h3{font-size:clamp(24px,2.2vw,34px);margin:22px 0 14px}.news-card p{margin:0;color:#647067}.news-card a{margin-top:auto;color:var(--red);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.social-section{background:#111b15}
.social-profile-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.social-profile-links a{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.1);font-weight:900;font-size:11px;text-transform:uppercase}
.social-feeds{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.feed-panel{padding:22px;border-radius:24px;background:#fff;color:var(--ink);overflow:hidden}
.feed-panel header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.social-symbol{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#1877f2;color:white;font-size:28px;font-weight:900}.instagram-symbol{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af)}
.facebook-embed iframe{width:100%!important;max-width:500px;display:block;margin:auto}.instagram-embed{min-height:520px;display:grid;place-items:center;background:#f6f6f6;border-radius:18px;padding:16px}
.contact-social{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:22px;padding:24px;border-radius:24px;background:#1d3024}.contact-social h3{font-size:34px}
.contact-buttons{display:flex;gap:12px;flex-wrap:wrap}.contact-button{display:flex;align-items:center;gap:12px;min-width:230px;padding:14px 18px;border-radius:18px;background:#fff;color:var(--ink);font-weight:900}.contact-button svg{width:28px;height:28px;fill:var(--green)}.contact-button small{display:block;color:#67736b;font-size:11px}

/* Footer */
.site-footer{display:grid;grid-template-columns:1.1fr 1fr 1.4fr auto;gap:24px;align-items:center;padding:44px clamp(20px,5vw,70px);background:#080d0a;color:#98a49c;font-size:12px}
.footer-brand img{width:175px}.site-footer p{margin:0}.site-footer div{display:flex;gap:16px;flex-wrap:wrap}.site-footer a:hover{color:var(--yellow)}.footer-credit{justify-self:end;padding:10px 14px;border:1px solid var(--white-line);border-radius:999px;color:white}

/* Animación */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button:hover,a.member-club:hover{transform:none}}

/* Responsive */
@media(max-width:1180px){
  .main-nav{gap:10px;font-size:10px;letter-spacing:.04em}
  .brand img{width:158px}
  .member-clubs-grid{grid-template-columns:repeat(5,1fr)}
  .calendar-grid{grid-template-columns:repeat(2,1fr)}
  .results-section{grid-template-columns:1fr}
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .board-grid{grid-template-columns:repeat(2,1fr)}
  .site-footer{grid-template-columns:1fr 1fr}
  .footer-credit{justify-self:start}
}

@media(max-width:900px){
  .site-header{height:72px}
  .header-main{padding:0 20px}
  .menu-toggle{display:block}
  .main-nav{
    position:fixed;
    inset:0;
    height:100svh;
    padding:96px 24px 32px;
    background:rgba(16,23,19,.98);
    color:white;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:18px;
    font-size:22px;
    transform:translateX(100%);
    transition:transform .28s ease;
    white-space:normal;
  }
  .main-nav.open{transform:none}
  .nav-cta{border-left:0;padding-left:0;color:var(--yellow)}
  .menu-toggle[aria-expanded="true"] span{background:#fff}
  .section{padding:78px 22px}
  .hero{min-height:720px;background-position:62% center}.hero-content{margin-left:22px;padding-top:78px}.season-rail{display:none}
  .section-heading,.member-clubs-heading,.teams-heading,.regulations-heading,.authorities-heading,.news-heading,.social-heading{grid-template-columns:1fr;gap:22px;margin-bottom:34px}
  .member-clubs-grid{grid-template-columns:repeat(3,1fr);gap:12px}.member-club{min-height:134px;border-radius:18px}.member-club img{width:78px;height:70px}
  .calendar-progress{grid-template-columns:1fr 1fr}.calendar-progress-bar{grid-column:1/-1;grid-row:2}
  .signup-section{padding:78px 22px}.signup-event{grid-template-columns:1fr}.event-poster img{max-height:none}.event-facts{grid-template-columns:1fr}.event-price{grid-template-columns:1fr}
  .route-grid,.stats,.podium,.ranking-rules,.leadership,.news-grid,.social-feeds{grid-template-columns:1fr}
  .route-card{grid-template-columns:1fr;padding:34px}.stats div{border-right:0;border-bottom:1px solid #c5cbc3}.stats div:last-child{border-bottom:0}
  .ranking-controls{flex-direction:column;align-items:stretch}.ranking-search{min-width:0}.ranking-selected{align-items:flex-start;flex-direction:column}
  .about-section{grid-template-columns:1fr}.about-image{min-height:460px;background:linear-gradient(0deg,#1e2c23 0%,transparent 36%),url("assets/comision-directiva-2026-enhanced.png") center/cover no-repeat}.about-copy{padding:64px 22px}
  .board-grid{grid-template-columns:1fr}.board-grid .board-wide{grid-column:auto}.board-statement{flex-direction:column;align-items:flex-start}
  .contact-social{flex-direction:column;align-items:flex-start}.contact-button{min-width:min(100%,260px)}
  .site-footer{grid-template-columns:1fr;text-align:center}.site-footer .brand,.site-footer div{justify-content:center}.footer-credit{justify-self:center}
}

@media(max-width:560px){
  .brand img{width:140px}.hero{min-height:680px;background-position:66% center}.hero-content{width:calc(100% - 40px);margin-left:20px}.hero h1{font-size:43px}.hero-year{font-size:70px}.hero-actions{flex-direction:column;align-items:flex-start}.button{width:100%;max-width:330px}
  .section{padding:68px 18px}.section-heading h2,.member-clubs-heading h2,.teams-heading h2,.regulations-heading h2,.authorities-heading h2,.news-heading h2,.social-heading h2,.results-copy h2,.about-copy h2{font-size:41px}
  .member-clubs-grid{grid-template-columns:repeat(2,1fr);gap:10px}.member-club{min-height:120px;padding:12px 8px}.member-club img{width:70px;height:62px}.member-club span{font-size:8.5px}
  .calendar-grid{grid-template-columns:1fr}.event-card{grid-template-columns:36px 52px minmax(0,1fr);padding:18px;gap:12px;border-radius:18px}.event-mode{grid-column:3}.calendar-legend small{width:100%;margin-left:0}
  .route-card{padding:28px 22px}.route-km{font-size:54px}.route-card h3{font-size:31px}
  .ranking-browser{padding:16px}.individual-table-wrap,.teams-table-wrap{margin-left:-18px;margin-right:-18px;border-left:0;border-right:0;border-radius:0}.individual-table{min-width:760px}.teams-table{min-width:980px}
  .leader-profile{flex-direction:column;align-items:flex-start}.leader-profile img{width:118px;height:118px}.news-card{min-height:250px;padding:24px}
  .instagram-embed{min-height:420px}.footer-brand img{width:165px}
}

@media(max-width:380px){
  .brand img{width:126px}.member-club img{width:62px;height:56px}.member-club{min-height:112px}.hero-content{margin-left:16px;width:calc(100% - 32px)}
}
