/* Inhoome · dirección «Casa con luz» (guía aprobada 19-10-2026, tokens en guia/tokens.css). Propuesta A1plus, 22-10-2026.
   70 % arena · 20 % noche de casa · 10 % cian (paleta v2 del 22-10-2026: el cian del logo reemplaza al coral). El cian vivo solo en
   logo, íconos e ilustración (nunca texto chico sobre arena). Movimiento: 400 ms, cubic-bezier(.3,.8,.3,1). */
:root{
  --arena:#FFF8EE;--arena-2:#F5EADB;--blanco:#FFFFFF;--linea:#E9DCCA;
  --tinta:#10262D;--tinta-2:#4A5B60;--noche:#0F2A33;--noche-2:#163844;--noche-3:#1E4552;
  --cian:#00A6C0;--cian-osc:#00708C;--cian-accion:#0099B1;--luz:#FFC978;
  --accent:var(--cian-accion);--accent-2:var(--cian);--on-accent:var(--tinta);--second:var(--cian-osc);--band-accent:var(--cian);--cifra:var(--cian-osc);
  --band-muted:#B9C9CC;
  --fd:'Bricolage Grotesque',ui-sans-serif,system-ui,sans-serif;--ft:'Figtree',ui-sans-serif,system-ui,sans-serif;
  --r:24px;--r-s:14px;--pill:999px;
  --ease:cubic-bezier(.3,.8,.3,1);--dur:.4s;
  --pad:clamp(20px,4vw,56px);--max:1240px;
  --sombra:0 1px 2px rgba(16,38,45,.05),0 12px 32px -12px rgba(16,38,45,.16);
  --sombra-alta:0 2px 4px rgba(16,38,45,.06),0 28px 60px -20px rgba(16,38,45,.28);
  --nav:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav) + 16px)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--arena);color:var(--tinta);font:400 var(--t1)/1.6 var(--ft);font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:var(--cian-osc);text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.banda :focus-visible,.pie :focus-visible{outline-color:var(--luz)}
::selection{background:var(--accent);color:var(--tinta)}
.salto{position:absolute;left:12px;top:-60px;z-index:200;background:var(--tinta);color:var(--arena);padding:12px 18px;border-radius:var(--pill);font-weight:600;text-decoration:none}
.salto:focus{top:12px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:var(--ease)}

/* ── Tipografía ─────────────────────────────────────────── */
.d,h1,h2,h3{font-family:var(--fd);font-weight:700;letter-spacing:-.022em;margin:0;text-wrap:balance;font-optical-sizing:auto}
/* Escala fija 1,25 sobre el cuerpo de 17 px (t0…t8). Títulos h1/h2 siempre en 2 líneas: cada parte es un .t-l en bloque y el
   tamaño se calcula sobre el ancho de su columna (cqi) para que la parte más larga quepa en una línea en todos los anchos. */
:root{--tmh:12.2px;--t0:13.6px;--t0h:15.2px;--t1:17px;--t1h:19px;--t2:21.25px;--t2h:23.76px;--t3:26.56px;--t3h:29.7px;--t4:33.2px;--t4h:37.1px;--t5:41.5px;--t5h:46.4px;--t6:51.88px;--t6h:58px;--t7:64.85px;--t7h:72.5px;--t8:81.06px;--t9:101.3px;--t10:126.6px;--t11:158.3px;--t12:197.9px}
/* t0…t8 = pasos de 1,25; los «h» son medios pasos (√1,25) para interfaz; t9…t12, cifras grandes. Ningún tamaño suelto. */
.hero__copia,.cab-pag__in>div,.cab-art>.in,.cab-sec,.lado>div,.melissa>div,.final__in>div,.aviso>div,.articulo,.prosa,.fuentes,.no-hay>div{container-type:inline-size}
h1,.d-1{font-size:clamp(var(--t4),9.6cqi,var(--t7));line-height:1.04}
h2,.d-2{font-size:clamp(var(--t3),7.9cqi,var(--t5));line-height:1.06}
.t-l{display:block}
h1 .t-l+.t-l{color:var(--second)}
.banda h1 .t-l+.t-l{color:var(--band-accent)}
h3,.d-3{font-size:clamp(var(--t2),2vw,var(--t3));line-height:1.16;letter-spacing:-.012em}
p{margin:0 0 1em}
.lead{font-size:clamp(var(--t1h),1.6vw,var(--t2));line-height:1.55;color:var(--tinta-2);max-width:60ch}
/* jerarquía: párrafos sin viudas, medida de 60-72 caracteres en la lectura larga, cifras alineadas en tablas y contadores */
p,li,blockquote{text-wrap:pretty}
.articulo :is(p,ul,ol),.prosa :is(p,ul,ol){max-width:62ch}
table,.num,[data-cuenta],.cifra__n,.precio,.plan__precio{font-variant-numeric:lining-nums tabular-nums}
.banda .lead{color:var(--band-muted)}
.eti{display:inline-flex;align-items:center;gap:10px;font:600 var(--tmh)/1.3 var(--ft);letter-spacing:.16em;text-transform:uppercase;color:var(--cian-osc);margin:0 0 18px}
.eti::before{content:"";width:22px;height:12px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 12'%3E%3Cpath d='M2 10.5 11 2.5l9 8' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 12'%3E%3Cpath d='M2 10.5 11 2.5l9 8' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.banda .eti{color:var(--cian)}
.num{font-variant-numeric:tabular-nums lining-nums}
mark.m{background:none;color:inherit;background-image:linear-gradient(transparent 62%,rgba(0,153,177,.32) 62%);padding:0 .06em}

/* máscara de SplitText: el interlineado < 1,1 corta g/y/p; se da aire abajo y se compensa */
.ln-mask{padding-bottom:.14em;margin-bottom:-.14em}

/* ── Estructura ─────────────────────────────────────────── */
.in{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.sec{padding:clamp(72px,10vw,136px) 0}
.sec.ajustada{padding:clamp(56px,7vw,96px) 0}
.sec.arena-2{background:var(--arena-2)}
.sec.blanco{background:var(--blanco)}
.banda{background:var(--noche);color:var(--arena)}
.banda a{color:var(--cian)}
.banda a.btn,.art-cta a.btn,.aviso a.btn{color:var(--tinta)}
.cab-sec{display:grid;gap:18px;margin-bottom:clamp(36px,5vw,64px);max-width:820px}
/* encabezado de sección con imagen o diagrama al lado */
.cab-lado{display:grid;gap:clamp(24px,4vw,56px);align-items:center;margin-bottom:clamp(36px,5vw,64px)}
.cab-lado>.cab-sec{margin-bottom:0}
@media (min-width:900px){.cab-lado{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.cab-lado__vis{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--arena-2);box-shadow:var(--sombra)}
.cab-lado__vis img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.cab-lado__vis--diag{aspect-ratio:auto;background:var(--noche);box-shadow:var(--sombra-alta);padding:clamp(14px,2vw,26px);display:grid;place-items:center}
.cab-lado__vis--diag svg{width:100%;height:auto}
.camino__foto{aspect-ratio:16/10;margin:-8px -8px 18px;border-radius:16px;overflow:hidden;background:var(--arena-2)}
.camino__foto img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);transition:transform .6s var(--ease)}
.cab-sec.centro{margin-inline:auto;text-align:center;justify-items:center}
.cab-sec h2{margin:0}
.cab-sec .lead{margin:0}
.rejilla{display:grid;gap:clamp(16px,2vw,24px)}
@media (min-width:768px){.r-2{grid-template-columns:repeat(2,minmax(0,1fr))}.r-3{grid-template-columns:repeat(2,minmax(0,1fr))}.r-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.r-3{grid-template-columns:repeat(3,minmax(0,1fr))}.r-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ── Botones ────────────────────────────────────────────── */
.btn{--b:var(--accent);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 24px;border-radius:var(--pill);border:0;background:var(--b);color:var(--tinta);font:600 var(--t0h)/1.15 var(--ft);letter-spacing:.005em;text-decoration:none;cursor:pointer;white-space:nowrap;box-shadow:0 8px 22px -10px rgba(0,153,177,.75);transition:transform .2s var(--ease),box-shadow .2s var(--ease),background-color .2s}
.btn:hover{background:var(--accent-2);text-decoration:none}
.btn:active{transform:translateY(0) scale(.98)}
.btn svg{width:20px;height:20px;flex:none}
.btn-2{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:13px 22px;border-radius:var(--pill);border:1.5px solid currentColor;color:var(--tinta);background:transparent;font:600 var(--t0h)/1.15 var(--ft);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s,transform .2s var(--ease)}
.btn-2:hover{background:var(--tinta);color:var(--arena);border-color:var(--tinta);text-decoration:none}
.btn-2:active,.escena-btn:active,.filtros button:active,.planes-tabs button:active,.opciones label:active{transform:scale(.97)}
.banda .btn-2{color:var(--arena)}
.banda .btn-2:hover{background:var(--arena);color:var(--noche);border-color:var(--arena)}
.btn-2 svg{width:18px;height:18px}
.btn-3{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--cian-osc);text-decoration:none}
.btn-3::after{content:"→";transition:transform var(--dur) var(--ease)}
.btn-3:hover{text-decoration:underline}
.btn-3:hover::after{transform:translateX(4px)}
.banda .btn-3{color:var(--cian)}
.acciones{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn.bloque,.btn-2.bloque{width:100%}

/* ── Barra superior ─────────────────────────────────────── */
.barra{position:sticky;top:0;z-index:60;height:var(--nav);transition:background-color .3s,box-shadow .3s,transform .4s var(--ease)}
.barra.sobre-hero{position:fixed;left:0;right:0}
.barra::before{content:"";position:absolute;inset:0;background:rgba(255,248,238,.86);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(233,220,202,.9);opacity:1;transition:opacity .3s}
.barra.transparente::before{opacity:0}
.barra.oscura{color:var(--arena)}
.barra.oscura .barra__links a,.barra.oscura .idioma a,.barra.oscura .idioma span{color:var(--arena)}
.barra.oscura .barra__menu{color:var(--arena);border-color:rgba(255,248,238,.5)}
.barra__in{position:relative;height:100%;display:flex;align-items:center;gap:20px;max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
/* en la home la barra va a sangre como el hero: el logo cae sobre el titular y WhatsApp sobre el borde de la foto */
.pag-inicio .barra__in{max-width:none}
.barra__logo{display:block;flex:none;width:128px;height:auto}
.barra__logo img{width:100%;height:auto}
.barra__logo .lg-claro{display:none}
.barra.oscura .barra__logo .lg-color{display:none}
.barra.oscura .barra__logo .lg-claro{display:block}
.barra__links{display:none;margin:0 0 0 auto;padding:0;list-style:none;gap:4px;align-items:center}
.barra__links a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--pill);color:var(--tinta);font-weight:500;font-size:var(--t0h);text-decoration:none;white-space:nowrap;transition:background-color .2s}
.barra__links a:hover{background:rgba(16,38,45,.06)}
.barra__links a[aria-current=page]{position:relative;font-weight:600}
.barra__links a[aria-current=page]::after{content:"";position:absolute;left:12px;right:12px;bottom:8px;height:2px;border-radius:2px;background:var(--accent)}
.barra__der{display:flex;align-items:center;gap:10px;margin-left:auto}
.idioma{display:flex;align-items:center;gap:2px;font-size:var(--t0);font-weight:600}
.idioma a,.idioma span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:44px;border-radius:var(--pill);text-decoration:none;color:var(--tinta);letter-spacing:.06em}
.idioma span{position:relative}
.idioma span::after{content:"";position:absolute;left:50%;bottom:9px;width:16px;height:2px;margin-left:-8px;border-radius:2px;background:var(--cian)}
.idioma a{opacity:.72}.idioma a:hover{opacity:1}
.idioma a:hover{background:rgba(16,38,45,.06)}
.barra .btn{min-height:44px;padding:10px 18px;font-size:var(--t0h)}
.barra__menu{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 14px;border-radius:var(--pill);border:1.5px solid rgba(16,38,45,.25);background:transparent;cursor:pointer;font-weight:600;font-size:var(--t0h);white-space:nowrap}
.barra__menu i{display:block;width:16px;height:10px;position:relative}
.barra__menu i::before,.barra__menu i::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease)}
.barra__menu i::before{top:0}.barra__menu i::after{bottom:0}
@media (min-width:1100px){.barra__links{display:flex}.barra__in>nav{margin-left:auto}.barra__der{margin-left:8px}.barra__menu{display:none}.barra__logo{width:136px}}
@media (max-width:767px){.barra .btn-wa-txt{display:none}.barra .btn{padding:10px 14px}.barra__logo{width:116px}.barra__in{gap:12px}}
@media (max-width:480px){.barra .idioma span{display:none}.barra__der{gap:8px}}
@media (max-width:374px){.barra .idioma{display:none}}

