@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/anton-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/work-sans-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/work-sans-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/work-sans-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/work-sans-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/work-sans-latin-800-normal.woff2) format('woff2');}
:root{
  --red:#EC3A3C;--red-dark:#B92A2C;--carbon:#262B2F;--carbon-soft:#565F66;
  --bg:#F5F4F2;--white:#FFFFFF;--joven:#2F6FED;--oro:#E8A33D;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Work Sans',sans-serif;background:var(--bg);color:var(--carbon);line-height:1.6;}
h1,h2,h3,h4.display{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:0.5px;text-transform:uppercase;line-height:1.05;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;}
:focus-visible{outline:3px solid var(--red-dark);outline-offset:2px;}
[hidden]{display:none !important;}

/* Contenedor: la <section> pone el espacio vertical, el .wrap el ancho máximo */
.wrap{max-width:1100px;margin:0 auto;padding:0 24px;}
section{padding:80px 0;}
h2{font-size:1.7rem;margin-bottom:24px;}
p{color:var(--carbon-soft);max-width:720px;}
p + p{margin-top:14px;}

/* ---------- IMÁGENES (se definen una sola vez) ---------- */
.bg-hero-1{background-image:url(assets/hero-1.jpg);}
.bg-hero-2{background-image:url(assets/hero-2.jpg);}
.bg-hero-3{background-image:url(assets/hero-3.jpg);}
.bg-team-alevin{background-image:url(assets/team-alevin.jpg);}
.bg-team-alevin2{background-image:url(assets/team-alevin2.jpg);}
.bg-team-benjamin-fem{background-image:url(assets/team-benjamin-fem.jpg);}
.bg-team-cadete{background-image:url(assets/team-cadete.jpg);}
.bg-team-infantil-fem{background-image:url(assets/team-infantil-fem.jpg);}
.bg-hero-1,.bg-hero-2,.bg-hero-3,.bg-team-alevin,.bg-team-alevin2,.bg-team-benjamin-fem,.bg-team-cadete,.bg-team-infantil-fem{background-size:cover;background-position:center;}

/* ---------- NAV ---------- */
header.nav{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid rgba(0,0,0,0.06);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px;max-width:1200px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{height:44px;width:auto;}
.brand span{font-family:'Anton',sans-serif;font-size:1.05rem;letter-spacing:0.5px;}
nav.menu{display:flex;gap:28px;}
nav.menu a{font-weight:600;font-size:0.92rem;text-transform:uppercase;letter-spacing:0.4px;position:relative;padding:4px 0;}
nav.menu a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--red);transition:width .2s;}
nav.menu a:hover::after,nav.menu a.active::after{width:100%;}
.cta-btn{display:inline-block;background:var(--red);color:var(--white);padding:10px 20px;border-radius:2px;font-weight:700;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px;border:none;cursor:pointer;white-space:nowrap;}
.cta-btn:hover{background:var(--red-dark);}
.burger{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--carbon);}

/* ---------- CABECERA DE PÁGINA ---------- */
.pagehead{position:relative;height:46vh;min-height:320px;display:flex;align-items:flex-end;overflow:hidden;padding:0;}
.pagehead.plain{height:30vh;min-height:240px;background:linear-gradient(160deg,#3a4147 0%,#1c2023 100%);}
.pagehead::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,22,24,0.1) 0%, rgba(20,22,24,0.85) 100%);}
.pagehead-content{position:relative;z-index:1;padding:0 24px 40px;max-width:1100px;margin:0 auto;width:100%;}
.eyebrow{color:var(--white);font-weight:700;letter-spacing:2px;font-size:0.85rem;text-transform:uppercase;margin-bottom:8px;}
.pagehead h1{color:var(--white);font-size:clamp(2.2rem,6vw,3.6rem);}

