.page-hero{padding:100px 5vw 90px;min-height:540px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 80% 50%,rgba(227,6,19,.2),transparent 25%),#040812}.page-hero h1{font-size:clamp(58px,8vw,112px)}.page-hero>p:last-child{color:#aeb6c5;max-width:620px;font-size:18px;line-height:1.6}.history-hero{background:radial-gradient(circle at 78% 44%,rgba(227,6,19,.14),transparent 24%),linear-gradient(130deg,#050811,#111827)}
.article-list{background:#eff3f6;color:#0a0f1e;padding:90px 5vw 120px;min-height:500px}.list-title{display:flex;justify-content:space-between;border-bottom:1px solid #cbd2db;padding-bottom:20px;margin-bottom:24px;font-size:11px;font-weight:900;letter-spacing:.15em}.list-title p{color:#e30613;margin:0}.article-card{display:grid;grid-template-columns:180px 1fr 50px;gap:35px;align-items:center;padding:42px 15px;border-bottom:1px solid #cbd2db}.journey-label{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.journey-label strong{font-family:Adineue;font-size:28px;color:#e30613}.journey-label a{font-size:11px;font-weight:900}.article-card .meta{font-size:10px;color:#e30613;font-weight:900;letter-spacing:.14em}.article-card h2,.archive-state h2{font-size:clamp(34px,4vw,58px);text-transform:uppercase}.article-card>div>p:last-child,.archive-state p{color:#657080;line-height:1.6;max-width:700px}.clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-arrow{font-size:30px}.empty-note{padding:30px 0;color:#77818e;font-size:13px}.archive-state{padding:70px 0}.archive-state strong{font-size:11px;letter-spacing:.17em;color:#e30613}.archive-state h2{margin:18px 0}.simple-footer{min-height:150px;padding:45px 5vw;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;border-top:1px solid rgba(255,255,255,.12)}
.login-page{min-height:100vh;background:radial-gradient(circle at 75% 50%,rgba(227,6,19,.17),transparent 24%),#03060f}.login-page .site-header{grid-template-columns:1fr auto}.login-wrap{padding:70px 8vw;display:grid;grid-template-columns:1fr 440px;gap:8vw;align-items:center;min-height:calc(100vh - 94px)}.login-wrap h1{font-size:clamp(58px,7.5vw,108px)}.login-wrap section>p:last-child{color:#9ca5b5;font-size:18px}.login-card{background:#0d1320;border:1px solid rgba(255,255,255,.12);border-radius:26px;padding:35px;box-shadow:0 40px 100px rgba(0,0,0,.45)}.login-mark{display:flex;justify-content:center}.login-mark img{width:110px;height:110px;object-fit:contain}.login-card label{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:900;letter-spacing:.1em;margin:20px 0}.login-card input{border:1px solid rgba(255,255,255,.15);background:#060a13;color:#fff;border-radius:12px;padding:16px;font-size:15px;outline:none}.login-card input:focus{border-color:#e30613;box-shadow:0 0 0 3px rgba(227,6,19,.15)}.login-card button{border:0;width:100%;cursor:pointer;margin-top:8px}.login-error{min-height:18px;color:#ff6b73;font-size:12px}
.private-view{padding:80px 6vw 120px}.private-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.private-heading h1{font-size:clamp(58px,7.5vw,108px)}.private-heading button{color:#fff}.private-user{padding:22px 0;margin-top:45px;border-top:1px solid rgba(255,255,255,.14);font-size:11px;letter-spacing:.14em;color:#8f99aa}.private-list{margin-top:18px}.private-card{display:block;background:#eff3f6;color:#0a0f1e;border-radius:24px;padding:42px;max-width:900px}.private-card span{color:#e30613;font-size:10px;font-weight:900;letter-spacing:.14em}.private-card h2{font-size:clamp(36px,5vw,64px);text-transform:uppercase;margin:20px 0}.private-card p{color:#616b7b;line-height:1.6;max-width:680px}.private-card b{display:block;margin-top:28px;font-size:12px}
.story{background:#eff3f6;color:#0a0f1e;min-height:100vh}.story>header{padding:100px 8vw 75px}.story h1{font-size:clamp(58px,8vw,116px)}.story-intro{font-size:19px;line-height:1.6;color:#66707e;max-width:680px}.story-hero{height:480px;margin:0 5vw;background:radial-gradient(circle,#66131b,#070b14 58%);border-radius:28px;display:grid;place-items:center;overflow:hidden}.story-hero img{height:90%;width:90%;object-fit:contain;filter:drop-shadow(0 25px 35px #000)}.story-body{max-width:820px;margin:0 auto;padding:80px 30px;font-size:18px;line-height:1.8}.story-body h2{font-size:42px;text-transform:uppercase;margin:55px 0 20px}.story-body blockquote{margin:55px 0;padding:30px;border-left:5px solid #e30613;background:#fff;font-family:Adineue;font-size:32px;line-height:1.15}.story-nav{padding:35px 5vw;background:#060a13;color:#fff;display:flex;justify-content:space-between;font-weight:900;font-size:12px}.commandments li{margin:14px 0;padding-left:8px}.private-article{background:#eff3f6}.private-article .site-header{background:#03060f}
.round-heading{display:flex;justify-content:space-between;align-items:center;padding:28px 0 18px}.round-heading strong{font-family:Adineue;font-size:30px;color:#e30613}.round-heading span{font-size:10px;font-weight:900;letter-spacing:.15em;color:#7a8492}.recap-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.recap-card{background:#fff;border:1px solid #dce2e8;border-radius:22px;padding:38px;display:flex;flex-direction:column;min-height:390px}.recap-card .meta{font-size:10px;color:#e30613;font-weight:900;letter-spacing:.13em}.recap-card>span{margin-top:30px;font-size:11px;font-weight:900;letter-spacing:.15em}.recap-card h2{font-size:clamp(34px,4vw,52px);text-transform:uppercase;margin:16px 0}.recap-card p:not(.meta){color:#657080;line-height:1.6}.recap-card a{align-self:flex-start;margin-top:auto;padding:14px 20px;background:#e30613;color:#fff;border-radius:999px;font-size:12px;font-weight:900;transition:transform .18s ease,background .18s ease}.recap-card a:hover{background:#b7000b;transform:translateY(-2px)}
.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.archive-card{min-height:420px}.archive-date{margin-top:18px;color:#6a7482;font-size:14px}.archive-story h1{font-size:clamp(48px,6.6vw,94px)}.wordpress-content img{display:block;max-width:100%;height:auto;margin:34px auto;border-radius:18px}.wordpress-content figure{max-width:100%;margin:34px 0}.wordpress-content figcaption{margin-top:8px;color:#727c89;font-size:13px;text-align:center}.wordpress-content h1,.wordpress-content h2,.wordpress-content h3{font-family:Adineue;text-transform:uppercase;line-height:1.05}.wordpress-content h3{font-size:30px;margin:42px 0 18px}.wordpress-content ul,.wordpress-content ol{padding-left:26px}.wordpress-content li{margin:10px 0}.wordpress-content table{display:block;width:100%;overflow-x:auto;border-collapse:collapse}.wordpress-content th,.wordpress-content td{padding:10px;border:1px solid #d5dbe2}
.password-field{position:relative}.password-field input{width:100%;padding-right:54px}.password-field button{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:10px;background:transparent;color:#fff;font-size:21px;cursor:pointer;margin:0}.password-field button:hover{background:rgba(255,255,255,.08)}.login-card>button{width:100%}.story-hero img{height:76%;width:76%;max-width:680px;object-fit:contain}.story-intro{display:none}.private-article .story-intro{display:block}
@media(max-width:800px){.login-wrap{grid-template-columns:1fr;padding:55px 22px}.login-card{max-width:500px;width:100%}.article-card,.recap-pair,.archive-grid{grid-template-columns:1fr}.card-arrow{display:none}.simple-footer,.story-nav{flex-direction:column;align-items:flex-start;gap:20px}.page-hero,.article-list{padding-left:22px;padding-right:22px}.private-heading{align-items:flex-start;flex-direction:column}.story-hero{height:330px}.round-heading{align-items:flex-start;flex-direction:column;gap:8px}.recap-card,.archive-card{min-height:0}.story>header{padding-left:22px;padding-right:22px}.story-body{padding:55px 22px}}
.empty-note{display:none}
.recap-pair .recap-card>span{align-self:flex-start;display:inline-flex;margin-top:24px;padding:8px 12px;border-radius:999px;color:#fff;background:#20a453}.recap-pair article:last-child>span{background:#2877d4}
.story-hero{padding:36px}.story-hero img{width:52%;height:52%;max-width:420px;object-fit:contain}
.private-list{display:grid;gap:20px}.conditions ol{padding-left:28px}.conditions li{margin:0 0 28px;padding-left:6px}.conditions li::marker{color:#e30613;font-family:Adineue;font-size:1.1em}
.private-card b{display:inline-flex;margin-top:28px;padding:14px 20px;border-radius:999px;background:#e30613;color:#fff;font-size:12px;transition:transform .18s ease,background .18s ease}.private-card:hover b{background:#b7000b;transform:translateY(-2px)}

/* Contenedor estable para la Pista Privada y el icono de contraseña. */
.private-page .subpage{max-width:1440px;margin:0 auto;padding:80px 6vw 120px}.password-field .password-toggle{display:grid;place-items:center}.password-field .password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:800px){.private-page .subpage{padding:55px 22px 85px}}

.private-page{overflow-x:hidden}.private-page .site-header{grid-template-columns:minmax(76px,180px) minmax(0,1fr) auto}.private-page .private-user{min-width:0;overflow-wrap:anywhere}.private-page .subpage{box-sizing:border-box;width:min(100%,1440px)!important;margin:0 auto!important;padding:clamp(52px,6vw,88px) max(24px,6vw) 120px!important;overflow-wrap:anywhere}.private-page .private-card{box-sizing:border-box;width:min(900px,100%)}.password-field .password-toggle{color:#fff!important;opacity:1}.password-field .password-toggle svg{stroke:#fff!important;color:#fff!important}

/* El acceso privado mantiene una composición cómoda sin desbordar en portátil. */
.login-page{overflow-x:clip}.login-wrap{box-sizing:border-box;width:100%;max-width:1320px;margin:0 auto;padding:clamp(48px,6vw,70px) clamp(24px,5vw,70px);grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:clamp(36px,6vw,80px)}.login-wrap section{min-width:0}.login-wrap h1{font-size:clamp(56px,6.6vw,96px);overflow-wrap:anywhere}.login-card{width:100%;max-width:380px;justify-self:end}.private-card>a{display:inline-flex;align-items:center;justify-content:center;margin-top:28px;padding:14px 20px;border-radius:999px;background:#e30613;color:#fff;font-size:12px;font-weight:900;text-align:center;transition:transform .18s ease,background .18s ease}.private-card>a:hover{background:#b7000b;transform:translateY(-2px)}
@media(max-width:1100px){.login-wrap{max-width:640px;grid-template-columns:1fr;gap:34px;padding:55px 24px}.login-card{max-width:440px;justify-self:start}.login-wrap h1{font-size:clamp(56px,10vw,84px)}}

/* Acceso contenido: nunca debe ensanchar la ventana. */
.login-page{width:100%;max-width:100vw;overflow-x:hidden}.login-page main{width:100%;max-width:100%;overflow-x:hidden}.login-wrap{max-width:1240px;padding:clamp(44px,5vw,64px) clamp(22px,4vw,56px);grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:clamp(32px,5vw,68px)}.login-wrap h1{font-size:clamp(54px,6vw,90px)}.login-card{max-width:360px}

/* Comunicado de temporada: datos de la FMP y cuotas. */
.season-update .story-body{max-width:980px}.season-update .story-body>p{max-width:800px}.federation-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:42px 0}.federation-gallery figure{margin:0;background:#f8fafc;border:1px solid #dce2e8;border-radius:18px;overflow:hidden}.federation-gallery img{display:block;width:100%;height:170px;object-fit:cover;object-position:top}.federation-gallery figcaption{padding:13px 15px;color:#616b7b;font-size:12px;line-height:1.4}.season-update h3{font-size:29px;margin:46px 0 16px}.season-update ul{padding-left:23px;color:#515d6d;line-height:1.65}.season-update li{margin:10px 0}.notice-card,.payment-callout{margin:46px 0;padding:36px;border-radius:22px;background:#090e1b;color:#f7f9fc}.notice-card h3,.payment-callout h3{margin:0 0 16px;font-size:36px;text-transform:uppercase}.notice-card p,.payment-callout p{color:#c7ced8;line-height:1.65;max-width:760px}.fees-table{margin:30px 0 44px;border:1px solid #dce2e8;border-radius:20px;overflow:hidden}.fees-row{display:grid;grid-template-columns:.8fr 1.6fr .42fr;gap:18px;align-items:center;padding:23px 26px;background:#fff;border-top:1px solid #dce2e8;color:#5f6a79;line-height:1.45}.fees-row:first-child{border-top:0}.fees-row strong{color:#0a0f1e}.fees-row b{font-family:Adineue;font-size:30px;color:#e30613;text-align:right}.fees-head{background:#eef2f5;color:#e30613;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.fees-head strong{color:#e30613;font-size:10px;text-align:right}.payment-callout>div{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.payment-callout>div span{padding:13px 16px;border-radius:999px;background:#e30613;color:#fff;font-size:13px;font-weight:700}.payment-callout>div b{font-family:Adineue;font-size:18px;margin-left:8px}
@media(max-width:800px){.federation-gallery{grid-template-columns:1fr}.federation-gallery img{height:auto}.fees-row{grid-template-columns:1fr;padding:21px}.fees-row b,.fees-head strong{text-align:left}.fees-head{display:none}.notice-card,.payment-callout{padding:28px 22px}.notice-card h3,.payment-callout h3{font-size:29px}}

.season-dates{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:28px 0 42px;border-radius:18px;overflow:hidden;background:#d9e0e6}.season-dates p{display:flex;flex-direction:column;gap:6px;margin:0;padding:22px 25px;background:#eef2f5}.season-dates strong{font-family:Adineue;font-size:28px;color:#e30613}.season-dates span{color:#606b7a;font-size:13px;font-weight:700}@media(max-width:560px){.season-dates{grid-template-columns:1fr}.season-dates p{padding:19px 22px}}

.federation-gallery figure{cursor:zoom-in;transition:transform .18s ease,box-shadow .18s ease}.federation-gallery figure:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(6,10,18,.16)}.image-lightbox{position:fixed;z-index:1000;inset:0;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(3,6,15,.92);cursor:zoom-out}.image-lightbox.is-open{display:flex}.image-lightbox img{display:block;max-width:min(1200px,92vw);max-height:85vh;border-radius:12px;box-shadow:0 30px 80px #000;cursor:default}.image-lightbox button{position:absolute;top:20px;right:24px;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:28px;line-height:1;cursor:pointer}.image-lightbox button:hover{background:#e30613}