/* menú móvil */
.menu{position:fixed;inset:0;z-index:80;background:var(--noche);color:var(--arena);display:flex;flex-direction:column;padding:calc(var(--nav) + 8px) var(--pad) 28px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility 0s .3s}
.menu.abierto{opacity:1;visibility:visible;transition:opacity .3s var(--ease)}
.menu__cerrar{position:absolute;top:14px;right:var(--pad);min-width:44px;min-height:44px;border-radius:var(--pill);border:1.5px solid rgba(255,248,238,.35);background:transparent;color:var(--arena);cursor:pointer;font-weight:600;padding:0 16px}
.menu nav ul{list-style:none;margin:0;padding:0;display:grid}
.menu nav a{display:flex;align-items:center;justify-content:space-between;min-height:56px;color:var(--arena);font:700 clamp(var(--t2h),6vw,var(--t4))/1.1 var(--fd);letter-spacing:-.02em;text-decoration:none;border-bottom:1px solid rgba(255,248,238,.12);white-space:nowrap}
.menu nav a::after{content:"→";font:500 var(--t1h) var(--ft);color:var(--cian);transition:transform .3s var(--ease)}
.menu nav a:hover::after{transform:translateX(4px)}
.menu__pie{margin-top:auto;padding-top:28px;display:grid;gap:12px}
.menu__pie .idioma a,.menu__pie .idioma span{color:var(--arena)}
.menu__pie .btn-2{color:var(--arena)}

/* barra inferior de acción (móvil y tablet) */
.accion-fija{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;gap:10px;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));background:rgba(255,248,238,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--linea);transform:translateY(110%);transition:transform .45s var(--ease)}
.accion-fija.visible{transform:none}
.en-hero .accion-fija{transform:translateY(110%)}
.accion-fija .btn{flex:1;min-height:48px;font-size:var(--t0h)}
.accion-fija .btn-2{min-height:48px;padding:10px 18px;font-size:var(--t0h)}
@media (min-width:1100px){.accion-fija{display:none}}

/* ── Hero de la home: la casa de Doral ───────────────────── */
.hero{position:relative;background:var(--arena)}
.hero__pista{position:relative}
.js-hero .hero__pista{height:var(--pista,380vh)}
.hero__escenario{position:relative;height:100svh;min-height:600px;overflow:hidden}
.js-hero .hero__escenario{position:sticky;top:0}
.hero__marco{position:absolute;inset:0;overflow:hidden;background:linear-gradient(#C3D3DC,#E9E2D5 62%,#8C9A7E);clip-path:inset(var(--ct,0px) var(--cr,0px) var(--cb,0px) var(--cl,0px) round var(--cr0,0px));will-change:clip-path}
.esc{position:absolute;left:50%;top:50%;aspect-ratio:4/3;width:max(100%,calc(100svh * 4 / 3),800px);transform:translate(calc(-1 * var(--fx,50%)),-50%)}
.esc__capa{position:absolute;inset:0;will-change:transform}
.esc__capa img,.esc__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.esc__cielo{transform-origin:50% 0}
.esc__casa{transform-origin:52% 70%}
.esc__luz{position:absolute;inset:auto;opacity:0;will-change:opacity;mix-blend-mode:normal}
.esc__luz img{position:static;width:100%;height:100%;object-fit:fill}
.esc__frente{pointer-events:none;transform-origin:50% 100%}
.fp{position:absolute}
.fp img{position:absolute;inset:0;width:100%;height:100%}
.fp .fp__noche{opacity:var(--fn,0)}
.fp--izq{left:-1.5%;bottom:-3%;width:24%;aspect-ratio:.9697}
.fp--der{right:-1%;bottom:-3%;width:15%;aspect-ratio:1.0803}
.fp--palma{right:-3%;top:-6%;width:30%;aspect-ratio:1.1176}
.esc__sol{position:absolute;inset:0;background:radial-gradient(60% 55% at 0% 46%,rgba(255,196,120,.42),rgba(255,196,120,0) 70%);mix-blend-mode:soft-light;pointer-events:none}
.esc__noche{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,22,34,.0) 30%,rgba(7,22,34,.32) 100%);opacity:0;pointer-events:none}
.hero__velo{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(15,42,51,.55) 0%,rgba(15,42,51,0) 42%),linear-gradient(0deg,rgba(15,42,51,.45) 0%,rgba(15,42,51,0) 30%);opacity:var(--velo,0)}

/* marcadores de equipos */
.marca{position:absolute;transform:translate(-50%,-50%);z-index:3;display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .45s var(--ease)}
.marca.on{opacity:1;pointer-events:auto}
.marca.on.fuera{opacity:0;pointer-events:none}
.marca__punto{position:relative;width:18px;height:18px;border-radius:50%;background:var(--cian);box-shadow:0 0 0 4px rgba(0,166,192,.28),0 4px 14px rgba(0,0,0,.35)}
.marca__punto::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:1.5px solid rgba(0,166,192,.7);animation:onda 2.4s var(--ease) infinite}
@keyframes onda{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.5);opacity:0}}
.marca__txt{display:inline-flex;flex-direction:column;align-items:flex-start;padding:7px 14px 8px;border-radius:14px;background:rgba(255,248,238,.95);color:var(--tinta);font:600 var(--t0)/1.15 var(--ft);white-space:nowrap;box-shadow:0 10px 26px -10px rgba(0,0,0,.55);transform:translateX(-6px);opacity:0;transition:opacity .35s var(--ease),transform .45s var(--ease)}
.marca.on .marca__txt{opacity:1;transform:none}
.marca__txt small{font:500 var(--tmh)/1.2 var(--ft);color:var(--cian-osc)}
.marca.izq{flex-direction:row-reverse}
.marca.izq .marca__txt{transform:translateX(6px);align-items:flex-end}
.marca.activa .marca__punto{background:var(--accent);box-shadow:0 0 0 5px rgba(0,153,177,.3),0 4px 14px rgba(0,0,0,.35)}
.marca.activa .marca__punto::after{border-color:rgba(0,153,177,.8)}