/* ---------- HOME ---------- */
.hero{position:relative;overflow:hidden;height:88vh;min-height:520px;display:flex;align-items:flex-end;padding:0;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease-in-out;}
.hero-slide.active{opacity:1;}
.hero-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,22,24,0.15) 0%, rgba(20,22,24,0.82) 100%);}
.hero-content{position:relative;z-index:3;padding:0 24px 72px;max-width:1100px;margin:0 auto;width:100%;}
.hero h1{color:var(--white);font-size:clamp(2.6rem,7vw,5.2rem);max-width:820px;}
.hero p{color:rgba(255,255,255,0.85);max-width:520px;margin-top:16px;font-size:1.05rem;}
.hero-actions{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap;}
.btn-outline{display:inline-block;border:2px solid var(--white);color:var(--white);padding:10px 22px;border-radius:2px;font-weight:700;text-transform:uppercase;font-size:0.85rem;letter-spacing:0.5px;}
.btn-outline:hover{background:var(--white);color:var(--carbon);}
.hero-dots{position:absolute;bottom:24px;right:24px;z-index:3;display:flex;gap:8px;}
.dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,0.4);cursor:pointer;border:none;}
.dot.active{background:var(--white);}

.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:8px;}
.section-head h2{font-size:1.9rem;margin-bottom:0;}
.section-head .see-all{font-weight:700;font-size:0.85rem;text-transform:uppercase;color:var(--red-dark);border-bottom:2px solid var(--red-dark);padding-bottom:2px;}
.news-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,320px));gap:24px;}
.news-card{display:block;background:var(--white);border-radius:2px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,0.05);transition:transform .2s,box-shadow .2s;}
.news-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,0.10);}
.news-thumb{height:190px;overflow:hidden;}
.news-thumb img{width:100%;height:100%;object-fit:cover;object-position:center 28%;}
.news-body{padding:18px 20px 22px;}
.news-date{font-size:0.75rem;color:var(--red-dark);font-weight:700;text-transform:uppercase;letter-spacing:0.5px;}
.news-body h3{font-family:'Work Sans',sans-serif;font-size:1.02rem;font-weight:700;text-transform:none;margin-top:6px;letter-spacing:0;line-height:1.3;}

.grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.tile{position:relative;border-radius:2px;overflow:hidden;min-height:260px;display:flex;align-items:flex-end;padding:26px;color:var(--white);}
.tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,22,24,0.15) 40%, rgba(20,22,24,0.88) 100%);}
.tile.solid-red{background:linear-gradient(160deg,var(--red) 0%,var(--red-dark) 100%);}
.tile.solid-red::before{display:none;}
.tile-inner{position:relative;z-index:1;}
.tile h3{font-size:1.5rem;color:var(--white);}
.tile p{font-size:0.9rem;color:rgba(255,255,255,0.8);margin-top:6px;}
.tile .arrow{position:absolute;top:18px;right:18px;font-size:1.3rem;z-index:1;color:rgba(255,255,255,0.65);}
.tile:hover .arrow{color:var(--white);}

.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.mcard{border-radius:2px;padding:28px;color:var(--white);min-height:160px;}
.mcard h4{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:0.5px;font-size:1.3rem;}
.mcard p{font-size:0.88rem;margin-top:8px;color:rgba(255,255,255,0.9);}
.mcard.joven{background:var(--joven);}
.mcard.general{background:var(--red);}
.mcard.oro{background:var(--oro);color:var(--carbon);}
.mcard.oro p{color:rgba(38,43,47,0.85);}
.socio-note{margin-top:24px;font-size:0.9rem;}

