@font-face{font-family:Outfit;src:url(outfit.woff2) format('woff2');font-weight:300 900;font-display:swap}
:root{color-scheme:dark;--fondo:#111;--tinta:#f1eee8;--acento:#ff622b;--tenue:#b1afa9;--linea:#363633}
*{box-sizing:border-box}
html{scroll-padding-top:24px}
body{margin:0;background:var(--fondo);color:var(--tinta);font:17px/1.5 Outfit,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
button,input{font:inherit}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--acento);outline-offset:5px}
button{cursor:pointer}
p,h1,h2,figure{margin:0}
img{display:block;max-width:100%}
.marco{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.saltar{position:fixed;left:24px;top:12px;z-index:10;padding:12px;background:var(--tinta);color:var(--fondo);transform:translateY(-200%)}
.saltar:focus{transform:none}
.cabecera{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--linea)}
.marca{font-size:32px;font-weight:800;letter-spacing:-1.7px;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.marca span{color:var(--acento);font-size:33px;line-height:1}
.nombre-producto{font-size:11px;letter-spacing:.18em;color:var(--tenue)}
.nav-compra{font-size:14px;text-decoration:none;display:flex;align-items:center;gap:22px}
.nav-compra span{font-size:22px;color:var(--acento)}
.hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:52px;align-items:center;padding-top:66px;padding-bottom:78px}
.etiqueta{font-size:12px;font-weight:600;letter-spacing:.16em;display:flex;align-items:center;gap:9px}
.etiqueta>span{width:7px;height:7px;background:var(--acento);border-radius:50%}
h1{font-size:clamp(43px,4.1vw,62px);font-weight:600;letter-spacing:-.05em;line-height:1.08;margin:25px 0 24px}
h1 em{font-style:normal;color:var(--acento)}
h1 small{display:block;font-size:.485em;letter-spacing:-.045em;line-height:1.2;margin-top:12px;font-weight:500}
.bajada{font-size:18px;line-height:1.65;color:var(--tenue);max-width:430px}
.bajada p+p,.texto-funcionamiento p+p{margin-top:22px}
.acciones{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:56px;padding:15px 22px;border:1px solid transparent;border-radius:3px;text-decoration:none;background:var(--acento);color:#111;font-weight:600;font-size:16px;line-height:1.25}
.boton>span{font-size:24px;line-height:1}
.boton:hover{background:#ff7d4f}
.enlace-demo{font-size:14px;text-decoration:none;display:flex;gap:7px;align-items:center}
.enlace-demo span{font-size:23px}
.precio-entrada{font-size:13px;color:var(--tenue);margin-top:16px}
.precio-entrada b{color:var(--tinta);font-weight:500}
.precio-entrada>span{display:block;margin-top:6px}
.hero-visual{min-width:0}
/* LA CUADRÍCULA DEL HERO, como la pinta el probador (`probador_de_cortes/publico/estilo.css`):
   cuadros cuadrados de una sola imagen, el nombre debajo y lo recomendado con el borde del
   acento. Cada cuadro enseña su parte de la imagen corriéndola, no recortando archivos. */
.cuadricula-demo{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 10px;max-width:600px}
.celda-demo{min-width:0}
.celda-foto{display:block;position:relative;overflow:hidden;aspect-ratio:1/1;border-radius:8px;background:#242424}
.celda-foto img{position:absolute;width:400%;max-width:none;height:auto}
.celda-demo.recomendada .celda-foto{box-shadow:0 0 0 2px var(--acento)}
.celda-nombre{display:block;font-size:12px;line-height:1.2;margin-top:5px}
.celda-demo em{display:block;font-style:normal;font-size:11px;font-weight:600;color:var(--acento);margin-top:1px}
.frase-puente{background:var(--acento);color:#111}
.frase-puente>.marco{display:flex;align-items:center;justify-content:space-between;padding-block:26px;gap:20px}
.frase-puente p{font-size:clamp(25px,3vw,42px);line-height:1.2;letter-spacing:-.04em;font-weight:400}
.frase-puente strong{font-weight:650}
.frase-puente a{font-size:52px;line-height:1;text-decoration:none}
.solo-movil{display:none}
.demostracion{background:#edeae3;color:#191919;padding:76px 0}
.demo-contenido{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start;max-width:1080px}
.demo-texto{padding-top:36px}
.demo-copy>.etiqueta{font-size:11px;color:#65615c}
h2{font-size:clamp(43px,4.7vw,64px);font-weight:600;line-height:1.03;letter-spacing:-.05em}
.demo-copy h2{margin-top:18px}
.uso-local{margin:0 0 30px;font-size:17px;line-height:1.65;color:#514c46}
.uso-local p+p{margin-top:24px}
.pasos{list-style:none;padding:0;margin:30px 0}
.pasos li{display:flex;gap:18px;padding:15px 0;border-top:1px solid #c9c5bd}
.pasos li>span{font-size:12px;font-weight:500;padding-top:4px;color:#726b63}
.pasos b{font-weight:550;font-size:17px}
.pasos p{font-size:14px;color:#65615c;margin-top:3px}
.boton-oscuro{background:#191919;color:#f1eee8}
.boton-oscuro:hover{background:#34332f}
.compra{padding-top:90px;padding-bottom:64px;max-width:1080px;scroll-margin-top:0}
.encabezado-planes{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
.encabezado-planes h2{margin-top:16px}
.nota-planes{color:var(--tenue);font-size:18px;padding-bottom:5px}
.planes{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:20px;min-width:0}
/* Con el año a la venta son tres planes (`.tres`, probador_venta.js): en dos columnas el tercero
   quedaba solo en otra fila, con la mitad de la pantalla vacía. En PC van los tres en una fila. */
@media(min-width:761px){.planes.tres{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.planes.tres .plan{padding:26px 24px 23px}}
.plan{display:block;position:relative;cursor:pointer;border:1px solid #47443f;padding:28px 30px 25px;border-radius:4px;background:#171716}
.plan:has(input:checked){border-color:var(--acento);background:#211b17;box-shadow:inset 0 3px var(--acento)}
.plan input{position:absolute;right:25px;top:27px;width:21px;height:21px;accent-color:var(--acento);margin:0}
.plan-nombre{display:block;padding-right:25px;font-size:23px;letter-spacing:-.025em;font-weight:600}
.plan-descripcion{display:block;font-size:14px;color:var(--tenue);margin-top:3px}
.precio{display:flex;align-items:baseline;gap:10px;font-size:58px;line-height:1.1;letter-spacing:-.05em;margin-top:25px;font-weight:500}
.precio small{font-size:15px;letter-spacing:0;color:var(--tenue);font-weight:400}
.precio>span{white-space:nowrap}
.precio .moneda{font-size:15px;letter-spacing:0;color:var(--tenue);font-weight:500}
.instalacion{display:block;font-size:13px;margin-top:8px;color:var(--tenue)}
.plan ul{padding:22px 0 0;list-style:none;margin:23px 0 0;border-top:1px solid var(--linea);font-size:14px}
.plan li{margin-top:9px;padding-left:22px;position:relative}
.plan li:first-child{margin-top:0}
.plan li:before{content:'✓';position:absolute;left:0;color:var(--acento)}
.plan b{font-weight:550}
.alta{border-top:1px solid var(--linea);padding-top:27px;margin-top:34px}
.campos{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.5fr);gap:18px;max-width:650px}
.campo{min-width:0}
.campo label{display:block;font-size:13px;margin-bottom:9px;color:#d0ccc5}
.campo input{width:100%;min-height:50px;border:1px solid #4b4842;border-radius:3px;background:#191918;color:var(--tinta);padding:12px 14px;font-size:16px}
.campo input:focus{border-color:var(--acento)}
.nota-formulario{font-size:12px;color:var(--tenue);margin-top:12px}
/* La casilla del playbook. Se ve como una tarjeta aparte para que no parezca
   letra chica del formulario, y no como un plan para que no compita con la
   decision que el visitante ya venia a tomar. */
.anadido{display:block;margin-top:22px;padding:18px 20px;border:1px solid var(--linea);border-radius:14px;cursor:pointer}
.anadido:has(input:checked){border-color:currentColor}
.anadido input{margin-right:10px}
.anadido b{font-weight:500}
.anadido .precio-anadido{float:right;font-size:14px;color:var(--tenue)}
.anadido p{font-size:13px;color:var(--tenue);margin:10px 0 0;line-height:1.55}
.cierre-compra{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:26px}
.cuenta{max-width:65%}
.cuenta b{display:block;font-size:27px;font-weight:500;letter-spacing:-.03em}
.cuenta span{display:block;font-size:13px;color:var(--tenue);margin-top:3px}
.pago{text-align:center;flex-shrink:0}
.pago p{font-size:11px;color:var(--tenue);margin-top:8px}
.malo{padding:15px 20px;border:1px solid #e8a092;color:#ffd1c7;background:#381d17;border-radius:3px;margin-bottom:24px;font-size:15px}
.preguntas{max-width:1080px;display:grid;grid-template-columns:.8fr 1.2fr;gap:66px;padding-top:38px;padding-bottom:80px;border-top:1px solid var(--linea)}
.preguntas h2{font-size:34px;line-height:1.1}
.lista-dudas details{border-bottom:1px solid var(--linea)}
summary{cursor:pointer;list-style:none;font-size:16px;padding:18px 27px 18px 0;position:relative}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';position:absolute;right:2px;top:12px;font-size:25px;color:var(--acento);font-weight:300}
details[open] summary:after{content:'−'}
details p{font-size:15px;line-height:1.75;color:var(--tenue);padding-bottom:24px;max-width:60ch}
.pie-pagina{border-top:1px solid var(--linea);padding-top:26px;padding-bottom:30px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px;color:var(--tenue)}
.pie-pagina .marca{color:var(--tinta);font-size:27px}
.pie-pagina .marca span{font-size:27px}
.compra-movil{display:none}
.funcionamiento{max-width:1080px;display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:58px;border-bottom:1px solid var(--linea)}
.funcionamiento h2{font-size:34px;line-height:1.12}
.funcionamiento p{font-size:17px;line-height:1.65;color:var(--tenue)}
.encabezado-planes>div{max-width:650px}
.nota-planes{flex-shrink:0}
.nota-planes p+p{margin-top:10px}
.compra-movil small{display:block;font-size:10px;margin-top:2px}
.hero-copy .etiqueta{line-height:1.5}
.acciones .boton{max-width:100%}
.acciones .boton span{flex-shrink:0}
.lectura-progreso{position:fixed;inset:0 0 auto;height:3px;background:var(--acento);z-index:15;transform:scaleX(var(--lectura,0));transform-origin:left;pointer-events:none}
/* Nada se oculta al entrar: el desplazamiento acompaña la lectura sin exigirlo. */
.frase-puente a{transform:translateY(calc((.5 - var(--avance,.5))*12px))}
.demo-copy h2,.funcionamiento h2,.encabezado-planes h2,.asesoria h2,.cierre-venta h2{transform:translateY(calc((1 - var(--avance,1))*10px))}
/* LA SEÑAL DE QUE HAY MÁS ABAJO. Va pegada al final del hero (sticky) y, cuando el
   hero no cabe, se queda en el borde de la pantalla: siempre dentro de la primera
   pantalla, con cualquier largo de titular. Aporta cero al flujo (margen de arriba =
   alto + margen de abajo), así que nada de la página se mueve. Esquina derecha, bajo
   la flecha de la cabecera: ahí no hay rótulo, botón de ejemplo ni texto de la
   asesoría. Se va por progreso de scroll (`--salida`, venta.js), nunca por clase. */
.sigue-abajo{position:sticky;bottom:18px;z-index:4;display:flex;justify-content:flex-end;height:46px;margin-top:-64px;margin-bottom:18px;pointer-events:none}
.sigue-abajo a{pointer-events:auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--acento);color:#111;border:4px solid var(--fondo);font-size:28px;line-height:1;text-decoration:none;opacity:calc(1 - var(--salida,0));transform:translateY(calc(var(--salida,0)*14px));position:relative;top:var(--esquiva,0px)}
/* `--esquiva` lo pone venta.js: sube el disco cuando caería sobre un nombre de la cuadrícula. */
/* LA PRIMERA PANTALLA DEL ESCRITORIO DICE QUE HAY MÁS ABAJO, con cualquier titular y en
   cualquier alto. El disco solo no bastaba: con un titular de cuatro líneas el borde caía
   en el hueco entre el precio y la asesoría y la página parecía acabarse ahí. El hero
   mide la pantalla menos la cabecera y menos 96 px, y en esos 96 px asoma el título
   de la asesoría partido por el borde (62 de su relleno, hasta 10 de su desplazamiento
   por scroll y media línea). Para que el hero quepa, lo vertical va por alto de pantalla:
   cabecera, rellenos, titular, bajada y fotos. Abajo quedan los 64 px del disco. Si un
   titular nuevo no cabe, `_verificar_conversion.py` falla en 1280×720…1920×1080. */
@media(min-width:761px){
  .cabecera{height:clamp(76px,11.12vh,100px);height:clamp(76px,11.12svh,100px)}
  .hero{min-height:calc(100vh - clamp(76px,11.12vh,100px) - 96px);min-height:calc(100svh - clamp(76px,11.12svh,100px) - 96px);padding-top:clamp(20px,4svh,66px);padding-bottom:64px}
  h1{font-size:clamp(38px,min(4.1vw,6svh),62px);margin:clamp(14px,2.8svh,25px) 0 clamp(14px,2.7svh,24px)}
  .bajada{font-size:clamp(15px,2.05svh,18px)}
  .bajada p+p{margin-top:clamp(12px,2.4svh,22px)}
  .acciones{margin-top:clamp(18px,3.3svh,30px)}
  .precio-entrada{margin-top:clamp(10px,1.8svh,16px)}
  /* La cuadrícula es lo más alto del hero: su ancho se fija por alto de pantalla para que
     sus tres filas con nombre quepan en el hero y asome el título de la asesoría. Medido
     en los seis ángulos: en 1280x720 mide 445 px de los 451 que deja el hero. Sin esto
     llenaba la pantalla y no asomaba nada debajo. Si los nombres crecen, se vuelve a medir. */
  .cuadricula-demo{max-width:clamp(360px,calc(113svh - 400px),600px)}
}
@media(max-width:1100px){
  .marco{width:calc(100% - 64px)}
  /* Los rellenos del hero son los del escritorio (por alto de pantalla, con el sitio del disco). */
  .hero{gap:30px}
  h1{font-size:clamp(35px,min(4.3vw,6svh),49px)}
  .bajada{font-size:clamp(15px,2.05svh,16px)}
  .acciones{gap:16px}
  .demo-contenido{gap:55px}
  .precio{font-size:51px}
}
@media(max-width:760px){
  .funcionamiento{grid-template-columns:1fr;gap:28px;padding-block:36px}
  .funcionamiento h2{font-size:32px}
  .funcionamiento p{font-size:15px}
  .marco{width:calc(100% - 40px)}
  .cabecera{height:66px;gap:14px}
  .marca{font-size:28px}
  .nombre-producto{display:none}
  .nav-compra{font-size:12px;gap:10px}
  .nav-compra span{font-size:20px}
  .hero{grid-template-columns:1fr;gap:24px;padding-top:27px;padding-bottom:36px}
  .hero-copy{max-width:500px}
  .etiqueta{font-size:10px;letter-spacing:.15em}
  h1{font-size:clamp(34px,8.9vw,60px);margin-top:17px;margin-bottom:17px}
  h1 small{font-size:.47em;margin-top:8px}
  .bajada{font-size:15px;line-height:1.6}
  .acciones{gap:14px;margin-top:20px}
  .boton{font-size:14px;gap:22px;min-height:53px;padding:14px 18px}
  .enlace-demo{font-size:12px}
  .precio-entrada{font-size:11px;margin-top:14px}
  .frase-puente>.marco{padding-block:22px}
  .frase-puente p{font-size:29px;line-height:1.2}
  .frase-puente a{font-size:40px}
  .solo-movil{display:block}
  .demostracion{padding:48px 0}
  .demo-contenido{grid-template-columns:1fr;gap:24px}
  .demo-texto{padding-top:0}
  .demo-copy h2{font-size:46px}
  .uso-local{font-size:16px;margin:0 0 24px}
  .pasos{margin-block:24px}
  .pasos li{padding-block:12px}
  .pasos b{font-size:16px}
  .pasos p{font-size:13px}
  .compra{padding-top:52px;padding-bottom:44px}
  .encabezado-planes{display:block;margin-bottom:28px}
  .encabezado-planes h2{font-size:48px;margin-top:12px}
  .nota-planes{font-size:15px;margin-top:24px}
  .nota-planes p+p{margin-top:12px}
  .cuadricula-demo{gap:10px 6px}
  .celda-nombre{font-size:11.5px;line-height:1.25;margin-top:4px}
  .celda-demo em{font-size:10.5px}
  .planes{grid-template-columns:1fr;gap:14px}
  .plan{padding:24px}
  .plan-nombre{font-size:22px}
  .precio{font-size:53px;margin-top:18px}
  .plan ul{padding-top:18px;margin-top:20px}
  .alta{margin-top:25px}
  .campos{grid-template-columns:1fr 82px;gap:16px 12px}
  .cierre-compra{display:block;margin-top:23px}
  .cuenta{max-width:none}
  .cuenta b{font-size:28px}
  .pago{margin-top:21px}
  .pago .boton{width:100%;justify-content:space-between;font-size:16px}
  .preguntas{grid-template-columns:1fr;gap:18px;padding-top:35px;padding-bottom:45px}
  .preguntas h2{font-size:33px}
  summary{font-size:15px}
  .pie-pagina{flex-wrap:wrap;gap:16px;padding-bottom:100px}
  .pie-pagina p{order:3;width:100%;font-size:11px}
  .compra-movil:not([hidden]){display:flex;position:fixed;z-index:5;bottom:0;left:0;right:0;padding:10px 20px max(10px,env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px;background:#171716;border-top:1px solid #45413a}
  .compra-movil>span{font-size:11px;color:var(--tenue)}
  .compra-movil b{font-size:18px;color:var(--tinta);font-weight:500}
  .compra-movil .boton{min-height:44px;padding:10px 16px;flex-shrink:0;white-space:nowrap}
  .precio-barra{white-space:nowrap}
  /* En teléfono el disco se centra en el eje de la flecha de la cabecera (sale 11 px
     del marco): en la esquina del marco tocaba el rótulo «VISTA DEL PROBADOR». */
  .sigue-abajo{bottom:14px;height:38px;margin-top:-52px;margin-bottom:14px}
  .sigue-abajo a{width:38px;height:38px;margin-right:-11px;font-size:22px;border-width:3px}
}
@media(max-width:380px){
  h1{font-size:clamp(29px,8.8vw,34px)}
  .acciones{gap:12px}
  .acciones .boton{font-size:13px;padding-inline:14px;gap:16px}
  .enlace-demo{font-size:11px;gap:4px}
  .sigue-abajo{height:32px;margin-top:-46px}
  .sigue-abajo a{width:32px;height:32px;margin-right:-15px;font-size:19px}
}
@media(prefers-reduced-motion:reduce){
  .frase-puente a,.demo-copy h2,.funcionamiento h2,.encabezado-planes h2,.asesoria h2,.cierre-venta h2,.sigue-abajo a{transform:none}
  .lectura-progreso{display:none}
}
.satisfaccion-venta,.asesoria,.cierre-venta{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-block:62px;border-top:1px solid var(--linea,#45413a)}
.satisfaccion-venta h2,.asesoria h2,.cierre-venta h2{font-size:42px;line-height:1.08;max-width:400px;letter-spacing:-1px}
.satisfaccion-venta p,.asesoria p,.cierre-venta p{font-size:16px;line-height:1.8;margin:0 0 23px;max-width:570px}
.satisfaccion-venta p:last-child,.asesoria p:last-child,.cierre-venta p:last-child{margin-bottom:0}
.cierre-venta .boton{margin-top:7px}
.pie-enlaces{display:flex;flex-wrap:wrap;gap:8px 22px}
@media(max-width:760px){.satisfaccion-venta,.asesoria,.cierre-venta{grid-template-columns:1fr;gap:28px;padding-block:42px}.satisfaccion-venta h2,.asesoria h2,.cierre-venta h2{font-size:35px}.satisfaccion-venta p,.asesoria p,.cierre-venta p{font-size:15px;line-height:1.8;margin-bottom:24px}.cierre-venta .boton{width:100%;justify-content:space-between}}
/* La leyenda de términos va pegada al botón de pagar: la aceptación es la compra. */
.pago .leyenda-terminos a{color:inherit;text-decoration:underline;text-underline-offset:2px}
