/* Web pública (gym_web) en LEV: se enlaza después de gym_web/landing.css y
   solo redefine tokens, fuente, titulares y composición. Negro 70 %,
   crema/beige 20 %, dorado 10 % (acento, nunca fondo). Sin sombras ni
   degradados de interfaz (los de las fotos son tratamiento fotográfico para
   que el texto se lea).

   Composición: preset «Coral» de HyperFrames invertido a LEV. De ahí salen el
   radio 0 en todo rectángulo, el plano sin elevación, el canto de acento como
   único cromo de cada tarjeta (5 px arriba en las sub-marcas, 4 px a la
   izquierda en las sedes), la regla de acento bajo cada titular, el display en
   mayúsculas con tracking positivo y las firmas atmosféricas: trama a 45° en
   la banda beige, numeral de fondo detrás del titular de cada región y comilla
   gigante en las frases. Coral trae la crema #F5F0E8 que LEV ya usaba, así que
   la paleta encaja cambiando el coral #E85D5D por el dorado #D4AF37.

   Cuatro desvíos deliberados del preset, y por qué:
     1. Coral usa el acento como canto Y como región entera. El brand book de
        LEV manda «dorado nunca de fondo»: la superficie de ambiente es la
        beige y el dorado se queda en cantos, reglas, chips y botones.
     2. Coral pide Bebas Neue + Inter. La landing va con CSP estricta y sin
        fuentes externas, así que la jerarquía de dos caras se hace con la
        única familia que el tema embarca: Montserrat 800 con tracking contra
        300/500.
     3. Coral prohíbe el degradado. Se mantienen los scrims del hero, de las
        sub-marcas y de Sedes: no son cromo de interfaz sino lo que hace legible
        el texto sobre foto y vídeo, y quitarlos dejaría el titular ilegible.
        Ningún degradado nuevo, y ninguno sobre superficie plana.
     4. La comilla gigante y los numerales van al 7-12 % de tinta, no al 35 %:
        en Coral caen sobre una región saturada y aquí caen sobre negro o sobre
        beige con texto encima. */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:optional;src:url("/gym_tema_lev/static/fonts/montserrat-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* --lw-tinta2: el único levante sobre el negro, la «paper» de las fichas (en
   Coral son blancas sobre crema; aquí van sobre negro). --lw-radio:0 es la
   regla de Coral «radio 0 en todo rectángulo». */
:root{--lw-fondo:#0B0B0B;--lw-texto:#F5F0E8;--lw-mudo:#9C9890;--lw-acento:#D4AF37;--lw-sobre-acento:#0B0B0B;--lw-acento-tinta:#8A6D1F;--lw-suave:#E8DDCB;--lw-crema:#F5F0E8;--lw-tinta:#0B0B0B;--lw-tinta2:#141311;--lw-tinta-mudo:#6B6862;--lw-borde:rgba(232,221,203,.16);--lw-fuente:"Montserrat",-apple-system,"Segoe UI",Roboto,sans-serif;--lw-radio:0}
/* Brand book: Extra Bold en mayúsculas para LEV y titulares; Medium para
   subtítulos; Light para lo editorial. Coral añade el tracking positivo: 4 px
   sobre el hero y 2 px sobre los titulares de sección, que a estos cuerpos son
   .035em y .03em. */
.lw-h1,.lw-titulo,.lw-frase,.lw-sede h3,.lw-sub b{text-transform:uppercase}
.lw-h1{letter-spacing:.035em}
.lw-titulo,.lw-frase{letter-spacing:.03em}
.lw-sede h3,.lw-sub b{letter-spacing:.02em}
.lw-descriptor,.lw-form label,.lw-chip,.lw-pilares b{font-weight:500}
.lw-manifiesto-texto{font-weight:300}
/* el tracking deja un hueco tras la última letra: el text-indent lo compensa
   para que el rótulo quede ópticamente centrado en el botón. */
.lw-btn{letter-spacing:.1em;text-transform:uppercase;text-indent:.1em}
.lw-hero .lw-btn--sec{color:#F5F0E8;border-color:rgba(245,240,232,.45)}
.lw-hero .lw-btn--sec:hover{background:transparent;border-color:#F5F0E8}
.lw-pilares b{background:#0B0B0B;color:#D4AF37}
.lw-contacto .lw-titulo{color:#0B0B0B}
/* regla de acento bajo cada titular de sección (accent-line 60×4 de Coral) */
.lw-titulo{position:relative;padding-bottom:22px}
.lw-titulo::after{content:"";position:absolute;left:0;bottom:0;width:60px;height:4px;background:var(--lw-acento)}
.lw-contacto .lw-titulo::after{background:var(--lw-acento-tinta)}
/* numeral de fondo: la firma de papel pintado de Coral, detrás del titular */
main{counter-reset:lw-region}
.lw-submarcas,.lw-sedes,.lw-contacto{position:relative;counter-increment:lw-region}
/* va en ::after y no en ::before: la base ya usa .lw-sedes--foto::before para
   el degradado que funde la fachada, y esta hoja carga después. */
.lw-submarcas::after,.lw-sedes::after,.lw-contacto::after{content:counter(lw-region,decimal-leading-zero);position:absolute;right:var(--lw-margen);top:clamp(24px,3vw,48px);left:auto;bottom:auto;z-index:0;font-size:min(26vw,200px);font-weight:800;line-height:.8;letter-spacing:-.04em;color:rgba(245,240,232,.07);pointer-events:none}
.lw-sedes::after{color:rgba(245,240,232,.12)}
.lw-contacto::after{color:rgba(11,11,11,.07)}
.lw-submarcas>*,.lw-sedes-cuerpo,.lw-contacto-cuerpo{position:relative;z-index:1}
/* manifiesto: la superficie de ambiente. Trama a 45° al 6 % de tinta. */
.lw-manifiesto{position:relative;isolation:isolate}
.lw-manifiesto::before{content:"";position:absolute;inset:0;z-index:-1;background-image:repeating-linear-gradient(45deg,transparent 0 20px,rgba(11,11,11,.06) 20px 40px);pointer-events:none}
/* frases: comilla gigante detrás, como la giant-mark de Coral */
.lw-frases{position:relative;isolation:isolate;overflow:hidden}
.lw-frases::before{content:"\201C";position:absolute;right:var(--lw-margen);top:0;z-index:-1;font-size:min(34vw,280px);line-height:.78;font-weight:800;color:rgba(245,240,232,.07);pointer-events:none}
.lw-frase:nth-child(2){color:#E8DDCB}
/* tarjetas: el canto dorado es el único cromo. Arriba en las sub-marcas, a la
   izquierda en las sedes; sin radio, sin elevación (fuera el desenfoque). */
.lw-sub{border-top:5px solid var(--lw-acento)}
.lw-sede{background:var(--lw-tinta2);border:0;border-left:4px solid var(--lw-acento);backdrop-filter:none;-webkit-backdrop-filter:none}
.lw-sedes--foto .lw-sede{background:color-mix(in srgb,var(--lw-tinta2) 88%,transparent)}
.lw-chip{border-radius:0}
.lw-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2 5l5 5 5-5' fill='none' stroke='%230B0B0B' stroke-width='1.5'/%3E%3C/svg%3E")}
.lw-aviso{background:#0B0B0B;color:#F5F0E8}
.lw-aviso::before{content:"";display:block;width:32px;height:1px;background:#D4AF37;margin-bottom:12px}