.sponsors{text-align:center;}
.sponsors .section-head{justify-content:center;}
.sponsor-row{display:flex;justify-content:center;align-items:center;gap:32px;margin-top:8px;flex-wrap:wrap;}
.sponsor-logo-box{padding:20px 32px;border:1px solid rgba(0,0,0,0.08);border-radius:2px;background:var(--white);display:flex;align-items:center;justify-content:center;min-width:180px;min-height:70px;}
.sponsor-logo-box img{max-height:34px;width:auto;}
.sponsor-role{display:block;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--carbon-soft);margin-bottom:10px;}
.sponsor-col{display:flex;flex-direction:column;align-items:center;}
.cantera-line{margin-top:40px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;}
.cantera-label{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--carbon-soft);}
.cantera-logo{height:36px;width:auto;}
.comp-line{margin-top:28px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--carbon-soft);font-size:0.85rem;}
.comp-line img{height:28px;width:auto;}

/* ---------- EL CLUB ---------- */
.history{display:grid;grid-template-columns:1.2fr 0.8fr;gap:48px;align-items:start;}
.history-photo{border-radius:2px;overflow:hidden;min-height:320px;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:8px;}
.stat-card{background:var(--carbon);color:var(--white);border-radius:2px;padding:28px 24px;text-align:center;}
.stat-card .num{font-family:'Anton',sans-serif;font-size:2.4rem;color:var(--red);}
.stat-card .label{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.5px;color:rgba(255,255,255,0.75);margin-top:4px;}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px;}
.value-card{text-align:center;padding:36px 24px;border-radius:2px;color:var(--white);}
.value-card .icon{width:52px;height:52px;margin:0 auto 16px;border-radius:50%;background:rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;color:inherit;font-family:'Anton',sans-serif;font-size:1.3rem;}
.value-card h3{font-family:'Work Sans',sans-serif;text-transform:none;font-weight:700;font-size:1.05rem;letter-spacing:0;margin-bottom:8px;}
.value-card p{font-size:0.88rem;max-width:none;color:inherit;opacity:0.9;}
.value-card.v-red{background:var(--red);}
.value-card.v-dark{background:var(--carbon);}
.value-card.v-oro{background:var(--oro);color:var(--carbon);}
.value-card.v-oro .icon{background:rgba(38,43,47,0.12);}
.board{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.board-photo{border-radius:2px;overflow:hidden;min-height:300px;}

/* ---------- LOS EQUIPOS ---------- */
.comp-facts{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px;}
.comp-facts span{background:var(--white);border:1px solid rgba(0,0,0,0.08);border-radius:20px;padding:6px 14px;font-size:0.8rem;font-weight:600;color:var(--carbon-soft);}
.primary-card{background:var(--white);border-radius:2px;border:1px solid rgba(0,0,0,0.06);padding:36px;display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center;margin-top:32px;}
.primary-card .badge{width:110px;height:auto;object-fit:contain;}
.primary-card h3{font-family:'Work Sans',sans-serif;text-transform:none;font-weight:700;font-size:1.2rem;margin-bottom:6px;letter-spacing:0;}
.primary-card p{font-size:0.92rem;max-width:none;}
.card-actions{display:flex;flex-direction:column;gap:10px;}
.link-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--carbon);color:var(--white);padding:12px 22px;border-radius:2px;font-weight:700;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px;white-space:nowrap;border:none;cursor:pointer;}
.link-btn:hover{background:var(--red);}
.link-btn.ghost{background:transparent;color:var(--carbon);border:2px solid var(--carbon);padding:10px 20px;}
.link-btn.ghost:hover{background:var(--carbon);color:var(--white);}
.team-rows{display:flex;flex-direction:column;gap:16px;margin-top:28px;}
.team-row{background:var(--white);border:1px solid rgba(0,0,0,0.06);border-radius:2px;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.team-row h3{font-family:'Work Sans',sans-serif;text-transform:none;font-weight:700;font-size:1rem;letter-spacing:0;}
.team-row p{font-size:0.85rem;max-width:none;}
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:32px;}
.team-card{background:var(--white);border-radius:2px;border:1px solid rgba(0,0,0,0.06);overflow:hidden;display:flex;flex-direction:column;}
.team-photo{aspect-ratio:16/9;background-color:var(--carbon);}
.team-photo.noimg{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#3a4147 0%,#1c2023 100%);}
.team-photo.noimg img{height:96px;width:auto;}
.team-photo.duo{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.team-body{padding:28px;}
.team-body h3{font-family:'Work Sans',sans-serif;text-transform:none;font-weight:700;font-size:1.15rem;letter-spacing:0;}
.team-sub{font-size:0.85rem;margin-top:2px;}
.team-lines{list-style:none;margin-top:18px;display:flex;flex-direction:column;}
.team-lines li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(0,0,0,0.07);font-size:0.9rem;font-weight:600;}
.pending-tag{display:inline-block;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--carbon-soft);background:var(--bg);border:1px dashed rgba(0,0,0,0.2);border-radius:20px;padding:4px 10px;white-space:nowrap;}
.extra-line{margin-top:32px;}
.extra-line a{color:var(--red-dark);font-weight:600;border-bottom:1px solid currentColor;}