/* copia del hero */
.hero__copia{position:absolute;z-index:5;left:0;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--nav) + 20px) var(--pad) 40px;width:min(45vw,640px);will-change:transform,opacity}
@media (min-width:1600px){.hero__copia{width:min(42vw,780px)}}
.hero__chip{display:inline-flex;align-self:flex-start;align-items:center;gap:10px;margin:0 0 22px;padding:6px 16px 6px 6px;border-radius:var(--pill);background:var(--blanco);border:1px solid var(--linea);font-size:var(--t0);font-weight:500;color:var(--tinta);text-decoration:none;box-shadow:var(--sombra)}
.hero__chip b{display:inline-flex;align-items:center;gap:4px;padding:4px 11px;border-radius:var(--pill);background:var(--noche);color:var(--arena);font-weight:600}
.hero__chip b i{color:var(--luz);font-style:normal}
.hero__chip:hover{text-decoration:none;border-color:var(--tinta)}
.hero__copia h1{font-size:clamp(var(--t4),10.6cqi,var(--t8));line-height:1.02;margin:0 0 22px}
.hero__copia .lead{margin:0 0 30px;font-size:clamp(var(--t1h),1.4vw,var(--t2))}
.hero__mini{display:flex;flex-wrap:wrap;gap:6px 18px;margin:26px 0 0;padding:0;list-style:none;font-size:var(--t0);color:var(--tinta-2)}
.hero__mini li{display:inline-flex;align-items:center;gap:8px}
.hero__mini li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cian)}

