/* Fuentes alojadas en el propio sitio (SIL Open Font License; ver /fonts/OFL-*.txt).
   Solo el subconjunto latino, que cubre español e inglés. */
@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:700 900;font-display:swap;src:url(/fonts/big-shoulders-display-latin.woff2) format("woff2")}
@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/chakra-petch-400-latin.woff2) format("woff2")}
@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/chakra-petch-500-latin.woff2) format("woff2")}
@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/chakra-petch-600-latin.woff2) format("woff2")}

:root{
  /* Marca (fijos): negro, blanco hueso, rojo infierno, dorado */
  --night:#0C0A0A; --bone:#F3EFE6; --blood:#D0162B; --gold:#C9A34E;
  /* Tema claro */
  --bg:#F3EFE6; --surface:#E7E0D2; --text:#0C0A0A; --muted:#5B524A;
  --red:#B8122A; --gold-ink:#7A5C1E; --line:rgba(12,10,10,.16);
  --display:"Big Shoulders Display","Arial Narrow","Impact",system-ui,sans-serif;
  --body:"Chakra Petch","Segoe UI","Helvetica Neue",Arial,system-ui,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0C0A0A; --surface:#181313; --text:#F3EFE6; --muted:#A99F93;
    --red:#E0293F; --gold-ink:#C9A34E; --line:rgba(243,239,230,.14);
  }
}
:root[data-theme="dark"]{
  --bg:#0C0A0A; --surface:#181313; --text:#F3EFE6; --muted:#A99F93;
  --red:#E0293F; --gold-ink:#C9A34E; --line:rgba(243,239,230,.14);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 4.5rem);background:var(--bg)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
html.menu-open{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}
.wrap{max-width:70rem;margin:0 auto;padding:0 1.25rem}
.sec{padding:4rem 0 5rem}
.sec h2{font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,6vw,3.6rem);line-height:.95;margin:0 0 .9rem;letter-spacing:.005em}
.lead{max-width:40rem;color:var(--muted);margin:0 0 2.5rem}
.note{color:var(--muted);font-size:.95rem;max-width:46rem;margin:1.5rem 0 0}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* Botones: la forma de navaja del logo */
.btn{--cut:.7rem;display:inline-flex;align-items:center;justify-content:center;min-height:3.1rem;padding:.7rem 1.9rem;font-family:var(--display);font-weight:700;font-size:1.2rem;letter-spacing:.02em;text-decoration:none;
  clip-path:polygon(0 50%,var(--cut) 0,calc(100% - var(--cut)) 0,100% 50%,calc(100% - var(--cut)) 100%,var(--cut) 100%);transition:background-color .15s,color .15s}
