
:root {
--morado-950: #140C1E;   
--morado-900: #1B1027;   
--morado-800: #2A183E;   
--morado-700: #3A2554;   
--morado-600: #4D3370;   
--morado-300: #A99FB5;   
--hueso-0:   #F7F3EC;    
--hueso-100: #EFE7D8;    
--hueso-300: #C9BFA9;    
--oro-500: #C6A15B;
--oro-400: #DBB876;  
--oro-600: #A8823F;  
--oro-700: #7A5C1A;
--verde-700: #17691B;
--morado-400: #615269;   
--lima-400: #D8F34E;
--fuente-display: 'Chakra Petch', system-ui, sans-serif;
--fuente-texto: 'IBM Plex Sans', system-ui, sans-serif;
--texto-xs: 0.75rem;
--texto-sm: 0.875rem;
--texto-base: 1rem;
--texto-lg: 1.25rem;
--texto-xl: 1.6rem;
--texto-2xl: 2.6rem;
--texto-hero: clamp(2.4rem, 8vw, 5.2rem);
--esp-1: 0.25rem; --esp-2: 0.5rem; --esp-3: 0.75rem;
--esp-4: 1rem; --esp-6: 1.5rem; --esp-8: 2rem;
--esp-12: 3rem; --esp-16: 4rem;
--radio-s: 4px;
--radio-m: 6px;
--radio-pill: 999px;
--fondo:            var(--morado-900);  
--fondo-profundo:   var(--morado-950);  
--superficie:       var(--morado-800);  
--superficie-alta:  var(--morado-700);  
--tinta:            var(--hueso-100);   
--tinta-suave:      var(--hueso-300);   
--tinta-invertida:  var(--morado-950);  
--acento:           var(--oro-500);     
--acento-hover:     var(--oro-400);
--acento-activo:    var(--oro-600);
--positivo:         var(--lima-400);    
--linea:            rgba(239, 231, 216, 0.14); 
--fondo-claro:              var(--hueso-100);   
--superficie-clara:         var(--hueso-0);     
--tinta-sobre-claro:        var(--morado-800);  
--tinta-suave-sobre-claro:  var(--morado-400);  
--acento-sobre-claro:       var(--oro-700);     
--positivo-sobre-claro:     var(--verde-700);   
--linea-sobre-claro:        rgba(42, 24, 62, 0.16);
--boton-primario-fondo: var(--acento);
--boton-primario-tinta: var(--tinta-invertida);
--etiqueta-fondo: var(--positivo);
--etiqueta-tinta: var(--morado-950);
--nav-fondo: rgba(27, 16, 39, 0.9);   
--logo-header-ancho: 220px;
--logo-footer-ancho: 240px;
--logo-nombre-minimo: 160px;      
--logo-apilado-minimo: 160px;
--logo-horizontal-minimo: 220px;
--logo-icono-minimo: 24px;        
--logo-icono-favicon: 16px;       
--marca-agua-opacidad: 0.7;           
}
@font-face { font-family:'Chakra Petch'; font-weight:600; font-style:normal; font-display:swap; src:url('/fonts/chakra-petch-600.woff2') format('woff2'); }
@font-face { font-family:'Chakra Petch'; font-weight:700; font-style:normal; font-display:swap; src:url('/fonts/chakra-petch-700.woff2') format('woff2'); }
@font-face { font-family:'IBM Plex Sans'; font-weight:100 700; font-style:normal; font-display:swap; src:url('/fonts/ibm-plex-sans-var.woff2') format('woff2'); }
:root { --e:cubic-bezier(.16, 1, .3, 1); --ancho:1240px; --linea-fuerte:rgba(239, 231, 216, .26); }
*, *::before, *::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { margin:0; background:var(--fondo); color:var(--tinta); font-family:var(--fuente-texto); font-size:1.0625rem; line-height:1.65; overflow-x:hidden; }
img, svg, video { max-width:100%; height:auto; display:block; }
a { color:var(--tinta); text-decoration-color:var(--acento); text-underline-offset:.2em; }
a:hover { color:var(--acento); }
:focus-visible { outline:2px solid var(--acento); outline-offset:3px; }
p { margin:0 0 1em; max-width:68ch; }
ul, ol { padding-left:1.2rem; margin:0 0 1em; }
li { margin-bottom:.4em; }
strong { font-weight:600; color:var(--tinta); }
h1, h2, h3, h4 { font-family:var(--fuente-display); font-weight:700; margin:0 0 .5em; text-transform:none; letter-spacing:-.012em; line-height:1.02; }
h1 { font-size:clamp(2.7rem, 7.4vw, 6.2rem); letter-spacing:-.02em; }
h2 { font-size:clamp(2rem, 5vw, 3.7rem); line-height:1.04; }
h3 { font-weight:600; font-size:1.25rem; line-height:1.2; letter-spacing:0; }
em.oro, .oro { font-style:normal; color:var(--acento); }
small, .nota { font-size:var(--texto-sm); }
.nota { color:var(--tinta-suave); }
.suave { color:var(--tinta-suave); }
.flecha { font-family:var(--fuente-texto); }
.solo-lectura { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
[hidden] { display:none !important; }
.saltar { position:absolute; left:-999px; top:8px; background:var(--acento); color:var(--tinta-invertida); padding:10px 16px; z-index:200; border-radius:var(--radio-s); }
.saltar:focus { left:8px; }
section[id] { scroll-margin-top:84px; }
.contenedor { width:100%; max-width:var(--ancho); margin:0 auto; padding-inline:20px; }
@media (min-width:768px) { .contenedor { padding-inline:32px; } }
.grano { position:fixed; inset:0; z-index:150; pointer-events:none; opacity:.05; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E"); }
.brillo { position:absolute; border-radius:50%; pointer-events:none; filter:blur(90px); }
.brillo-a { top:-160px; right:-180px; width:720px; height:520px; background:radial-gradient(ellipse, color-mix(in srgb, var(--superficie-alta) 85%, transparent) 0%, transparent 70%); }
.brillo-b { bottom:-120px; left:-160px; width:520px; height:380px; background:radial-gradient(ellipse, color-mix(in srgb, var(--acento) 9%, transparent) 0%, transparent 70%); }
.aviso { background:var(--fondo-profundo); color:var(--tinta-suave); font-size:var(--texto-sm); text-align:center; padding:8px 16px; border-bottom:1px solid var(--linea); position:relative; z-index:60; }
.cabecera { position:sticky; top:0; z-index:100; transition:background-color .35s, border-color .35s; border-bottom:1px solid transparent; }
.cabecera.con-fondo { background:var(--nav-fondo); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom-color:var(--linea); }
.cabecera .contenedor { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; }
.logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
.logo img.logo-i { width:42px; }
.logo img.logo-n { width:150px; }
.menu-boton { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 14px; background:transparent; color:var(--tinta); border:1px solid var(--linea-fuerte); border-radius:var(--radio-s); font:600 .85rem var(--fuente-display); letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.nav { display:none; position:fixed; inset:76px 0 0 0; background:var(--fondo); padding:28px 20px; overflow:auto; z-index:90; }
.nav.abierto { display:block; }
.nav ul { list-style:none; margin:0; padding:0; display:grid; gap:0; }
.nav li { margin:0; border-bottom:1px solid var(--linea); }
.nav a { display:flex; align-items:center; min-height:64px; text-decoration:none; font:700 1.7rem var(--fuente-display); }
.nav a[aria-current="page"] { color:var(--acento); }
.nav li:last-child { border:0; }
.nav .btn { margin-top:24px; width:100%; font-size:.95rem; }
@media (min-width:960px) {
.menu-boton { display:none; }
.nav { display:block; position:static; background:transparent; padding:0; overflow:visible; }
.nav ul { display:flex; align-items:center; gap:34px; }
.nav li { border:0; }
.nav a { min-height:44px; font:600 .78rem var(--fuente-texto); letter-spacing:.18em; text-transform:uppercase; color:var(--tinta-suave); }
.nav a:hover, .nav a[aria-current="page"] { color:var(--acento); }
.nav .btn { margin:0; width:auto; color:var(--boton-primario-tinta); letter-spacing:.1em; font:600 .78rem var(--fuente-display); }
.nav .btn:hover { color:var(--boton-primario-tinta); }
}
.btn { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:52px; padding:0 30px; border-radius:var(--radio-m); border:1px solid transparent; font:600 .85rem var(--fuente-display); letter-spacing:.1em; text-transform:uppercase; text-decoration:none; cursor:pointer; transition:background-color .25s, border-color .25s, color .25s, box-shadow .25s; }
.btn-primario { background:var(--boton-primario-fondo); color:var(--boton-primario-tinta); }
.btn-primario::before { content:''; position:absolute; inset:0; background:linear-gradient(110deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%); transform:translateX(-130%) skewX(-33deg); transition:transform .7s var(--e); }
.btn-primario:hover { background:var(--acento-hover); color:var(--boton-primario-tinta); box-shadow:0 0 44px color-mix(in srgb, var(--acento) 35%, transparent); }
.btn-primario:hover::before { transform:translateX(130%) skewX(-33deg); }
.btn-primario:active { background:var(--acento-activo); }
.btn-secundario { background:transparent; color:var(--tinta); border-color:var(--linea-fuerte); }
.btn-secundario:hover { border-color:var(--acento); color:var(--acento); background:color-mix(in srgb, var(--acento) 7%, transparent); }
.btn-chico { min-height:44px; padding:0 18px; font-size:.75rem; }
.btn-grande { min-height:60px; padding:0 38px; font-size:.95rem; }
.btn .flecha { transition:transform .25s var(--e); }
.btn:hover .flecha { transform:translateX(4px); }
.acciones { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.kicker { display:flex; align-items:center; gap:14px; font:600 .75rem var(--fuente-texto); letter-spacing:.32em; text-transform:uppercase; color:var(--acento); margin:0 0 22px; }
.kicker::before { content:''; width:44px; height:1px; background:var(--acento); flex:none; }
.etiqueta { display:inline-block; background:var(--etiqueta-fondo); color:var(--etiqueta-tinta); font:600 .75rem var(--fuente-texto); letter-spacing:.1em; text-transform:uppercase; padding:3px 10px; border-radius:var(--radio-s); align-self:flex-start; }
.etiqueta-aviso { background:transparent; color:var(--acento); border:1px solid var(--acento); }
.micro { font:600 .75rem var(--fuente-texto); letter-spacing:.14em; text-transform:uppercase; color:var(--acento); margin:0; }
.js [data-rev] { opacity:0; transform:translateY(26px); transition:opacity .9s var(--e), transform .9s var(--e); transition-delay:var(--d, 0s); }
.js [data-rev].visto { opacity:1; transform:none; }
.lr { display:block; overflow:hidden; padding-bottom:.1em; margin-bottom:-.1em; }
.lr > span { display:block; transition:transform 1.1s var(--e); transition-delay:var(--d, 0s); }
.js .lr > span { transform:translateY(112%); }
.js .visto .lr > span, .js .lr.visto > span { transform:none; }
.seccion { position:relative; padding:88px 0; }
@media (min-width:768px) { .seccion { padding:130px 0; } }
.seccion-profunda { background:var(--fondo-profundo); }
.seccion-claro { background:var(--fondo-claro); color:var(--tinta-sobre-claro); }
.seccion-claro .kicker { color:var(--acento-sobre-claro); }
.seccion-claro .kicker::before { background:var(--acento-sobre-claro); }
.seccion-claro a { color:var(--tinta-sobre-claro); }
.seccion-claro .suave, .seccion-claro .nota { color:var(--tinta-suave-sobre-claro); }
.seccion-claro em.oro { color:var(--acento-sobre-claro); }
.encabezado { max-width:820px; margin-bottom:56px; }
.encabezado h2 { margin-bottom:.35em; }
.encabezado p { font-size:1.12rem; font-weight:300; color:var(--tinta-suave); }
.seccion-claro .encabezado p { color:var(--tinta-suave-sobre-claro); }
.cabecera-seccion { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:56px; }
.cabecera-seccion h2 { margin:0; }
.cabecera-seccion p { max-width:380px; margin:0; color:var(--tinta-suave); font-size:.95rem; }
.hero { position:relative; overflow:hidden; margin-top:-76px; padding:190px 0 40px; }
@media (min-width:768px) { .hero { padding-top:220px; } }
.hero .contenedor { position:relative; z-index:2; }
.marca-agua { position:absolute; right:-6%; top:46%; translate:0 -50%; width:min(680px, 70vw); opacity:.05; pointer-events:none; z-index:1; }
.hero h1 { max-width:15ch; margin-top:6px; }
.hero .bajada { max-width:540px; margin-top:30px; font-size:1.15rem; font-weight:300; color:var(--tinta-suave); }
.hero .acciones { margin-top:38px; }
.video-grande { position:relative; margin-top:72px; }
.video-portada, .trabajo-img { position:relative; display:block; width:100%; padding:0; border:0; background:var(--fondo-profundo); cursor:pointer; border-radius:var(--radio-m); overflow:hidden; aspect-ratio:16/9; }
.video-portada { border:1px solid var(--linea); }
.video-portada img, .trabajo-img img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--e); }
.video-portada:hover img, .trabajo-img:hover img { transform:scale(1.035); }
.video-portada::after, .trabajo-img::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, color-mix(in srgb, var(--fondo-profundo) 82%, transparent) 0%, transparent 52%); pointer-events:none; }
.play { position:absolute; left:50%; top:50%; translate:-50% -50%; z-index:2; }
.play span { width:84px; height:84px; display:grid; place-items:center; border-radius:50%; background:color-mix(in srgb, var(--fondo-profundo) 55%, transparent); border:1.5px solid var(--tinta); color:var(--tinta); font-size:1.5rem; padding-left:5px; transition:transform .35s var(--e), border-color .25s, color .25s; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.video-portada:hover .play span, .trabajo-img:hover .play span { transform:scale(1.1); border-color:var(--acento); color:var(--acento); }
.trabajo-img .play { left:14px; top:auto; bottom:14px; translate:0 0; }
.trabajo-img .play span { width:50px; height:50px; font-size:1rem; padding-left:3px; }
.duracion { position:absolute; right:12px; bottom:12px; z-index:2; background:var(--nav-fondo); color:var(--tinta); font-size:.75rem; font-weight:600; padding:2px 8px; border-radius:var(--radio-s); }
.pie-video { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:14px; font-size:var(--texto-sm); color:var(--tinta-suave); }
.cifras { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:64px; padding-top:34px; border-top:1px solid var(--linea); }
.cifra b { display:block; font:700 clamp(2rem, 5vw, 3.6rem) var(--fuente-display); line-height:1; letter-spacing:-.02em; }
.cifra span { display:block; margin-top:10px; font:600 .75rem var(--fuente-texto); letter-spacing:.2em; text-transform:uppercase; color:var(--tinta-suave); }
.marquesina { overflow:hidden; border-block:1px solid var(--linea); padding:34px 0; margin-top:70px; -webkit-mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); }
.marq-pista { display:flex; width:max-content; animation:marq 52s linear infinite; }
.marq-pista.inversa { animation-direction:reverse; margin-top:12px; }
.marq-pista span { display:inline-flex; align-items:center; white-space:nowrap; font:700 clamp(2.2rem, 6vw, 4.6rem) var(--fuente-display); text-transform:uppercase; letter-spacing:.01em; padding-right:.6em; }
.marq-pista .contorno { color:transparent; -webkit-text-stroke:1px color-mix(in srgb, var(--tinta) 38%, transparent); }
.marq-pista .relleno { color:color-mix(in srgb, var(--tinta) 14%, transparent); }
.marq-pista i { display:inline-block; width:.22em; height:.62em; background:var(--acento); transform:skewX(-33deg); margin-right:.6em; flex:none; }
@keyframes marq { to { transform:translateX(-50%); } }
.puertas { border-top:1px solid var(--linea); }
.puerta { position:relative; border-bottom:1px solid var(--linea); }
.puerta-cab { display:grid; grid-template-columns:auto 1fr; gap:6px 28px; align-items:center; padding:34px 0 20px; text-decoration:none; color:var(--tinta); }
.puerta-cab:hover { color:var(--tinta); }
.puerta .num { font:700 .85rem var(--fuente-display); letter-spacing:.14em; color:var(--acento); grid-row:1; }
.puerta h3 { margin:0; font:700 clamp(2rem, 5.2vw, 4.2rem) var(--fuente-display); letter-spacing:-.02em; line-height:1; grid-row:1; grid-column:2; transition:transform .55s var(--e), color .3s; }
.puerta .corta { margin:0; color:var(--tinta-suave); font-size:1rem; font-weight:300; grid-row:2; grid-column:2; }
.puerta .ir { display:none; }
.puerta-panel { padding:0 0 38px; }
.puerta-int { display:grid; gap:22px; }
.puerta-banner { position:relative; aspect-ratio:2.25 / 1; overflow:hidden; border-radius:var(--radio-m); border:1px solid var(--linea); background:var(--fondo-profundo); isolation:isolate; }
.puerta-banner img { width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--e); }
.puerta-banner::before { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(to top, color-mix(in srgb, var(--fondo-profundo) 78%, transparent) 0%, transparent 42%); }
.puerta-banner::after { content:''; position:absolute; left:-26px; bottom:-26px; width:96px; height:160px; background:var(--acento); transform:skewX(-33deg); clip-path:inset(84% 0 0 0); z-index:2; }
.puerta-pie { position:absolute; left:84px; bottom:14px; z-index:2; font:600 .75rem var(--fuente-texto); letter-spacing:.14em; text-transform:uppercase; color:var(--tinta); }
.puerta-cuerpo { display:grid; gap:22px; align-content:center; justify-items:start; }
.puerta-cuerpo p { margin:0; font-size:1.12rem; font-weight:300; color:var(--tinta-suave); max-width:46ch; }
@media (min-width:900px) and (hover:hover) {
.puerta-cab { grid-template-columns:90px 1.2fr 1fr 60px; padding:46px 0; }
.puerta-cab h3, .puerta-cab .corta { grid-row:auto; grid-column:auto; }
.puerta .ir { display:block; justify-self:end; font:400 2rem var(--fuente-texto); color:var(--acento); transition:transform .45s var(--e); }
.puerta:hover h3, .puerta[data-abierta] h3, .puerta:focus-within h3 { transform:translateX(16px); }
.puerta[data-abierta] .ir, .puerta:hover .ir { transform:translateX(8px); }
.js .puerta-panel { display:grid; grid-template-rows:0fr; visibility:hidden; padding-bottom:0; transition:grid-template-rows .7s var(--e), padding-bottom .7s var(--e), visibility 0s .7s; }
.js .puerta[data-abierta] .puerta-panel { grid-template-rows:1fr; visibility:visible; padding-bottom:46px; transition:grid-template-rows .7s var(--e), padding-bottom .7s var(--e), visibility 0s; }
.puerta-int { min-height:0; overflow:hidden; grid-template-columns:1.4fr 1fr; gap:52px; align-items:center; }
.puerta[data-abierta] .puerta-banner img { transform:scale(1.04); }
.puerta-cuerpo p { font-size:1.2rem; }
}
@media (prefers-reduced-motion:reduce) { .js .puerta-panel, .js .puerta[data-abierta] .puerta-panel { transition:none; } }
.principios { display:grid; gap:16px; }
@media (min-width:700px) { .principios { grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1100px) { .principios { grid-template-columns:repeat(4, 1fr); } }
.principio { position:relative; padding:34px 30px 36px; border:1px solid var(--linea); border-radius:var(--radio-m); background:color-mix(in srgb, var(--superficie) 32%, transparent); transition:border-color .35s, background-color .35s; }
.principio:hover { border-color:color-mix(in srgb, var(--acento) 55%, transparent); background:color-mix(in srgb, var(--superficie) 60%, transparent); }
.principio .n { display:block; font:700 .8rem var(--fuente-display); letter-spacing:.16em; color:var(--acento); margin-bottom:62px; }
.principio h3 { font-size:1.3rem; margin-bottom:.6em; }
.principio p { margin:0; color:var(--tinta-suave); font-size:.95rem; font-weight:300; }
.metodo { position:relative; padding-left:30px; display:grid; gap:0; }
.metodo::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--linea); }
.metodo::after { content:''; position:absolute; left:0; top:0; width:2px; height:calc(var(--p, 0) * 100%); background:var(--acento); transition:height .25s linear; }
.paso { display:grid; gap:6px 40px; padding:34px 0; border-bottom:1px solid var(--linea); }
@media (min-width:800px) { .paso { grid-template-columns:90px 1fr 1.3fr; align-items:baseline; } }
.paso:last-child { border-bottom:0; }
.paso .rom { font:700 1.6rem var(--fuente-display); color:var(--acento); }
.paso h3 { font-size:clamp(1.5rem, 3vw, 2.1rem); margin:0; }
.paso p { margin:0; color:var(--tinta-suave); font-weight:300; }
.tarjeta { display:flex; flex-direction:column; gap:10px; padding:30px; border:1px solid var(--linea); border-radius:var(--radio-m); background:color-mix(in srgb, var(--superficie) 28%, transparent); text-decoration:none; color:var(--tinta); transition:border-color .35s, background-color .35s; }
a.tarjeta:hover { border-color:color-mix(in srgb, var(--acento) 60%, transparent); background:color-mix(in srgb, var(--superficie) 60%, transparent); color:var(--tinta); }
.tarjeta .num { font:700 .8rem var(--fuente-display); color:var(--acento); letter-spacing:.14em; }
.tarjeta h3 { margin:0; }
.tarjeta p { margin:0; color:var(--tinta-suave); font-size:.95rem; font-weight:300; }
.tarjeta .go { margin-top:auto; padding-top:14px; color:var(--acento); font:600 .75rem var(--fuente-display); letter-spacing:.14em; text-transform:uppercase; }
.tarjeta > .btn { margin-top:auto; align-self:stretch; }
.tarjeta .lista-corta { margin-bottom:14px; }
.rejilla { display:grid; gap:18px; }
@media (min-width:640px) { .rejilla-2 { grid-template-columns:repeat(2, 1fr); } .rejilla-3 { grid-template-columns:repeat(2, 1fr); } }
@media (min-width:980px) { .rejilla-3 { grid-template-columns:repeat(3, 1fr); } .rejilla-4 { grid-template-columns:repeat(4, 1fr); } }
@media (min-width:640px) and (max-width:979px) { .rejilla-4 { grid-template-columns:repeat(2, 1fr); } }
.bento { display:grid; gap:18px; }
@media (min-width:900px) { .bento { grid-template-columns:1.6fr 1fr; grid-template-rows:1fr 1fr; } .bento > :first-child { grid-row:span 2; } }
.bento .tarjeta { padding:36px; }
.bento > :first-child { background:linear-gradient(155deg, color-mix(in srgb, var(--acento) 10%, transparent) 0%, color-mix(in srgb, var(--superficie) 40%, transparent) 60%); border-color:color-mix(in srgb, var(--acento) 38%, transparent); }
.bento > :first-child h3 { font-size:clamp(1.8rem, 3.4vw, 2.7rem); }
.precio { font:700 clamp(2.2rem, 4vw, 3rem) var(--fuente-display); color:var(--acento); line-height:1; margin:6px 0; letter-spacing:-.02em; }
.precio small { font:400 .9rem var(--fuente-texto); color:var(--tinta-suave); letter-spacing:0; }
.lista-corta { list-style:none; padding:0; margin:0; }
.lista-corta li { padding:10px 0 10px 24px; border-bottom:1px solid var(--linea); position:relative; font-size:.95rem; margin:0; font-weight:300; }
.lista-corta li::before { content:''; position:absolute; left:0; top:1.15em; width:7px; height:11px; background:var(--acento); transform:skewX(-33deg); }
.tabla-envoltura { overflow-x:auto; }
table.tabla { width:100%; border-collapse:collapse; font-size:1rem; }
.tabla th, .tabla td { text-align:left; padding:18px 14px; border-bottom:1px solid var(--linea); vertical-align:baseline; }
.tabla th { font:600 .7rem var(--fuente-texto); letter-spacing:.2em; text-transform:uppercase; color:var(--tinta-suave); }
.tabla td:last-child, .tabla th:last-child { white-space:nowrap; text-align:right; }
.tabla td:last-child { font:700 1.15rem var(--fuente-display); color:var(--tinta); }
.tabla tbody tr { transition:background-color .25s; }
.tabla tbody tr:hover { background:color-mix(in srgb, var(--superficie) 40%, transparent); }
.pasos { counter-reset:paso; list-style:none; padding:0; display:grid; gap:14px; }
@media (min-width:768px) { .pasos { grid-template-columns:repeat(4, 1fr); } }
.pasos li { counter-increment:paso; padding:26px 22px; border:1px solid var(--linea); border-radius:var(--radio-m); margin:0; font-size:.95rem; font-weight:300; background:color-mix(in srgb, var(--superficie) 28%, transparent); }
.pasos li::before { content:'0' counter(paso); display:block; font:700 1.2rem var(--fuente-display); color:var(--acento); margin-bottom:34px; }
.chips { display:flex; flex-wrap:wrap; gap:10px; }
.chip { display:inline-flex; align-items:center; min-height:48px; padding:0 22px; border:1px solid var(--linea-fuerte); border-radius:999px; text-decoration:none; font:600 .8rem var(--fuente-display); letter-spacing:.1em; text-transform:uppercase; transition:border-color .25s, color .25s, background-color .25s; }
.chip:hover { border-color:var(--acento); color:var(--acento); background:color-mix(in srgb, var(--acento) 7%, transparent); }
.trabajo-info { padding:16px 4px 0; }
.trabajo-info h3 { margin:6px 0 2px; font-size:1.15rem; }
.trabajo-info p { margin:0 0 6px; color:var(--tinta-suave); font-size:var(--texto-sm); }
.trabajo-info a { font-size:var(--texto-sm); }
.filtros { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.filtro { min-height:46px; padding:0 22px; background:transparent; color:var(--tinta); border:1px solid var(--linea-fuerte); border-radius:999px; font:600 .78rem var(--fuente-display); letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:background-color .25s, color .25s, border-color .25s; }
.filtro:hover { border-color:var(--acento); }
.filtro[aria-pressed="true"] { background:var(--acento); color:var(--tinta-invertida); border-color:var(--acento); }
.faq details { border-bottom:1px solid var(--linea); }
.faq details:first-child { border-top:1px solid var(--linea); }
.faq summary { cursor:pointer; list-style:none; padding:26px 48px 26px 0; position:relative; font:600 1.2rem var(--fuente-display); min-height:48px; transition:color .25s; }
.faq summary:hover { color:var(--acento); }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; position:absolute; right:6px; top:20px; font:300 2rem var(--fuente-texto); color:var(--acento); transition:transform .35s var(--e); }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq details p { color:var(--tinta-suave); padding-bottom:20px; max-width:62ch; font-weight:300; }
.formulario { display:grid; gap:18px; max-width:780px; }
.fila-2 { display:grid; gap:18px; }
@media (min-width:640px) { .fila-2 { grid-template-columns:1fr 1fr; } }
.campo { display:grid; gap:7px; align-content:start; }
.campo label, .campo .etq { font:600 .85rem var(--fuente-texto); letter-spacing:.03em; color:var(--tinta); }
.campo .ayuda { font-size:var(--texto-sm); color:var(--tinta-suave); }
input[type=text], input[type=url], input[type=date], input[type=time], input[type=number], input[type=tel], select, textarea { width:100%; min-height:52px; padding:13px 16px; background:color-mix(in srgb, var(--superficie) 55%, transparent); color:var(--tinta); border:1px solid var(--linea); border-radius:var(--radio-s); font:400 1rem var(--fuente-texto); transition:border-color .25s, background-color .25s; }
textarea { min-height:120px; resize:vertical; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline:2px solid var(--acento); outline-offset:1px; border-color:var(--acento); }
.error { color:var(--tinta); background:var(--superficie-alta); border-left:3px solid var(--acento); padding:12px 16px; font-size:var(--texto-sm); margin:0; }
.resultado { margin-top:28px; padding:26px; background:color-mix(in srgb, var(--superficie) 60%, transparent); border:1px solid var(--linea); border-radius:var(--radio-m); }
.resultado pre { white-space:pre-wrap; word-break:break-word; font:400 .92rem/1.6 var(--fuente-texto); margin:0 0 18px; color:var(--tinta-suave); }
.cierre { position:relative; overflow:hidden; text-align:center; padding:120px 0 140px; }
.cierre h1, .cierre h2 { font-size:clamp(2.2rem, 6.4vw, 5rem); max-width:17ch; margin-inline:auto; }
.cierre p { margin-inline:auto; color:var(--tinta-suave); font-size:1.12rem; font-weight:300; }
.cierre .acciones { justify-content:center; margin-top:38px; }
.cierre .brillo-c { position:absolute; left:50%; top:50%; translate:-50% -50%; width:900px; max-width:100%; height:420px; background:radial-gradient(ellipse, color-mix(in srgb, var(--superficie-alta) 70%, transparent) 0%, transparent 70%); filter:blur(80px); pointer-events:none; }
.cierre .contenedor { position:relative; }
.pie { padding:72px 0 34px; border-top:1px solid var(--linea); background:var(--fondo-profundo); }
.pie-grid { display:grid; gap:36px; }
@media (min-width:768px) { .pie-grid { grid-template-columns:1.2fr .8fr 1fr 1fr; } }
.pie img.logo-pie { width:170px; margin-bottom:16px; }
.pie h2 { font:600 .75rem var(--fuente-texto); letter-spacing:.3em; text-transform:uppercase; color:var(--acento); margin-bottom:18px; }
.pie ul { list-style:none; padding:0; margin:0; }
.pie li { margin-bottom:10px; }
.pie a { text-decoration:none; }
.pie a:hover { text-decoration:underline; }
.pie-fin { margin-top:44px; padding-top:22px; border-top:1px solid var(--linea); display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; font-size:var(--texto-sm); color:var(--tinta-suave); }
.portada-int { position:relative; overflow:hidden; margin-top:-76px; padding:178px 0 50px; }
@media (min-width:768px) { .portada-int { padding:210px 0 60px; } }
.portada-int .contenedor { position:relative; z-index:2; }
.portada-int h1 { max-width:17ch; }
.portada-int .lead { max-width:600px; margin-top:26px; font-size:1.18rem; font-weight:300; color:var(--tinta-suave); }
.migas { font-size:var(--texto-sm); color:var(--tinta-suave); margin-bottom:34px; }
.migas ol { list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; }
.migas li { margin:0; }
.migas li + li::before { content:'/'; margin-right:8px; color:var(--linea-fuerte); }
.migas a { color:var(--tinta-suave); }
.dos-col { display:grid; gap:56px; }
@media (min-width:900px) { .dos-col { grid-template-columns:1fr 1fr; gap:80px; } }
.dos-col h2 { font-size:clamp(1.7rem, 3.4vw, 2.5rem); }
dialog { width:min(1040px, 94vw); padding:0; border:1px solid var(--linea); border-radius:var(--radio-m); background:var(--fondo-profundo); color:var(--tinta); }
dialog::backdrop { background:rgba(10, 6, 15, .86); }
.dialogo-barra { display:flex; justify-content:space-between; align-items:center; padding:12px 18px; border-bottom:1px solid var(--linea); }
.dialogo-marco { aspect-ratio:16/9; background:var(--fondo-profundo); }
.dialogo-marco iframe { width:100%; height:100%; border:0; }
.dialogo-pie { padding:20px; }
.dialogo-pie h2 { font-size:1.6rem; margin-bottom:4px; }
.calc { display:grid; gap:48px; }
@media (min-width:1024px) { .calc { grid-template-columns:1.1fr 1fr; align-items:start; gap:64px; } .calc-res { position:sticky; top:96px; } }
.calc-paso { padding:34px 0; border-top:1px solid var(--linea); }
.calc-paso:first-child { border-top:0; padding-top:0; }
.calc-paso h3 { display:flex; align-items:center; gap:16px; font:700 1.4rem var(--fuente-display); margin:0 0 6px; letter-spacing:-.01em; }
.calc-paso h3 .n { display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--acento); border-radius:50%; font:700 .9rem var(--fuente-display); color:var(--acento); flex:none; }
.calc-paso .sub { margin:0 0 20px 54px; color:var(--tinta-suave); font-size:.95rem; font-weight:300; }
.opciones { display:flex; flex-wrap:wrap; gap:10px; margin-left:54px; }
.opciones-grandes { display:grid; gap:12px; margin-left:54px; }
@media (min-width:700px) { .opciones-grandes { grid-template-columns:repeat(3, 1fr); } }
@media (max-width:639px) { .calc-paso .sub, .opciones, .opciones-grandes, .calc-paso .ayuda-paso, .calc-paso .campo { margin-left:0; } }
.opcion { min-height:48px; padding:0 20px; background:transparent; color:var(--tinta); border:1px solid var(--linea-fuerte); border-radius:999px; font:600 .85rem var(--fuente-display); letter-spacing:.04em; cursor:pointer; transition:background-color .25s, color .25s, border-color .25s; }
.opcion:hover { border-color:var(--acento); }
.opcion[aria-pressed="true"] { background:var(--acento); color:var(--tinta-invertida); border-color:var(--acento); }
.opcion-grande { text-align:left; padding:20px; border-radius:var(--radio-m); display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-height:140px; letter-spacing:0; }
.opcion-grande b { font:700 1.15rem var(--fuente-display); }
.opcion-grande .d { font:300 .88rem var(--fuente-texto); color:var(--tinta-suave); line-height:1.4; }
.opcion-grande em { margin-top:auto; font:700 1.05rem var(--fuente-display); color:var(--acento); font-style:normal; }
.opcion-grande[aria-pressed="true"] { background:color-mix(in srgb, var(--acento) 12%, transparent); color:var(--tinta); }
.opcion-grande[aria-pressed="true"] .d { color:var(--tinta); }
.ayuda-paso { margin:14px 0 0 54px; font-size:var(--texto-sm); color:var(--tinta-suave); min-height:1.6em; }
.calc-paso .campo { margin-left:54px; max-width:420px; }
.calc-res .panel { border:1px solid var(--linea); border-radius:var(--radio-m); padding:30px; background:color-mix(in srgb, var(--superficie) 55%, transparent); }
.calc-res h3 { font:700 .75rem var(--fuente-texto); letter-spacing:.28em; text-transform:uppercase; color:var(--acento); margin:0 0 12px; }
.total { font:700 clamp(2.6rem, 5vw, 3.8rem) var(--fuente-display); color:var(--tinta); line-height:1; letter-spacing:-.03em; margin:0 0 6px; }
.resumen-linea { margin:0 0 18px; color:var(--tinta-suave); font-size:.95rem; }
.desglose { list-style:none; padding:0; margin:0 0 22px; font-size:.95rem; }
.desglose li { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--linea); margin:0; }
.desglose li span:last-child { text-align:right; font-weight:600; }
.res-bloque { margin-top:26px; padding-top:22px; border-top:1px solid var(--linea); }
.plan { list-style:none; padding:0; margin:0; }
.plan li { display:grid; grid-template-columns:48px 1fr; gap:2px 12px; padding:10px 0; border-bottom:1px solid var(--linea); margin:0; font-size:.92rem; }
.plan .t { font:600 .8rem var(--fuente-display); color:var(--acento); padding-top:2px; }
.plan b { font-weight:600; }
.plan small { grid-column:2; color:var(--tinta-suave); font-size:.82rem; font-weight:300; }
.paleta { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 4px; }
.paleta i { display:block; width:46px; height:46px; border-radius:var(--radio-s); border:1px solid var(--linea-fuerte); }
.paleta-nombres { font-size:.8rem; color:var(--tinta-suave); margin:0 0 6px; }
.guia { list-style:none; padding:0; margin:0; }
.guia li { padding:10px 0; border-bottom:1px solid var(--linea); font-size:.92rem; font-weight:300; margin:0; }
.guia b { display:block; font:600 .75rem var(--fuente-texto); letter-spacing:.2em; text-transform:uppercase; color:var(--acento); margin-bottom:2px; }
.calc-res .acciones { margin-top:24px; }
.calc-res .acciones .btn { flex:1 1 220px; }
.mosaico-cab { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin:72px 0 16px; }
.mosaico-cab a { font:600 .8rem var(--fuente-display); letter-spacing:.1em; text-transform:uppercase; text-decoration:none; color:var(--acento); }
.mosaico { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; -webkit-overflow-scrolling:touch; }
.mosaico .tile { flex:0 0 84%; scroll-snap-align:start; }
.tile { position:relative; display:block; width:100%; padding:0; border:1px solid var(--linea); border-radius:var(--radio-m); overflow:hidden; cursor:pointer; background:var(--fondo-profundo); aspect-ratio:16/9; text-align:left; color:var(--tinta); }
.tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--e); }
.tile:hover img { transform:scale(1.05); }
.tile::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, color-mix(in srgb, var(--fondo-profundo) 97%, transparent) 0%, color-mix(in srgb, var(--fondo-profundo) 82%, transparent) 30%, transparent 72%); pointer-events:none; }
.tile .play { top:14px; left:auto; right:14px; translate:0 0; }
.tile .play span { width:42px; height:42px; font-size:.9rem; padding-left:3px; }
.tile .duracion { display:none; }
.tile-info { position:absolute; left:14px; right:14px; bottom:12px; z-index:2; display:grid; gap:2px; }
.tile-info b { font:700 1rem var(--fuente-display); line-height:1.15; }
.tile-info span:last-child { font-size:.8rem; color:var(--tinta-suave); }
.tile-grande .tile-info b { font-size:1.5rem; }
.tile-grande .play span { width:64px; height:64px; font-size:1.2rem; padding-left:4px; }
@media (min-width:900px) {
.mosaico { display:grid; overflow:visible; padding-bottom:0; grid-template-columns:repeat(4, 1fr); grid-auto-rows:clamp(130px, 14vw, 200px); }
.mosaico .tile { flex:none; }
.tile { aspect-ratio:auto; }
.tile-grande { grid-column:span 2; grid-row:span 2; }
.tile-grande .tile-info b { font-size:2rem; }
}
.redes { position:relative; overflow:hidden; }
.redes-grid { display:grid; gap:16px; }
@media (min-width:900px) { .redes-grid { grid-template-columns:repeat(3, 1fr); } }
.red { position:relative; display:flex; flex-direction:column; gap:6px; padding:34px 30px 30px; min-height:300px; border:1px solid var(--linea); border-radius:var(--radio-m); text-decoration:none; color:var(--tinta); background:linear-gradient(160deg, color-mix(in srgb, var(--superficie-alta) 70%, transparent) 0%, color-mix(in srgb, var(--superficie) 30%, transparent) 70%); overflow:hidden; transition:border-color .35s, transform .5s var(--e); }
.red::before { content:''; position:absolute; right:-40px; bottom:-30px; width:160px; height:230px; background:var(--acento); opacity:.07; transform:skewX(-33deg); transition:opacity .4s, transform .6s var(--e); }
.red:hover { border-color:var(--acento); transform:translateY(-4px); color:var(--tinta); }
.red:hover::before { opacity:.16; transform:skewX(-33deg) translateX(-14px); }
.red-etq { font:700 .8rem var(--fuente-display); letter-spacing:.14em; color:var(--acento); margin-bottom:46px; }
.red h3 { font:700 clamp(2.2rem, 4vw, 3.2rem) var(--fuente-display); letter-spacing:-.02em; line-height:1; margin:0; }
.red-usuario { margin:0; font:600 1rem var(--fuente-display); color:var(--acento); }
.red p { margin:0; color:var(--tinta-suave); font-weight:300; }
.red-ir { margin-top:auto; padding-top:24px; font:600 .78rem var(--fuente-display); letter-spacing:.14em; text-transform:uppercase; color:var(--tinta); position:relative; z-index:1; }
.entradas-fin { display:grid; gap:18px; }
@media (min-width:800px) { .entradas-fin { grid-template-columns:repeat(2, 1fr); } }
.entrada-grande { position:relative; display:flex; flex-direction:column; gap:10px; padding:44px 36px 40px; border:1px solid var(--linea); border-radius:var(--radio-m); background:color-mix(in srgb, var(--superficie) 32%, transparent); text-decoration:none; color:var(--tinta); transition:border-color .35s, background-color .35s; min-height:260px; }
.entrada-grande:hover { border-color:var(--acento); background:color-mix(in srgb, var(--superficie) 70%, transparent); color:var(--tinta); }
.entrada-grande .num { font:700 .85rem var(--fuente-display); letter-spacing:.14em; color:var(--acento); }
.entrada-grande h3 { font:700 clamp(1.8rem, 3.6vw, 2.8rem) var(--fuente-display); letter-spacing:-.02em; line-height:1.05; margin:0; }
.entrada-grande p { margin:0; color:var(--tinta-suave); font-weight:300; }
.entrada-grande .ir { margin-top:auto; font:400 2rem var(--fuente-texto); color:var(--acento); transition:transform .4s var(--e); }
.entrada-grande:hover .ir { transform:translateX(8px); }
.eq { position:absolute; right:max(16px, 3vw); bottom:0; display:flex; align-items:flex-end; gap:clamp(5px, .9vw, 13px); height:min(54vh, 430px); pointer-events:none; z-index:1; }
.eq i { display:block; width:clamp(12px, 2.4vw, 32px); height:100%; transform-origin:50% 100%; transform:skewX(-33deg) scaleY(var(--a)); animation:eq 3.2s ease-in-out infinite; animation-delay:var(--r); background:linear-gradient(to top, var(--acento) 0%, color-mix(in srgb, var(--acento) 55%, transparent) 55%, color-mix(in srgb, var(--acento) 8%, transparent) 100%); }
@keyframes eq { 50% { transform:skewX(-33deg) scaleY(var(--b)); } }
.portada-ev { padding-bottom:0; }
.portada-ev .contenedor { padding-bottom:20px; }
.portada-ev .lead { max-width:560px; }
.portada-ev .marquesina { margin-top:56px; border-bottom:0; padding:26px 0; position:relative; z-index:2; }
.portada-ev .marq-pista span { font-size:clamp(1.8rem, 4.6vw, 3.4rem); }
@media (max-width:700px) { .eq { opacity:.55; height:34vh; } }
.selector { display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; }
@media (min-width:900px) { .selector { grid-template-columns:repeat(5, 1fr); } }
@media (max-width:899px) { .selector .sel:last-child { grid-column:1 / -1; } }
.sel { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-height:210px; padding:22px 20px 18px; border:1px solid var(--linea); border-radius:var(--radio-m); background:color-mix(in srgb, var(--superficie) 30%, transparent); color:var(--tinta); text-align:left; cursor:pointer; font:inherit; overflow:hidden; isolation:isolate; transition:border-color .3s, background-color .3s, transform .45s var(--e); }
.sel::before { content:''; position:absolute; right:-26px; bottom:-18px; width:96px; height:140px; background:var(--acento); opacity:.07; transform:skewX(-33deg); z-index:-1; transition:opacity .4s, transform .6s var(--e); }
.sel:hover { border-color:color-mix(in srgb, var(--acento) 65%, transparent); transform:translateY(-4px); }
.sel:hover::before { opacity:.16; transform:skewX(-33deg) translateX(-10px); }
.sel .ico { width:46px; height:46px; color:var(--acento); margin-bottom:14px; }
.sel b { font:700 1.2rem var(--fuente-display); line-height:1.1; }
.sel small { color:var(--tinta-suave); font-size:.85rem; font-weight:300; line-height:1.4; }
.sel-n { margin-top:auto; padding-top:12px; font:600 .75rem var(--fuente-texto); letter-spacing:.2em; text-transform:uppercase; color:var(--acento); }
.sel[aria-pressed="true"] { border-color:var(--acento); background:color-mix(in srgb, var(--acento) 13%, transparent); box-shadow:0 0 44px color-mix(in srgb, var(--acento) 16%, transparent); }
.sel[aria-pressed="true"]::before { opacity:.22; }
.sel-todos { margin-top:18px; }
.sel-todos[hidden] { display:none !important; }
.fichas { display:grid; gap:28px; margin-top:8px; }
.ficha { position:relative; display:grid; gap:12px; padding:12px; border:1px solid color-mix(in srgb, var(--acento) 32%, var(--linea)); border-radius:var(--radio-m); background:linear-gradient(160deg, color-mix(in srgb, var(--superficie-alta) 55%, transparent), color-mix(in srgb, var(--superficie) 22%, transparent)); transition:border-color .3s, box-shadow .5s; }
.ficha[data-sel="1"] { border-color:var(--acento); box-shadow:0 0 70px color-mix(in srgb, var(--acento) 18%, transparent); }
@media (min-width:1000px) { .ficha { grid-template-columns:minmax(320px, 5fr) 7fr; } }
.ficha-poster { position:relative; min-height:440px; border-radius:var(--radio-s); overflow:hidden; isolation:isolate; display:flex; flex-direction:column; justify-content:space-between; padding:20px; }
.ficha-poster > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1.4s var(--e); }
.ficha:hover .ficha-poster > img { transform:scale(1.05); }
.ficha-poster::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top, var(--fondo-profundo) 6%, color-mix(in srgb, var(--fondo-profundo) 62%, transparent) 40%, transparent 74%), linear-gradient(115deg, color-mix(in srgb, var(--superficie) 62%, transparent) 0%, transparent 58%); }
.ficha-poster::after { content:''; position:absolute; left:-30px; bottom:-30px; width:120px; height:190px; background:var(--acento); opacity:.9; transform:skewX(-33deg); z-index:-1; clip-path:inset(86% 0 0 0); }
.poster-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.poster-num { font:700 .85rem var(--fuente-display); letter-spacing:.14em; color:var(--acento); }
.poster-top .etiqueta { background:color-mix(in srgb, var(--fondo-profundo) 60%, transparent); }
.poster-pie { display:grid; gap:2px; justify-items:start; }
.poster-nombre { font:700 clamp(2.8rem, 5.4vw, 4.6rem) var(--fuente-display); line-height:.9; letter-spacing:-.025em; text-transform:uppercase; margin:0 0 14px; }
.poster-nombre span { display:block; }
.poster-nombre span:last-child { color:var(--acento); }
.poster-meta { display:flex; flex-wrap:wrap; gap:4px 16px; margin:0; font:600 .7rem var(--fuente-texto); letter-spacing:.16em; text-transform:uppercase; color:var(--tinta-suave); }
.poster-play { display:inline-flex; align-items:center; gap:12px; margin-top:18px; min-height:48px; padding:0 20px 0 8px; background:color-mix(in srgb, var(--fondo-profundo) 62%, transparent); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:var(--tinta); border:1px solid var(--linea-fuerte); border-radius:999px; font:600 .78rem var(--fuente-display); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:border-color .25s, color .25s; }
.poster-play .pp-ico { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--acento); color:var(--tinta-invertida); font-size:.8rem; padding-left:3px; transition:transform .35s var(--e); }
.poster-play:hover { border-color:var(--acento); color:var(--acento); }
.poster-play:hover .pp-ico { transform:scale(1.12); }
.ficha-mods { display:grid; gap:12px; align-content:start; }
.ficha-cols { display:grid; gap:12px; }
@media (min-width:760px) { .ficha-cols { grid-template-columns:1fr 1fr; } }
.mod { position:relative; padding:20px; border:1px solid var(--linea); border-radius:var(--radio-s); background:color-mix(in srgb, var(--fondo-profundo) 52%, transparent); overflow:hidden; }
.mod-t { display:flex; align-items:center; gap:10px; margin:0 0 16px; font:600 .75rem var(--fuente-texto); letter-spacing:.24em; text-transform:uppercase; color:var(--acento); }
.mod-t::before { content:''; width:6px; height:11px; background:var(--acento); transform:skewX(-33deg); }
.habil { display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; }
@media (min-width:560px) { .habil { grid-template-columns:repeat(4, 1fr); } }
.habil a { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:14px; min-height:118px; padding:16px 14px 14px; border:1px solid var(--linea); border-radius:var(--radio-s); background:color-mix(in srgb, var(--superficie) 40%, transparent); color:var(--tinta); text-decoration:none; transition:border-color .3s, background-color .3s, transform .45s var(--e); }
.habil a:hover { border-color:var(--acento); background:color-mix(in srgb, var(--acento) 10%, transparent); transform:translateY(-3px); color:var(--tinta); }
.habil .ico { width:38px; height:38px; color:var(--acento); }
.habil b { margin-top:auto; font:700 .92rem var(--fuente-display); line-height:1.15; }
.habil .ok { position:absolute; top:10px; right:10px; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--positivo); color:var(--tinta-invertida); }
.habil .ok .ico-ok { width:13px; height:13px; stroke-width:4; }
.cob { display:grid; grid-template-columns:104px 1fr; gap:16px; align-items:center; }
.cob b { display:block; font:700 1.35rem var(--fuente-display); line-height:1.08; margin-bottom:4px; }
.cob small { display:block; color:var(--tinta-suave); margin-bottom:10px; }
.cob a { font-size:var(--texto-sm); }
.rep { display:grid; gap:14px; }
.rep-b { display:flex; gap:14px; align-items:flex-start; }
.rep-b .ico { width:36px; height:36px; flex:none; color:var(--acento); }
.rep-b b { display:block; font:700 1.05rem var(--fuente-display); }
.rep-b p { margin:2px 0 0; color:var(--tinta-suave); font-size:.88rem; font-weight:300; }
.temas { display:grid; gap:8px; margin-top:18px; padding-top:16px; border-top:1px solid var(--linea); }
.tema { display:grid; grid-template-columns:84px 1fr auto; gap:12px; align-items:center; padding:6px 12px 6px 6px; border:1px solid var(--linea); border-radius:var(--radio-s); background:transparent; color:var(--tinta); text-align:left; cursor:pointer; font:inherit; transition:border-color .25s, background-color .25s; }
.tema:hover { border-color:var(--acento); background:color-mix(in srgb, var(--acento) 7%, transparent); }
.tema-img { display:block; aspect-ratio:16/9; overflow:hidden; border-radius:3px; background:var(--fondo-profundo); }
.tema-img img { width:100%; height:100%; object-fit:cover; transform:scale(1.32); }
.tema-txt b { display:block; font:700 .95rem var(--fuente-display); line-height:1.15; }
.tema-txt small { color:var(--tinta-suave); font-size:.78rem; }
.tema-play { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; border:1px solid var(--acento); color:var(--acento); font-size:.65rem; padding-left:2px; }
.ficha-cta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px; padding:16px 20px; border:1px solid color-mix(in srgb, var(--acento) 45%, transparent); border-radius:var(--radio-s); background:color-mix(in srgb, var(--acento) 8%, transparent); }
.ficha-cta p { margin:0; max-width:46ch; font-size:.92rem; color:var(--tinta-suave); }
.btn[aria-pressed="true"][data-agregar] { background:transparent; color:var(--acento); border-color:var(--acento); }
.btn[aria-pressed="true"][data-agregar]::before { display:none; }
.propuesta { display:flex; flex-wrap:wrap; align-items:center; gap:18px 28px; margin-top:28px; padding:28px; border:1px dashed var(--linea-fuerte); border-radius:var(--radio-m); transition:border-color .3s, background-color .3s; }
.propuesta[data-sel="1"] { border-style:solid; border-color:var(--acento); background:color-mix(in srgb, var(--acento) 8%, transparent); }
.propuesta-ico { display:grid; place-items:center; width:68px; height:68px; border-radius:50%; border:1px solid var(--acento); color:var(--acento); flex:none; }
.propuesta-ico .ico { width:34px; height:34px; }
.propuesta > div:nth-child(2) { flex:1 1 320px; }
.propuesta h3 { font:700 1.5rem var(--fuente-display); margin:0 0 4px; }
.propuesta p { margin:0; color:var(--tinta-suave); }
.vacio { margin-bottom:24px; padding:30px; border:1px solid color-mix(in srgb, var(--acento) 40%, transparent); border-radius:var(--radio-m); background:color-mix(in srgb, var(--acento) 6%, transparent); }
.vacio h3 { font:700 1.5rem var(--fuente-display); margin:0 0 6px; }
.vacio p { margin:0; }
.minis { display:grid; gap:16px; margin-bottom:8px; }
@media (min-width:900px) { .minis { grid-template-columns:repeat(2, 1fr); } }
.mini { display:grid; grid-template-columns:minmax(120px, 38%) 1fr; border:1px solid var(--linea); border-radius:var(--radio-m); overflow:hidden; background:color-mix(in srgb, var(--superficie) 28%, transparent); transition:border-color .3s; }
.mini:hover { border-color:color-mix(in srgb, var(--acento) 60%, transparent); }
.mini-foto { position:relative; display:block; min-height:220px; overflow:hidden; }
.mini-foto img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--e); }
.mini:hover .mini-foto img { transform:scale(1.06); }
.mini-cuerpo { display:flex; flex-direction:column; gap:10px; padding:20px; align-items:flex-start; }
.mini-cuerpo h3 { margin:0; font:700 1.6rem var(--fuente-display); line-height:1.05; }
.mini-cuerpo h3 a { color:var(--tinta); text-decoration:none; }
.mini-cuerpo h3 a:hover { color:var(--acento); }
.mini-hab { display:flex; flex-wrap:wrap; gap:6px 14px; list-style:none; margin:0; padding:0; }
.mini-hab li { display:flex; align-items:center; gap:6px; margin:0; font-size:.78rem; color:var(--tinta-suave); }
.mini-hab .ico { width:20px; height:20px; color:var(--acento); }
.mini-nota { margin:0; font-size:.85rem; color:var(--tinta-suave); font-weight:300; }
.mini .btn { margin-top:auto; }
@media (max-width:560px) { .mini { grid-template-columns:1fr; } .mini-foto { min-height:180px; } }
.mapa { width:100%; height:auto; overflow:visible; }
.mapa .mar { fill:color-mix(in srgb, var(--superficie) 50%, transparent); }
.mapa .costa { fill:none; stroke:color-mix(in srgb, var(--acento) 45%, transparent); stroke-width:1.5; }
.mapa .mar-t { font:600 8px var(--fuente-texto); letter-spacing:.3em; fill:var(--tinta-suave); opacity:.7; }
.mapa .zona-m path { fill:color-mix(in srgb, var(--acento) 10%, transparent); stroke:color-mix(in srgb, var(--acento) 55%, transparent); stroke-width:1.5; stroke-linejoin:round; transition:fill .3s; }
.mapa .zona-m:hover path { fill:color-mix(in srgb, var(--acento) 26%, transparent); }
.mapa .pin { fill:var(--acento); }
.mapa .onda { fill:none; stroke:var(--acento); stroke-width:1.5; transform-box:fill-box; transform-origin:center; animation:onda 2.8s ease-out infinite; animation-delay:calc(var(--i) * .5s); }
@keyframes onda { 0% { transform:scale(1); opacity:.9; } 100% { transform:scale(4.4); opacity:0; } }
.mapa .zl { font:700 10px var(--fuente-display); letter-spacing:.14em; fill:var(--tinta); }
.mapa .zn { font:700 9px var(--fuente-display); letter-spacing:.14em; fill:var(--acento); }
.mapa-mini .zl, .mapa-mini .zn, .mapa-mini .mar-t { display:none; }
.mapa-mini .zona-m path { stroke-width:3; }
.mapa-mini .pin { r:9; }
.mapa-mini .onda { display:none; }
.cob-grid { display:grid; gap:48px; }
@media (min-width:960px) { .cob-grid { grid-template-columns:minmax(300px, 5fr) 7fr; gap:72px; align-items:start; } .cob-mapa { position:sticky; top:100px; } }
.cob-mapa .mapa { max-width:420px; }
.zonas { display:grid; gap:0; border-top:1px solid var(--linea); }
.zona { padding:26px 0; border-bottom:1px solid var(--linea); }
.zona h3 { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 14px; margin:0 0 14px; font:700 1.5rem var(--fuente-display); }
.zona h3 .n { font-size:.8rem; letter-spacing:.14em; color:var(--acento); }
.zona h3 small { font:600 .7rem var(--fuente-texto); letter-spacing:.18em; text-transform:uppercase; color:var(--tinta-suave); }
.distritos { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.distritos li { margin:0; padding:6px 14px; border:1px solid var(--linea); border-radius:999px; font-size:.85rem; color:var(--tinta); background:color-mix(in srgb, var(--superficie) 28%, transparent); }
.sol-grid { display:grid; gap:36px; }
@media (min-width:1000px) { .sol-grid { grid-template-columns:5fr 7fr; gap:64px; align-items:start; } .sol-izq { position:sticky; top:100px; } }
.panel-t { display:flex; align-items:center; gap:10px; font:700 1.3rem var(--fuente-display); margin:0 0 14px; }
.solicitud .panel { border:1px solid var(--linea); border-radius:var(--radio-m); padding:28px; background:color-mix(in srgb, var(--superficie) 50%, transparent); }
.contador { display:inline-grid; place-items:center; min-width:30px; height:30px; padding:0 8px; border-radius:999px; background:var(--acento); color:var(--tinta-invertida); font:700 .85rem var(--fuente-display); }
.sol-lista { list-style:none; padding:0; margin:0 0 22px; }
.sol-lista li { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px 0; border-bottom:1px solid var(--linea); margin:0; font:700 1.1rem var(--fuente-display); }
.sol-lista button { min-height:40px; padding:0 14px; background:transparent; color:var(--tinta-suave); border:1px solid var(--linea-fuerte); border-radius:var(--radio-s); cursor:pointer; font:600 .75rem var(--fuente-texto); }
.sol-lista button:hover { border-color:var(--acento); color:var(--acento); }
.sol-sigue { list-style:none; margin:28px 0 0; padding:0; display:grid; gap:0; counter-reset:s; }
.sol-sigue li { counter-increment:s; position:relative; display:grid; gap:2px; margin:0; padding:14px 0 14px 46px; border-top:1px solid var(--linea); color:var(--tinta-suave); font-size:.92rem; font-weight:300; }
.sol-sigue li::before { content:counter(s); position:absolute; left:0; top:14px; display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--acento); border-radius:50%; font:700 .8rem var(--fuente-display); color:var(--acento); }
.sol-sigue b { font:600 .75rem var(--fuente-texto); letter-spacing:.2em; text-transform:uppercase; color:var(--acento); }
.solicitud .acciones .btn { flex:1 1 220px; }
.barra-solicitud { position:fixed; left:50%; translate:-50% 0; bottom:14px; z-index:90; display:none; align-items:center; justify-content:space-between; gap:16px; width:min(560px, calc(100% - 24px)); padding:10px 12px 10px 20px; background:var(--nav-fondo); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border:1px solid var(--acento); border-radius:999px; box-shadow:0 10px 40px rgba(10, 6, 15, .6); }
.barra-solicitud.activa { display:flex; }
.barra-solicitud.oculta { display:none !important; }
.barra-solicitud strong { font:700 .95rem var(--fuente-display); }
.rango { margin-left:54px; max-width:520px; }
.rango-valor { display:flex; align-items:baseline; gap:14px; margin-bottom:10px; }
.rango-valor output { font:700 2.6rem var(--fuente-display); color:var(--acento); letter-spacing:-.02em; line-height:1; }
.rango-valor span { color:var(--tinta-suave); font-size:.9rem; }
input[type=range].barra { -webkit-appearance:none; appearance:none; width:100%; min-height:44px; padding:0; border:0; background:transparent; cursor:pointer; }
.barra::-webkit-slider-runnable-track { height:4px; border-radius:2px; background:linear-gradient(to right, var(--acento) 0, var(--acento) var(--p, 30%), var(--linea-fuerte) var(--p, 30%), var(--linea-fuerte) 100%); }
.barra::-webkit-slider-thumb { -webkit-appearance:none; width:30px; height:30px; margin-top:-13px; border-radius:50%; background:var(--acento); border:4px solid var(--fondo); box-shadow:0 0 0 1px var(--acento); }
.barra::-moz-range-track { height:4px; border-radius:2px; background:var(--linea-fuerte); }
.barra::-moz-range-progress { height:4px; border-radius:2px; background:var(--acento); }
.barra::-moz-range-thumb { width:22px; height:22px; border-radius:50%; background:var(--acento); border:4px solid var(--fondo); }
.marcas { display:flex; justify-content:space-between; margin-top:0; font-size:.75rem; color:var(--tinta-suave); }
@media (max-width:639px) { .rango { margin-left:0; } }
.centrado { text-align:center; margin-inline:auto; }
.mt-0 { margin-top:0; }
html.quieto *, html.quieto *::before, html.quieto *::after { transition:none !important; animation:none !important; }
html.quieto [data-rev], html.quieto .lr > span { opacity:1 !important; transform:none !important; }
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior:auto; }
* { transition:none !important; animation:none !important; }
.js [data-rev], .js .lr > span { opacity:1 !important; transform:none !important; }
}
@media print {
body { background:#fff; color:#000; }
.aviso, .cabecera, .pie, .calc-pasos, .acciones, .cierre, .saltar, .menu-boton, .grano { display:none !important; }
.calc { display:block; }
.calc-res .panel { border:0; padding:0; background:transparent; color:#000; }
.calc-res * { color:#000 !important; }
}
.ficha-poster.con-marco { justify-content:flex-start; gap:20px; background:radial-gradient(ellipse at 20% 0%, color-mix(in srgb, var(--superficie-alta) 90%, transparent) 0%, var(--fondo-profundo) 70%); }
.ficha-poster.con-marco::before { display:none; }
.poster-marco { position:relative; display:block; width:100%; padding:0; border:0; cursor:pointer; aspect-ratio:16/9; overflow:hidden; background:var(--fondo-profundo); clip-path:polygon(7% 0, 100% 0, 93% 100%, 0 100%); }
.poster-marco img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--e); }
.poster-marco:hover img { transform:scale(1.05); }
.poster-marco .play { left:26px; top:auto; bottom:14px; translate:0 0; }
.poster-marco .play span { width:46px; height:46px; font-size:.95rem; padding-left:3px; }
.poster-marco:hover .play span { transform:scale(1.1); border-color:var(--acento); color:var(--acento); }
.poster-marco .duracion { right:26px; }
.ficha-poster.con-marco .poster-pie { margin-top:auto; }
.eq-poster { position:absolute; right:14px; bottom:0; height:52%; opacity:.4; z-index:-1; gap:5px; }
.eq-poster i { width:13px; }
.portada-ev .eq { bottom:96px; height:min(56vh, 470px); }
@media (max-width:700px) { .portada-ev .eq { bottom:80px; } }
.mini.sin-foto { grid-template-columns:1fr; }
.mini.sin-foto .mini-foto { min-height:0; aspect-ratio:16/9; }
.mini.sin-foto .mini-cuerpo h3 { font-size:1.9rem; }
.eq-home { display:none; }
@media (min-width:1000px) { .eq-home { display:flex; top:120px; bottom:auto; right:3vw; height:430px; opacity:.95; } }
@media (max-width:1099px) { .ficha-poster { min-height:0; } .ficha-poster:not(.con-marco) { min-height:420px; } .ficha-poster.con-marco .poster-pie { margin-top:6px; } }
.minis .mini, .mini { max-width:640px; }
.pie li { margin-bottom:0; }
.pie li a, .pie li > span { display:inline-flex; align-items:center; min-height:44px; }
.migas a, .migas span[aria-current] { display:inline-flex; align-items:center; min-height:44px; }
.migas ol { gap:0 10px; }
.trabajo-info a, .cob a, .tarjeta .go, .mosaico-cab a { display:inline-flex; align-items:center; min-height:44px; }
.mini-cuerpo h3 a { display:inline-block; padding-block:6px; }
.lista-corta a, .nota a { display:inline-block; padding-block:10px; }
.pie-fin a { display:inline-flex; align-items:center; min-height:44px; }
.marq-pista span::after { content:attr(data-t); }
.js .portada-int .contenedor > [data-rev], .js .hero .contenedor > .kicker[data-rev], .js .hero .bajada[data-rev], .js .hero .acciones[data-rev] { opacity:1; }
.lr > span { transition-duration:.85s; }
.sel b { overflow-wrap:anywhere; hyphens:auto; }
@media (max-width:520px) { .sel { padding:18px 14px 16px; } .sel b { font-size:1.05rem; } }
.tarjeta.promo { background:linear-gradient(160deg, color-mix(in srgb, var(--acento) 9%, transparent) 0%, color-mix(in srgb, var(--superficie) 34%, transparent) 62%); border-color:color-mix(in srgb, var(--acento) 34%, var(--linea)); }
.tarjeta .etiqueta { margin-bottom:8px; }
.tarjeta p.precio { margin:4px 0 8px; font:700 clamp(2.4rem, 4vw, 3.2rem) var(--fuente-display); color:var(--acento); line-height:1; letter-spacing:-.02em; }
.tarjeta p.precio small { font:400 .9rem var(--fuente-texto); color:var(--tinta-suave); letter-spacing:0; }
.tarjeta.promo-medida { border-style:dashed; border-color:var(--linea-fuerte); background:transparent; justify-content:center; }
.tarjeta.promo-medida h3 { font:700 1.6rem var(--fuente-display); }
.sprite { position:absolute; width:0; height:0; overflow:hidden; }
.b { display:block; width:100%; height:auto; color:var(--tinta); fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; filter:url(#boceto); overflow:visible; }
.b-fr { stroke-width:1.2; opacity:.5; }
.b-ll { opacity:.38; stroke-dasharray:3 3; stroke-width:1.2; }
.b-ac { stroke:var(--acento); }
.mv { width:20px; height:20px; fill:none; stroke:var(--acento); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.opcion-grande .boceto-card { display:block; width:100%; margin-bottom:12px; padding:4px; border-radius:var(--radio-s); background:color-mix(in srgb, var(--fondo-profundo) 70%, transparent); transition:background-color .3s; }
.opcion-grande:hover .boceto-card, .opcion-grande[aria-pressed="true"] .boceto-card { background:color-mix(in srgb, var(--acento) 10%, var(--fondo-profundo)); }
.opcion-grande { min-height:0; }
.opciones-grandes.moods { grid-template-columns:repeat(2, 1fr); }
@media (min-width:700px) { .opciones-grandes.moods { grid-template-columns:repeat(3, 1fr); } }
.opcion-mood { display:flex; flex-direction:column; align-items:stretch; padding:0; overflow:hidden; border-radius:var(--radio-m); text-align:left; min-height:0; letter-spacing:0; }
.mood-vista { display:block; background:var(--p1); border-bottom:1px solid var(--linea); }
.mood-vista .b { transition:transform 1s var(--e); }
.opcion-mood:hover .mood-vista .b { transform:scale(1.05); }
.mood-vista { overflow:hidden; }
.mood-info { display:grid; gap:4px; padding:12px 14px 14px; }
.mood-info b { font:700 1.05rem var(--fuente-display); }
.mood-info .d { font:300 .82rem var(--fuente-texto); color:var(--tinta-suave); line-height:1.35; }
.mood-pal { display:flex; gap:5px; margin-top:6px; }
.mood-pal i { width:18px; height:18px; border-radius:50%; border:1px solid var(--linea-fuerte); }
.mood-pal i:nth-child(1) { background:var(--p1); } .mood-pal i:nth-child(2) { background:var(--p2); } .mood-pal i:nth-child(3) { background:var(--p3); } .mood-pal i:nth-child(4) { background:var(--p4); }
.opcion-mood[aria-pressed="true"] { background:color-mix(in srgb, var(--acento) 12%, transparent); border-color:var(--acento); box-shadow:0 0 36px color-mix(in srgb, var(--acento) 16%, transparent); color:var(--tinta); }
.opcion-mood[aria-pressed="true"] .d { color:var(--tinta); }
.r-vista { position:relative; margin:0 0 22px; border-radius:var(--radio-s); overflow:hidden; background:var(--p1); border:1px solid var(--linea); }
.r-vista-lugar { position:absolute; right:8px; bottom:30px; width:34%; padding:3px; border-radius:var(--radio-s); background:color-mix(in srgb, var(--fondo-profundo) 82%, transparent); border:1px solid var(--linea-fuerte); }
.r-vista figcaption, .r-vista > figcaption { position:absolute; left:0; right:0; bottom:0; padding:18px 12px 8px; background:linear-gradient(to top, color-mix(in srgb, var(--fondo-profundo) 90%, transparent), transparent); font:600 .75rem var(--fuente-texto); letter-spacing:.16em; text-transform:uppercase; color:var(--tinta); }
.plan li { grid-template-columns:118px 1fr; gap:4px 14px; padding:12px 0; align-items:start; }
.plan .bz { position:relative; display:block; border-radius:var(--radio-s); background:color-mix(in srgb, var(--fondo-profundo) 75%, transparent); padding:2px; }
.plan .bz .mv { position:absolute; right:5px; top:5px; width:15px; height:15px; background:color-mix(in srgb, var(--fondo-profundo) 80%, transparent); border-radius:3px; padding:1px; }
.plan .pt { display:grid; gap:2px; }
.plan .pt .t { font:600 .8rem var(--fuente-display); color:var(--acento); padding-top:0; }
.plan .pt small { grid-column:auto; margin-top:2px; }
.guia li.con-boceto { display:grid; grid-template-columns:62px 1fr; gap:4px 14px; align-items:start; }
.guia li.con-boceto .b { width:62px; grid-row:1 / span 2; }
.guia li.con-boceto b { grid-column:2; }
.guia li.con-boceto span { grid-column:2; }
.hero-enlace { margin:18px 0 0; }
.hero-enlace a { display:inline-flex; align-items:center; min-height:44px; font:600 .85rem var(--fuente-display); letter-spacing:.1em; text-transform:uppercase; color:var(--acento); text-decoration:none; border-bottom:1px solid color-mix(in srgb, var(--acento) 50%, transparent); }
.hero-enlace a:hover { color:var(--acento-hover); border-bottom-color:var(--acento-hover); }
.afiliate { position:relative; overflow:hidden; background:var(--fondo-profundo); border-top:1px solid color-mix(in srgb, var(--acento) 40%, transparent); }
.afiliate .eq { display:flex; right:-2%; top:40px; bottom:auto; height:360px; opacity:.2; }
.af-grid { position:relative; z-index:1; display:grid; gap:48px; }
@media (min-width:1000px) { .af-grid { grid-template-columns:5fr 6fr; gap:72px; align-items:start; } }
.afiliate h2 { font-size:clamp(2.2rem, 5.4vw, 4.2rem); }
.lead-af { max-width:46ch; color:var(--tinta-suave); font-size:1.12rem; font-weight:300; margin-bottom:8px; }
.af-beneficios { list-style:none; padding:0; margin:28px 0 22px; counter-reset:b; }
.af-beneficios li { counter-increment:b; position:relative; display:grid; gap:2px; margin:0; padding:18px 0 18px 54px; border-top:1px solid var(--linea); }
.af-beneficios li:last-child { border-bottom:1px solid var(--linea); }
.af-beneficios li::before { content:'0' counter(b); position:absolute; left:0; top:20px; font:700 .85rem var(--fuente-display); letter-spacing:.14em; color:var(--acento); }
.af-beneficios b { font:700 1.15rem var(--fuente-display); }
.af-beneficios span { color:var(--tinta-suave); font-weight:300; font-size:.95rem; }
.af-panel { padding:30px; border:1px solid color-mix(in srgb, var(--acento) 36%, var(--linea)); border-radius:var(--radio-m); background:linear-gradient(160deg, color-mix(in srgb, var(--superficie-alta) 55%, transparent), color-mix(in srgb, var(--superficie) 28%, transparent)); }
.af-panel h3 { font:700 1.5rem var(--fuente-display); margin:0 0 18px; }
.af-panel .formulario { max-width:none; }
.prosa { max-width:780px; margin-inline:auto; }
.prosa h2 { margin:64px 0 18px; font-size:clamp(1.5rem, 3vw, 2rem); }
.prosa > .respuesta + h2 { margin-top:56px; }
.prosa p { max-width:68ch; }
.prosa .lista-corta, .prosa .tabla-envoltura, .prosa .pasos, .prosa .faq { margin-top:8px; }
.prosa .pasos li::before { margin-bottom:14px; }
.prosa .tabla td:last-child { font-size:1rem; }
.prosa a { color:var(--acento); text-underline-offset:3px; }
.respuesta { border:1px solid color-mix(in srgb, var(--acento) 34%, var(--linea)); border-radius:var(--radio-m); padding:26px 28px; background:linear-gradient(160deg, color-mix(in srgb, var(--acento) 9%, transparent) 0%, color-mix(in srgb, var(--superficie) 34%, transparent) 70%); }
.respuesta .micro { margin:0 0 10px; color:var(--acento); }
.respuesta p:last-child { margin:0; font-size:1.1rem; font-weight:400; }
.prosa .nota { line-height:1.6; font-size:.85rem; }
.prosa .pasos { grid-template-columns:1fr; }
.prosa .pasos li { padding:18px 22px; }
.prosa .pasos li::before { display:inline-block; margin:0 16px 0 0; }