dialog.modal{border:none;border-radius:2px;padding:0;width:min(680px,94vw);max-height:88vh;margin:auto;color:var(--carbon);box-shadow:0 20px 60px rgba(0,0,0,0.35);}
dialog.modal::backdrop{background:rgba(20,22,24,0.65);}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 28px;background:var(--carbon);color:var(--white);}
.modal-head h3{font-size:1.4rem;}
.modal-sub{font-size:0.8rem;color:rgba(255,255,255,0.7);margin-top:4px;max-width:none;}
.modal-close{background:none;border:none;color:var(--white);font-size:1.8rem;cursor:pointer;line-height:1;}
.modal-body{padding:8px 28px 28px;overflow:auto;max-height:calc(88vh - 90px);}
.modal-body h4{font-family:'Work Sans',sans-serif;text-transform:uppercase;letter-spacing:0.5px;font-size:0.78rem;color:var(--carbon-soft);margin:26px 0 8px;}
.modal-note{font-size:0.85rem;max-width:none;}
.match{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(0,0,0,0.08);font-size:0.92rem;}
.match .home{text-align:right;}
.match .score{font-family:'Anton',sans-serif;font-size:1.1rem;min-width:70px;text-align:center;color:var(--carbon);}
.match .score.pending{color:var(--carbon-soft);font-family:'Work Sans',sans-serif;font-size:0.85rem;}
.match .ours{font-weight:800;color:var(--red-dark);}
.match-info{grid-column:1 / -1;font-size:0.75rem;color:var(--carbon-soft);text-align:center;margin-top:-4px;}
.standings{width:100%;border-collapse:collapse;font-size:0.85rem;}
.standings th{text-align:right;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.4px;color:var(--carbon-soft);padding:6px 4px;border-bottom:2px solid var(--carbon);}
.standings td{text-align:right;padding:8px 4px;border-bottom:1px solid rgba(0,0,0,0.08);}
.standings th:nth-child(2),.standings td:nth-child(2){text-align:left;}
.standings td:first-child,.standings th:first-child{text-align:left;width:28px;}
.standings tr.ours td{background:rgba(236,58,60,0.1);font-weight:700;}
.modal-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px;font-size:0.78rem;color:var(--carbon-soft);}
.modal-foot a{color:var(--red-dark);font-weight:600;border-bottom:1px solid currentColor;}
.mini-btn{display:inline-block;background:var(--carbon);color:var(--white);border:none;border-radius:20px;padding:5px 14px;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;cursor:pointer;white-space:nowrap;}
.mini-btn:hover{background:var(--red);}

/* ---------- COLABORADORES / TIENDA ---------- */
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px;}
.how-card{background:var(--white);border:1px solid rgba(0,0,0,0.06);border-radius:2px;padding:32px 28px;}
.how-card h3{font-family:'Work Sans',sans-serif;text-transform:none;font-weight:700;font-size:1.05rem;letter-spacing:0;margin-bottom:8px;}
.how-card p{font-size:0.9rem;max-width:none;}
.soon{background:var(--white);border:1px solid rgba(0,0,0,0.06);border-radius:2px;padding:48px 32px;text-align:center;}
.soon p{margin:0 auto 20px;}