.btn-red{background:var(--blood);color:var(--bone)}
.btn-red:hover{background:var(--bone);color:var(--night)}
.btn-bone{background:var(--bone);color:var(--night)}
.btn-bone:hover{background:var(--gold)}
.btn-night{background:var(--night);color:var(--bone)}
.btn-night:hover{background:var(--blood)}
.btn[aria-disabled="true"],.btn[aria-disabled="true"]:hover{background:var(--surface);color:var(--muted);cursor:default}
.on-night .btn[aria-disabled="true"],.on-night .btn[aria-disabled="true"]:hover{background:#231D1D;color:#9C9388}

/* Hero: placa negra fija en ambos temas, como el avatar del logo */
.hero{background:var(--night);color:var(--bone);padding:3rem 0 3.5rem;position:relative;overflow:hidden}
.hero-grid{display:grid;gap:1.75rem;align-items:center}
@media (min-width:860px){.hero-grid{grid-template-columns:minmax(16rem,25rem) 1fr;gap:3.5rem}.hero{padding:5rem 0 5.5rem}}
.iso{display:block;width:min(15rem,62vw);height:auto}
@media (min-width:860px){.iso{width:100%}}
.wordmark{display:block;width:min(100%,34rem);height:auto;margin:0 0 1.5rem}
.hero h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tag{font-family:var(--display);font-weight:900;font-size:clamp(1.7rem,3.6vw,2.4rem);line-height:1.05;margin:0 0 .75rem;max-width:30rem}
.sub{color:#C9C0B4;max-width:34rem;margin:0 0 1.75rem}
.ctas{display:flex;flex-wrap:wrap;gap:.75rem}
.status{margin:1.4rem 0 0;font-size:.95rem;color:#C9C0B4;display:flex;gap:.6rem;align-items:baseline}
.status::before{content:"";flex:none;width:.6rem;height:.6rem;background:var(--gold);transform:rotate(45deg) translateY(-.05rem)}
.status.open::before{background:var(--blood)}
.status strong{color:var(--bone);font-weight:600}

/* Divisiones */
.divs{display:grid;gap:1.25rem}
@media (min-width:760px){.divs{grid-template-columns:1fr 1fr}}
.div{background:var(--surface);display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line)}
.div .plate{background:var(--night);display:flex;justify-content:center;padding:1.5rem 1rem 1.25rem}
.div .plate svg{width:11rem;height:auto}
.div .body{padding:1.5rem 1.25rem 1.75rem}
@media (min-width:560px){.div .body{padding:1.5rem 1.75rem 1.75rem}}
.div{min-width:0}
.div h3{font-family:var(--display);font-weight:900;font-size:2.4rem;line-height:1;margin:0}
.div .range{color:var(--muted);margin:.35rem 0 1.25rem}
.div dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.25rem;margin:0}
.div dt{color:var(--muted)}
.div dd{margin:0;font-weight:600}
.prize{font-family:var(--display);font-weight:900;font-size:2.8rem;line-height:1;margin:1.5rem 0 0;color:var(--gold-ink)}
.prize small{font-family:var(--body);font-weight:500;font-size:.95rem;color:var(--muted);margin-left:.5rem;white-space:nowrap;display:inline-block}
.later{display:grid;gap:1.25rem;margin-top:1.25rem}
@media (min-width:760px){.later{grid-template-columns:1fr 1fr}}
.later div{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px dashed var(--line)}
.later .ico{flex:none;background:var(--night);padding:.35rem;display:flex}
.later .ico svg{width:4.5rem;height:auto;opacity:.6}
.later h3{font-family:var(--display);font-weight:900;font-size:1.5rem;line-height:1;margin:0 0 .2rem}
.later p{margin:0;color:var(--muted);font-size:.95rem}

/* Cómo funciona */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:1.75rem}
@media (min-width:760px){.steps{grid-template-columns:repeat(4,1fr);gap:1.5rem}}
.steps li{border-top:3px solid var(--red);padding-top:1rem}
.steps .k{font-family:var(--display);font-weight:900;font-size:2.4rem;line-height:1;color:var(--red)}
.steps h3{font-family:var(--display);font-weight:900;font-size:1.5rem;line-height:1.05;margin:.35rem 0 .4rem}
.steps p{margin:0;color:var(--muted);font-size:.98rem}