/* pasos de la historia */
.hero__pasos{position:absolute;z-index:6;left:var(--pad);top:calc(var(--nav) + clamp(16px,4vh,44px));margin:0;padding:0;list-style:none;width:min(600px,calc(100% - 2 * var(--pad)));pointer-events:none}
.hero__paso{position:absolute;left:0;right:0;top:0;padding:clamp(16px,2vw,26px) clamp(18px,2.4vw,30px) clamp(18px,2.2vw,28px);border-radius:22px;background:rgba(15,42,51,.8);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(255,248,238,.12);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);color:var(--arena);opacity:0;transform:translateY(-12px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.hero__paso.on{opacity:1;transform:none}
@media (min-width:1600px){.hero__pasos{width:min(680px,calc(100% - 2 * var(--pad)))}}
.hero__paso small{display:inline-flex;align-items:center;gap:12px;font:700 clamp(var(--t0h),1.15vw,var(--t1h))/1 var(--ft);letter-spacing:.14em;text-transform:uppercase;color:var(--luz);margin-bottom:clamp(10px,1.2vw,16px)}
.hero__paso small::before{content:"";width:32px;height:2px;background:currentColor}
.hero__paso-t{margin:0;font:700 clamp(var(--t3),3.8vw,var(--t6))/1.04 var(--fd);letter-spacing:-.02em;color:var(--arena);text-wrap:balance}
.hero__paso-d{margin:clamp(6px,.8vw,12px) 0 0;font:600 clamp(var(--t1h),1.7vw,var(--t3))/1.25 var(--fd);letter-spacing:-.01em;color:var(--band-muted);text-wrap:balance}
.hero__barra{position:absolute;z-index:6;right:var(--pad);bottom:clamp(28px,6vh,64px);display:flex;gap:6px;opacity:0;transition:opacity .4s}
.hero__barra.on{opacity:1}
.hero__barra i{width:28px;height:3px;border-radius:3px;background:rgba(255,248,238,.3);overflow:hidden;position:relative}
.hero__barra i::after{content:"";position:absolute;inset:0;background:var(--arena);transform-origin:0 50%;transform:scaleX(var(--p,0))}

/* la app */
.app{position:absolute;z-index:7;right:clamp(20px,4vw,64px);top:50%;width:min(340px,30vw);transform:translate(24px,-50%);opacity:0;pointer-events:none;transition:opacity .5s var(--ease),transform .6s var(--ease)}
.app.on{opacity:1;transform:translate(0,-50%);pointer-events:auto}
.app__tel{background:rgba(255,248,238,.97);border-radius:30px;padding:18px 16px 16px;box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.4) inset;color:var(--tinta)}
.app__cab{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 6px 12px}
.app__cab b{font:700 var(--t1h)/1.1 var(--fd);letter-spacing:-.01em}
.app__cab span{font-size:var(--tmh);color:var(--tinta-2)}
.app__estado{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:12px 14px;border-radius:18px;background:var(--noche);color:var(--arena);font-weight:600;font-size:var(--t0h)}
.app__estado i{width:10px;height:10px;border-radius:50%;background:#3DDC97;box-shadow:0 0 0 4px rgba(61,220,151,.22)}
.app__lista{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.app__fila{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border-radius:16px;background:var(--blanco);border:1px solid var(--linea);transition:border-color .3s,box-shadow .3s,background-color .3s}
.app__fila svg{width:36px;height:36px;padding:8px;border-radius:12px;background:var(--arena-2);color:var(--tinta-2);transition:background-color .35s,color .35s}
.app__fila b{display:block;font-size:var(--t0h);line-height:1.2}
.app__fila small{display:block;font-size:var(--tmh);color:var(--tinta-2);line-height:1.25}
.app__sw{width:40px;height:24px;border-radius:12px;background:#D9CCBA;position:relative;transition:background-color .35s}
.app__sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .35s var(--ease)}
.app__fila.on{border-color:rgba(0,166,192,.45);box-shadow:0 6px 18px -10px rgba(0,112,140,.6)}
.app__fila.on svg{background:var(--cian);color:var(--noche)}
.app__fila.on .app__sw{background:var(--cian)}
.app__fila.on .app__sw::after{transform:translateX(16px)}
.app__fila.destello{background:#E6F6F8}
.app__pie{margin:12px 2px 0;font-size:var(--tmh);color:var(--tinta-2);text-align:center}
.app__cta{margin-top:12px}
.app__cta .btn{width:100%;min-height:48px;font-size:var(--t0h)}
.hero__desliza{position:absolute;z-index:6;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:var(--tmh);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-2);transition:opacity .3s}
.hero__desliza i{width:1.5px;height:34px;background:linear-gradient(var(--tinta-2),transparent);animation:baja 1.8s var(--ease) infinite}
@media (min-width:1100px){.hero__desliza{left:var(--pad);bottom:18px;transform:none;flex-direction:row;gap:10px}.hero__desliza i{height:22px}}
@keyframes baja{0%{transform:scaleY(0);transform-origin:0 0}45%{transform:scaleY(1);transform-origin:0 0}55%{transform:scaleY(1);transform-origin:0 100%}100%{transform:scaleY(0);transform-origin:0 100%}}

/* hero en móvil y tablet: copia arriba, la casa abajo en un marco que luego se abre */
@media (max-width:1099px){
  .hero__copia{width:100%;max-width:720px;justify-content:flex-start;padding-top:calc(var(--nav) + 18px);bottom:auto}
  .hero__copia .lead{margin-bottom:22px}
  .hero__mini{display:none}
  .app{left:50%;right:auto;top:auto;bottom:calc(14px + env(safe-area-inset-bottom));width:min(560px,calc(100% - 24px));transform:translate(-50%,30px)}
  .app.on{transform:translate(-50%,0)}
  .app__tel{padding:10px;border-radius:22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
  .app__cab{padding:0 4px;gap:8px;justify-content:flex-start}
  .app__cab b{font-size:var(--t0h)}
  .app__cab span{display:none}
  .app__estado{margin:0;padding:6px 10px;font-size:var(--tmh);border-radius:12px;gap:8px;white-space:nowrap}
  .app__estado i{width:8px;height:8px}
  .app__lista{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .app__fila{grid-template-columns:1fr;justify-items:center;text-align:center;padding:8px 4px;gap:4px;border-radius:14px}
  .app__fila svg{width:32px;height:32px;padding:7px;border-radius:10px}
  .app__fila .app__sw{display:none}
  .app__fila b{font-size:var(--tmh);line-height:1.15}
  .app__fila small{font-size:var(--tmh);line-height:1.2;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .app__pie{display:none}
  .app__cta{grid-column:1/-1;margin:0;display:none}
  .app.al-final .app__cta{display:block}
  .hero__pasos{top:calc(var(--nav) + 14px)}
  .hero__paso-t{font-size:clamp(var(--t3),7.4vw,var(--t5))}
  .hero__barra{display:none}
  .hero__desliza{display:none}
}
@media (max-width:1099px) and (min-width:768px){.app{width:min(520px,calc(100% - 64px))}}

/* sin animación (movimiento reducido o sin JS): composición quieta y legible */
.hero.quieta .hero__escenario{height:auto;min-height:0;display:grid;padding:clamp(20px,3vw,40px) var(--pad) 48px;gap:28px;max-width:none;margin:0}
.hero.quieta .hero__copia{position:relative;width:auto;padding:0;max-width:640px}
.hero.quieta .hero__marco{position:relative;inset:auto;aspect-ratio:4/3;border-radius:var(--r);clip-path:none}
.hero.quieta .esc{width:100%;left:0;top:0;transform:none}
.hero.quieta .esc__tarde,.hero.quieta .esc__sol{display:none}
.hero.quieta .esc__luz{opacity:1}
.hero.quieta .esc__frente{display:none}
.hero.quieta .marca{opacity:1;pointer-events:auto}
.hero.quieta .marca__txt{opacity:1;transform:none}
.hero.quieta .marca__punto::after{animation:none}
.hero.quieta .hero__pasos,.hero.quieta .hero__barra,.hero.quieta .hero__desliza,.hero.quieta .hero__velo{display:none}
.hero.quieta .app{position:relative;inset:auto;transform:none;opacity:1;pointer-events:auto;width:auto;max-width:420px}
.hero.quieta .app__fila svg{background:var(--cian);color:var(--noche)}
@media (min-width:1100px){.hero.quieta .hero__escenario{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;column-gap:clamp(32px,4vw,64px)}.hero.quieta .hero__copia{grid-column:1;grid-row:1 / span 2}.hero.quieta .hero__marco{grid-column:2;grid-row:1}.hero.quieta .app{grid-column:2;grid-row:2;justify-self:start;align-self:start;margin:-140px 0 0 -48px;max-width:360px;z-index:8}}
.hero.quieta .app__cta{display:block}
@media (max-width:767px){.hero.quieta .marca__txt{display:none}}
.hero.quieta .marca[data-marca=cerradura] .marca__txt{display:none}
@media (min-width:1600px){.hero.quieta .hero__copia{max-width:760px}}

/* ── Prueba (franja de cifras) ─────────────────────────── */
.prueba{background:var(--noche);color:var(--arena);position:relative;overflow:hidden}
.prueba__in{display:grid;gap:28px;padding:clamp(48px,6vw,80px) var(--pad)}
@media (min-width:768px){.prueba__in{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.prueba__in{grid-template-columns:1.25fr repeat(3,minmax(0,1fr));align-items:end}}
.cifra{display:grid;gap:6px;padding-top:18px;border-top:1px solid rgba(255,248,238,.16)}
.cifra__n{margin:0;font:700 clamp(var(--t6),6vw,var(--t8))/.92 var(--fd);letter-spacing:-.03em;color:var(--arena);font-variant-numeric:lining-nums tabular-nums}
.cifra__n i{font-style:normal;color:var(--luz)}
.cifra__l{font-weight:600;font-size:var(--t0h);margin:0}
.cifra__f{font-size:var(--tmh);color:var(--band-muted);margin:0;letter-spacing:.02em}
.prueba__estrellas{display:flex;gap:4px;color:var(--luz);margin-bottom:6px}
.prueba__estrellas svg{width:22px;height:22px}

/* ── Las cuatro promesas (reseñas como prueba) ─────────── */
.promesas{display:grid;gap:clamp(16px,2vw,24px)}
@media (min-width:768px){.promesas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.promesas{grid-template-columns:repeat(12,minmax(0,1fr))}.promesa:nth-child(1){grid-column:span 7}.promesa:nth-child(2){grid-column:span 5}.promesa:nth-child(3){grid-column:span 5}.promesa:nth-child(4){grid-column:span 7}}
.promesa{position:relative;display:flex;flex-direction:column;gap:18px;padding:clamp(26px,3vw,40px);border-radius:var(--r);background:var(--blanco);border:1px solid var(--linea);box-shadow:var(--sombra);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}

.promesa__n{font:600 var(--t0)/1 var(--ft);letter-spacing:.14em;color:var(--cian-osc)}
.promesa h3{font-size:clamp(var(--t3),2.6vw,var(--t4h))}
.promesa blockquote{margin:auto 0 0;padding:18px 0 0;border-top:1px dashed var(--linea);font:600 clamp(var(--t1),1.4vw,var(--t1h))/1.42 var(--fd);letter-spacing:-.005em;color:var(--tinta)}
.promesa cite{display:flex;align-items:center;gap:10px;margin-top:14px;font:500 var(--t0)/1.3 var(--ft);font-style:normal;color:var(--tinta-2)}
.ava{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--noche);color:var(--arena);font:700 var(--t0) var(--fd)}
.promesa--oscura{background:var(--noche);color:var(--arena);border-color:var(--noche)}
.promesa--oscura blockquote{color:var(--arena);border-color:rgba(255,248,238,.18)}
.promesa--oscura cite{color:var(--band-muted)}
.promesa--oscura .promesa__n{color:var(--cian)}
.promesa--oscura .ava{background:var(--cian);color:var(--noche)}
.promesa__ico{position:absolute;right:clamp(20px,3vw,34px);top:clamp(20px,3vw,34px);width:54px;height:54px;color:var(--cian)}
.promesa p{color:var(--tinta-2);margin:0;max-width:44ch}
.promesa--oscura p{color:var(--band-muted)}

/* ── Caminos ───────────────────────────────────────────── */
.caminos{display:grid;gap:clamp(14px,1.6vw,20px)}
@media (min-width:768px){.caminos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.caminos{grid-template-columns:repeat(4,minmax(0,1fr))}}
.camino{position:relative;display:flex;flex-direction:column;min-height:100%;padding:24px 24px 22px;border-radius:var(--r);background:var(--blanco);border:1px solid var(--linea);color:var(--tinta);text-decoration:none;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .3s}
.camino:hover{border-color:transparent;text-decoration:none}
.camino h3{margin:0 0 10px}
.camino p{margin:0 0 18px;color:var(--tinta-2);font-size:var(--t0h)}
.camino__ir{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--cian-osc)}
.camino__ir::after{content:"→";transition:transform .4s var(--ease)}
.camino:hover .camino__ir::after{transform:translateX(5px)}
.camino .vent{fill:var(--linea);transition:fill .6s var(--ease)}
.camino:hover .vent,.camino.visto .vent,.camino:focus-visible .vent{fill:var(--luz)}
.camino .vent:nth-of-type(2){transition-delay:.12s}.camino .vent:nth-of-type(3){transition-delay:.24s}.camino .vent:nth-of-type(4){transition-delay:.36s}
.dib-linea{fill:none;stroke:var(--tinta);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.dib-techo{fill:none;stroke:var(--cian);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.dib-suave{fill:var(--blanco);stroke:var(--tinta);stroke-width:2.4;stroke-linejoin:round}
.dib-coral{fill:var(--accent)}
.dib-cian{fill:var(--cian)}
.dib-trazo-cian{fill:none;stroke:var(--cian);stroke-width:2.4;stroke-linecap:round}
.camino--chico{flex-direction:row;align-items:center;gap:18px;padding:18px 22px;min-height:0}
@media (min-width:1100px){.camino--ancho{grid-column:1/-1}}

/* ── Insignia: la casa conectada ───────────────────────── */
.insignia{display:grid;gap:clamp(24px,3vw,40px);align-items:start}
@media (min-width:1100px){.insignia{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}}
.planes-tabs{display:inline-flex;flex-wrap:wrap;gap:6px;padding:6px;border-radius:var(--pill);background:var(--blanco);border:1px solid var(--linea);margin:0 0 18px}
.planes-tabs button{min-height:44px;padding:0 20px;border:0;border-radius:var(--pill);background:transparent;font-weight:600;font-size:var(--t0h);cursor:pointer;color:var(--tinta);transition:background-color .3s,color .3s;white-space:nowrap}
.planes-tabs button[aria-selected=true]{background:var(--noche);color:var(--arena)}
.casa-corte{position:relative;aspect-ratio:3312/2480;border-radius:var(--r);background:#0C2E3B;overflow:hidden}
.casa-corte__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.casa-corte>svg{position:absolute;inset:0;width:100%;height:100%}
.cc-luz{fill:url(#cc-calida);opacity:0;mix-blend-mode:soft-light;transition:opacity .6s var(--ease)}
.cc-nombres{list-style:none;margin:0;padding:0;pointer-events:none}
.cc-nombres li{position:absolute;padding:5px 10px;border-radius:var(--pill);background:rgba(15,42,51,.66);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--arena);font:600 var(--tmh)/1.2 var(--ft);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
@media (max-width:600px){.cc-nombres li{padding:3px 7px;letter-spacing:.08em}.eq{transform:scale(1.3)}}
.eq{cursor:pointer;outline:none}
.eq .eq__base{fill:#22495A;stroke:#3A6573;stroke-width:2;transition:fill .45s var(--ease),stroke .45s var(--ease)}
.eq .eq__ico{color:#8FAAB1;transition:color .45s var(--ease)}
.eq .eq__halo{fill:var(--cian);opacity:0;transition:opacity .5s var(--ease)}
.eq.incluido .eq__base{fill:var(--cian);stroke:var(--cian)}
.eq.incluido .eq__ico{color:var(--noche)}
.eq.incluido .eq__halo{opacity:.18}
.eq.sel .eq__base{fill:var(--accent);stroke:#fff;stroke-width:4}
.eq.sel .eq__halo{fill:var(--accent);opacity:.25}
.eq:focus-visible .eq__base{stroke:var(--luz);stroke-width:4}
.insignia__panel{display:grid;gap:14px}
.precio{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0}
.precio b{font:700 clamp(var(--t6),5vw,var(--t7h))/.9 var(--fd);letter-spacing:-.03em;color:var(--tinta)}
.precio b i{font-style:normal;color:var(--cifra)}
.precio span{font-weight:600;color:var(--tinta-2)}
.precio-nota{font-size:var(--t0);color:var(--tinta-2);margin:0}
.lista-eq{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lista-eq li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:var(--blanco);border:1px solid var(--linea);transition:opacity .4s,background-color .4s,border-color .4s}
.lista-eq li.fuera{opacity:.42;background:transparent;border-style:dashed}
.lista-eq li.sel{border-color:var(--accent);background:#E6F6F8}
.lista-eq .chk{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--cian);color:var(--noche)}
.lista-eq li.fuera .chk{background:var(--linea);color:var(--tinta-2)}
.lista-eq .chk svg{width:14px;height:14px}
.lista-eq b{font-size:var(--t0h);line-height:1.25}
.lista-eq small{display:block;color:var(--tinta-2);font-size:var(--t0);line-height:1.35}
.lista-eq .cant{font:600 var(--t0) var(--ft);color:var(--tinta-2)}
.insignia__det{min-height:3.2em;margin:0;padding:12px 16px;border-radius:14px;background:var(--arena-2);font-size:var(--t0h);color:var(--tinta)}

/* ── Planes ───────────────────────────────────────────── */
.planes{display:grid;gap:clamp(14px,1.6vw,22px)}
@media (min-width:900px){.planes{grid-template-columns:repeat(3,minmax(0,1fr))}}
.plan{position:relative;display:flex;flex-direction:column;gap:16px;padding:clamp(24px,2.6vw,34px);border-radius:var(--r);background:var(--blanco);border:1px solid var(--linea)}
.plan--dest{background:var(--noche);color:var(--arena);border-color:var(--noche);box-shadow:var(--sombra-alta)}
.plan__nom{display:flex;align-items:center;justify-content:space-between;gap:10px;font:700 var(--t3)/1 var(--fd);letter-spacing:-.015em}
.plan__nom span{font:600 var(--tmh)/1 var(--ft);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:var(--pill);background:var(--accent);color:var(--tinta)}
.plan__precio{display:flex;align-items:baseline;gap:6px;margin:0}
.plan__precio b{font:700 var(--t7)/.9 var(--fd);letter-spacing:-.035em;color:var(--cifra)}
.plan__precio span{font-weight:600}
.plan__ini{margin:-6px 0 0;font-size:var(--t0h);color:var(--tinta-2)}
.plan--dest .plan__ini{color:var(--band-muted)}
.plan--dest .plan__precio b{color:var(--band-accent)}
.plan ul{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--linea);display:grid;gap:9px;font-size:var(--t0h)}
.plan--dest ul{border-color:rgba(255,248,238,.16)}
.plan li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start}
.plan li::before{content:"";width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--cian) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5 9.2 2.6 2.6L13 6.4' fill='none' stroke='%230F2A33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.plan li.nuevo{font-weight:600}
.plan .btn,.plan .btn-2{margin-top:auto}
.letra{font-size:var(--t0);color:var(--tinta-2);margin:18px 0 0;max-width:80ch}

/* ── Objeciones (preguntas) ───────────────────────────── */
.preguntas{display:grid;gap:10px;max-width:920px}
.preg{border-radius:20px;background:var(--blanco);border:1px solid var(--linea);transition:box-shadow .35s var(--ease)}
.preg[open]{box-shadow:var(--sombra)}
.preg summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:16px;align-items:center;min-height:64px;padding:16px 20px 16px 24px;cursor:pointer;font:700 clamp(var(--t1h),1.6vw,var(--t2))/1.25 var(--fd);letter-spacing:-.01em}
.preg summary::-webkit-details-marker{display:none}
.preg summary i{width:36px;height:36px;border-radius:50%;background:var(--arena-2);position:relative;transition:background-color .2s,transform .25s var(--ease)}
.preg summary i::before,.preg summary i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:var(--tinta);border-radius:2px;transition:transform .25s var(--ease)}
.preg summary i::after{transform:rotate(90deg)}
.preg[open] summary i{background:var(--accent);transform:rotate(180deg)}
.preg[open] summary i::after{transform:rotate(0)}
.preg__r{padding:0 24px 22px;color:var(--tinta-2);max-width:72ch}
.preg__r p:last-child{margin:0}
.preg__r strong{color:var(--tinta)}

/* ── Reseñas ───────────────────────────────────────────── */
.resena{display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:var(--r);background:var(--blanco);border:1px solid var(--linea);break-inside:avoid;margin:0 0 clamp(14px,1.6vw,20px)}
.resena__est{display:flex;gap:3px;color:#E8A33D}
.resena__est svg{width:16px;height:16px}
.resena blockquote{margin:0;font:500 var(--t1)/1.55 var(--ft);color:var(--tinta)}
.resena blockquote[lang=en]{font-style:normal}
.resena cite{display:flex;align-items:center;gap:10px;margin-top:auto;font:600 var(--t0)/1.3 var(--ft);font-style:normal}
.resena cite small{display:block;font-weight:500;font-size:var(--tmh);color:var(--tinta-2)}
.resena .ava{width:36px;height:36px;font-size:var(--t0h)}
.muro{columns:1;column-gap:clamp(14px,1.6vw,20px)}
@media (min-width:700px){.muro{columns:2}}
@media (min-width:1100px){.muro{columns:3}}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.filtros button{min-height:44px;padding:0 18px;border-radius:var(--pill);border:1.5px solid var(--linea);background:var(--blanco);font-weight:600;font-size:var(--t0h);cursor:pointer;white-space:nowrap;transition:background-color .25s,border-color .25s,color .25s}
.filtros button:hover{border-color:var(--tinta)}
.filtros button[aria-pressed=true]{background:var(--noche);border-color:var(--noche);color:var(--arena)}
.filtros button span{font-weight:500;opacity:.65;margin-left:4px}
.resena.oculta{display:none}

/* cinta de reseñas (marquesina) */
.cinta{position:relative;overflow:hidden;padding:6px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.cinta__pista{display:flex;gap:16px;width:max-content;animation:cinta 70s linear infinite}
.cinta:hover .cinta__pista,.cinta:focus-within .cinta__pista{animation-play-state:paused}
@keyframes cinta{to{transform:translateX(-50%)}}
.cinta .resena{width:min(380px,82vw);margin:0;flex:none}
.cinta .resena blockquote{font-size:var(--t0h)}

/* Melissa */
.melissa{display:grid;gap:clamp(28px,4vw,56px);align-items:center}
@media (min-width:1100px){.melissa{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.melissa__n{font:700 clamp(var(--t10),16vw,var(--t12))/.8 var(--fd);letter-spacing:-.05em;color:var(--cian);margin:0}
.melissa h2{margin:14px 0 18px}
.melissa .lead{margin:0}
.melissa__citas{display:grid;gap:12px}
.melissa__cita{padding:18px 20px;border-radius:18px;background:var(--noche-2);border:1px solid rgba(255,248,238,.1);font-size:var(--t0h);line-height:1.5;color:var(--arena)}
.melissa__cita b{color:var(--luz);font-weight:600}
.melissa__cita small{display:block;margin-top:8px;color:var(--band-muted);font-size:var(--t0)}

/* ── Equipo ───────────────────────────────────────────── */
.equipo{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
.persona{display:grid;gap:12px;padding:22px;border-radius:var(--r);background:var(--blanco);border:1px solid var(--linea)}
.persona__ava{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--noche);color:var(--arena);font:700 var(--t3) var(--fd);position:relative}
.persona__ava::after{content:"";position:absolute;right:-2px;bottom:-2px;width:18px;height:18px;border-radius:50%;background:var(--cian);border:3px solid var(--blanco)}
.persona b{font:700 var(--t2)/1.1 var(--fd)}
.persona span{font-size:var(--t0h);color:var(--tinta-2)}
.persona small{font-size:var(--t0);color:var(--cian-osc);line-height:1.4}

/* ── Licencias ─────────────────────────────────────────── */
.licencias{display:grid;gap:14px}
@media (min-width:768px){.licencias{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lic{display:grid;gap:8px;padding:24px;border-radius:var(--r);border:1px solid rgba(255,248,238,.16);background:var(--noche-2)}
.lic code{font:700 clamp(var(--t3),3vw,var(--t4))/1 var(--fd);letter-spacing:.01em;color:var(--arena)}
.lic span{color:var(--band-muted);font-size:var(--t0h)}
.lic a{font-weight:600;font-size:var(--t0h);color:var(--arena);text-decoration-color:var(--cian)}

/* ── Cabecera de páginas internas ──────────────────────── */
.cab-pag{position:relative;padding:calc(var(--nav) * .5 + clamp(32px,5vw,72px)) 0 clamp(48px,6vw,88px);overflow:hidden}
.cab-pag__in{display:grid;gap:clamp(28px,4vw,56px);align-items:center}
@media (min-width:1100px){.cab-pag__in{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}
.cab-pag h1{margin:0 0 22px}
.cab-pag .lead{margin:0 0 28px}
.cab-pag__vis{margin:0;position:relative;border-radius:var(--r);overflow:hidden;background:var(--noche);aspect-ratio:5/4;box-shadow:var(--sombra-alta)}
.cab-pag__vis img{width:100%;height:100%;object-fit:cover}
.cab-pag__vis svg{width:100%;height:100%}
.cab-pag__vis figcaption{position:absolute;left:14px;bottom:14px;right:14px;display:flex;flex-wrap:wrap;gap:6px}
.chip-luz{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:var(--pill);background:rgba(255,248,238,.95);color:var(--tinta);font-size:var(--t0);font-weight:600;box-shadow:0 8px 20px -10px rgba(0,0,0,.5)}
.chip-luz i{width:8px;height:8px;border-radius:50%;background:var(--cian)}
.migas{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none;font-size:var(--t0);color:var(--tinta-2)}
.migas li+li::before{content:"/";margin-right:8px;opacity:.5}
.migas a{color:var(--tinta-2)}
.cab-pag--simple .cab-pag__in{grid-template-columns:minmax(0,1fr)}
.cab-pag--simple .cab-pag__in>div{max-width:880px}

/* ── Bloques de contenido ─────────────────────────────── */
.lado{display:grid;gap:clamp(28px,4vw,64px);align-items:center}
@media (min-width:1100px){.lado{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lado.inv>:first-child{order:2}}
.tarjeta{padding:clamp(22px,2.4vw,32px);border-radius:var(--r);background:var(--blanco);border:1px solid var(--linea)}
.tarjeta h3{margin:0 0 10px}
.tarjeta p{color:var(--tinta-2);margin:0}
.tarjeta p+p{margin-top:.8em}
.banda .tarjeta{background:var(--noche-2);border-color:rgba(255,248,238,.12)}
.banda .tarjeta p{color:var(--band-muted)}
.ico{width:48px;height:48px;padding:11px;border-radius:14px;background:var(--arena-2);color:var(--cian-osc);margin-bottom:18px}
.banda .ico{background:var(--noche-3);color:var(--cian)}
.lista-ok{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lista-ok li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px}
.lista-ok li::before{content:"";width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--cian) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5 9.2 2.6 2.6L13 6.4' fill='none' stroke='%230F2A33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.pasos{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:p}
@media (min-width:900px){.pasos{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pasos li{counter-increment:p;position:relative;padding:24px;border-radius:var(--r);background:var(--blanco);border:1px solid var(--linea)}
.pasos li::before{content:counter(p,decimal-leading-zero);display:block;font:700 var(--t0h) var(--ft);letter-spacing:.12em;color:var(--second);margin-bottom:22px}
.pasos b{display:block;font:700 var(--t2)/1.15 var(--fd);margin-bottom:8px;letter-spacing:-.01em}
.pasos span{color:var(--tinta-2);font-size:var(--t0h)}
.cita-grande{margin:0;max-width:900px}
.cita-grande blockquote{margin:0 0 22px;font:700 clamp(var(--t3),3.2vw,var(--t5))/1.15 var(--fd);letter-spacing:-.02em;text-wrap:balance}
.cita-grande blockquote::before{content:"“";color:var(--accent)}
.cita-grande blockquote::after{content:"”";color:var(--accent)}
.cita-grande figcaption{display:flex;align-items:center;gap:12px;color:var(--tinta-2);font-weight:500}
.banda .cita-grande figcaption{color:var(--band-muted)}
.nota{display:flex;gap:10px;align-items:flex-start;font-size:var(--t0);line-height:1.5;color:var(--tinta-2);padding:12px 16px;margin:24px 0 0;max-width:72ch;border-radius:14px;background:rgba(0,112,140,.07);border:1px solid rgba(0,112,140,.16)}
.nota::before{content:"i";flex:none;width:20px;height:20px;margin-top:1px;border-radius:50%;display:grid;place-items:center;background:var(--cian-osc);color:var(--arena);font:700 var(--tmh)/1 var(--fd)}
.banda .nota{color:var(--band-muted);background:rgba(255,248,238,.06);border-color:rgba(255,248,238,.14)}
.banda .nota::before{background:var(--cian);color:var(--noche)}
.diagrama{margin:0;border-radius:var(--r);background:var(--noche);padding:clamp(16px,2vw,28px);overflow:hidden}
.diagrama svg{width:100%;height:auto}
.dg-linea{fill:none;stroke:#3A6573;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dg-muro{fill:#163844;stroke:#2C5664;stroke-width:2}
.dg-cian{fill:none;stroke:var(--cian);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.dg-coral{fill:var(--accent)}
.dg-luz{fill:var(--luz)}
.dg-cono{fill:rgba(0,166,192,.16);stroke:rgba(0,166,192,.55);stroke-width:1.5}
.dg-txt{font:600 var(--t0) var(--ft);fill:var(--arena)}
.dg-txt-s{font:500 var(--tmh) var(--ft);fill:#9DB4BA;letter-spacing:.06em}
.dg-dib .dg-cian,.dg-dib .dg-traza{stroke-dasharray:var(--l,1200);stroke-dashoffset:var(--l,1200);transition:stroke-dashoffset 2.2s var(--ease)}
.dg-dib.visto .dg-cian,.dg-dib.visto .dg-traza{stroke-dashoffset:0}
.dg-traza{fill:none;stroke:var(--luz);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 7}

/* ── Banda final de contacto ──────────────────────────── */
.final{position:relative;overflow:hidden}
.final__in{display:grid;gap:clamp(28px,4vw,56px);align-items:start}
@media (min-width:1100px){.final__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.final h2{color:var(--arena);margin:0 0 18px}
.final__datos{display:grid;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.final__datos a,.final__datos span{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--arena);text-decoration:none;font-weight:500}
.final__datos a:hover{text-decoration:underline}
.final__datos svg{width:20px;height:20px;color:var(--cian);flex:none}
.final__casa{position:absolute;right:-60px;bottom:-40px;width:420px;opacity:.07;pointer-events:none}

/* formulario */
.form{display:grid;gap:14px;padding:clamp(22px,2.6vw,34px);border-radius:var(--r);background:var(--arena);color:var(--tinta)}
.form h3{margin:0 0 4px}
.form p.f-intro{margin:0 0 4px;color:var(--tinta-2);font-size:var(--t0h)}
.f-fila{display:grid;gap:14px}
@media (min-width:600px){.f-fila{grid-template-columns:repeat(2,minmax(0,1fr))}}
.campo{display:grid;gap:6px}
.campo label,.campo legend{font-weight:600;font-size:var(--t0h)}
.campo label small{font-weight:500;color:var(--tinta-2)}
.campo input,.campo select,.campo textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:14px;border:1.5px solid var(--linea);background:var(--blanco);font:var(--t1)/1.4 var(--ft);color:var(--tinta);transition:border-color .2s,box-shadow .2s}
.campo textarea{min-height:104px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--tinta);box-shadow:0 0 0 3px rgba(0,153,177,.35)}
.campo [aria-invalid=true]{border-color:#B3261E;box-shadow:0 0 0 3px rgba(179,38,30,.15)}
.campo .err{display:none;font-size:var(--t0);color:#B3261E;font-weight:500}
.campo .err.on{display:block}
fieldset.campo{border:0;margin:0;padding:0;min-width:0}
.opciones{display:flex;flex-wrap:wrap;gap:8px}
.opciones label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--pill);border:1.5px solid var(--linea);background:var(--blanco);font-weight:500;font-size:var(--t0h);cursor:pointer;transition:border-color .2s,background-color .2s;white-space:nowrap}
.opciones input{position:absolute;opacity:0;width:1px;height:1px}
.opciones label:has(input:checked){background:var(--noche);border-color:var(--noche);color:var(--arena)}
.opciones label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.consent{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;font-size:var(--t0);color:var(--tinta-2);line-height:1.45}
.consent input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--noche)}
.form .btn{width:100%}
.form__ok{display:none;text-align:center;padding:28px 10px;gap:12px;justify-items:center}
.form.enviado>*:not(.form__ok){display:none}
.form.enviado .form__ok{display:grid}
.form__ok .ok-ico{width:72px;height:72px;border-radius:50%;background:var(--cian);display:grid;place-items:center;color:var(--noche)}
.form__ok .ok-ico svg{width:34px;height:34px;stroke-dasharray:40;stroke-dashoffset:40;animation:chk .7s .15s var(--ease) forwards}
@keyframes chk{to{stroke-dashoffset:0}}
.form__ok p{margin:0;color:var(--tinta-2);max-width:40ch}
.demo{font-size:var(--tmh);color:var(--tinta-2);text-align:center;margin:0}

/* ── Pie ──────────────────────────────────────────────── */
.pie{background:#0B222A;color:var(--band-muted);padding:clamp(56px,7vw,96px) 0 calc(28px + env(safe-area-inset-bottom));font-size:var(--t0h)}
.pie a{color:var(--arena);text-decoration:none}
.pie a:hover{text-decoration:underline}
.pie__arriba{display:grid;gap:36px}
@media (min-width:900px){.pie__arriba{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr))}}
.pie__logo{width:220px;margin-bottom:18px}
.pie__col h3{font:600 var(--tmh)/1.3 var(--ft);letter-spacing:.16em;text-transform:uppercase;color:var(--cian);margin:0 0 14px}
.pie__col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.pie__col a{display:inline-flex;align-items:center;min-height:40px;white-space:nowrap}
.pie__legal{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;justify-content:space-between;margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,248,238,.1);font-size:var(--t0)}
.pie__prop{display:inline-block;text-wrap:balance}
.pie__legal ul{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0;padding:0}
.pie__legal a{display:inline-flex;min-height:40px;align-items:center;white-space:nowrap}
.pie__lic{display:grid;gap:4px;margin-top:20px;font-size:var(--t0)}
.pie__lic b{color:var(--arena);font-weight:600}
@media (max-width:1099px){.pie{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}

/* ── Blog ─────────────────────────────────────────────── */
.articulos{display:grid;gap:clamp(16px,2vw,24px)}
@media (min-width:768px){.articulos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.articulos{grid-template-columns:repeat(3,minmax(0,1fr))}}
.art-tarj{display:flex;flex-direction:column;border-radius:var(--r);background:var(--blanco);border:1px solid var(--linea);color:var(--tinta);text-decoration:none;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.art-tarj:hover{text-decoration:none}
.art-tarj__vis{aspect-ratio:16/10;background:var(--noche);position:relative;overflow:hidden}
.art-tarj__vis svg{width:100%;height:100%}
.art-tarj__txt{display:flex;flex-direction:column;gap:10px;padding:22px 24px 24px;flex:1}
.art-tarj__txt small{font:600 var(--tmh) var(--ft);letter-spacing:.14em;text-transform:uppercase;color:var(--cian-osc)}
.art-tarj h3{font-size:var(--t2)}
.art-tarj p{margin:0;color:var(--tinta-2);font-size:var(--t0h)}
.art-tarj__ir{margin-top:auto;padding-top:10px;font-weight:600;color:var(--cian-osc)}
.articulo{max-width:760px;margin:0 auto}
.articulo h2,.prosa h2,.fuentes h2,.aviso h2{font-size:clamp(var(--t3),5cqi,var(--t5));line-height:1.08}
.articulo h2{margin:2em 0 .6em}
.articulo h3{margin:1.6em 0 .5em}
.articulo p,.articulo li{font-size:var(--t1h);line-height:1.7}
.articulo ul,.articulo ol{padding-left:1.2em;margin:0 0 1.2em}
.articulo li{margin-bottom:.4em}
.articulo .resumen{padding:22px 24px;border-radius:var(--r);background:var(--blanco);border:1px solid var(--linea);margin:0 0 2em}
.articulo .resumen p{margin:0;font-size:var(--t1)}
.articulo .resumen b{display:block;font:600 var(--tmh) var(--ft);letter-spacing:.14em;text-transform:uppercase;color:var(--cian-osc);margin-bottom:8px}
.articulo table{width:100%;border-collapse:collapse;margin:0 0 1.6em;font-size:var(--t0h)}
.articulo th,.articulo td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--linea);vertical-align:top}
.articulo th{font-weight:600;background:var(--arena-2)}
.tabla-scroll{position:relative;overflow-x:auto;margin:0 0 1.6em;border-radius:16px;border:1px solid var(--linea);background:var(--blanco)}
.tabla-scroll table{margin:0}
.fuentes{margin-top:3em;padding-top:1.5em;border-top:1px solid var(--linea);font-size:var(--t0);color:var(--tinta-2)}
.fuentes ol{padding-left:1.2em}
.fuentes li{font-size:var(--t0);line-height:1.5}
.art-meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--tinta-2);font-size:var(--t0h);margin:0 0 6px}

/* ── Revelados ───────────────────────────────────────── */
.js [data-r]{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0) * 80ms)}
.js [data-r].visto{opacity:1;transform:none}
.js [data-r=escala]{transform:scale(.96)}
.js [data-r=escala].visto{transform:none}

/* ── 404 ─────────────────────────────────────────────── */
.no-hay{min-height:70svh;display:grid;place-items:center;text-align:center;padding:calc(var(--nav) + 40px) var(--pad) 80px}
.no-hay>div{width:min(100%,760px)}
.no-hay>div>svg{width:min(320px,70vw);margin:0 auto 28px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js [data-r]{opacity:1;transform:none}
  .cinta__pista{animation:none;flex-wrap:nowrap}
  .cinta{overflow-x:auto}
}

/* titulares por palabra: la máscara deja aire abajo (descendentes) y a los lados (tracking negativo) */
.partido .pw{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .05em .16em;margin:0 -.05em -.16em}
.partido .pw-i{display:inline-block;transform:translate3d(0,110%,0);transition:transform .95s var(--ease)}
.partido.visto .pw-i{transform:none}

/* ── Páginas internas: cabecera visual ───────────────── */
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 13px 8px 9px;border-radius:var(--pill);background:rgba(255,248,238,.95);color:var(--tinta);font-size:var(--t0);font-weight:600;line-height:1.1;box-shadow:0 8px 20px -10px rgba(0,0,0,.5)}
.chip svg{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--cian);color:var(--noche);flex:none}
.cab-pag__vis--foto img{object-position:var(--pos);transform:scale(var(--zoom));transform-origin:var(--pos)}
.cab-pag__vis--dib{background:var(--arena-2);box-shadow:none;border:1px solid var(--linea);display:grid;place-items:center;padding:6% 4% 18%}
.cab-pag__vis--dib>svg{width:100%;height:auto}
.cab-pag__vis--dib .vent{fill:var(--linea);transition:fill .7s var(--ease)}
.cab-pag__vis--dib.visto .vent,.visto .cab-pag__vis--dib .vent{fill:var(--luz)}
.cab-pag__vis--dib .vent:nth-of-type(2){transition-delay:.15s}.cab-pag__vis--dib .vent:nth-of-type(3){transition-delay:.3s}.cab-pag__vis--dib .vent:nth-of-type(4){transition-delay:.45s}
.cab-pag__vis--diag{padding:clamp(14px,2vw,26px);display:grid;place-items:center}
.cab-pag__vis--diag svg{height:auto}
.cab-pag__vis--nota{display:grid;align-content:center;justify-items:start;gap:14px;padding:clamp(26px,4vw,48px);color:var(--arena)}
.nota-g__n{font:700 clamp(var(--t9),12vw,var(--t11))/.85 var(--fd);letter-spacing:-.05em;margin:0;color:var(--arena)}
.nota-g__est{display:flex;gap:6px;color:var(--luz)}
.nota-g__est svg{width:30px;height:30px}
.nota-g__datos{list-style:none;margin:10px 0 0;padding:16px 0 0;border-top:1px solid rgba(255,248,238,.16);display:grid;gap:8px;width:100%}
.nota-g__datos li{display:flex;align-items:baseline;gap:10px;color:var(--band-muted);font-size:var(--t0h)}
.nota-g__datos b{font:700 var(--t2) var(--fd);color:var(--arena);min-width:2.2em}
.cab-pag__vis--lic{display:grid;place-items:center;padding:clamp(22px,4vw,48px);background:radial-gradient(120% 90% at 80% 10%,#1E4552,var(--noche))}
.carne{width:min(100%,400px);padding:26px 26px 22px;border-radius:22px;background:var(--arena);color:var(--tinta);box-shadow:0 30px 60px -24px rgba(0,0,0,.6);transform:rotate(-2.5deg)}
.carne img{width:150px;height:auto;margin-bottom:18px}
.carne__t{margin:0 0 12px;font:600 var(--tmh) var(--ft);letter-spacing:.16em;text-transform:uppercase;color:var(--cian-osc)}
.carne__lic{display:grid;gap:2px;margin:0 0 12px;padding-bottom:12px;border-bottom:1px dashed var(--linea)}
.carne__lic code{font:700 var(--t2h)/1 var(--fd);letter-spacing:.01em}
.carne__lic span{font-size:var(--t0);color:var(--tinta-2)}
.carne__v{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:var(--t0);font-weight:600;color:var(--tinta-2)}
.carne__v svg{width:18px;height:18px;color:var(--cian-osc)}

/* ── Páginas internas: bloques ───────────────────────── */
span.ico{display:grid;place-items:center}
span.ico svg{width:100%;height:100%}
.puntos{display:grid;gap:clamp(14px,1.6vw,20px)}
@media (min-width:700px){.puntos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.puntos--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.puntos{column-gap:clamp(28px,4vw,64px)}
.puntos .tarjeta{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:18px;align-items:start;padding:28px 0 30px;border:0;border-top:1px solid var(--linea);border-radius:0;background:transparent}
.puntos .tarjeta .ico{grid-row:span 2;margin:2px 0 0;width:52px;height:52px;padding:13px;border-radius:16px;background:var(--blanco);box-shadow:var(--sombra)}
.puntos .tarjeta h3{font-size:clamp(var(--t2),1.8vw,var(--t2h));margin:0 0 8px}
.puntos .tarjeta p{font-size:var(--t1);max-width:46ch}
.sec.arena-2 .puntos .tarjeta{border-top-color:#E3D4BF}
.sec.arena-2 .tarjeta:not(.puntos .tarjeta){border-color:transparent}
.prueba--pag .prueba__in{align-items:start}
@media (min-width:768px){.prueba__in--2{grid-template-columns:repeat(2,minmax(0,1fr))}.prueba--pag .prueba__lead{grid-column:1/-1}}
@media (min-width:1100px){.prueba--pag .prueba__in--lead{grid-template-columns:1.1fr 1fr 1fr}.prueba--pag .prueba__lead{grid-column:auto;align-self:center}}
.prueba__lead{margin:0;font:700 clamp(var(--t2h),2.6vw,var(--t4))/1.15 var(--fd);letter-spacing:-.02em;color:var(--arena);max-width:18ch}
.cita-grande--larga blockquote{font-size:clamp(var(--t2),2.4vw,var(--t4));line-height:1.25}
.banda .cita-grande blockquote{color:var(--arena)}
.cita-grande .ava{width:42px;height:42px;font-size:var(--t1)}
.banda .cita-grande .ava{background:var(--cian);color:var(--noche)}
.aviso{display:grid;gap:clamp(18px,2.4vw,32px);padding:clamp(26px,3.6vw,48px);border-radius:var(--r);background:var(--noche);color:var(--arena)}
@media (min-width:768px){.aviso{grid-template-columns:auto minmax(0,1fr);align-items:start}}
.aviso__ico{width:72px;height:72px;padding:18px;border-radius:22px;background:var(--noche-3);color:var(--luz);display:grid;place-items:center}
.aviso__ico svg{width:100%;height:100%}
.aviso h2{margin:0 0 12px;color:var(--arena)}
.aviso p{color:var(--band-muted);margin:0;max-width:66ch}
.aviso p+p{margin-top:.7em}
.muro--fijo{margin-bottom:12px}
.lista-ok--banda li{color:var(--band-muted)}
.prosa-corta p{color:var(--tinta-2);font-size:var(--t1h);line-height:1.6;margin:18px 0 22px;max-width:56ch}
.banda .prosa-corta p{color:var(--band-muted)}
.lado .tarjeta .lista-ok li{font-size:var(--t1)}

/* escenas de casa inteligente */
.escenas{display:grid;gap:clamp(16px,2vw,24px);padding:clamp(16px,2vw,24px);border-radius:28px;background:var(--noche);color:var(--arena)}
@media (min-width:1100px){.escenas{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);align-items:start}}
.escenas__botones{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:1100px){.escenas__botones{grid-template-columns:1fr}}
.escena-btn{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 16px 10px 10px;border-radius:18px;border:1.5px solid rgba(255,248,238,.14);background:var(--noche-2);color:var(--arena);font:600 var(--t0h)/1.2 var(--ft);text-align:left;cursor:pointer;transition:background-color .3s,border-color .3s,transform .4s var(--ease)}
.escena-btn svg{width:36px;height:36px;padding:8px;border-radius:12px;background:var(--noche-3);color:var(--cian);flex:none;transition:background-color .3s,color .3s}
.escena-btn:hover{border-color:rgba(255,248,238,.4)}
.escena-btn[aria-pressed=true]{background:var(--arena);color:var(--tinta);border-color:var(--arena)}
.escena-btn[aria-pressed=true] svg{background:var(--accent);color:var(--tinta)}
.escenas__vista{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.estado{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-radius:18px;background:var(--noche-2);border:1px solid rgba(255,248,238,.08);transition:background-color .45s var(--ease),border-color .45s}
.estado__ico{width:44px;height:44px;padding:10px;border-radius:14px;background:var(--noche-3);color:#7E98A0;display:grid;place-items:center;transition:background-color .45s,color .45s,box-shadow .45s}
.estado__ico svg{width:100%;height:100%}
.estado__txt b{display:block;font-size:var(--t0);color:var(--band-muted);font-weight:600}
.estado__txt span{display:block;font:600 var(--t1)/1.25 var(--ft);color:var(--arena)}
.estado__sw{width:40px;height:24px;border-radius:12px;background:#2F5361;position:relative;transition:background-color .35s}
.estado__sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .35s var(--ease)}
.estado.on{border-color:rgba(0,166,192,.45)}
.estado.on .estado__ico{background:var(--cian);color:var(--noche);box-shadow:0 0 24px -4px rgba(0,166,192,.7)}
.estado.on[data-estado=luces] .estado__ico{background:var(--luz);box-shadow:0 0 28px -2px rgba(255,201,120,.75)}
.estado.on .estado__sw{background:var(--cian)}
.estado.on .estado__sw::after{transform:translateX(16px)}

/* mini app (equipo y licencias) */
.app-mini{max-width:380px;margin-inline:auto;padding:18px 16px 16px;border-radius:30px;background:var(--blanco);border:1px solid var(--linea);box-shadow:var(--sombra-alta)}
.app-mini__cab{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 6px 12px}
.app-mini__cab b{font:700 var(--t1h) var(--fd)}
.app-mini__ok{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--pill);background:var(--noche);color:var(--arena);font-size:var(--t0);font-weight:600}
.app-mini__ok i{width:8px;height:8px;border-radius:50%;background:#3DDC97}
.app-mini ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.app-mini li{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border-radius:16px;background:var(--arena);border:1px solid var(--linea)}
.app-mini li>svg{width:36px;height:36px;padding:8px;border-radius:12px;background:var(--cian);color:var(--noche)}
.app-mini li b{display:block;font-size:var(--t0h);line-height:1.2}
.app-mini li small{display:block;font-size:var(--tmh);color:var(--tinta-2)}
.app-mini__sw{width:40px;height:24px;border-radius:12px;background:var(--cian);position:relative}
.app-mini__sw::after{content:"";position:absolute;top:3px;left:19px;width:18px;height:18px;border-radius:50%;background:#fff}

/* tablas: comparación de planes y contrato */
.comparar table,.contrato table{width:100%;border-collapse:collapse;font-size:var(--t0h);min-width:560px}
.comparar th,.comparar td,.contrato th,.contrato td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--linea);vertical-align:middle}
.comparar thead th,.contrato thead th{font:700 var(--t0h) var(--ft);background:var(--noche);color:var(--arena)}
.comparar thead th:not(:first-child),.comparar td{text-align:center}
.comparar tbody th,.contrato tbody th{font-weight:600}
.comparar tr:last-child>*,.contrato tr:last-child>*{border-bottom:0}
.comparar .si{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--tinta)}
.comparar .si svg{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--cian);color:var(--noche)}
.comparar .no{color:var(--tinta-2)}
.comparar__precio>*{background:var(--arena-2)}
.comparar__precio b{font:700 var(--t1h) var(--fd)}
.contrato tbody th{width:38%;color:var(--tinta)}
.contrato td{color:var(--tinta-2)}
@media (max-width:599px){.contrato table{min-width:0}.contrato tr{display:grid}.contrato tbody th{width:auto;padding-bottom:2px;border-bottom:0}.contrato td{padding-top:2px}.contrato thead{display:none}}

/* equipo */
.directivos{margin-top:clamp(28px,4vw,48px);padding:clamp(22px,3vw,32px);border-radius:var(--r);background:var(--arena-2)}
.directivos ul{list-style:none;margin:0;padding:0;display:grid;gap:14px 24px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.directivos li{display:grid;gap:2px}
.directivos b{font:700 var(--t1h)/1.2 var(--fd)}
.directivos span{font-size:var(--t0h);color:var(--tinta-2)}
.directivos .nota{margin-top:18px}
.persona .persona__ava{font:700 var(--t3) var(--fd);color:var(--arena)}
.lado .lead{margin:18px 0 26px}

/* contacto */
.contacto{display:grid;gap:clamp(20px,3vw,40px);align-items:start}
@media (min-width:1100px){.contacto{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.contacto__vias{display:grid;gap:12px}
.via{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;padding:20px;border-radius:var(--r);background:var(--blanco);border:1px solid var(--linea);color:var(--tinta);text-decoration:none;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s}
.via:hover{border-color:var(--tinta);text-decoration:none}
.via .ico{margin:0}
.via b{display:block;font:700 var(--t1h)/1.2 var(--fd)}
.via span>span{display:block;font-weight:600}
.via small{display:block;color:var(--tinta-2);font-size:var(--t0h);margin-top:2px}
.via .btn-3{margin-top:2px;min-height:0}
.via--wa{background:var(--accent);border-color:var(--accent);box-shadow:0 14px 30px -14px rgba(0,153,177,.8)}
.via--wa .ico{background:var(--tinta);color:var(--arena)}
.via--wa small{color:var(--tinta)}
.via--wa:hover{background:var(--accent-2);border-color:var(--accent-2)}

/* prosa legal */
.prosa{max-width:760px}
.prosa h2{margin:1.8em 0 .5em}
.prosa h2:first-child{margin-top:0}
.prosa p{font-size:var(--t1);line-height:1.7;color:var(--tinta-2);margin:0 0 1em}
.prosa strong{color:var(--tinta)}

/* artículo */
.cab-art{padding-bottom:clamp(28px,4vw,48px)}
.cab-art h1{max-width:none}
.art-portada{margin-top:clamp(24px,3vw,40px);border-radius:var(--r);overflow:hidden;aspect-ratio:16/7;background:#0F2A33}
@media (max-width:699px){.art-portada{aspect-ratio:16/10}}
.art-portada svg{width:100%;height:100%}
.art-cuerpo{padding-top:0}
.art-cta{margin:2.6em 0 0;padding:26px;border-radius:var(--r);background:var(--noche);color:var(--arena)}
.art-cta p{margin:0 0 18px;font-size:var(--t1);color:var(--band-muted)}
.art-cta p b{display:block;font:700 var(--t2)/1.2 var(--fd);color:var(--arena);margin-bottom:6px}
.art-cta .btn-3{color:var(--cian)}
.articulo .lista-ok{padding:0}
.fuentes h2{margin:0 0 .6em;color:var(--tinta)}
/* en tablet la foto de cabecera y la de sección van apaisadas: en 5:4 o 4:3 a todo el ancho empujaban el contenido una pantalla entera */
@media (min-width:600px) and (max-width:1099px){.cab-pag__vis--foto{aspect-ratio:16/9}}
/* la tarjeta de la nota y el carné de licencias crecen con su contenido en móvil y tablet: en 5:4 la cifra quedaba cortada arriba */
.cab-pag__vis--nota,.cab-pag__vis--lic{aspect-ratio:auto;min-height:min(100%,420px)}
@media (min-width:600px) and (max-width:899px){.cab-lado__vis:not(.cab-lado__vis--diag){aspect-ratio:16/9}}

/* 404 bilingüe */
.no-hay__en{margin-top:44px;padding-top:28px;border-top:1px solid var(--linea);color:var(--tinta-2)}
.no-hay__en .d-3{color:var(--tinta);margin:0 0 6px}
.no-hay__en p{margin:0 0 10px}

/* hover con desplazamiento solo con ratón: en pantallas táctiles el hover se queda pegado */
@media (hover:hover) and (pointer:fine){.camino:hover .camino__foto img{transform:scale(1.04)}
  .btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(0,153,177,.8)}
  .promesa:hover{transform:translateY(-4px);box-shadow:var(--sombra-alta)}
  .camino:hover{transform:translateY(-6px);box-shadow:var(--sombra-alta)}
  .art-tarj:hover{transform:translateY(-5px);box-shadow:var(--sombra-alta)}
  .via:hover{transform:translateY(-3px);box-shadow:var(--sombra)}
}