/* ---------- TEXTOS LEGALES ---------- */
.pagehead.article-head{height:auto;min-height:260px;padding-top:90px;}
.article-head h1{font-size:clamp(1.9rem,5vw,3rem);max-width:860px;}
.article{max-width:760px;margin:0 auto;}
.article p{max-width:none;font-size:1.04rem;line-height:1.75;}
.article p + p{margin-top:20px;}
.article p.lead{font-size:1.2rem;color:var(--carbon);font-weight:500;}
.article p.cierre{border-left:4px solid var(--red);padding-left:20px;color:var(--carbon);font-size:1.1rem;margin:32px 0;}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px;}
.gallery figure{aspect-ratio:3/4;overflow:hidden;border-radius:2px;background:var(--carbon);}
.gallery img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.article .back{margin-top:44px;}
.article .back a{font-weight:700;font-size:0.85rem;text-transform:uppercase;color:var(--red-dark);border-bottom:2px solid var(--red-dark);padding-bottom:2px;}
.legal h2{font-size:1.15rem;margin:36px 0 10px;}
.legal h2:first-child{margin-top:0;}
.legal ul{margin:8px 0 0 20px;color:var(--carbon-soft);max-width:720px;}
.legal li{margin-top:6px;}
.legal a{color:var(--red-dark);font-weight:600;border-bottom:1px solid currentColor;}

/* ---------- CTA ---------- */
.cta-band{background:linear-gradient(160deg,var(--red) 0%,var(--red-dark) 100%);color:var(--white);text-align:center;padding:64px 24px;border-radius:2px;}
.cta-band h2{color:var(--white);}
.cta-band p{color:rgba(255,255,255,0.85);margin:0 auto 24px;}
.cta-band .cta-btn{background:var(--white);color:var(--carbon);}
.cta-band .cta-btn:hover{background:rgba(255,255,255,0.85);}

/* ---------- FOOTER ---------- */
footer{background:var(--carbon);color:rgba(255,255,255,0.75);padding:56px 0 24px;margin-top:20px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;align-items:start;}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.footer-brand img{height:38px;width:auto;}
footer h4{color:var(--white);font-family:'Work Sans',sans-serif;text-transform:uppercase;font-size:0.85rem;letter-spacing:1px;margin-bottom:14px;}
footer p,footer a{font-size:0.88rem;color:rgba(255,255,255,0.65);max-width:none;}
footer ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
footer a:hover{color:var(--white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);margin-top:40px;padding-top:20px;font-size:0.78rem;color:rgba(255,255,255,0.45);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

/* ---------- MÓVIL ---------- */
@media (max-width:860px){
  .gallery{grid-template-columns:1fr 1fr 1fr;gap:8px;}
  section{padding:56px 0;}
  nav.menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;gap:18px;padding:20px 24px 24px;border-bottom:1px solid rgba(0,0,0,0.08);}
  nav.menu.open{display:flex;}
  .burger{display:block;}
  .brand span{font-size:0.9rem;}
  .grid4,.cards3,.values,.board,.history,.how-grid,.team-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .primary-card{grid-template-columns:1fr;text-align:center;justify-items:center;}
  .match{grid-template-columns:1fr;text-align:center;gap:2px;}
  .match .home{text-align:center;}
  .standings{font-size:0.78rem;}
  .standings th:nth-child(n+6),.standings td:nth-child(n+6){display:none;}
  .standings th:last-child,.standings td:last-child{display:table-cell;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .nav-inner > .cta-btn{display:none;}
}
@media (max-width:480px){
  .footer-grid{grid-template-columns:1fr;}
  .brand span{display:none;}
}
@media (prefers-reduced-motion: reduce){
  .hero-slide{transition:none;}
  html{scroll-behavior:auto;}
}