/* Patrocinio */
.sponsor{display:grid;gap:2rem}
.sponsor>div{min-width:0}
@media (min-width:860px){.sponsor{grid-template-columns:1.25fr 1fr;align-items:start}}
.contact{background:var(--night);color:var(--bone);padding:1.75rem}
.contact h3{font-family:var(--display);font-weight:900;font-size:1.8rem;line-height:1;margin:0 0 .6rem;color:var(--gold)}
.contact p{margin:0 0 1.25rem;color:#C9C0B4}
.contact .mail{margin:1.25rem 0 0;font-size:.95rem}
.contact .mail a{color:var(--bone);text-underline-offset:.2em}
button.btn{border:0;cursor:pointer}

/* Pop-up de patrocinio */
.sp-dialog{width:min(36rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:0;border:1px solid #3A3131;background:var(--night);color:var(--bone)}
.sp-dialog::backdrop{background:rgba(12,10,10,.75)}
.sp-inner{padding:1.75rem 1.5rem 1.5rem}
@media (min-width:560px){.sp-inner{padding:2rem 2.25rem 2rem}}
.sp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.sp-head h2{font-family:var(--display);font-weight:900;font-size:2.2rem;line-height:1;margin:0;color:var(--bone)}
.sp-close{flex:none;background:none;border:1px solid #4A4040;color:var(--bone);font-family:var(--body);font-size:.9rem;padding:.35rem .75rem;cursor:pointer}
.sp-close:hover{border-color:var(--bone)}
.sp-intro{color:#C9C0B4;margin:.75rem 0 1.5rem;font-size:.98rem}
.field{display:grid;gap:.35rem;margin:0 0 1rem}
.field label{font-weight:600;font-size:.95rem}
.field .opt{font-weight:400;color:#9C9388}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--bone);background:#1A1515;border:1px solid #4A4040;padding:.65rem .75rem;border-radius:0;width:100%}
.field textarea{min-height:7rem;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
.field .count{font-size:.82rem;color:#9C9388;text-align:right}
.two{display:grid;gap:0 1rem}
@media (min-width:560px){.two{grid-template-columns:1fr 1fr}}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;color:#C9C0B4;margin:.25rem 0 1.25rem}
.check input{margin-top:.25rem;accent-color:var(--blood);width:1.05rem;height:1.05rem;flex:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sp-privacy{font-size:.82rem;color:#9C9388;margin:1rem 0 0}
.sp-msg{margin:0 0 1rem;padding:.75rem 1rem;font-size:.95rem;border-left:4px solid var(--gold);background:#1A1515}
.sp-msg.err{border-left-color:var(--blood)}
.sp-msg a{color:var(--bone)}
.sp-done h3{font-family:var(--display);font-weight:900;font-size:1.8rem;line-height:1;margin:1.25rem 0 .6rem;color:var(--gold)}
.sp-done p{color:#C9C0B4;margin:0 0 1.5rem}
.table-scroll{overflow-x:auto}
.tiers{width:100%;border-collapse:collapse;font-size:.98rem}
.tiers th,.tiers td{text-align:left;padding:.75rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
.tiers th{font-weight:500;color:var(--muted)}
.tiers td:first-child{font-family:var(--display);font-weight:900;font-size:1.3rem;line-height:1.1;white-space:nowrap}
.tiers td:nth-child(2){white-space:nowrap;font-weight:600}
.small{font-size:.9rem;color:var(--muted);margin:1.25rem 0 0}
.sp-copy{font-size:1.15rem;line-height:1.55;margin:0;max-width:34rem}


/* Barra superior y menú sándwich */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--night);color:var(--bone);border-bottom:1px solid transparent;transition:border-color .2s}
.topbar.scrolled{border-bottom-color:#2A2323}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:4rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--bone)}
.brand .iso-sm{width:2.4rem}
.brand span{font-family:var(--display);font-weight:900;font-size:1.5rem;letter-spacing:.03em}
.burger{position:relative;width:3rem;height:3rem;margin-right:-.5rem;background:none;border:0;color:var(--bone);cursor:pointer;display:flex;align-items:center;justify-content:center}
.burger:focus-visible{outline:3px solid var(--gold);outline-offset:0}
.burger i{position:absolute;left:.75rem;width:1.5rem;height:2px;background:currentColor;transition:transform .45s cubic-bezier(.77,0,.18,1),opacity .2s,width .3s}
.burger i:nth-child(1){transform:translateY(-.45rem)}
.burger i:nth-child(3){transform:translateY(.45rem);width:1rem}
.burger:hover i:nth-child(3){width:1.5rem}
.menu-open .burger i:nth-child(1){transform:rotate(45deg)}
.menu-open .burger i:nth-child(2){opacity:0}
.menu-open .burger i:nth-child(3){transform:rotate(-45deg);width:1.5rem}
.menu{position:fixed;inset:0;z-index:40;background:var(--night);color:var(--bone);overflow-y:auto;
  padding:calc(env(safe-area-inset-top,0px) + 5rem) 0 calc(env(safe-area-inset-bottom,0px) + 2rem);
  clip-path:circle(0% at calc(100% - 2.5rem) calc(env(safe-area-inset-top,0px) + 2rem));visibility:hidden;
  transition:clip-path .6s cubic-bezier(.77,0,.18,1),visibility 0s linear .6s}
.menu-open .menu{clip-path:circle(150% at calc(100% - 2.5rem) calc(env(safe-area-inset-top,0px) + 2rem));visibility:visible;transition:clip-path .6s cubic-bezier(.77,0,.18,1),visibility 0s}
.menu .wrap{display:grid;gap:2.5rem;min-height:100%;align-content:space-between}
.menu ol{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.menu li{opacity:0;transform:translateY(1rem);transition:opacity .25s,transform .25s}
.menu-open .menu li{opacity:1;transform:none;transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1);transition-delay:calc(.18s + var(--i) * 55ms)}
.menu ol a{display:flex;align-items:baseline;gap:1rem;padding:.3rem 0;text-decoration:none;color:var(--bone);font-family:var(--display);font-weight:900;font-size:clamp(2.3rem,7.5vw,4.4rem);line-height:1.02;position:relative}
.menu ol a small{font-family:var(--body);font-weight:500;font-size:.85rem;color:var(--gold);min-width:1.6rem}
.menu ol a::after{content:"";position:absolute;left:2.6rem;bottom:.2rem;height:.3rem;width:0;background:var(--blood);clip-path:polygon(0 50%,.3rem 0,calc(100% - .3rem) 0,100% 50%,calc(100% - .3rem) 100%,.3rem 100%);transition:width .3s cubic-bezier(.2,.8,.2,1)}
.menu ol a:hover::after,.menu ol a:focus-visible::after{width:min(60%,18rem)}
.menu ol a:focus-visible{outline:none;color:var(--gold)}
.menu-foot{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;opacity:0;transition:opacity .3s}
.menu-open .menu-foot{opacity:1;transition:opacity .5s .5s}
.menu-foot a:not(.btn){color:#C9C0B4;font-size:.95rem;text-underline-offset:.2em}
.menu-foot a[aria-disabled="true"]:not(.btn){color:#6F675F;text-decoration:none}
@media (prefers-reduced-motion:reduce){
  .menu,.menu-open .menu{transition:visibility 0s;clip-path:none}
  .menu{opacity:0}.menu-open .menu{opacity:1}
  .menu li,.menu-open .menu li,.menu-foot{transition:none;opacity:1;transform:none}
  .burger i{transition:none}
}

/* Circuitos: estadísticas y tabla */
.stats{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem 1.25rem;margin:0}
.stats dt{color:var(--muted)}
.stats dd{margin:0;font-weight:600}
.slots{display:flex;gap:.3rem;margin-top:.35rem}
.slots i{flex:1 1 0;max-width:1.35rem;min-width:.5rem;height:.5rem;background:var(--line);clip-path:polygon(0 50%,.2rem 0,calc(100% - .2rem) 0,100% 50%,calc(100% - .2rem) 100%,.2rem 100%)}
.slots i.on{background:var(--red)}
.standings{margin-top:3rem}
.standings h3{font-family:var(--display);font-weight:900;font-size:2rem;line-height:1;margin:0 0 1rem}
.tabs{display:flex;gap:.5rem;margin:0 0 1rem}
.tabs button{font-family:var(--display);font-weight:700;font-size:1.15rem;padding:.45rem 1.1rem;background:transparent;color:var(--muted);border:1px solid var(--line);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}
.table{width:100%;border-collapse:collapse;font-size:.98rem;min-width:19rem}
.table th,.table td{padding:.65rem .45rem;border-bottom:1px solid var(--line);text-align:right}
.table th{font-weight:500;color:var(--muted);font-size:.88rem}
.table th:nth-child(2),.table td:nth-child(2){text-align:left;width:100%}
.table td:first-child{font-family:var(--display);font-weight:900;font-size:1.2rem;color:var(--red)}
.table tr.cut td{border-bottom:2px solid var(--red)}
.empty{padding:2rem 1.25rem;text-align:center;color:var(--muted);border:1px dashed var(--line)}
.updated{color:var(--muted);font-size:.88rem;margin:.75rem 0 0}

/* Preguntas frecuentes */
.faqs{max-width:48rem;border-top:1px solid var(--line)}
.faq{border-bottom:1px solid var(--line);interpolate-size:allow-keywords}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-weight:600;font-size:1.08rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:.8rem;height:.8rem;border-right:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(45deg) translate(-.15rem,-.15rem);transition:transform .3s}
.faq[open] summary::after{transform:rotate(-135deg) translate(-.15rem,-.15rem)}
.faq summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.faq p{margin:0 0 1.2rem;color:var(--muted);max-width:44rem}
.faq::details-content{block-size:0;overflow:hidden;transition:block-size .35s ease,content-visibility .35s allow-discrete}
.faq[open]::details-content{block-size:auto}

/* Contacto */
.channels{display:grid;gap:1.25rem}
@media (min-width:860px){.channels{grid-template-columns:repeat(3,1fr)}}
.ch{border-top:3px solid var(--red);background:var(--surface);padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}
.ch h3{font-family:var(--display);font-weight:900;font-size:1.6rem;line-height:1;margin:0}
.ch p{margin:0 0 .6rem;color:var(--muted);flex:1}
.ch a.mailto{font-weight:600;color:var(--red);text-underline-offset:.2em;word-break:break-all}

/* Footer */
footer{background:var(--night);color:#A99F93;padding:3rem 0 3.5rem;font-size:.8rem}
.foot-top{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-bottom:2rem}
.iso-sm{width:3.5rem;height:auto}
.owner{font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--bone);margin:0}
.foot-links{display:flex;flex-wrap:wrap;gap:1.25rem;margin-left:auto}
.foot-links a{color:var(--bone);font-size:.9rem;text-underline-offset:.2em}
.foot-links a[aria-disabled="true"]{color:#6F675F;text-decoration:none;cursor:default}
.legal{max-width:56rem;margin:0 0 1rem;line-height:1.5}

/* Idiomas */
html[data-lang="es"] [lang="en"], html[data-lang="en"] [lang="es"]{display:none !important}
.switch{display:inline-flex;align-items:center;position:relative;height:2.1rem;padding:0;border:1px solid #4A4040;background:#1A1515;color:var(--bone);cursor:pointer;font-family:var(--body);font-weight:600;font-size:.8rem;letter-spacing:.06em;border-radius:999px}
.switch:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.switch span{position:relative;z-index:1;width:2.6rem;text-align:center;transition:color .3s}
.switch::before{content:"";position:absolute;top:2px;left:2px;width:calc(2.6rem - 4px);height:calc(100% - 4px);border-radius:999px;background:var(--blood);transition:transform .35s cubic-bezier(.77,0,.18,1)}
.switch[aria-checked="true"]::before{transform:translateX(2.6rem)}
.switch span.on{color:var(--bone)}
.switch span.off{color:#8E857B}
.top-right{display:flex;align-items:center;gap:.75rem}

/* Páginas */
.page{display:none}
.page.active{display:block}
@media (prefers-reduced-motion:no-preference){.page.active{animation:pageIn .5s cubic-bezier(.2,.8,.2,1)}}
@keyframes pageIn{from{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}
.page-head{background:var(--night);color:var(--bone);padding:3rem 0 4rem;position:relative;overflow:hidden}
.page-head h1{font-family:var(--display);font-weight:900;font-size:clamp(2.8rem,9vw,5.2rem);line-height:.92;margin:0;outline:none}
.page-head p{color:#C9C0B4;max-width:40rem;margin:.9rem 0 0}
.page-head .kicker{font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 .6rem}
.page-head::after{content:"";position:absolute;right:-2rem;bottom:1rem;width:16rem;height:.55rem;background:var(--blood);opacity:.9;clip-path:polygon(0 50%,.6rem 0,calc(100% - .6rem) 0,100% 50%,calc(100% - .6rem) 100%,.6rem 100%);box-shadow:0 0 0 0}
.page-head::before{content:"";position:absolute;right:2rem;bottom:1.95rem;width:10rem;height:.55rem;background:var(--blood);opacity:.55;clip-path:polygon(0 50%,.6rem 0,calc(100% - .6rem) 0,100% 50%,calc(100% - .6rem) 100%,.6rem 100%)}
.menu ol a[aria-current="page"]{color:var(--gold)}

/* Inicio: accesos */
.quick{display:grid;gap:1rem}
@media (min-width:700px){.quick{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.quick{grid-template-columns:repeat(4,1fr)}}
.qcard{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;background:var(--surface);text-decoration:none;color:var(--text);border-top:3px solid var(--red);transition:transform .2s,background-color .2s}
.qcard:hover{transform:translateY(-3px)}
.qcard h2{font-family:var(--display);font-weight:900;font-size:1.7rem;line-height:1;margin:0}
.qcard p{margin:0;color:var(--muted);font-size:.98rem;flex:1}
.qcard .go{font-weight:600;color:var(--red);font-size:.95rem}

/* Series de la semana */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 1.5rem}
.filters select{font:inherit;padding:.5rem .75rem;background:var(--surface);color:var(--text);border:1px solid var(--line)}
.weeknav{display:flex;align-items:center;gap:.5rem;margin-right:auto}
.weeknav button{width:2.4rem;height:2.4rem;font-size:1.1rem;background:var(--surface);color:var(--text);border:1px solid var(--line);cursor:pointer}
.weeknav button:disabled{opacity:.35;cursor:default}
.weeknav strong{font-family:var(--display);font-weight:900;font-size:1.5rem;min-width:7rem;text-align:center}
.weekdates{color:var(--muted);font-size:.92rem;margin:-1rem 0 1.25rem}
.matches{display:grid;gap:.75rem}
@media (min-width:860px){.matches{grid-template-columns:1fr 1fr}}
.match{background:var(--surface);padding:1rem 1.25rem;display:grid;gap:.35rem}
.match .meta{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--muted)}
.match .meta b{color:var(--red);font-weight:600}
.match .teams{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:center;font-weight:600}
.match .teams span:last-child{text-align:right}
.match .score{font-family:var(--display);font-weight:900;font-size:1.6rem;line-height:1;min-width:3.5rem;text-align:center}
.match .score.pending{font-size:1rem;color:var(--muted);font-family:var(--body);font-weight:500}

/* Campeones */
.champs{display:grid;gap:1.25rem}
@media (min-width:760px){.champs{grid-template-columns:1fr 1fr}}
.champ{background:var(--night);color:var(--bone);padding:1.75rem;display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:center;border:1px solid #2A2323}
.champ svg{width:6rem;height:auto}
.champ .k{color:var(--gold);font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0}
.champ h2{font-family:var(--display);font-weight:900;font-size:2rem;line-height:1;margin:.3rem 0}
.champ p{margin:0;color:#C9C0B4;font-size:.95rem}
.champ.tbd h2{color:#8E857B}

/* Quiénes somos */
.about-intro{font-size:1.2rem;line-height:1.55;max-width:44rem;margin:0 0 2.5rem}
.staff{display:grid;gap:1.25rem;margin:0 0 3rem}
@media (min-width:760px){.staff{grid-template-columns:1fr 1fr}}
.person{background:var(--surface);padding:1.5rem;display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:start}
.mono{width:4.5rem;height:4.5rem;display:grid;place-items:center;background:var(--night);color:var(--gold);font-family:var(--display);font-weight:900;font-size:2.4rem;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.person h2{font-family:var(--display);font-weight:900;font-size:1.9rem;line-height:1;margin:0}
.person .role{color:var(--red);font-weight:600;margin:.25rem 0 .6rem}
.person p{margin:0;color:var(--muted)}
.values{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem}
@media (min-width:760px){.values{grid-template-columns:repeat(3,1fr)}}
.values li{border-top:3px solid var(--red);padding-top:1rem}
.values h3{font-family:var(--display);font-weight:900;font-size:1.5rem;line-height:1.05;margin:0 0 .4rem}
.values p{margin:0;color:var(--muted)}
.sub-h{font-family:var(--display);font-weight:900;font-size:2rem;line-height:1;margin:0 0 1.25rem}

/* Contacto: formulario en página */
.form-panel{background:var(--night);color:var(--bone);padding:1.75rem 1.5rem;max-width:40rem}
@media (min-width:560px){.form-panel{padding:2rem 2.25rem}}
.ticket-note{max-width:40rem;margin:0 0 1.5rem;padding:1rem 1.25rem;background:var(--surface);border-left:4px solid var(--red)}
.ticket-note a{color:var(--red);font-weight:600}
.ticket-note a[aria-disabled="true"]{color:var(--muted);text-decoration:none}
.check a{color:var(--bone)}

/* Aviso de privacidad */
.legal-doc{max-width:46rem}
.legal-doc h2{font-family:var(--display);font-weight:900;font-size:1.6rem;line-height:1.1;margin:2.25rem 0 .6rem}
.legal-doc p,.legal-doc li{color:var(--text)}
.legal-doc ul{padding-left:1.25rem}
.legal-doc li{margin:.3rem 0}
.legal-doc .meta{color:var(--muted);font-size:.92rem}
.fill{background:rgba(201,163,78,.25);padding:0 .25rem}

/* Patrocinios: notas de niveles y logos de patrocinadores */
.tier-notes{margin:1.25rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:.95rem}
.tier-notes li{margin:.3rem 0}
.sponsors-now{margin:0 0 3rem}
.sec .quick + .sponsors-now{margin:3rem 0 0}
.sponsor-logos{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}
.sponsor-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:7rem;padding:1rem;background:var(--bone);color:var(--night);text-decoration:none;border:1px solid var(--line);border-top:3px solid var(--blood)}
.sponsor-logo.oficial{border-top-color:var(--gold)}
.sponsor-logo img{max-width:100%;max-height:4rem;object-fit:contain}
.sponsor-logo span{font-size:.8rem;color:#5B524A}
a.sponsor-logo:hover span{color:var(--night)}
.m-only{display:none}
@media (max-width:559px){
  .tiers thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tiers,.tiers tbody,.tiers tr,.tiers td{display:block}
  .tiers tr{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
  .tiers td{padding:0;border:0}
  .tiers td:nth-child(2){align-self:center;justify-self:end}
  .tiers td:nth-child(3),.tiers td:nth-child(4){grid-column:1 / -1;color:var(--muted)}
  .m-only{display:inline}
}

/* Reglamento (contenido generado desde mictlan-bot/docs) */
.rules{max-width:50rem}
.rules h2{scroll-margin-top:5rem}
.rules h3{font-family:var(--display);font-weight:900;font-size:1.3rem;line-height:1.1;margin:1.75rem 0 .5rem}
.rules blockquote{margin:1rem 0;padding:.75rem 1rem;border-left:4px solid var(--gold);background:var(--surface);font-size:.9rem;overflow-wrap:anywhere}
.rules blockquote p{margin:0}
.rules a{color:var(--red);overflow-wrap:anywhere}
.rules ol,.rules ul{padding-left:1.25rem}
.rules-toc{background:var(--surface);padding:1rem 1.25rem;margin:1.5rem 0 1rem}
.rules-toc ul{margin:0;padding:0;list-style:none;columns:2 14rem}
.rules-toc li{margin:.15rem 0}
.rules-toc a{color:var(--text);text-underline-offset:.2em}
.rules-table{font-size:.92rem}
.rules-table th,.rules-table td{text-align:left;vertical-align:top}
.rules-table th:nth-child(2),.rules-table td:nth-child(2){width:auto}
.rules-table td:first-child{font-family:var(--body);font-weight:600;font-size:inherit;color:var(--text)}
