/* ventiladorportatil.com — 1win Costa Rica — hoja de estilo — brisa 3810 */

/* === tipografia === */
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400 800;font-display:swap;
src:url(/assets/fonts/intertight-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}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400 800;font-display:swap;
src:url(/assets/fonts/intertight-latin-ext.woff2) format('woff2');
unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* === paleta === */
:root{
  --cielo:#f2f8fd;--nube:#ffffff;--bruma:#e7f0f8;--bruma2:#dbe8f3;--borde:#d7e5f0;
  --noche:#0f2438;--texto:#41566a;--suave:#6b8096;--tenue:#93a6b8;
  --turquesa:#12b5c9;--turquesaHondo:#0a8b9c;--turquesaSuave:#d8f4f8;
  --indigo:#5b8def;--indigoHondo:#3767c9;--indigoSuave:#e3ecfd;
  --coral:#ff6b5b;--coralHondo:#e04a3a;--coralSuave:#ffe5e1;
  --brisa:linear-gradient(135deg,#12b5c9 0%,#5b8def 100%);
  --brisaSuave:linear-gradient(135deg,#d8f4f8 0%,#e3ecfd 100%);
  --aire:1180px;--r1:12px;--r2:20px;--r3:28px;--pastilla:999px;
  --ui:'Inter Tight',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --fs:17px;--vuelo:clamp(46px,5.4vw,82px);--cabezalH:66px;
  --sombra1:0 2px 8px -4px rgba(15,36,56,.2);
  --sombra2:0 18px 38px -26px rgba(15,36,56,.45);
  --sombra3:0 40px 80px -46px rgba(15,36,56,.55);
  color-scheme:light;
}

/* === base === */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--cabezalH) + 26px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{margin:0;font-family:var(--ui);font-size:var(--fs);line-height:1.75;color:var(--texto);
background:var(--cielo);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
overflow-x:hidden;overflow-wrap:break-word;font-feature-settings:'kern' 1,'liga' 1;
padding-bottom:calc(64px + env(safe-area-inset-bottom))}
@media(min-width:920px){body{padding-bottom:0}}
img,svg,video{max-width:100%;height:auto;display:block}
svg{width:20px;height:20px;flex:none}
a{color:var(--turquesaHondo);text-decoration:none;transition:color .15s}
a:hover{color:var(--indigoHondo);text-decoration:underline;text-underline-offset:3px}
p{margin:0 0 1.15em}
ul,ol{margin:0 0 1.2em;padding-left:1.18em}
li{margin:.46em 0}
strong,b{color:var(--noche);font-weight:700}
em{font-style:italic}
code,kbd{font-family:var(--mono);font-size:.84em;background:var(--turquesaSuave);padding:.14em .46em;
border-radius:6px;color:var(--noche)}
hr{border:0;height:1px;background:var(--borde);margin:30px 0}
::selection{background:var(--turquesaSuave)}
:focus-visible{outline:3px solid var(--turquesa);outline-offset:3px;border-radius:8px}
h1,h2,h3,h4{color:var(--noche);margin:0 0 .5em;font-weight:800;line-height:1.16;letter-spacing:-.03em}
h1{font-size:clamp(34px,5vw,58px);line-height:1.04;letter-spacing:-.042em}
h2{font-size:clamp(25px,2.9vw,36px);letter-spacing:-.034em}
h3{font-size:clamp(17.5px,1.7vw,20.5px);font-weight:700}
h4{font-size:15.6px;font-weight:700}
.rotulo{display:inline-flex;align-items:center;gap:8px;padding:6px 15px;border-radius:var(--pastilla);
background:var(--turquesaSuave);color:var(--turquesaHondo);font-family:var(--mono);font-size:10.6px;
font-weight:700;text-transform:uppercase;letter-spacing:.17em;margin:0 0 15px}

/* === estructura === */
.aire{width:100%;max-width:var(--aire);margin:0 auto;padding:0 22px}
.lejos{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brinco{position:absolute;left:-9999px;top:0;z-index:300;background:var(--turquesa);color:#fff;font-weight:700;
padding:12px 20px;border-radius:0 0 var(--r1) 0}
.brinco:focus{left:0}
/* ondas divisorias */
.onda{display:block;width:100%;height:auto;color:var(--nube)}
.onda--cielo{color:var(--cielo)}

/* === distintivos y botones === */
.chapa{display:inline-flex;align-items:center;gap:7px;padding:5px 13px;border-radius:var(--pastilla);
background:var(--bruma);color:var(--suave);font-family:var(--mono);font-size:10.4px;font-weight:700;
text-transform:uppercase;letter-spacing:.1em}
.chapa--turquesa{background:var(--turquesaSuave);color:var(--turquesaHondo)}
.chapa--indigo{background:var(--indigoSuave);color:var(--indigoHondo)}
.chapa--coral{background:var(--coralSuave);color:var(--coralHondo)}
.chapas{display:flex;flex-wrap:wrap;gap:8px}
.mayor{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:22px;padding:0 7px;
border-radius:var(--pastilla);background:var(--coral);color:#fff;font-size:11px;font-weight:800}
.tecla{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--ui);font-weight:700;
font-size:15px;line-height:1;cursor:pointer;border:2px solid transparent;padding:15px 28px;
border-radius:var(--pastilla);text-decoration:none;white-space:nowrap;
transition:transform .16s,box-shadow .16s,background .16s,color .16s,border-color .16s}
.tecla:hover{text-decoration:none;transform:translateY(-2px)}
.tecla svg{width:16px;height:16px}
.tecla--brisa{background:var(--brisa);color:#fff;box-shadow:0 14px 26px -14px rgba(18,181,201,.85)}
.tecla--brisa:hover{box-shadow:0 18px 32px -14px rgba(18,181,201,.95);color:#fff}
.tecla--noche{background:var(--noche);color:var(--nube)}
.tecla--noche:hover{background:#17344f;color:#fff}
.tecla--linea{background:var(--nube);border-color:var(--borde);color:var(--noche);box-shadow:var(--sombra1)}
.tecla--linea:hover{border-color:var(--turquesa);color:var(--turquesaHondo)}
.tecla--vidrio{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.45);color:#fff}
.tecla--vidrio:hover{background:#fff;border-color:#fff;color:var(--noche)}
.tecla--grande{padding:18px 34px;font-size:16px}
.tecla--chica{padding:10px 18px;font-size:13px}
.teclas{display:flex;flex-wrap:wrap;gap:13px;margin:28px 0}

/* === banda legal === */
.banda{background:var(--noche);color:#a9bccd;font-size:12.4px;padding:9px 0}
.banda__in{display:flex;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap;text-align:center}
.banda b{color:#7ee0ec;font-weight:700}

/* === cabecera === */
.cabezal{position:sticky;top:0;z-index:150;background:rgba(242,248,253,.9);
backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);
border-bottom:1px solid rgba(215,229,240,.9)}
.cabezal__in{display:flex;align-items:center;gap:15px;height:var(--cabezalH)}
.firma{display:inline-flex;align-items:center;gap:13px;flex:none}
.firma img{box-sizing:content-box;height:19px;width:auto;background:var(--noche);padding:11px 14px;border-radius:var(--pastilla)}
.firma span{display:none;font-size:12.6px;font-weight:700;color:var(--noche)}
@media(min-width:680px){.firma span{display:inline}}
.cabezal__acts{display:flex;align-items:center;gap:10px;margin-left:auto}
.cabezal__acts .tecla--linea{display:none}
@media(min-width:560px){.cabezal__acts .tecla--linea{display:inline-flex}}

/* === regulador de velocidad (indice lateral) === */
.regulador{display:none}
@media(min-width:1120px){
.regulador{display:flex;position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:140;
align-items:center;gap:14px}
.regulador__pista{position:relative;width:6px;height:min(58vh,470px);border-radius:var(--pastilla);
background:var(--bruma2);display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:4px 0}
.regulador__relleno{position:absolute;left:0;right:0;top:0;height:0;border-radius:var(--pastilla);
background:var(--brisa);transition:height .25s ease}
.regulador__marca{display:block;position:relative;width:6px;height:6px;border-radius:50%;background:var(--nube);
box-shadow:0 0 0 2px var(--bruma2);z-index:2}
.regulador__marca.pasada{background:#fff;box-shadow:0 0 0 2px rgba(18,181,201,.55)}
.regulador__pulgar{position:absolute;left:50%;top:0;z-index:3;display:flex;align-items:center;justify-content:center;
width:34px;height:34px;border-radius:50%;background:var(--nube);color:var(--turquesaHondo);
font-family:var(--mono);font-size:11.4px;font-weight:700;box-shadow:var(--sombra2),0 0 0 2px var(--turquesa);
transform:translate(-50%,-50%);transition:top .25s ease}
.regulador__lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;
justify-content:space-between;height:min(58vh,470px);text-align:right}
.regulador__lista li{margin:0;line-height:1}
.regulador__lista a{display:inline-block;max-width:150px;font-size:11.6px;font-weight:600;color:var(--tenue);
text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateX(8px);
transition:opacity .2s,transform .2s,color .2s}
.regulador:hover .regulador__lista a,.regulador:focus-within .regulador__lista a{opacity:1;transform:none}
.regulador__lista a:hover{color:var(--turquesaHondo);text-decoration:none}
.regulador__lista a.viva{color:var(--noche);opacity:1;transform:none;font-weight:700}
}

/* === portada === */
.despegue{position:relative;padding:clamp(34px,4.6vw,66px) 0 0;overflow:hidden}
.despegue::before{content:'';position:absolute;left:50%;top:-180px;width:min(940px,120vw);height:520px;
transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,rgba(18,181,201,.22),rgba(91,141,239,.12) 45%,transparent 72%);
pointer-events:none}
.despegue__grid{position:relative;display:grid;gap:clamp(24px,3vw,46px);grid-template-columns:minmax(0,1fr);align-items:center}
@media(min-width:960px){.despegue__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}
.despegue h1 u{text-decoration:none;background:var(--brisa);-webkit-background-clip:text;background-clip:text;color:transparent}
.despegue__texto{font-size:clamp(16px,1.35vw,18.6px);color:var(--suave);max-width:54ch;margin:0 0 4px}
.despegue__pie{margin:0;font-size:12.4px;color:var(--tenue);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ventana{position:relative;border-radius:var(--r3);overflow:hidden;box-shadow:var(--sombra3);background:var(--nube)}
.ventana img{width:100%;aspect-ratio:1200/655;object-fit:cover}
.ventana figcaption{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;
padding:8px 15px;border-radius:var(--pastilla);background:rgba(255,255,255,.92);backdrop-filter:blur(6px);
font-family:var(--mono);font-size:10.2px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:var(--noche)}
/* cifras */
.aspas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:clamp(26px,3vw,40px) 0 0}
@media(min-width:860px){.aspas{grid-template-columns:repeat(4,minmax(0,1fr))}}
.aspa{background:var(--nube);border-radius:var(--r2);padding:20px 22px;box-shadow:var(--sombra1);position:relative;overflow:hidden}
.aspa::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--brisa)}
.aspa b{display:block;font-size:clamp(25px,2.7vw,34px);font-weight:800;color:var(--noche);
letter-spacing:-.045em;line-height:1.05;font-variant-numeric:tabular-nums}
.aspa span{display:block;margin-top:6px;font-family:var(--mono);font-size:10.2px;color:var(--tenue);
text-transform:uppercase;letter-spacing:.11em;line-height:1.5}

/* === rejilla (indice) === */
.rejilla{padding:var(--vuelo) 0 0}
.rejilla__caja{background:var(--nube);border-radius:var(--r3);padding:26px 28px 18px;box-shadow:var(--sombra2)}
.rejilla__cab{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}
.rejilla__cab h2{margin:0;font-size:19px}
.rejilla__cab span{margin-left:auto;font-family:var(--mono);font-size:10.4px;color:var(--tenue)}
.rejilla ol{list-style:none;margin:0;padding:0;counter-reset:rj;
display:grid;grid-template-columns:minmax(0,1fr);gap:8px 20px}
@media(min-width:660px){.rejilla ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1020px){.rejilla ol{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rejilla li{counter-increment:rj;margin:0}
.rejilla a{display:flex;align-items:center;gap:11px;padding:9px 13px;border-radius:var(--pastilla);
font-size:14.2px;font-weight:600;color:var(--texto);background:var(--cielo);transition:background .16s,color .16s}
.rejilla a::before{content:counter(rj,decimal-leading-zero);flex:none;display:flex;align-items:center;
justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--nube);color:var(--turquesaHondo);
font-family:var(--mono);font-size:10.2px;font-weight:700}
.rejilla a:hover{background:var(--turquesaSuave);color:var(--turquesaHondo);text-decoration:none}

/* === giros (capitulos) === */
.giro{padding:var(--vuelo) 0 0;scroll-margin-top:calc(var(--cabezalH) + 24px)}
.giro__cab{margin-bottom:clamp(20px,2.6vw,30px)}
.giro__tag{display:inline-flex;align-items:center;gap:9px;padding:6px 16px 6px 8px;border-radius:var(--pastilla);
background:var(--nube);box-shadow:var(--sombra1);font-family:var(--mono);font-size:10.4px;font-weight:700;
text-transform:uppercase;letter-spacing:.14em;color:var(--suave);margin-bottom:14px}
.giro__tag i{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;
background:var(--brisa);color:#fff;font-style:normal;font-size:10.6px}
.giro__cab h2{margin:0 0 8px}
.giro__cab p{margin:0;font-size:16px;color:var(--suave);max-width:62ch}
.giro__cuerpo>*:last-child{margin-bottom:0}

/* === tarjetas === */
.ficha{background:var(--nube);border-radius:var(--r2);padding:22px 24px;box-shadow:var(--sombra1)}
.ficha h3,.ficha h4{margin-top:0}
.ficha p:last-child,.ficha ul:last-child,.ficha ol:last-child{margin-bottom:0}
.ficha--brisa{background:var(--brisaSuave);box-shadow:none}
.doble{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);margin:0 0 1.5em}
@media(min-width:760px){.doble{grid-template-columns:repeat(2,minmax(0,1fr))}}
.triple{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);margin:0 0 1.5em}
@media(min-width:620px){.triple{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.triple{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ficha tecnica */
.detalle{margin:0 0 1.6em;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
@media(min-width:900px){.detalle{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}}
.detalle>div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;background:var(--nube);
border-radius:var(--r1);padding:13px 18px;box-shadow:var(--sombra1)}
@media(min-width:560px){.detalle>div{grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:baseline}}
.detalle dt{font-family:var(--mono);font-size:10.2px;font-weight:700;text-transform:uppercase;
letter-spacing:.1em;color:var(--tenue)}
.detalle dd{margin:0;color:var(--noche);font-size:15px;line-height:1.55}

/* rutina (pasos) */
.rutina{list-style:none;margin:0 0 1.6em;padding:0;counter-reset:rt;display:grid;gap:18px;
grid-template-columns:minmax(0,1fr)}
@media(min-width:760px){.rutina{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rutina li{counter-increment:rt;margin:0;position:relative;background:var(--nube);border-radius:var(--r2);
padding:24px 22px 20px;box-shadow:var(--sombra1);margin-top:12px}
.rutina li::before{content:counter(rt,decimal-leading-zero);position:absolute;left:20px;top:-14px;
display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
background:var(--brisa);color:#fff;font-family:var(--mono);font-size:11.6px;font-weight:700;
box-shadow:0 10px 20px -12px rgba(18,181,201,.9)}
.rutina b{display:block;color:var(--noche);font-size:16.2px;margin:10px 0 4px;letter-spacing:-.022em}
.rutina p{margin:0;font-size:14.6px;color:var(--suave)}

/* alertas */
.alerta{display:flex;gap:14px;margin:0 0 1.6em;padding:18px 22px;border-radius:var(--r2);
background:var(--turquesaSuave);box-shadow:var(--sombra1)}
.alerta svg{width:19px;height:19px;color:var(--turquesaHondo);margin-top:3px}
.alerta p{margin:0;font-size:15.2px}
.alerta--indigo{background:var(--indigoSuave)}
.alerta--indigo svg{color:var(--indigoHondo)}
.alerta--coral{background:var(--coralSuave)}
.alerta--coral svg{color:var(--coralHondo)}

/* premios */
.premios{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);margin:0 0 1.7em}
@media(min-width:880px){.premios{grid-template-columns:repeat(3,minmax(0,1fr))}}
.premio{background:var(--nube);border-radius:var(--r3);overflow:hidden;box-shadow:var(--sombra2);
display:flex;flex-direction:column}
.premio__tope{background:var(--brisa);color:#fff;padding:20px 24px}
.premio--b .premio__tope{background:linear-gradient(135deg,#5b8def 0%,#8f6fe8 100%)}
.premio--c .premio__tope{background:linear-gradient(135deg,#ff8b5b 0%,#ff6b5b 100%)}
.premio__tope b{display:block;color:#fff;font-size:clamp(30px,3.4vw,42px);font-weight:800;line-height:1;
letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.premio__tope span{display:block;margin-top:6px;font-family:var(--mono);font-size:10.2px;font-weight:700;
text-transform:uppercase;letter-spacing:.14em;opacity:.9}
.premio__cuerpo{padding:20px 24px 22px;display:flex;flex-direction:column;flex:1}
.premio h3{margin:0 0 7px;font-size:17px}
.premio p{font-size:14.4px;color:var(--suave);margin:0 0 15px}
.premio .chapas{margin-top:auto}

/* laminas */
.lamina{margin:0 0 1.6em;border-radius:var(--r3);overflow:hidden;box-shadow:var(--sombra2);background:var(--nube)}
.lamina img{width:100%}
.lamina figcaption{display:flex;gap:12px;align-items:baseline;padding:14px 20px;font-size:13.2px;color:var(--suave)}
.lamina figcaption b{flex:none;font-family:var(--mono);font-size:10.2px;font-weight:700;text-transform:uppercase;
letter-spacing:.14em;color:var(--turquesaHondo)}

/* hojas (tablas) */
.hoja{overflow-x:auto;margin:0 0 1.6em;-webkit-overflow-scrolling:touch;background:var(--nube);
border-radius:var(--r2);box-shadow:var(--sombra1)}
table{border-collapse:collapse;width:100%;min-width:540px;font-size:15px}
caption{caption-side:bottom;padding:13px 20px;font-size:12.6px;color:var(--tenue);text-align:left}
th,td{padding:13px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--bruma)}
thead th{background:var(--cielo);color:var(--suave);font-family:var(--mono);font-size:10.2px;font-weight:700;
text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--cielo)}
td:first-child{font-weight:700;color:var(--noche)}
.valor{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--noche);font-weight:700}
.valor--turquesa{color:var(--turquesaHondo)}
tr.destacada td{background:var(--turquesaSuave)}
tr.destacada:hover td{background:var(--turquesaSuave)}

/* canales de pago */
.canales{margin:0 0 1.7em;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.canal{display:grid;grid-template-columns:minmax(0,1fr);gap:6px 18px;background:var(--nube);
border-radius:var(--pastilla);padding:16px 24px;box-shadow:var(--sombra1);align-items:center}
@media(min-width:820px){.canal{grid-template-columns:44px 178px minmax(0,1fr) 104px;padding:14px 26px}}
.canal i{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
border-radius:50%;background:var(--brisaSuave);color:var(--turquesaHondo);font-family:var(--mono);
font-style:normal;font-size:10.4px;font-weight:700}
.canal b{color:var(--noche);font-size:15.6px;letter-spacing:-.022em}
.canal small{font-size:13.6px;color:var(--suave);line-height:1.58}
.canal em{font-style:normal;justify-self:start;padding:6px 14px;border-radius:var(--pastilla);
background:var(--turquesaSuave);color:var(--turquesaHondo);font-family:var(--mono);font-size:11.4px;
font-weight:700;white-space:nowrap}
@media(min-width:820px){.canal em{justify-self:end}}

/* mosaico de juegos */
.encabezado{display:flex;align-items:baseline;gap:12px;margin:0 0 16px}
.encabezado h3{margin:0;font-size:16.4px}
.encabezado span{margin-left:auto;padding:4px 12px;border-radius:var(--pastilla);background:var(--nube);
box-shadow:var(--sombra1);font-family:var(--mono);font-size:10.2px;color:var(--tenue)}
.mosaico{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 30px;padding:0;list-style:none}
@media(min-width:620px){.mosaico{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.mosaico{grid-template-columns:repeat(5,minmax(0,1fr))}}
.pieza{margin:0;background:var(--nube);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sombra1);
text-align:center;padding-bottom:14px;transition:transform .2s,box-shadow .2s}
.pieza:hover{transform:translateY(-4px);box-shadow:var(--sombra2)}
.pieza__foto{display:block;position:relative}
.pieza img{width:100%;aspect-ratio:240/327;object-fit:cover}
.pieza small{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);padding:4px 12px;
border-radius:var(--pastilla);background:var(--nube);box-shadow:var(--sombra1);font-family:var(--mono);
font-size:9.4px;color:var(--tenue);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.pieza b{display:block;margin:22px 10px 0;font-size:13.4px;color:var(--noche);line-height:1.25;letter-spacing:-.02em}
.estudios{margin:0;padding:20px 24px;border-radius:var(--r2);background:var(--brisaSuave);font-size:13.8px;color:var(--suave)}
.estudios b{display:block;font-family:var(--mono);font-size:10.2px;font-weight:700;text-transform:uppercase;
letter-spacing:.16em;color:var(--turquesaHondo);margin-bottom:6px}

/* listas */
.buena,.mala,.punto{list-style:none;padding:0;margin:0 0 1.3em}
.buena li,.mala li,.punto li{position:relative;padding-left:28px;margin:.56em 0}
.buena li::before{content:'';position:absolute;left:0;top:.42em;width:18px;height:18px;border-radius:50%;
background:var(--turquesaSuave)}
.buena li::after{content:'';position:absolute;left:5px;top:.72em;width:8px;height:4px;
border-left:2px solid var(--turquesaHondo);border-bottom:2px solid var(--turquesaHondo);transform:rotate(-45deg)}
.mala li::before{content:'';position:absolute;left:0;top:.42em;width:18px;height:18px;border-radius:50%;background:var(--coralSuave)}
.mala li::after{content:'\00d7';position:absolute;left:5.5px;top:.06em;color:var(--coralHondo);font-size:13px;font-weight:700}
.punto li::before{content:'';position:absolute;left:5px;top:.82em;width:8px;height:8px;border-radius:50%;background:var(--indigo)}

/* apoyo */
.puertas{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);margin:0 0 1.5em}
@media(min-width:760px){.puertas{grid-template-columns:repeat(3,minmax(0,1fr))}}
.puerta{background:var(--nube);border-radius:var(--r2);padding:22px;box-shadow:var(--sombra1);text-align:center}
.puerta b{display:block;color:var(--noche);font-size:16.4px;margin:12px 0 5px;letter-spacing:-.022em}
.puerta span{display:block;font-size:13.6px;color:var(--suave)}

/* cuestionario */
.cuestionario{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin:0 0 1.5em}
@media(min-width:900px){.cuestionario{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cuestion{background:var(--nube);border-radius:var(--r2);padding:20px 22px;box-shadow:var(--sombra1)}
.cuestion h3{margin:0 0 9px;font-size:16.2px;line-height:1.42;padding-top:11px;position:relative}
.cuestion h3::before{content:'';position:absolute;left:0;top:0;width:34px;height:4px;border-radius:var(--pastilla);background:var(--brisa)}
.cuestion p{margin:0;font-size:14.6px;color:var(--suave)}

/* balance */
.marcador{display:grid;gap:22px;grid-template-columns:minmax(0,1fr);margin:0 0 1.7em;align-items:center}
@media(min-width:760px){.marcador{grid-template-columns:auto minmax(0,1fr);gap:36px}}
.marcador__circulo{width:148px;height:148px;border-radius:50%;background:var(--brisa);color:#fff;margin:0 auto;
display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 26px 50px -26px rgba(18,181,201,.9)}
.marcador__circulo b{font-size:48px;font-weight:800;color:#fff;line-height:1;letter-spacing:-.05em;
font-variant-numeric:tabular-nums}
.marcador__circulo span{margin-top:6px;font-family:var(--mono);font-size:10px;font-weight:700;
text-transform:uppercase;letter-spacing:.15em;opacity:.9}
.marcador__texto h3{margin:0 0 9px;font-size:20px}
.marcador__texto p{margin:0;font-size:15.2px;color:var(--suave)}
.medidas{list-style:none;margin:0 0 1.7em;padding:0;display:grid;gap:14px}
.medida{margin:0}
.medida b{display:block;font-size:14.8px;font-weight:700;color:var(--noche);margin-bottom:7px}
.medida__pista{display:block;position:relative;height:34px;border-radius:var(--pastilla);background:var(--nube);
box-shadow:var(--sombra1);overflow:hidden}
.medida__barra{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:var(--pastilla);
background:var(--brisa);display:flex;align-items:center;justify-content:flex-end;padding-right:14px;
color:#fff;font-family:var(--mono);font-size:12.4px;font-weight:700;transition:width .95s cubic-bezier(.22,1,.36,1)}
.pesos{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media(min-width:760px){.pesos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pesos>div{background:var(--nube);border-radius:var(--r2);padding:22px 24px;box-shadow:var(--sombra1)}
.pesos h4{margin:0 0 12px;font-family:var(--mono);font-size:10.4px;font-weight:700;
text-transform:uppercase;letter-spacing:.16em}
.pesos>div:first-child h4{color:var(--turquesaHondo)}
.pesos>div:last-child h4{color:var(--coralHondo)}
.pesos ul{margin:0;font-size:14.6px}
.pesos li:last-child{margin-bottom:0}

/* remolino (llamada final) */
.remolino{padding:var(--vuelo) 0 0}
.remolino__caja{position:relative;overflow:hidden;border-radius:var(--r3);padding:clamp(32px,4.2vw,58px) clamp(22px,3vw,44px);
background:var(--noche);color:#a9bccd;text-align:center}
.remolino__caja::before{content:'';position:absolute;left:50%;top:-140px;width:min(760px,130%);height:420px;
transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,rgba(18,181,201,.4),rgba(91,141,239,.18) 45%,transparent 72%)}
.remolino h2{color:#fff;max-width:18ch;margin:0 auto 14px;position:relative}
.remolino .rotulo{background:rgba(18,181,201,.2);color:#7ee0ec;position:relative}
.remolino p{max-width:58ch;margin:0 auto 4px;color:#8fa6ba;position:relative}
.remolino .teclas{justify-content:center;margin-bottom:12px;position:relative}
.remolino small{display:block;font-size:12.4px;color:#6f899f;position:relative}

/* === zocalo === */
.zocalo{background:var(--nube);color:var(--suave);padding:clamp(34px,4vw,52px) 0 22px;font-size:14px;margin-top:var(--vuelo)}
.zocalo__cols{display:grid;gap:30px;grid-template-columns:minmax(0,1fr)}
@media(min-width:860px){.zocalo__cols{grid-template-columns:1.9fr 1fr 1fr}}
.zocalo h4{font-family:var(--mono);font-size:10.2px;font-weight:700;text-transform:uppercase;
letter-spacing:.16em;color:var(--turquesaHondo);margin-bottom:14px}
.zocalo ul{list-style:none;margin:0;padding:0}
.zocalo li{margin:.42em 0}
.zocalo a{color:var(--texto);font-size:13.8px}
.zocalo a:hover{color:var(--turquesaHondo)}
.zocalo__quien p{font-size:13.2px;margin:15px 0}
.zocalo__fin{margin-top:28px;padding-top:18px;border-top:1px solid var(--bruma);display:flex;
justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:12.4px;color:var(--tenue)}
.zocalo__fin p{margin:0}
.zocalo__fin span{display:inline-flex;align-items:center;gap:8px}

/* === bandeja movil === */
.bandeja{position:fixed;left:0;right:0;bottom:0;z-index:165;display:flex;gap:10px;padding:10px 14px;
padding-bottom:calc(10px + env(safe-area-inset-bottom));background:rgba(242,248,253,.96);
border-top:1px solid var(--borde);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.bandeja .tecla{flex:1;padding:13px 10px;font-size:13.4px}
@media(min-width:920px){.bandeja{display:none}}

/* subir */
.tope{position:fixed;right:18px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:155;width:46px;height:46px;
border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--nube);border:0;
color:var(--turquesaHondo);cursor:pointer;box-shadow:var(--sombra2);opacity:0;visibility:hidden;
transform:translateY(6px);transition:.2s}
.tope.arriba{opacity:1;visibility:visible;transform:none}
.tope:hover{background:var(--turquesa);color:#fff}
@media(min-width:920px){.tope{bottom:24px;right:24px}}
@media(min-width:1120px){.tope{right:96px}}

/* === impresion === */
@media print{
 body{background:#fff;color:#111;padding:0}
 .cabezal,.banda,.regulador,.bandeja,.tope,.teclas,.remolino,.rejilla,.onda{display:none!important}
 .ficha,.premio,.canal,.pieza,.cuestion,.pesos>div,.hoja,.detalle>div,.puerta,.lamina,.aspa{
   background:#fff;box-shadow:none;border:1px solid #ccc}
 .premio__tope,.marcador__circulo,.medida__barra{background:#fff;color:#111;box-shadow:none}
 .giro__tag,.giro__tag i{background:#fff;color:#111;box-shadow:none}
 .medida__pista{border:1px solid #111}
 h1,h2,h3,h4,strong,b,td,dd{color:#111}
 .despegue h1 u{color:#111;-webkit-text-fill-color:#111}
 a{color:#111;text-decoration:underline}
 .zocalo{background:#fff}
}
