:root{
  --fondo:#15181b; --fondo-2:#1c2024; --panel:rgba(255,255,255,.07); --panel-2:rgba(255,255,255,.13);
  --blanco:#fff; --gris:#b9bfc3; --linea:rgba(255,255,255,.16);
  --carmesi:#c92a43; --carmesi-hondo:#a81f36; --rosa:#ff9aa6; --sans:'Inter Tight',system-ui,sans-serif;
  --radio:10px; --sombra:0 30px 60px -30px #000;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-size:17px;line-height:1.6;color:var(--blanco);background:var(--fondo);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid #fff;outline-offset:3px;border-radius:4px}
h1,h2,h3{font-weight:700;line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
h2{font-size:clamp(32px,4.4vw,56px)}
h3{font-size:clamp(21px,2vw,25px);font-weight:600;letter-spacing:-.02em;line-height:1.15}
p{text-wrap:pretty}
.ancho{max-width:1160px;margin:0 auto;padding:0 24px}
.bloque{padding:clamp(72px,10vw,120px) 0}
.bajada{font-size:clamp(18px,1.6vw,20px);color:var(--gris);max-width:60ch;margin-top:18px}
.saltar{position:absolute;left:-999px;top:0;background:#fff;color:#15181b;padding:10px 16px;z-index:60}
.saltar:focus{left:12px;top:12px}

.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:13px 26px;border-radius:6px;border:0;font:600 16px/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:transform .18s ease,background-color .18s ease}
.boton:active{transform:scale(.97)}
.boton-coral{background:var(--carmesi);color:#fff}
.boton-coral:hover{background:var(--carmesi-hondo)}
.boton-claro,.boton-tinta{background:#fff;color:#15181b}
.boton-claro:hover,.boton-tinta:hover{background:#e4e7e9}
.boton-borde{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.boton-borde:hover{background:rgba(255,255,255,.12)}

.cinta{display:block;width:100%;background:#0d0f11;color:#fff;border:0;padding:9px 16px;font:500 14px/1.35 var(--sans);text-align:center;cursor:pointer;position:relative;z-index:30}
.cinta strong{color:var(--rosa);font-weight:700}
.cinta u{text-underline-offset:3px}
.oferta-vencida .solo-oferta{display:none!important}
.solo-normal{display:none}
.oferta-vencida p.solo-normal{display:block}
.oferta-vencida span.solo-normal{display:inline}
.oferta-vencida b.solo-normal{display:inline}
.acciones>span.solo-oferta,.plan>span.solo-oferta:not(.etiqueta){display:contents}
.oferta-vencida .acciones>span.solo-normal,.oferta-vencida .plan>span.solo-normal{display:contents}

.nav{position:absolute;left:0;right:0;z-index:20;background:linear-gradient(180deg,rgba(13,15,17,.72),transparent)}
.nav-dentro{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1320px;margin:0 auto;padding:20px clamp(24px,4vw,48px)}
.logo{display:flex;align-items:center;gap:6px;font:700 20px/1 var(--sans);text-decoration:none;letter-spacing:-.02em;text-transform:uppercase}
.punto{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--carmesi)}
.menu{display:flex;align-items:center;gap:4px;list-style:none}
.menu a{display:block;padding:9px 11px;font-size:15px;font-weight:500;text-decoration:none;border-radius:4px}
.menu a:hover,.menu a[aria-current]{background:rgba(255,255,255,.14)}
.menu .boton{padding:10px 20px;min-height:44px;margin-left:8px}
.menu .idioma{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);margin-left:6px}
.menu .boton:hover{background:#e4e7e9}
.menu-boton{display:none;background:none;border:0;color:#fff;width:46px;height:46px;cursor:pointer;border-radius:6px}
.menu-boton svg{width:26px;height:26px;margin:auto;display:block}

.hero{position:relative;overflow:hidden;min-height:max(calc(100svh - 38px),700px);display:flex;align-items:flex-end;background:#15181b}
.hero-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 40%;animation:aparecer 1.2s ease-out both}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,15,17,.42),transparent 20%,transparent 42%,rgba(13,15,17,.72) 66%,rgba(13,15,17,.9))}
@keyframes aparecer{from{opacity:0}to{opacity:1}}
.hero-texto{position:relative;z-index:2;width:100%;max-width:1320px;margin:0 auto;padding:0 clamp(24px,4vw,48px) clamp(36px,6vh,60px)}
.antetitulo{font:300 clamp(13px,1.3vw,18px)/1.3 var(--sans);letter-spacing:.42em}
.hero-linea{display:flex;align-items:flex-end;gap:clamp(14px,2vw,24px);margin-top:12px}
.hero h1{font-size:clamp(44px,5.4vw,84px);font-weight:700;line-height:1;letter-spacing:-.045em;flex:none;text-wrap:nowrap}
.regla{flex:1;height:1px;background:rgba(255,255,255,.75);margin-bottom:.9em;min-width:30px}
.hero-lado{flex:none;max-width:190px;font-size:15px;font-weight:500;line-height:1.3;margin-bottom:.1em}
.acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

.banda{position:relative;overflow:hidden;text-align:center;padding:clamp(28px,4vw,42px) 24px;background:var(--carmesi-hondo)}
.banda::before{content:"";position:absolute;inset:-40px;background:url(/assets/img/portada-impulso.webp) 78% 34%/cover;filter:blur(26px) saturate(1.15)}
.banda::after{content:"";position:absolute;inset:0;background:rgba(150,24,44,.72)}
.banda p,.banda strong{position:relative;z-index:1;display:block}
.banda p{font-size:15px}
.banda strong{font-size:clamp(25px,3vw,38px);font-weight:700;letter-spacing:-.025em;line-height:1.2;margin-top:2px}

.tablero{position:relative;padding:clamp(60px,8vw,96px) 0;background:var(--fondo);overflow:hidden}
.tablero::before{content:"";position:absolute;inset:0;background:url(/assets/img/portada-impulso.webp) center bottom/cover;opacity:.07;filter:blur(8px)}
.tablero .ancho{position:relative;max-width:1040px}
.tablero h2{font-size:clamp(26px,3vw,38px);text-align:center}
.tablero-grilla{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:38px}
.tarjeta{display:grid;grid-template-columns:1fr minmax(128px,36%);text-decoration:none;border-radius:var(--radio);overflow:hidden;background:var(--panel);backdrop-filter:blur(10px);transition:transform .2s ease,background-color .2s ease}
.tarjeta:hover{transform:translateY(-3px);background:rgba(255,255,255,.11)}
.tarjeta-texto{padding:clamp(20px,2.4vw,30px)}
.tarjeta h3{font-weight:700;margin-bottom:12px}
.tarjeta p{font-size:15px;line-height:1.45;color:#d6dadc}
.tarjeta-num{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--panel-2);padding:12px}
.tarjeta-num b{font-size:clamp(34px,3.6vw,46px);font-weight:700;letter-spacing:-.04em;line-height:1}
.tarjeta-num b::before{content:"$"}
.tarjeta-num small{font-size:11px;font-weight:600;line-height:1.25;color:#e4e7e9}

.cabeza{position:relative;overflow:hidden;background:var(--fondo);padding:clamp(130px,17vh,160px) 0 clamp(60px,9vh,90px);min-height:clamp(440px,66vh,620px);display:flex;align-items:flex-end}
.cabeza.sin-foto{min-height:0;padding-bottom:60px;background:linear-gradient(115deg,#20272b,#4a2c35 75%,#7c2a3a)}
.cabeza img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:80% 50%}
.cabeza img+.dentro::before{content:"";position:absolute;inset:-600px -100vw -200px -100vw;background:linear-gradient(90deg,rgba(13,15,17,.88),rgba(13,15,17,.5) 55%,rgba(13,15,17,.08) 85%);z-index:-1}
.cabeza .dentro{position:relative;z-index:2;width:100%;max-width:1160px;margin:0 auto;padding:0 24px}
.cabeza .dentro>*{max-width:600px}
.cabeza h1{font-size:clamp(42px,5.4vw,76px);line-height:1;letter-spacing:-.045em}
.cabeza p{font-size:clamp(18px,1.6vw,20px);margin-top:16px;color:#e8eaec}

.foto-texto{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(28px,5vw,64px);align-items:center;margin-top:24px}
.foto-texto img{border-radius:var(--radio)}
.foto-texto .bajada{margin-top:0}
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,44px);margin-top:52px}
.tres h3{margin-bottom:10px}
.tres p{color:var(--gris)}
.tres>div{border-top:1px solid var(--linea);padding-top:20px}

.planes{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:48px}
.planes.uno{grid-template-columns:minmax(0,560px)}
.plan{background:var(--panel);border-radius:var(--radio);padding:clamp(26px,3.2vw,40px);display:flex;flex-direction:column}
.plan-destacado{background:linear-gradient(160deg,#6f2433,#3a2229 70%,#262a2e)}
.plan-destacado .lista li,.plan-destacado .nota-plan,.plan-destacado .precio-normal{color:#f0e6e8}
.etiqueta{display:inline-block;align-self:flex-start;font:600 13px/1 var(--sans);padding:8px 10px;border-radius:4px;background:rgba(201,42,67,.24);color:#ffc2cb;margin-bottom:18px}
.plan-destacado .etiqueta{background:rgba(255,255,255,.14);color:#fff}
.precio{font:700 clamp(58px,7vw,84px)/1 var(--sans);letter-spacing:-.05em;margin:14px 0 4px}
.precio small{font:500 16px var(--sans);letter-spacing:0;margin-left:6px}
.precio-normal{font-size:15px;color:var(--gris);margin-bottom:6px}
.nota-plan{font-size:15px;color:var(--gris)}
.lista{list-style:none;margin:22px 0 28px;display:grid;gap:9px;flex:1;align-content:start}
.lista li{display:flex;gap:11px;color:#d6dadc}
.lista li::before{content:"";flex:none;width:12px;height:1px;margin-top:13px;background:var(--rosa)}
.plan .boton{align-self:flex-start}
.mas{display:inline-block;margin-top:28px;font-weight:600;text-underline-offset:4px}

.pasos{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:52px;counter-reset:p}
.pasos li{counter-increment:p;border-top:1px solid var(--linea);padding-top:18px}
.pasos li::before{content:"0" counter(p);display:block;font:300 14px/1 var(--sans);letter-spacing:.3em;color:var(--rosa);margin-bottom:22px}
.pasos h3{margin-bottom:8px}
.pasos p{font-size:16px;color:var(--gris)}
.franja{background:var(--fondo-2)}

.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.muestra{display:block;text-decoration:none;background:var(--panel);border-radius:var(--radio);overflow:hidden;transition:transform .25s ease}
.muestra:hover{transform:translateY(-4px)}
.muestra img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.muestra span{display:block;padding:14px 18px 16px;font-size:15px;color:var(--gris)}
.muestra strong{display:block;font-size:19px;font-weight:600;letter-spacing:-.02em;color:#fff}

.oscuro{background:linear-gradient(110deg,#20272b,#3b2329 70%,#5d2432)}
.oscuro .bajada{color:#e0e2e4}
.videos-ejemplo{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,24px);margin:40px 0 12px}
.videos-ejemplo video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:var(--radio);background:#000;box-shadow:var(--sombra)}
.videos-ejemplo figcaption{margin-top:10px;font-size:15px;color:#e0e2e4}
.precio-video{display:flex;align-items:baseline;gap:12px;margin-top:26px}
.precio-video b{font:700 clamp(66px,8vw,96px)/1 var(--sans);letter-spacing:-.05em}
.precio-video span{font-size:17px;color:#eceef0}

.preguntas{max-width:820px;margin-top:40px}
.preguntas details{border-top:1px solid var(--linea)}
.preguntas details:last-child{border-bottom:1px solid var(--linea)}
.preguntas summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:19px 0;font-size:20px;font-weight:600;letter-spacing:-.015em;line-height:1.3}
.preguntas summary::-webkit-details-marker{display:none}
.preguntas summary::after{content:"+";flex:none;font:300 28px/1 var(--sans);color:var(--rosa)}
.preguntas details[open] summary::after{content:"–"}
.preguntas details p{padding-bottom:22px;color:var(--gris);max-width:66ch}

.dos{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(28px,5vw,64px);margin-top:44px}
.dos p{color:var(--gris);margin-top:10px}
.contactos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.contactos .plan .boton{margin-top:auto}
.contactos h3{margin-bottom:10px}
.contactos p{color:var(--gris);margin-bottom:24px}
.aviso{font-size:15px;color:var(--gris);margin-top:26px;max-width:72ch}

.pie{background:#0d0f11;color:var(--gris);padding:56px 0 32px;font-size:15.5px}
.pie-dentro{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
.pie .logo{color:#fff}
.pie p{max-width:38ch;margin-top:12px}
.pie ul{list-style:none;display:grid;gap:8px}
.pie a{text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.35)}
.pie-bajo{margin-top:38px;padding-top:20px;border-top:1px solid var(--linea);font-size:14px}

dialog.anuncio{margin:auto;border:0;padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border-radius:14px;color:#fff;background:#1c2024;box-shadow:0 50px 120px -30px #000}
dialog.anuncio::backdrop{background:rgba(10,11,13,.68);backdrop-filter:blur(5px)}
dialog.anuncio[open]{animation:subir .45s cubic-bezier(.2,.9,.25,1)}
@keyframes subir{from{opacity:0;transform:translateY(26px) scale(.97)}}
.anuncio-cabeza{position:relative;padding:28px 28px 30px;background:linear-gradient(110deg,#3a4a50,#8c3a48 60%,#c92a43)}
.anuncio-cabeza p{font:300 13px/1.3 var(--sans);letter-spacing:.28em;padding-right:44px}
.anuncio-cabeza h2{font-size:clamp(30px,6vw,38px);margin-top:10px}
.cerrar{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;border-radius:6px;background:rgba(0,0,0,.25);color:#fff;font:400 24px/1 var(--sans);cursor:pointer}
.cerrar:hover{background:rgba(0,0,0,.45)}
.anuncio-precios{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px 20px 0}
.anuncio-precio{display:block;text-decoration:none;transition:background-color .18s ease;background:var(--panel);border-radius:var(--radio);padding:15px 16px 13px}
.anuncio-precio:hover{background:var(--panel-2)}
.anuncio-precio span{display:block;font-weight:600;font-size:15px}
.anuncio-precio b{display:block;font:700 42px/1.08 var(--sans);letter-spacing:-.045em}
.anuncio-video{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:14px;padding:11px 16px}
.anuncio-video b{grid-row:1/3;grid-column:2;font-size:34px}
.anuncio-precio small{font-size:13px;color:var(--gris)}
.anuncio-pie{padding:16px 20px 20px}
.anuncio-pie .boton{width:100%}
.anuncio-pie p{margin-top:12px;font-size:13.5px;color:var(--gris);text-align:center}
.anuncio-pie b{font-weight:600;color:#fff}

.js .revelar{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.25,1)}
.js .revelar.visto{opacity:1;transform:none}

/* Aviso de cookies: barra fina a lo ancho, abajo. Los tres botones tienen el mismo peso */
.cookies{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#0d0f11;border-top:1px solid var(--linea);color:#e8eaec}
.cookies[hidden],.cookies-config[hidden],.cookies button[hidden]{display:none}
.cookies-dentro{max-width:1320px;margin:0 auto;padding:10px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px}
.cookies-texto{flex:1 1 420px;font-size:14px;line-height:1.4}
.cookies-texto a{white-space:nowrap;text-underline-offset:3px}
.cookies-config{order:3;flex:1 1 100%;display:flex;flex-wrap:wrap;gap:6px 24px;font-size:13.5px;line-height:1.4}
.cookies-config label{display:flex;gap:8px;align-items:flex-start;flex:1 1 300px}
.cookies-config input{flex:none;width:16px;height:16px;margin-top:2px;accent-color:var(--carmesi)}
.cookies-botones{display:flex;gap:8px;flex:none}
.cookies-botones button{min-height:38px;padding:6px 16px;border-radius:6px;border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;font:600 14px/1.2 var(--sans);cursor:pointer}
.cookies-botones button:hover{background:rgba(255,255,255,.12)}
.pie-cookies{background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px;cursor:pointer}

/* Páginas legales */
.legal{max-width:820px}
.legal h2{font-size:clamp(23px,2.4vw,30px);letter-spacing:-.02em;line-height:1.15;margin:38px 0 12px}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{color:#d6dadc}
.legal p+p{margin-top:12px}
.legal ul,.legal ol{margin:10px 0 0 22px;display:grid;gap:6px}
.legal a{text-underline-offset:3px;color:#fff}
.legal strong{color:#fff}
.tabla{overflow-x:auto;margin:12px 0 16px}
.tabla table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.45}
.tabla th,.tabla td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--linea)}
.tabla th{color:#fff;font-weight:600}
.tabla td{color:#d6dadc;min-width:120px}

@media(max-width:1180px){
  .menu-boton{display:block}
  .menu{display:none;position:absolute;top:80px;left:16px;right:16px;flex-direction:column;align-items:stretch;gap:2px;background:#1c2024;padding:12px;border-radius:12px;box-shadow:var(--sombra);z-index:40}
  .menu.abierto{display:flex}
  .menu a{padding:13px 14px}
  .menu .idioma{box-shadow:inset 0 0 0 1px var(--linea);margin:6px 0 0;text-align:center}
  .menu .boton{background:var(--carmesi);color:#fff;margin:8px 0 0}
  .menu .boton:hover{background:var(--carmesi-hondo)}
  .tres,.pasos{grid-template-columns:repeat(2,1fr)}
  .galeria{grid-template-columns:repeat(2,1fr)}
  .foto-texto{grid-template-columns:1fr}
  .contactos{grid-template-columns:1fr}
}
@media(max-width:900px){
  .hero-linea{flex-direction:column;align-items:flex-start}
  .hero h1{text-wrap:balance;flex:initial}
  .regla{display:none}
  .hero-lado{max-width:none}
  .tablero-grilla{grid-template-columns:1fr}
}
@media(max-width:640px){
  .cookies-dentro{padding:10px 16px}
  .cookies-texto{flex-basis:100%;font-size:13.5px}
  .cookies-botones{width:100%}
  .cookies-botones button{flex:1 1 0;min-width:0;padding:6px 4px;font-size:13.5px}
  .tres,.pasos,.planes,.galeria,.dos,.videos-ejemplo{grid-template-columns:1fr}
  .hero-foto{object-position:68% 30%}
  .antetitulo{letter-spacing:.2em}
  .cabeza{flex-direction:column;align-items:stretch;min-height:0;padding-top:112px;padding-bottom:0}
  .cabeza img{position:static;order:2;height:auto;aspect-ratio:16/10;margin-top:26px}
  .cabeza img+.dentro::before{display:none}
  .acciones .boton{width:100%}
  dialog.anuncio{margin:auto 0 0;width:100%;max-width:100%;border-radius:14px 14px 0 0;max-height:88dvh}
  .anuncio-cabeza{padding:22px 22px 24px}
  .anuncio-precio b{font-size:36px}
}
@media(max-width:360px){
  .tarjeta{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .revelar{opacity:1;transform:none}
}
