/* =========================================================
   Vidaenlavía · Centro Integral al Conductor
   Sistema de diseño (ver DESIGN.md)
   ========================================================= */
@font-face{font-family:"Geist";src:url("../fonts/Geist-Variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@view-transition{navigation:auto}
:root{
  --navy:#182440;--navy-2:#1f2c4d;--navy-3:#2a3961;--deep:#0f162a;
  --lime:#96C13A;--lime-ink:#557316;--lime-t:#eef6dc;
  --bg:#f5f4ee;--paper:#fbfaf6;--line:#e4e2d8;--ink:#2b3549;--muted:#5d6678;--on-navy:#c9d1e3;--on-navy-2:#a9b4cb;
  --amber:#e2a92b;--red:#d65a43;
  --font:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease-out:cubic-bezier(.23,1,.32,1);--ease-io:cubic-bezier(.77,0,.175,1);--ease-drawer:cubic-bezier(.32,.72,0,1);
  --r-lg:30px;--r-md:22px;--r-sm:14px;
  --gutter:clamp(16px,4vw,40px);--maxw:1240px;
  --sec:clamp(64px,9vw,120px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px;interpolate-size:allow-keywords}
body{margin:0;font-family:var(--font);font-size:16.5px;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;color:var(--navy);font-weight:600;line-height:1.05;letter-spacing:-.035em;text-wrap:balance}
p{margin:0}
.lt{font-weight:300;letter-spacing:-.04em}
.wrap{width:min(var(--maxw),100% - 2*var(--gutter));margin-inline:auto}
.frame{width:min(1400px,100% - 24px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:12px;z-index:200;background:#fff;padding:10px 14px;border-radius:10px}
.skip:focus{left:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:8px}
.on-dark :where(a,button,input,select,summary):focus-visible{outline-color:var(--lime)}
.ico{width:22px;height:22px;flex:none}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font:600 15.5px/1 var(--font);text-decoration:none;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform 160ms var(--ease-out),background-color 200ms ease,border-color 200ms ease,color 200ms ease;-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.97)}
.btn .ico{width:20px;height:20px}
.btn .arr{width:18px;height:18px;transition:transform 220ms var(--ease-out)}
.btn-lime{background:var(--lime);color:var(--navy)}
.btn-navy{background:var(--navy);color:#fff}
.btn-line{border-color:rgba(255,255,255,.55);color:#fff}
.btn-line-d{border-color:var(--navy);color:var(--navy)}
.btn-block{width:100%}
@media (hover:hover) and (pointer:fine){
  .btn-lime:hover{background:#a5cd4a}.btn-navy:hover{background:#26365e}
  .btn-line:hover{border-color:#fff;background:rgba(255,255,255,.06)}.btn-line-d:hover{background:rgba(24,36,64,.06)}
  .btn:hover .arr{transform:translateX(4px)}
}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--navy);text-decoration:none;border-bottom:1.5px solid var(--lime);padding-bottom:2px}
.link .ico{width:18px;height:18px;transition:transform 220ms var(--ease-out)}
@media (hover:hover){.link:hover .ico{transform:translateX(4px)}}

/* ---------- Barra de progreso de lectura ---------- */
.progress{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--lime);transform-origin:left;transform:scaleX(0);z-index:120;pointer-events:none}

/* ---------- Header ---------- */
.hdr{position:fixed;inset:12px 0 auto;z-index:100;transition:transform 380ms var(--ease-out)}
.hdr.hide{transform:translateY(calc(-100% - 16px))}
.hdr-in{width:min(1260px,100% - 24px);margin:auto;display:flex;align-items:center;gap:16px;min-height:64px;padding:0 8px 0 18px;background:rgba(251,250,246,.96);border:1px solid rgba(24,36,64,.08);border-radius:18px;transition:box-shadow 250ms ease}
.hdr.scrolled .hdr-in{box-shadow:0 14px 40px -26px rgba(24,36,64,.55)}
.brand{display:block;flex:none}.brand img{height:36px;width:auto}
.nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.nav>a{display:inline-flex;align-items:center;min-height:42px;padding:0 12px;border-radius:10px;font-weight:500;font-size:14.5px;color:var(--navy);text-decoration:none;position:relative;transition:background-color 160ms ease}
.nav>a[aria-current=page]::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;border-radius:2px;background:var(--lime)}
@media (hover:hover){.nav>a:hover{background:rgba(24,36,64,.06)}}
.hdr .btn{min-height:46px;padding:0 18px;font-size:14.5px}
.burger{display:none;margin-left:auto;width:48px;height:48px;border:0;background:none;border-radius:12px;cursor:pointer;position:relative}
.burger i{position:absolute;left:13px;right:13px;height:2px;border-radius:2px;background:var(--navy);transition:transform 300ms var(--ease-out),opacity 200ms ease}
.burger i:nth-child(1){top:18px}.burger i:nth-child(2){top:24px}.burger i:nth-child(3){top:30px}
.menu-open .burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-open .burger i:nth-child(2){opacity:0}
.menu-open .burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:1060px){.nav>a{padding:0 9px;font-size:14px}}
@media(max-width:960px){.nav,.hdr .btn-desk{display:none}.burger{display:block}.brand img{height:32px}.hdr-in{min-height:58px;padding:0 4px 0 14px}}

/* Menú móvil a pantalla completa */
.mnav{position:fixed;inset:0;z-index:90;background:var(--navy);color:#fff;padding:100px var(--gutter) 28px;display:flex;flex-direction:column;
  clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path 520ms var(--ease-io),visibility 0s 520ms}
.menu-open .mnav{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path 560ms var(--ease-io)}
.mnav a.ml{display:flex;justify-content:space-between;align-items:center;font-size:clamp(28px,8vw,40px);font-weight:500;letter-spacing:-.035em;text-decoration:none;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);
  opacity:0;transform:translateY(24px);transition:opacity 300ms ease,transform 300ms var(--ease-out)}
.mnav a.ml small{font-size:13px;font-weight:500;letter-spacing:0;color:var(--on-navy-2)}
.mnav a.ml[aria-current=page]{color:var(--lime)}
.menu-open .mnav a.ml{opacity:1;transform:none;transition:opacity 500ms ease,transform 700ms var(--ease-out);transition-delay:calc(var(--i)*55ms + 220ms)}
.mnav .mfoot{margin-top:auto;display:grid;gap:10px;opacity:0;transition:opacity 300ms ease}
.menu-open .mnav .mfoot{opacity:1;transition:opacity 500ms ease 560ms}
.mnav .mfoot p{font-size:14px;color:var(--on-navy-2)}
body.menu-open{overflow:hidden}
.menu-open .hdr-in{background:var(--paper)}

/* ---------- Secciones ---------- */
.sec{padding:var(--sec) 0}
.sec-tight{padding:calc(var(--sec)*.6) 0}
.h2{font-size:clamp(34px,4.8vw,64px);line-height:1}
.h2 .lt{display:block;color:var(--lime-ink)}
.on-dark .h2 .lt,.on-dark .h1 .lt{color:var(--lime)}
.head{display:grid;grid-template-columns:1.1fr .9fr;gap:24px 56px;align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.head p{font-size:clamp(16px,1.4vw,18.5px);color:var(--muted);max-width:52ch}
.on-dark{background:var(--navy);color:var(--on-navy)}
.on-dark h2,.on-dark h3{color:#fff}.on-dark .head p{color:var(--on-navy-2)}
.answer{font-size:clamp(19px,2.1vw,27px);line-height:1.35;color:var(--navy);letter-spacing:-.02em;max-width:34ch}
.answer b{font-weight:600;background:linear-gradient(transparent 64%,rgba(150,193,58,.42) 64%)}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500}
.kicker i{width:8px;height:8px;border-radius:50%;background:var(--lime)}
@media(max-width:860px){.head{grid-template-columns:1fr;gap:12px}}

/* ---------- Animación: revelado ---------- */
.js [data-r]{opacity:0;transform:translateY(22px);transition:opacity 800ms var(--ease-out),transform 900ms var(--ease-out);transition-delay:var(--d,0ms)}
.js [data-r].in{opacity:1;transform:none}
.js [data-r=clip]{opacity:1;transform:none;clip-path:inset(18% 8% 18% 8% round 28px);transition:clip-path 1200ms var(--ease-io)}
.js [data-r=clip] img{transform:scale(1.15);transition:transform 1500ms var(--ease-out)}
.js [data-r=clip].in{clip-path:inset(0 0 0 0 round 0)}
.js [data-r=clip].in img{transform:none}
.js [data-r=stagger]{opacity:1;transform:none}
.js [data-r=stagger]>*{opacity:0;transform:translateY(18px);transition:opacity 700ms var(--ease-out),transform 800ms var(--ease-out)}
.js [data-r=stagger].in>*{opacity:1;transform:none}
.js [data-r=stagger].in>*:nth-child(2){transition-delay:70ms}.js [data-r=stagger].in>*:nth-child(3){transition-delay:140ms}.js [data-r=stagger].in>*:nth-child(4){transition-delay:210ms}.js [data-r=stagger].in>*:nth-child(5){transition-delay:280ms}.js [data-r=stagger].in>*:nth-child(6){transition-delay:350ms}.js [data-r=stagger].in>*:nth-child(n+7){transition-delay:400ms}
/* Titulares por palabra, con máscara */
.js [data-split]{opacity:1;transform:none}
.sw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.sw>span{display:inline-block;transform:translateY(105%);transition:transform 900ms var(--ease-out);transition-delay:calc(var(--w)*45ms)}
[data-split].in .sw>span,.no-js .sw>span{transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-r],.js [data-r=stagger]>*{opacity:1!important;transform:none!important;transition:opacity 300ms ease!important}
  .js [data-r=clip]{clip-path:none!important}.js [data-r=clip] img{transform:none!important}
  .sw>span{transform:none!important}
  .mnav,.mnav a.ml{transition:none!important}
  @view-transition{navigation:none}
}
::view-transition-old(root){animation:vt-out 260ms var(--ease-out) both}
::view-transition-new(root){animation:vt-in 520ms var(--ease-out) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-10px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(14px)}}

/* ---------- Hero (inicio) ---------- */
.hero{padding-top:92px}
.hero-f{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-lg);color:#fff;background:var(--deep);min-height:min(840px,calc(100svh - 104px));display:flex;align-items:flex-end}
.js .hero-f{clip-path:inset(5% 4% 5% 4% round 30px);transition:clip-path 1300ms var(--ease-io)}
.ready .hero-f{clip-path:inset(0 0 0 0 round 30px)}
.hero-f::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,22,42,.94) 0%,rgba(15,22,42,.66) 48%,rgba(15,22,42,.12) 100%),linear-gradient(0deg,rgba(15,22,42,.8),transparent 46%)}
.hs{position:absolute;inset:0;z-index:-2}
.hs figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1000ms ease}
.hs figure.on{opacity:1}
.hs img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 8s linear}
.hs figure.on img{transform:scale(1)}
.hero-in{width:100%;display:grid;grid-template-columns:1.12fr .88fr;gap:40px;align-items:end;padding:clamp(24px,5vw,64px)}
.h1{font-size:clamp(44px,7vw,98px);line-height:.94;color:#fff;margin:18px 0 22px}
.h1 .lt{display:block;color:var(--lime)}
.hero .lead{color:#d3dbea;font-size:clamp(16px,1.5vw,19px);max-width:46ch;margin-bottom:26px}
.js .fx{opacity:0;transform:translateY(14px);transition:opacity 700ms var(--ease-out),transform 800ms var(--ease-out);transition-delay:var(--d,700ms)}
.ready .fx{opacity:1;transform:none}
.btns{display:flex;flex-wrap:wrap;gap:10px}
.hs-cap{position:absolute;top:clamp(18px,3vw,32px);right:clamp(18px,3vw,32px);display:flex;align-items:center;gap:10px;background:rgba(15,22,42,.84);border-radius:999px;padding:6px 16px 6px 6px;font-size:14px;max-width:calc(100% - 36px)}
.hs-cap span{background:var(--lime);color:var(--navy);font-weight:600;border-radius:999px;padding:6px 12px;white-space:nowrap}
.hs-cap b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-cap :is(span,b){transition:filter 160ms ease,opacity 160ms ease}
.hs-cap.sw8 :is(span,b){filter:blur(4px);opacity:.25}
.hs-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:28px;max-width:540px}
.hs-nav button{all:unset;cursor:pointer;display:grid;gap:8px;min-height:44px;align-content:center;color:#b9c3d8;font-size:13.5px;font-weight:500;transition:color 200ms ease}
.hs-nav button[aria-selected=true]{color:#fff}
.hs-nav button:focus-visible{outline:2px solid var(--lime);outline-offset:4px;border-radius:6px}
.hs-nav i{display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.22);overflow:hidden}
.hs-nav em{display:block;height:100%;background:var(--lime);transform:scaleX(0);transform-origin:left}
.hs-nav button.done em{transform:scaleX(1)}
.hs-nav button[aria-selected=true] em{animation:bar var(--hs,6500ms) linear forwards}
.paused .hs-nav button[aria-selected=true] em{animation-play-state:paused}
@keyframes bar{to{transform:scaleX(1)}}
@media(max-width:960px){
  .hero-f{min-height:0;flex-direction:column;align-items:stretch}
  .hero-in{grid-template-columns:1fr;padding:clamp(150px,40vw,260px) 20px 20px}
  .hs-cap{left:16px;right:auto}.hs-cap b{display:none}.hs-cap{padding-right:6px}
  .hero-f::before{background:linear-gradient(0deg,rgba(15,22,42,.97) 42%,rgba(15,22,42,.55) 75%,rgba(15,22,42,.2))}
}

/* Tarjeta "descuento en vivo" */
.live{background:var(--paper);color:var(--navy);border-radius:24px;padding:22px;box-shadow:0 40px 80px -36px rgba(0,0,0,.7);width:100%;max-width:420px;justify-self:end}
.js .live{opacity:0;transform:translateY(18px) scale(.98);transition:opacity 800ms var(--ease-out) 900ms,transform 900ms var(--ease-out) 900ms}
.ready .live{opacity:1;transform:none}
.live-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.live-h b{font-size:15px;font-weight:600}
.badge{font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--lime-t);color:var(--lime-ink);transition:background-color 200ms ease,color 200ms ease}
[data-state=warn] .badge{background:#fff3d6;color:#835a00}[data-state=bad] .badge{background:#fde8e4;color:#a63523}
.lf{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 16px}
.lf label{display:grid;gap:4px;font-size:12.5px;font-weight:600;color:var(--muted)}
.lf label.full{grid-column:1/-1}
.inp{font:500 16px var(--font);color:var(--navy);border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;min-height:46px;width:100%}
.res{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:end;padding-top:14px;border-top:1px solid var(--line)}
.res small{font-size:12.5px;color:var(--muted);display:block}
.res .big{font-size:42px;line-height:1;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.res .big::before{content:"$";font-size:.5em;vertical-align:.6em;margin-right:2px;color:var(--muted)}
.res .sv{text-align:right;font-weight:600;color:var(--lime-ink);font-variant-numeric:tabular-nums}
.res .sv span::before{content:"$"}
.meter{grid-column:1/-1;height:6px;border-radius:9px;background:#ebe9e0;overflow:hidden;margin-top:12px}
.meter i{display:block;height:100%;background:var(--lime);transform-origin:left;transition:transform 600ms var(--ease-out),background-color 200ms ease}
[data-state=warn] .meter i{background:var(--amber)}[data-state=bad] .meter i{background:var(--red)}
.msg{font-size:14px;margin-top:10px;min-height:2.6em;transition:filter 140ms ease,opacity 140ms ease}
.blur{filter:blur(3px);opacity:.3}
.live .btn{margin-top:10px}
@media(max-width:960px){.live{max-width:none;justify-self:stretch;margin-top:8px}}

/* Segmentado con clip-path */
.seg{position:relative;border-radius:999px;background:#ecebe3;padding:4px}
.seg .sb,.seg .sa{display:grid;grid-template-columns:repeat(var(--n,2),1fr)}
.seg button{all:unset;cursor:pointer;display:grid;place-items:center;min-height:40px;padding:0 10px;font-size:14px;font-weight:600;border-radius:999px;color:var(--muted);text-align:center}
.seg button:focus-visible{outline:2px solid var(--lime)}
.seg .sa{position:absolute;inset:4px;pointer-events:none;background:var(--navy);border-radius:999px;transition:clip-path 300ms var(--ease-out)}
.seg .sa span{display:grid;place-items:center;min-height:40px;padding:0 10px;font-size:14px;font-weight:600;color:#fff;text-align:center}
.on-dark .seg{background:rgba(255,255,255,.08)}.on-dark .seg button{color:var(--on-navy-2)}
.on-dark .seg .sa{background:var(--lime)}.on-dark .seg .sa span{color:var(--navy)}

/* ---------- Franja de respaldo ---------- */
.trust{list-style:none;margin:0 auto;padding:22px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;border-bottom:1px solid var(--line)}
.trust li{display:flex;gap:10px;align-items:center;font-size:14.5px;font-weight:500;color:var(--navy)}
.trust .ico{width:19px;height:19px;color:var(--lime-ink)}
@media(max-width:700px){.trust{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding:18px var(--gutter);gap:24px;mask-image:linear-gradient(90deg,#000 85%,transparent)}.trust::-webkit-scrollbar{display:none}.trust li{white-space:nowrap}}

/* ---------- Promo 50 % ---------- */
.promo-in{position:relative;isolation:isolate;overflow:hidden;background:var(--lime);color:var(--navy);border-radius:var(--r-lg);padding:clamp(28px,5vw,72px);display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,5vw,72px);align-items:center}
.promo-in>svg{position:absolute;right:-6%;bottom:-18%;width:46%;z-index:-1}
.pbig{margin:0;display:flex;align-items:flex-start;line-height:.78;font-weight:600;letter-spacing:-.07em;font-size:clamp(140px,22vw,330px);font-variant-numeric:tabular-nums}
.pbig span{display:inline-block;min-width:1.15em}
.pbig em{font-style:normal;font-weight:300;letter-spacing:0;font-size:.42em;line-height:1;margin:.08em 0 0 .04em;color:#fff;background:var(--navy);border-radius:.18em;padding:.06em .16em .02em .12em}
.js .pbig span,.js .pbig em{opacity:0;transform:translateY(26px)}
.promo.in .pbig span{opacity:1;transform:none;transition:opacity 600ms var(--ease-out),transform 900ms var(--ease-out)}
.promo.in .pbig em{opacity:1;transform:none;transition:opacity 500ms var(--ease-out) 380ms,transform 800ms var(--ease-out) 380ms}
.promo h2{font-size:clamp(30px,3.8vw,54px);line-height:1}
.promo h2 .lt{display:block}
.promo .ptx>p{font-size:clamp(16px,1.4vw,19px);max-width:52ch;margin:16px 0 20px}
.pex{display:inline-flex;flex-direction:column;gap:2px;background:rgba(255,255,255,.55);border-radius:18px;padding:12px 20px;margin-bottom:22px}
.pex span{font-size:13px;font-weight:600}
.pex div{display:flex;align-items:baseline;gap:14px;font-variant-numeric:tabular-nums}
.pex s{font-size:18px;text-decoration-thickness:2px}
.pex b{font-size:clamp(28px,3vw,38px);font-weight:600;letter-spacing:-.035em}
.pnote{font-size:13.5px;margin-top:16px;max-width:60ch}
.promo :focus-visible{outline-color:var(--navy)}
@media(max-width:860px){.promo-in{grid-template-columns:1fr}.pbig{font-size:clamp(130px,42vw,220px)}.promo-in>svg{width:80%;bottom:-6%}}
@media(prefers-reduced-motion:reduce){.js .pbig span,.js .pbig em{opacity:1;transform:none}}

/* ---------- Carrusel (móvil) / grilla (escritorio) ---------- */
.rail{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:16px}
.rail-ctl{display:none}
@media(max-width:860px){
  .rail{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);overscroll-behavior-x:contain}
  .rail::-webkit-scrollbar{display:none}
  .rail>*{scroll-snap-align:start}
  .rail-ctl{display:flex;align-items:center;gap:14px;margin-top:18px}
  .rail-bar{flex:1;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
  .rail-bar i{display:block;height:100%;width:100%;background:var(--navy);transform-origin:left;transform:scaleX(.2);transition:transform 200ms var(--ease-out)}
  .on-dark .rail-bar{background:rgba(255,255,255,.15)}.on-dark .rail-bar i{background:var(--lime)}
  .rail-ctl small{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted)}
  .on-dark .rail-ctl small{color:var(--on-navy-2)}
}

/* Tarjetas de servicio */
.svc{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-md);min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;color:#fff;text-decoration:none;background:var(--navy)}
.svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 900ms var(--ease-out)}
.svc::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(15,22,42,.95) 18%,rgba(15,22,42,.15) 70%)}
.svc .tag{position:absolute;top:18px;left:18px;background:var(--lime);color:var(--navy);font-size:12.5px;font-weight:600;border-radius:999px;padding:6px 11px}
.svc h3{color:#fff;font-size:26px;margin-bottom:8px}
.svc p{color:#d3dbea;font-size:15px}
.svc .go{position:absolute;top:14px;right:14px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center;transition:background-color 200ms ease,transform 300ms var(--ease-out)}
.svc .go .ico{width:20px;height:20px}
@media (hover:hover) and (pointer:fine){.svc:hover img{transform:scale(1.05)}.svc:hover .go{background:var(--lime);color:var(--navy);transform:rotate(-45deg)}}
@media(max-width:860px){.svc{min-height:380px}}

/* ---------- Deslizador de plazos ---------- */
.scrub{background:var(--navy-2);border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:clamp(20px,4vw,44px)}
.scrub-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:30px}
.scrub .seg{min-width:260px}
.day{font-size:clamp(34px,4.4vw,56px);font-weight:600;color:#fff;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.track{position:relative;height:64px;border-radius:16px;overflow:hidden;background:var(--navy-3);display:flex}
.track>div{display:flex;align-items:center;padding:0 12px;overflow:hidden;transition:width 400ms var(--ease-out)}
.track em{font-style:normal;font-size:13px;font-weight:600;white-space:nowrap}
.z50{background:var(--lime);color:var(--navy)}.z25{background:var(--amber);color:var(--navy)}.z0{flex:1;color:var(--on-navy-2)}
.track .fill{position:absolute;left:0;right:0;bottom:0;height:4px;background:#fff;transform-origin:left;padding:0}
.track input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;touch-action:pan-y}
.thumb{position:absolute;top:6px;bottom:6px;width:10px;border-radius:6px;background:var(--navy);border:2px solid #fff;left:0;transform:translateX(-50%);pointer-events:none;transition:left 60ms linear}
.track input:focus-visible~.thumb{box-shadow:0 0 0 4px var(--lime)}
.scale{display:flex;justify-content:space-between;font-size:12.5px;color:#93a0bb;margin-top:10px}
.scrub-out{margin-top:24px;font-size:clamp(17px,1.8vw,22px);color:#dfe6f4;min-height:2.8em;transition:filter 140ms ease,opacity 140ms ease}
.scrub-out b{color:#fff}.scrub[data-state=ok] .scrub-out b{color:var(--lime)}

/* ---------- Pasos ---------- */
.steps-w{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}
.steps-w .side{position:sticky;top:110px;align-self:start}
.steps{list-style:none;margin:0;padding:0;position:relative}
.steps::before,.steps .line{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:2px;background:var(--line);border-radius:2px}
.steps .line{background:var(--lime-ink);transform-origin:top;transform:scaleY(0);transition:transform 700ms var(--ease-out)}
.step{display:grid;grid-template-columns:40px 1fr;gap:20px;padding-bottom:34px;position:relative}
.step:last-child{padding-bottom:0}
.sn{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:15px;background:var(--bg);border:1.5px solid var(--line);color:var(--muted);transition:background-color 300ms ease,border-color 300ms ease,color 300ms ease}
.step.lit .sn{background:var(--navy);border-color:var(--navy);color:#fff}
.step h3{font-size:clamp(20px,2vw,26px);margin:6px 0 6px}
.step p{max-width:52ch;color:var(--muted)}
@media(max-width:900px){.steps-w{grid-template-columns:1fr;gap:28px}.steps-w .side{position:static}.step{padding-bottom:24px}.step p{font-size:15.5px}}

/* ---------- Bandas con foto ---------- */
.band{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-lg);color:#fff;min-height:min(620px,88svh);display:flex;align-items:center}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.06);transition:transform 1600ms var(--ease-out)}
.band.in>img{transform:none}
.band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,22,42,.94) 0%,rgba(15,22,42,.78) 45%,rgba(15,22,42,.2) 100%)}
.band-in{padding:clamp(28px,6vw,80px);max-width:780px}
.band h2{color:#fff;font-size:clamp(36px,5.4vw,74px);line-height:.98}
.band h2 .lt{display:block;color:var(--lime)}
.band p{font-size:clamp(16px,1.5vw,19px);color:#d3dbea;max-width:54ch;margin:20px 0 26px}
.band .logo{display:inline-block;margin-bottom:24px}.band .logo img{height:clamp(42px,5vw,56px);width:auto}
.price{display:inline-flex;align-items:baseline;gap:12px;background:rgba(15,22,42,.6);border:1px solid rgba(150,193,58,.6);border-radius:18px;padding:12px 22px;margin-bottom:26px}
.price span{font-size:15px;color:#d3dbea}.price b{font-size:clamp(30px,3.4vw,44px);font-weight:600;letter-spacing:-.035em;color:var(--lime);font-variant-numeric:tabular-nums}
@media(max-width:760px){.band{align-items:flex-end;min-height:0;padding-top:160px}.band::before{background:linear-gradient(0deg,rgba(15,22,42,.97) 38%,rgba(15,22,42,.5) 80%,rgba(15,22,42,.25))}}
@media(prefers-reduced-motion:reduce){.band>img{transform:none;transition:none}}

/* ---------- Sede ---------- */
.sede{display:grid;grid-template-columns:1fr 1.1fr;gap:16px}
.sede-card{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(22px,4vw,40px)}
.sede-card h3{font-size:clamp(24px,2.6vw,32px);margin-bottom:6px}
.sede-card .dir{color:var(--muted);font-size:17px}
.meta{display:grid;gap:12px;margin:22px 0;padding-top:22px;border-top:1px solid var(--line);font-size:15.5px}
.meta div{display:flex;gap:12px}.meta .ico{color:var(--lime-ink);width:20px;height:20px;margin-top:2px}
.meta a{font-weight:600}
.sede-map{position:relative;border-radius:28px;overflow:hidden;min-height:420px;background:var(--navy)}
.sede-map img,.sede-map iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font-size:13px;padding:6px 11px;border-radius:999px;background:#ecebe3;color:var(--navy);font-weight:500}
.sede-map .chips{position:absolute;left:14px;right:14px;bottom:14px;padding:14px;border-radius:18px;background:var(--navy)}
.sede-map .chips p{width:100%;color:#fff;font-weight:600;font-size:14px;margin-bottom:4px}
.sede-map .chips span{background:rgba(255,255,255,.1);color:#d6dced;font-size:12px}
@media(max-width:900px){.sede{grid-template-columns:1fr}.sede-map{min-height:320px}}

/* ---------- FAQ ---------- */
.faq-w{display:grid;grid-template-columns:.7fr 1.3fr;gap:64px}
.faq-w .side{position:sticky;top:110px;align-self:start}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;cursor:pointer;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:clamp(17px,1.7vw,20px);font-weight:600;letter-spacing:-.02em;line-height:1.3}
.faq summary .pm{position:relative;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);flex:none;transition:background-color 200ms ease,border-color 200ms ease}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--navy);transform:translate(-50%,-50%);transition:transform 300ms var(--ease-out)}
.faq summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] .pm{background:var(--navy);border-color:var(--navy)}
.faq details[open] .pm::before,.faq details[open] .pm::after{background:#fff}
.faq details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq details::details-content{block-size:0;overflow:hidden;transition:block-size 380ms var(--ease-out),content-visibility 380ms allow-discrete}
.faq details[open]::details-content{block-size:auto}
.faq .a{padding:0 48px 22px 0;color:var(--muted);font-size:16px}
.faq .a p+p{margin-top:10px}
@media(max-width:900px){.faq-w{grid-template-columns:1fr;gap:20px}.faq-w .side{position:static}.faq .a{padding-right:0}}
.faq-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:22px}
.faq-search{flex:1;min-width:240px;position:relative}
.faq-search .ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);width:20px;height:20px}
.faq-search input{padding-left:44px;border-radius:999px;min-height:50px}
.chipbtns{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.chipbtns::-webkit-scrollbar{display:none}
.chipbtns button{all:unset;cursor:pointer;white-space:nowrap;min-height:42px;padding:0 16px;display:inline-grid;place-items:center;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:14px;color:var(--navy);transition:background-color 180ms ease,color 180ms ease,transform 160ms var(--ease-out)}
.chipbtns button:active{transform:scale(.97)}
.chipbtns button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.chipbtns button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.empty{padding:28px 0;color:var(--muted)}

/* ---------- Pestañas genéricas ---------- */
.tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:22px;padding:4px;background:#ecebe3;border-radius:999px;width:max-content;max-width:100%;position:relative}
.tabs::-webkit-scrollbar{display:none}
.tabs button{all:unset;cursor:pointer;position:relative;z-index:1;white-space:nowrap;min-height:44px;padding:0 18px;display:inline-grid;place-items:center;border-radius:999px;font-weight:600;font-size:14.5px;color:var(--muted);transition:color 250ms ease}
.tabs button[aria-selected=true]{color:#fff}
.tabs button:focus-visible{outline:2px solid var(--navy)}
.tabs .ind{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;background:var(--navy);transition:transform 380ms var(--ease-out),width 380ms var(--ease-out)}
[role=tabpanel][hidden]{display:none}
[role=tabpanel].enter{animation:tp 420ms var(--ease-out)}
@keyframes tp{from{opacity:0;transform:translateY(8px);filter:blur(3px)}}
@media(prefers-reduced-motion:reduce){[role=tabpanel].enter{animation:none}}

/* ---------- Tablas ---------- */
.tbl-w{overflow-x:auto;border-radius:22px;border:1px solid var(--line);background:var(--paper)}
.tbl{width:100%;border-collapse:collapse;min-width:600px;font-size:15px;color:var(--navy)}
.tbl caption{text-align:left;padding:18px 20px 4px;font-weight:600;font-size:16px}
.tbl th,.tbl td{padding:14px 20px;text-align:left;border-bottom:1px solid var(--line)}
.tbl thead th{font-size:12.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.tbl tbody tr:last-child>*{border-bottom:0}
.tbl td{font-variant-numeric:tabular-nums}
.tbl .hl{color:var(--lime-ink);font-weight:600}
.src{font-size:13px;color:var(--muted);margin-top:12px}
.on-dark .src{color:#93a0bb}
/* Tarjetas de datos en móvil en lugar de tabla ancha */
.dcards{display:none}
@media(max-width:700px){
  .tbl-w.m-cards{display:none}
  .dcards{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter)}
  .dcards::-webkit-scrollbar{display:none}
  .dcard{scroll-snap-align:start;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px}
  .dcard small{font-size:12.5px;font-weight:600;color:var(--muted)}
  .dcard h4{font-size:18px;margin:4px 0 12px;letter-spacing:-.02em}
  .dcard dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:14.5px}
  .dcard dt{color:var(--muted)}.dcard dd{margin:0;font-weight:600;color:var(--navy);text-align:right;font-variant-numeric:tabular-nums}
  .dcard dd.hl{color:var(--lime-ink)}
}

/* ---------- Listas ---------- */
.checks{list-style:none;margin:0;padding:clamp(20px,4vw,36px);display:grid;grid-template-columns:1fr 1fr;gap:24px 44px;background:var(--paper);border:1px solid var(--line);border-radius:28px}
.checks li{display:grid;grid-template-columns:28px 1fr;gap:14px}
.checks .ico{width:28px;height:28px;padding:5px;border-radius:50%;background:var(--lime);color:var(--navy);stroke-width:2.6;margin-top:1px}
.checks h3{font-size:18px;margin-bottom:4px;letter-spacing:-.02em}
.checks p{font-size:15.5px;color:var(--muted)}
@media(max-width:760px){.checks{grid-template-columns:1fr;gap:18px}}
.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rows li{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.rows h3{font-size:clamp(19px,2vw,26px)}.rows p{color:var(--muted);max-width:56ch}
@media(max-width:700px){.rows li{grid-template-columns:1fr;gap:6px;padding:18px 0}}
.vcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:26px;display:flex;flex-direction:column;gap:10px;height:100%}
.vcard .ico{width:28px;height:28px;color:var(--lime-ink)}
.vcard h3{font-size:21px;letter-spacing:-.025em}
.vcard p{color:var(--muted);font-size:15.5px}
.on-dark .vcard{background:var(--navy-2);border-color:rgba(255,255,255,.08)}.on-dark .vcard p{color:var(--on-navy-2)}.on-dark .vcard .ico{color:var(--lime)}
.alert{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.alert>div{border-radius:24px;padding:clamp(22px,3vw,32px)}
.alert .ok{background:var(--navy);color:var(--on-navy)}.alert .ok h3{color:#fff}
.alert .ko{background:var(--paper);border:1px dashed #cdc9bb}
.alert h3{font-size:20px;margin-bottom:14px;display:flex;gap:10px;align-items:center}
.alert ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.alert li{display:flex;gap:10px;font-size:15.5px}
.alert .ok .ico{color:var(--lime)}.alert .ko .ico{color:var(--red)}
@media(max-width:800px){.alert{grid-template-columns:1fr}}

/* ---------- Encabezado de página interior ---------- */
.phero{padding-top:92px}
.phero-f{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-lg);background:var(--navy);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;min-height:min(560px,70svh)}
.js .phero-f{clip-path:inset(4% 3% 4% 3% round 30px);transition:clip-path 1100ms var(--ease-io)}
.ready .phero-f{clip-path:inset(0 0 0 0 round 30px)}
.phero-tx{padding:clamp(26px,5vw,64px);display:flex;flex-direction:column;justify-content:flex-end;gap:18px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:var(--on-navy-2)}
.crumbs a{text-decoration:none;color:#dfe6f4}.crumbs span[aria-hidden]{opacity:.5}
.phero .h1{font-size:clamp(40px,5.8vw,80px);margin:0}
.phero .lead{color:#d3dbea;font-size:clamp(16px,1.5vw,19px);max-width:48ch}
.phero-im{position:relative;overflow:hidden}
.phero-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 1600ms var(--ease-out)}
.ready .phero-im img{transform:none}
.phero-im::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy),transparent 40%)}
.qf{display:flex;flex-wrap:wrap;gap:8px}
.qf span{font-size:13.5px;font-weight:500;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 12px;color:#e3e9f4}
.qf b{color:var(--lime);font-weight:600}
@media(max-width:860px){.phero-f{grid-template-columns:1fr;min-height:0}.phero-im{height:220px;order:-1}.phero-im::after{background:linear-gradient(0deg,var(--navy),transparent 60%)}.phero-tx{padding:6px 20px 24px}}

/* Calculadora completa (páginas internas) */
.calc-w{display:grid;grid-template-columns:1fr 440px;gap:56px;align-items:center}
.calc-w .live{justify-self:stretch;max-width:none;box-shadow:0 30px 70px -40px rgba(24,36,64,.55);border:1px solid var(--line)}
.calc-w .live{opacity:1!important;transform:none!important}
@media(max-width:960px){.calc-w{grid-template-columns:1fr;gap:24px}}

/* Contacto */
.cform{display:grid;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(20px,3vw,32px)}
.cform label{display:grid;gap:6px;font-size:13.5px;font-weight:600;color:var(--muted)}
.cform textarea{min-height:110px;resize:vertical}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cform .note{font-size:12.5px;color:var(--muted)}
@media(max-width:600px){.cform .row2{grid-template-columns:1fr}}
.wa-list2{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.wa-list2 a{display:flex;gap:14px;align-items:center;padding:16px;border-radius:18px;background:var(--paper);border:1px solid var(--line);text-decoration:none;transition:border-color 200ms ease,transform 160ms var(--ease-out)}
.wa-list2 a:active{transform:scale(.98)}
@media (hover:hover){.wa-list2 a:hover{border-color:var(--lime-ink)}}
.wa-list2 .ico{width:42px;height:42px;padding:10px;border-radius:12px;background:var(--lime-t);color:var(--lime-ink)}
.wa-list2 b{display:block;color:var(--navy);font-size:15.5px}.wa-list2 small{color:var(--muted);font-size:13px}
@media(max-width:900px){.wa-list2{grid-template-columns:1fr 1fr}}@media(max-width:560px){.wa-list2{grid-template-columns:1fr}}

/* ---------- CTA final ---------- */
.cta{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:var(--on-navy);border-radius:32px;padding:clamp(40px,8vw,110px) clamp(22px,6vw,80px)}
.cta h2{color:#fff;font-size:clamp(40px,7vw,104px);line-height:.92;max-width:14ch}
.cta h2 .lt{color:var(--lime)}
.cta p{font-size:clamp(16px,1.6vw,19px);margin:20px 0 28px;max-width:46ch}
.cta>svg{position:absolute;right:-4%;bottom:-14%;width:46%;z-index:-1}
@media(max-width:700px){.cta>svg{width:90%;bottom:-8%;opacity:.5}}

/* ---------- Footer ---------- */
.foot{background:var(--deep);color:#b8c2d8;padding:64px 0 24px;margin-top:var(--sec);font-size:14.5px}
.foot-g{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
.foot img{height:42px;width:auto;margin-bottom:16px}
.foot h2{color:#fff;font-size:15px;letter-spacing:0;margin-bottom:14px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot a{text-decoration:none}
@media (hover:hover){.foot a:hover{color:var(--lime)}}
.foot .nap li{display:flex;gap:10px}.foot .nap .ico{color:var(--lime);width:19px;height:19px;margin-top:2px}
.foot .soc{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.foot .soc a{padding:8px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:13px;font-weight:500}
.foot .law{margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;color:#93a0bb}
.foot .bot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:13px;color:#93a0bb}
@media(max-width:900px){.foot-g{grid-template-columns:1fr 1fr}.foot-g>div:first-child{grid-column:1/-1}}
@media(max-width:520px){.foot{padding-bottom:110px}}

/* ---------- WhatsApp por servicio ---------- */
.wa{position:fixed;right:18px;bottom:18px;z-index:80;pointer-events:none}
.wa-btn{pointer-events:auto;display:flex;align-items:center;gap:10px;height:58px;padding:0 20px 0 15px;border:0;border-radius:999px;background:#25D366;color:#06301a;font:600 15px var(--font);cursor:pointer;box-shadow:0 14px 32px -12px rgba(0,0,0,.45);transition:transform 160ms var(--ease-out)}
.wa-btn:active{transform:scale(.96)}
.wa-btn .ico{width:28px;height:28px}
.wa-p{pointer-events:auto;position:absolute;right:0;bottom:70px;width:min(360px,calc(100vw - 36px));background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 30px 70px -20px rgba(15,24,48,.55);transform-origin:bottom right;transition:opacity 200ms var(--ease-out),transform 260ms var(--ease-out)}
.wa-p[hidden]{display:block;visibility:hidden;opacity:0;transform:translateY(8px) scale(.96);pointer-events:none;transition:opacity 140ms ease,transform 140ms ease,visibility 0s 140ms}
.wa-h{display:flex;gap:12px;align-items:center;padding:16px;background:#075E54;color:#fff}
.wa-h b{display:block;font-size:15.5px}.wa-h small{font-size:13px;opacity:.88}
.wa-av{width:40px;height:40px;border-radius:50%;background:#25D366;color:#06301a;display:grid;place-items:center;flex:none}
.wa-x{margin-left:auto;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:20px;cursor:pointer}
.wa-l{padding:8px;max-height:min(420px,60vh);overflow:auto}
.wa-l a{display:flex;gap:12px;align-items:center;padding:11px 10px;border-radius:14px;text-decoration:none;color:var(--navy)}
@media (hover:hover){.wa-l a:hover{background:#eef8ef}}
.wa-l .ico{width:38px;height:38px;padding:9px;border-radius:11px;background:var(--lime-t);color:var(--lime-ink)}
.wa-l b{display:block;font-size:14.5px}.wa-l small{font-size:12.5px;color:var(--muted)}
.wa-f{font-size:12px;color:var(--muted);padding:10px 16px 14px;border-top:1px solid #edf0f5}
@media(max-width:860px){.wa{display:none}}

/* ---------- Barra fija inferior (móvil) ---------- */
.mbar{display:none}
@media(max-width:860px){
  .mbar{display:grid;grid-template-columns:1fr 1fr 64px;gap:8px;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:85;padding:8px;background:rgba(251,250,246,.97);border:1px solid rgba(24,36,64,.1);border-radius:22px;box-shadow:0 18px 40px -18px rgba(15,24,48,.5);transition:transform 380ms var(--ease-out)}
  .mbar.hide{transform:translateY(calc(100% + 20px))}
  .mbar .btn{min-height:48px;padding:0 12px;font-size:14.5px}
  .mbar .wa-m{display:grid;place-items:center;border-radius:16px;background:#25D366;color:#06301a;border:0;cursor:pointer}
  .mbar .wa-m .ico{width:26px;height:26px}
  .wa{display:block;right:10px;bottom:calc(84px + env(safe-area-inset-bottom))}
  .wa .wa-btn{display:none}
  .wa-p{bottom:0}
}

/* ---------- Ajustes de composición ---------- */
.hero-in{padding-top:clamp(110px,11vw,140px)}
@media(min-width:861px){.rail.svc5>article:first-child{grid-column:span 2}.rail.svc5>article:first-child .svc{min-height:420px}}
@media(max-width:960px){.hero .live{display:none}.hero-in{padding-top:clamp(170px,46vw,300px)}}
@media(min-width:961px){.hero .h1{font-size:clamp(44px,6vw,84px)}.hero-in{padding-top:110px}.hero .lead{margin-bottom:22px}.hs-nav{margin-top:22px}}
.mnav a.ml{font-size:clamp(26px,7.4vw,38px);gap:16px}.mnav a.ml small{text-align:right;flex:none;max-width:42%}

/* ---------- Móvil: recorrido corto ---------- */
@media(max-width:860px){
  :root{--sec:52px}
  .h2{font-size:clamp(30px,8.4vw,40px)}
  .head{margin-bottom:24px}
  /* Pasos como carrusel horizontal */
  .steps.m-rail{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1*var(--gutter));padding:0 var(--gutter)}
  .steps.m-rail::-webkit-scrollbar{display:none}
  .steps.m-rail::before,.steps.m-rail .line{display:none}
  .steps.m-rail .step{scroll-snap-align:start;grid-template-columns:1fr;gap:10px;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:20px}
  .steps.m-rail .sn{background:var(--navy);border-color:var(--navy);color:#fff}
  .steps-w .side p{display:none}
  /* Promo más compacta */
  .promo-in{gap:8px;padding:26px 22px}
  .pbig{font-size:clamp(120px,36vw,170px)}
  .pnote{display:none}
  /* Bandas */
  .band{padding-top:120px}
  .band p{margin:14px 0 18px}
  /* Sede en inicio */
  .m-hide{display:none!important}
  .sede-card .btns .btn{flex:1}
  /* FAQ: mostrar solo las primeras en páginas de servicio */
  .faq.m-short details:nth-of-type(n+5){display:none}
  /* Encabezado interior */
  .phero-im{height:180px}
  .phero-tx{gap:12px}
  /* WhatsApp por servicio en dos columnas */
  .wa-list2{grid-template-columns:1fr 1fr;gap:8px}
  .wa-list2 a{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}
  .wa-list2 small{display:none}
  .wa-list2 b{font-size:14.5px;line-height:1.25}
  /* Footer compacto */
  .foot{padding-top:40px}
  .foot-g{grid-template-columns:1fr;gap:22px}
  .foot-g>div:nth-child(2),.foot-g>div:nth-child(3){display:none}
  .foot .mlinks{display:flex!important}
  .foot .law{margin-top:22px}
  .cta{padding:36px 22px}
  .cta p{margin:14px 0 20px}
}
.foot .mlinks{display:none;flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:14px}
.foot .mlinks a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:960px){
  .hs{bottom:auto;height:min(78vw,380px)}
  .hs img{object-position:50% 35%}
  .hero-f::before{background:linear-gradient(180deg,rgba(15,22,42,.05) 0,rgba(15,22,42,.25) min(40vw,190px),var(--deep) min(78vw,380px))}
  .hero-in{padding-top:max(150px,calc(min(78vw,380px) - 70px))}
}

/* =========================================================
   Relieve (sombras) y movimiento expresivo
   ========================================================= */
:root{
  --sh-1:0 1px 2px rgba(24,36,64,.06),0 6px 16px -6px rgba(24,36,64,.12);
  --sh-2:0 2px 4px rgba(24,36,64,.06),0 16px 36px -12px rgba(24,36,64,.24);
  --sh-3:0 4px 10px rgba(24,36,64,.08),0 34px 80px -24px rgba(24,36,64,.42);
  --sh-lime:0 4px 10px rgba(85,115,22,.12),0 34px 70px -26px rgba(85,115,22,.55);
}
.hdr-in{box-shadow:var(--sh-2)}
.hero-f,.phero-f,.band,.cta{box-shadow:var(--sh-3)}
.promo-in{box-shadow:var(--sh-lime)}
.live{box-shadow:0 6px 14px rgba(0,0,0,.18),0 50px 90px -30px rgba(0,0,0,.75)}
.calc-w .live{box-shadow:var(--sh-3)!important}
.svc{box-shadow:var(--sh-2);transition:box-shadow 300ms ease,transform 500ms var(--ease-out)}
.vcard,.dcard,.wa-list2 a,.tbl-w,.sede-card,.cform,.checks{box-shadow:var(--sh-2)}
.vcard{transition:box-shadow 300ms ease,transform 500ms var(--ease-out)}
.sede-map{box-shadow:var(--sh-3)}
.scrub{box-shadow:0 30px 70px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06)}
.alert>div{box-shadow:var(--sh-2)}
.alert .ok{box-shadow:var(--sh-3)}
.tabs{box-shadow:inset 0 1px 3px rgba(24,36,64,.12)}
.tabs .ind{box-shadow:0 6px 14px -6px rgba(24,36,64,.6)}
.seg .sa{box-shadow:0 6px 14px -6px rgba(24,36,64,.5)}
.btn-lime{box-shadow:0 10px 24px -12px rgba(85,115,22,.75)}
.btn-navy{box-shadow:0 10px 24px -12px rgba(24,36,64,.7)}
.pex,.price{box-shadow:var(--sh-1)}
.faq details[open]{background:var(--paper);box-shadow:var(--sh-1);border-radius:16px;padding:0 18px;margin:6px -18px;border-bottom-color:transparent}
.faq details{transition:background-color 300ms ease,box-shadow 300ms ease,margin 300ms var(--ease-out),padding 300ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  .svc:hover{box-shadow:var(--sh-3)}
  .vcard:hover{box-shadow:var(--sh-3);transform:translateY(-6px)}
  .wa-list2 a:hover{box-shadow:var(--sh-3)}
}

/* Superposición: la sede se monta sobre el mapa */
@media(min-width:901px){
  .sede{grid-template-columns:1fr 1.25fr;align-items:center}
  .sede-card{position:relative;z-index:2;margin-right:-90px}
  .sede-map{min-height:520px}
}

/* Hero: más rápido y con más vida */
.hs{inset:-12% 0}
.hs figure{transition:opacity 800ms ease}
.hs img{transform:scale(1.14) translateX(1.5%);transition:transform 5.2s cubic-bezier(.2,.6,.2,1)}
.hs figure.on img{transform:scale(1.02) translateX(0)}
[data-hx]{will-change:transform,opacity}
.live-w{position:relative;justify-self:end;width:100%;max-width:420px}
.live-w .live{max-width:none}
.chip-f{position:absolute;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--navy);font-size:13px;font-weight:600;padding:9px 14px;border-radius:999px;box-shadow:var(--sh-3);white-space:nowrap;z-index:3}
.chip-f .ico{width:18px;height:18px;padding:3px;border-radius:50%;background:var(--lime);stroke-width:2.6}
.chip-f.c1{top:-18px;left:-34px;animation:flo 5s ease-in-out infinite}
.chip-f.c2{bottom:86px;right:-26px;animation:flo 6s ease-in-out -2s infinite}
.js .chip-f{opacity:0;scale:.9;transition:opacity 600ms ease 1400ms,scale 700ms var(--ease-out) 1400ms}
.ready .chip-f{opacity:1;scale:1}
.ready .chip-f.c2{transition-delay:1600ms}
@keyframes flo{50%{transform:translateY(-10px)}}
@media(max-width:960px){.live-w{display:none}}

/* Parallax */
[data-px]{will-change:transform;transition:none!important}
.band>img[data-px],.phero-im img[data-px],.sede-map img[data-px]{inset:-12% 0;height:124%;top:-12%}
.phero-im img[data-px]{position:absolute;left:0;width:100%}
.svc img[data-px]{inset:-8% 0;height:116%;top:-8%}
.ready .phero-im img{transform:none}

/* Banda cinética */
.kin{overflow:hidden;padding:clamp(20px,4vw,48px) 0;display:grid;gap:4px;user-select:none}
.kin-row{display:flex;width:max-content;will-change:transform}
.kin-row span{display:inline-flex;align-items:center;gap:.45em;padding-right:.45em;font-size:clamp(46px,8vw,120px);font-weight:600;letter-spacing:-.05em;line-height:1.05;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(24,36,64,.35)}
.kin-row b{color:var(--lime);-webkit-text-stroke:0;font-weight:600}
.kin-row i{font-style:normal;color:var(--navy);-webkit-text-stroke:0;font-weight:300}
.kin-row[data-kin="-1"] span{color:var(--navy);-webkit-text-stroke:0;font-weight:300}
.kin-row[data-kin="-1"] b{color:var(--lime-ink);font-weight:600}

/* Tarjetas con inclinación 3D */
.tilt{transform-style:preserve-3d;will-change:transform}
.tilt .shine{position:absolute;inset:0;pointer-events:none;z-index:1;border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.18),transparent 45%);opacity:0;transition:opacity 300ms ease}
.tilt:hover .shine{opacity:1}

@media (prefers-reduced-motion:reduce){
  .chip-f{animation:none}.hs img{transform:none!important;transition:none}
  [data-px]{transform:none!important}
  .kin-row{transform:none!important}
}
@media(max-width:860px){.faq details[open]{margin:6px -10px;padding:0 10px}}
.chip-f.c2{bottom:-20px;right:28px}
@media(min-width:901px){.sede-map .chips{left:110px}}

/* =========================================================
   Agendamiento
   ========================================================= */
.agenda{position:relative;display:grid;grid-template-columns:1.5fr .8fr;gap:24px;align-items:start}
.ag-demo{grid-column:1/-1;background:#fff3d6;color:#835a00;border-radius:14px;padding:10px 16px;font-size:14px;font-weight:500}
.ag-main{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(20px,3vw,36px);box-shadow:var(--sh-3)}
.ag-step{display:flex;align-items:center;gap:12px;margin:26px 0 14px}
.ag-step:first-child{margin-top:0}
.ag-step h2{font-size:clamp(20px,2vw,24px);letter-spacing:-.025em}
.ag-step small{margin-left:auto;color:var(--muted);font-size:13.5px}
.ag-n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:600;font-size:14px;flex:none}
/* Días */
.days{display:grid;grid-auto-flow:column;grid-auto-columns:84px;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:6px 2px 12px;margin:0 -2px}
.days::-webkit-scrollbar{display:none}
.dpill{all:unset;box-sizing:border-box;scroll-snap-align:start;cursor:pointer;display:grid;justify-items:center;gap:2px;padding:12px 6px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1);color:var(--navy);
  transition:transform 200ms var(--ease-out),background-color 200ms ease,color 200ms ease,box-shadow 200ms ease;animation:pin 500ms var(--ease-out) both;animation-delay:calc(var(--i)*35ms)}
.dpill small{font-size:12px;text-transform:capitalize;color:var(--muted)}
.dpill b{font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1.05}
.dpill i{font-style:normal;font-size:11.5px;font-weight:600;color:var(--lime-ink);margin-top:4px}
.dpill:active{transform:scale(.96)}
.dpill[aria-checked=true]{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:var(--sh-2);transform:translateY(-3px)}
.dpill[aria-checked=true] small{color:var(--on-navy-2)}.dpill[aria-checked=true] i{color:var(--lime)}
.dpill[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.dpill:focus-visible,.slot:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
@media (hover:hover){.dpill:not([disabled]):not([aria-checked=true]):hover{transform:translateY(-3px);box-shadow:var(--sh-2)}}
.sk{height:96px;border-radius:18px;background:linear-gradient(90deg,#ecebe3 0,#f6f5ef 40%,#ecebe3 80%);background-size:200% 100%;animation:shim 1.2s linear infinite}
@keyframes shim{to{background-position:-200% 0}}
@keyframes pin{from{opacity:0;transform:translateY(10px)}}
/* Franjas */
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.slot{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:10px;padding:16px;border-radius:18px;background:#fff;border:1.5px solid var(--line);box-shadow:var(--sh-1);
  transition:transform 200ms var(--ease-out),border-color 200ms ease,box-shadow 200ms ease,background-color 200ms ease;animation:pin 450ms var(--ease-out) both;animation-delay:calc(var(--i)*50ms)}
.slot .st{font-weight:600;font-size:16.5px;color:var(--navy)}
.slot .bar{height:6px;border-radius:6px;background:#ecebe3;overflow:hidden}
.slot .bar i{display:block;height:100%;background:var(--lime);transform-origin:left;transition:transform 600ms var(--ease-out)}
.slot[data-state=low] .bar i{background:var(--amber)}.slot[data-state=full] .bar i{background:var(--red)}
.slot .sl-left{font-size:13.5px;color:var(--muted)}.slot .sl-left b{color:var(--navy)}
.slot:active{transform:scale(.98)}
.slot[aria-checked=true]{border-color:var(--navy);background:var(--lime-t);box-shadow:var(--sh-2)}
.slot[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}
@media (hover:hover){.slot:not([disabled]):hover{transform:translateY(-3px);box-shadow:var(--sh-2)}}
/* Formulario */
.ag-form{display:grid;gap:12px;max-height:0;overflow:hidden;opacity:0;transition:max-height 600ms var(--ease-out),opacity 400ms ease}
.ag-form.on{max-height:900px;opacity:1}
.ag-form label{display:grid;gap:6px;font-size:13.5px;font-weight:600;color:var(--muted)}
.ag-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ag-check{display:flex!important;grid-template-columns:none;gap:10px!important;align-items:flex-start;font-weight:500!important;font-size:13.5px}
.ag-check input{width:20px;height:20px;accent-color:var(--navy);margin-top:1px;flex:none}
.ag-msg{font-size:14px;font-weight:500;border-radius:12px;padding:10px 14px;background:#fde8e4;color:#a63523}
.ag-form .btn{min-height:56px;font-size:16px;position:relative}
.ag-form .btn .t{display:inline-flex;align-items:center;gap:10px;transition:opacity 200ms ease}
.ag-form .btn .spin{position:absolute;width:22px;height:22px;border-radius:50%;border:2.5px solid rgba(24,36,64,.25);border-top-color:var(--navy);opacity:0;animation:spin 700ms linear infinite}
.ag-form .btn.loading .t{opacity:0}.ag-form .btn.loading .spin{opacity:1}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.ag-form .row2{grid-template-columns:1fr}}
/* Resumen */
.ag-side{position:sticky;top:100px;display:grid;gap:14px}
.ag-sum{background:var(--navy);color:#fff;border-radius:24px;padding:24px;box-shadow:var(--sh-3);display:grid;gap:4px}
.ag-sum small{color:var(--on-navy-2);font-size:13px}
.ag-sum b{font-size:22px;font-weight:600;letter-spacing:-.02em}
.ag-sum span{font-size:18px;color:var(--lime);font-weight:500}
.ag-sum em{font-style:normal;font-size:13.5px;color:var(--on-navy-2)}
.ag-req{list-style:none;margin:0;padding:20px;display:grid;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh-2)}
.ag-req li{display:flex;gap:10px;align-items:center;font-size:15px}
.ag-req .ico{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--lime);color:var(--navy);stroke-width:2.6}
.ag-alt{font-size:14px;color:var(--muted);padding:0 6px}.ag-alt a{color:var(--navy);font-weight:600}
/* Confirmación */
.ag-ok{grid-column:1/-1;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(28px,5vw,56px);box-shadow:var(--sh-3);animation:okin 700ms var(--ease-out)}
.ag-ok h2{font-size:clamp(28px,3.6vw,44px);margin:14px 0 8px}
.ag-ok .ag-when{font-size:20px;color:var(--lime-ink);font-weight:600;margin-bottom:8px}
.ag-ok p{color:var(--muted);margin-bottom:6px}
.ag-ok .btns{margin-top:20px}
.ag-ok-ico{display:inline-grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--lime);color:var(--navy);box-shadow:var(--sh-lime);animation:pop 700ms var(--ease-out) 200ms both}
.ag-ok-ico .ico{width:38px;height:38px;stroke-width:2.6}
@keyframes okin{from{opacity:0;transform:translateY(16px) scale(.98)}}
@keyframes pop{from{transform:scale(.6);opacity:0}}
.agenda.booked .ag-main,.agenda.booked .ag-side{display:none}
@media(max-width:960px){.agenda{grid-template-columns:1fr}.ag-side{position:static;order:-1}.ag-req,.ag-alt{display:none}.ag-sum{padding:18px 20px}}
@media(prefers-reduced-motion:reduce){.dpill,.slot,.ag-ok,.ag-ok-ico{animation:none}}

.agenda>*{min-width:0}
@media(max-width:600px){.slots{grid-template-columns:1fr 1fr;gap:8px}.slot{padding:12px;gap:8px}.slot .st{font-size:14px;line-height:1.25}.slot .sl-left{font-size:12.5px}.ag-step small{display:none}}

/* Comparendo traído desde la calculadora */
.ag-comp{background:var(--paper,#fff);border:1px solid rgba(24,36,64,.08);border-radius:24px;padding:20px 22px;box-shadow:var(--sh-2);display:grid;gap:6px;animation:agIn .5s cubic-bezier(.23,1,.32,1) both}
.ag-comp-h{display:flex;justify-content:space-between;align-items:center}
.ag-comp small{color:#5d6678;font-size:13px}
.ag-comp>b{font-size:16px;font-weight:600;color:var(--navy);letter-spacing:-.01em;line-height:1.3}
.ag-comp>span{font-size:13.5px;color:#5d6678}
.ag-comp-v{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:10px 0 4px;border-top:1px solid rgba(24,36,64,.08);margin-top:6px}
.ag-comp-v strong{display:block;font-size:26px;font-weight:600;letter-spacing:-.03em;color:var(--navy);font-variant-numeric:tabular-nums}
.ag-comp-v em{display:block;font-style:normal;font-weight:600;color:#4f7d12;font-size:16px;text-align:right;font-variant-numeric:tabular-nums}
.ag-comp-v div:last-child small{display:block;text-align:right}
.ag-comp p{margin:0;font-size:13.5px;color:var(--navy)}
.ag-comp a{font-size:13px;color:#5d6678;text-decoration:underline;text-underline-offset:3px;justify-self:start}
.ag-comp[data-pc="0"] .badge{background:#fde8e6;color:#a8322a}
@keyframes agIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ag-comp{animation:none}}
@media(max-width:960px){.ag-demo{order:-2}.ag-comp{padding:14px 18px;gap:2px;border-radius:20px}.ag-comp>span,.ag-comp p{display:none}.ag-comp-v{padding-top:8px;margin-top:4px}.ag-comp-v strong{font-size:21px}.ag-comp-v em{font-size:15px}}

/* =========================================================
   NOTICIAS
   ========================================================= */
/* Tarjeta de noticia */
.nw-card>a,.nw-feat>a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit;background:var(--paper);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-1);transition:box-shadow 300ms var(--ease-out),transform 300ms var(--ease-out)}
.nw-im{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--navy)}
.nw-im img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
.nw-cat{position:absolute;top:14px;left:14px;background:var(--lime);color:var(--navy);font-size:12.5px;font-weight:600;border-radius:999px;padding:6px 11px;box-shadow:var(--sh-1)}
.nw-tx{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1}
.nw-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--muted)}
.nw-meta span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--lime);margin-right:10px;vertical-align:middle}
.nw-card h3,.nw-card h2{font-size:21px;line-height:1.18;letter-spacing:-.025em}
.nw-ex{font-size:15px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nw-go{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;color:var(--navy)}
.nw-go .ico{width:18px;height:18px;transition:transform 220ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  .nw-card>a:hover,.nw-feat>a:hover{box-shadow:var(--sh-2);transform:translateY(-4px)}
  .nw-card>a:hover .nw-im img,.nw-feat>a:hover .nw-im img{transform:scale(1.05)}
  .nw-card>a:hover .nw-go .ico{transform:translateX(4px)}
}

/* Carrusel (banner corredizo) */
.nw-slider{position:relative}
.nw-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2*20px)/3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:6px 4px 24px;margin:-6px -4px 0;scroll-behavior:smooth}
.nw-track::-webkit-scrollbar{display:none}
.nw-track>*{scroll-snap-align:start}
.nw-track:focus-visible{outline:2px solid var(--navy);outline-offset:4px;border-radius:var(--r-md)}
.nw-ctl{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:4px}
.nw-dots{display:flex;gap:8px;align-items:center}
.nw-dots button{width:8px;height:8px;border-radius:999px;border:0;padding:0;background:var(--line);cursor:pointer;transition:width 300ms var(--ease-out),background-color 200ms ease;position:relative}
.nw-dots button::after{content:"";position:absolute;inset:-10px -4px}
.nw-dots button[aria-current]{width:28px;background:var(--navy)}
.nw-arr{display:flex;gap:10px}
.nw-arr button{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--navy);background:transparent;color:var(--navy);display:grid;place-items:center;cursor:pointer;transition:background-color 200ms ease,color 200ms ease,transform 160ms var(--ease-out),opacity 200ms ease}
.nw-arr button:active{transform:scale(.94)}
.nw-arr button[disabled]{opacity:.3;cursor:default}
.nw-arr [data-nw-prev] .ico{transform:rotate(180deg)}
@media (hover:hover){.nw-arr button:not([disabled]):hover{background:var(--navy);color:#fff}}
@media(max-width:960px){.nw-track{grid-auto-columns:calc((100% - 20px)/2)}}
@media(max-width:640px){.nw-track{grid-auto-columns:84%;gap:14px;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}.nw-arr button{width:42px;height:42px}.nw-card h3{font-size:19px}.nw-ex{-webkit-line-clamp:2}}

/* Listado */
.nw-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.nw-filter button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);font-weight:600;font-size:14.5px;color:var(--navy);cursor:pointer;transition:background-color 200ms ease,border-color 200ms ease,color 200ms ease,transform 160ms var(--ease-out)}
.nw-filter button:active{transform:scale(.97)}
.nw-filter button small{font-size:12px;font-weight:600;background:var(--lime-t);color:var(--lime-ink);border-radius:999px;padding:2px 8px}
.nw-filter button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.nw-filter button[aria-pressed="true"] small{background:var(--lime);color:var(--navy)}
@media(max-width:640px){.nw-filter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter)}.nw-filter::-webkit-scrollbar{display:none}.nw-filter button{flex:none}}
.nw-feat{margin-bottom:24px}
.nw-feat>a{display:grid;grid-template-columns:1.25fr 1fr;box-shadow:var(--sh-2)}
.nw-feat .nw-im{aspect-ratio:auto;min-height:420px}
.nw-feat .nw-im img{position:absolute;inset:0}
.nw-feat .nw-tx{padding:clamp(24px,4vw,48px);justify-content:center;gap:16px}
.nw-feat h2{font-size:clamp(28px,3vw,40px);line-height:1.08}
.nw-feat .nw-ex{-webkit-line-clamp:4;font-size:17px}
.nw-feat .btn{align-self:flex-start;margin-top:8px}
@media(max-width:860px){.nw-feat>a{grid-template-columns:1fr}.nw-feat .nw-im{min-height:0;aspect-ratio:16/10}}
.nw-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.nw-grid .nw-card h2{font-size:23px}
@media(min-width:1100px){.nw-grid{grid-template-columns:repeat(4,1fr)}.nw-grid .nw-card h2{font-size:20px}}
@media(max-width:640px){.nw-grid{grid-template-columns:1fr;gap:16px}.nw-grid .nw-card>a{display:grid;grid-template-columns:112px 1fr}.nw-grid .nw-im{aspect-ratio:auto;height:100%}.nw-grid .nw-cat{display:none}.nw-grid .nw-tx{padding:14px 16px;gap:6px}.nw-grid .nw-card h2{font-size:17px}.nw-grid .nw-ex{display:none}.nw-grid .nw-go{font-size:13.5px}}
.nw-card[hidden],.nw-feat[hidden]{display:none}
.nw-empty{color:var(--muted);padding:24px 0}
.nw-acts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.nw-act{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--r-md);background:var(--paper);box-shadow:var(--sh-1);text-decoration:none;color:var(--ink);transition:box-shadow 300ms var(--ease-out),transform 300ms var(--ease-out)}
.nw-act>.ico{width:42px;height:42px;padding:10px;border-radius:50%;background:var(--lime-t);color:var(--lime-ink)}
.nw-act h3{font-size:20px}.nw-act p{font-size:15px;color:var(--muted);flex:1}
.nw-act .link{align-self:flex-start}
.nw-act:nth-child(3)>.ico{background:#dcf8e6;color:#128c4a}
@media (hover:hover) and (pointer:fine){.nw-act:hover{box-shadow:var(--sh-2);transform:translateY(-3px)}}
@media(max-width:960px){.nw-acts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.nw-acts{grid-template-columns:1fr;gap:10px}.nw-act{display:grid;grid-template-columns:auto 1fr;column-gap:14px;padding:16px 18px}.nw-act>.ico{grid-row:span 3}.nw-act p{font-size:14px}.nw-act h3{font-size:17px}}

/* =========================================================
   ARTÍCULO
   ========================================================= */
.ar-hero{padding-top:120px}
.ar-hero .wrap{max-width:980px}
.ar-crumbs{color:var(--muted)}.ar-crumbs a{color:var(--navy)}
.ar-cat{display:inline-block;margin:22px 0 16px;background:var(--lime-t);color:var(--lime-ink);font-weight:600;font-size:13px;border-radius:999px;padding:6px 12px;text-decoration:none}
.ar-h1{font-size:clamp(32px,4.6vw,60px);line-height:1.04;letter-spacing:-.04em}
.ar-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:26px;font-size:14.5px;color:var(--muted)}
.ar-by{display:inline-flex;align-items:center;gap:10px}.ar-by img{width:32px;height:32px;border-radius:50%;background:#fff;box-shadow:var(--sh-1)}.ar-by b{color:var(--navy);font-weight:600}
.ar-share{display:inline-flex;align-items:center;gap:8px;margin-left:auto;text-decoration:none;font-weight:600;color:#128c4a;border:1.5px solid #bfe9cf;border-radius:999px;padding:8px 14px;transition:background-color 200ms ease}
.ar-share .ico{width:18px;height:18px}
@media (hover:hover){.ar-share:hover{background:#ecfbf2}}
.ar-fig{margin:36px 0 0;position:relative;overflow:hidden;border-radius:var(--r-lg);aspect-ratio:21/9;box-shadow:var(--sh-2);background:var(--navy)}
.ar-fig img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover}
@media(max-width:760px){.ar-hero{padding-top:96px}.ar-fig{aspect-ratio:16/10;border-radius:var(--r-md);margin-top:26px}.ar-share{margin-left:0}.ar-meta{gap:8px 16px;font-size:13.5px}}

.ar-w{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,80px);align-items:start;padding:clamp(40px,6vw,72px) 0 var(--sec);max-width:1120px}
.ar-side{position:sticky;top:100px;order:2;display:grid;gap:18px}
.ar-toc{background:var(--paper);border-radius:var(--r-md);padding:18px 20px;box-shadow:var(--sh-1)}
.ar-toc summary{font-weight:600;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:15px}
.ar-toc summary::-webkit-details-marker{display:none}
.ar-toc summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:rotate(45deg) translateY(-3px);transition:transform 250ms var(--ease-out)}
.ar-toc[open] summary::after{transform:rotate(-135deg)}
.ar-toc ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:2px;counter-reset:t}
.ar-toc a{display:block;padding:7px 10px 7px 14px;border-left:2px solid var(--line);font-size:14px;line-height:1.35;color:var(--muted);text-decoration:none;transition:color 200ms ease,border-color 200ms ease}
.ar-toc a[aria-current]{color:var(--navy);border-color:var(--lime);font-weight:600}
@media (hover:hover){.ar-toc a:hover{color:var(--navy)}}
.ar-card{background:var(--navy);border-radius:var(--r-md);padding:22px;display:grid;gap:10px;box-shadow:var(--sh-2)}
.ar-card small{color:var(--on-navy-2);font-size:13px}
.ar-card h2{color:#fff;font-size:22px;margin-bottom:6px}
.ar-card .btn{min-height:48px;font-size:14.5px}
.ar-form{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#dfe6f4;font-size:14px;text-decoration:none;padding-top:4px}
.ar-form .ico{width:16px;height:16px}
@media(max-width:960px){.ar-w{grid-template-columns:1fr;gap:0;padding-top:28px}.ar-side{position:static;order:0;margin-bottom:28px}.ar-card{display:none}.ar-toc:not([open]) ol{display:none}}

/* Texto del artículo */
.prose{font-size:18px;line-height:1.72;color:var(--ink);max-width:70ch;min-width:0}
.prose>*+*{margin-top:1.15em}
.prose .lede{font-size:clamp(19px,1.8vw,22px);line-height:1.55;color:var(--navy);padding-left:20px;border-left:3px solid var(--lime)}
.prose .lede strong{font-weight:600}
.prose h2{font-size:clamp(25px,2.6vw,32px);line-height:1.15;margin-top:2.2em;scroll-margin-top:110px}
.prose h3{font-size:21px;margin-top:1.6em}
.prose strong{color:var(--navy);font-weight:600}
.prose a.il{color:var(--navy);font-weight:500;text-decoration:none;background:linear-gradient(var(--lime),var(--lime)) 0 100%/100% 2px no-repeat;transition:background-size 250ms var(--ease-out)}
@media (hover:hover){.prose a.il:hover{background-size:100% 100%}}
.prose ul,.prose ol{padding-left:0;list-style:none;display:grid;gap:.6em}
.prose ul>li{position:relative;padding-left:26px}
.prose ul>li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--lime)}
.prose ol{counter-reset:o}
.prose ol>li{position:relative;padding-left:44px;counter-increment:o;min-height:30px}
.prose ol>li::before{content:counter(o);position:absolute;left:0;top:.05em;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-size:14px;font-weight:600;display:grid;place-items:center}
.prose .ar-tbl{margin-top:1.5em;box-shadow:var(--sh-1)}
.prose .tbl{min-width:560px;font-size:15px}
.prose .tbl td{color:var(--ink)}
.prose .tbl tbody tr:hover{background:rgba(150,193,58,.07)}
.prose .src{font-size:14px;color:var(--muted);margin-top:.8em}
@media(max-width:640px){.prose{font-size:17px}.prose ol>li{padding-left:40px}.ar-tbl{position:relative}.ar-tbl::after{content:"Desliza →";position:sticky;left:100%;display:block;width:max-content;padding:0 12px 10px;font-size:12px;color:var(--muted)}}
.prose .faq{margin-top:1em}
.prose .faq h3{font-size:18px;margin:0}
/* Bloque de enganche dentro del texto */
.ar-nudge{display:grid;grid-template-columns:1.3fr 1fr;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-2);margin:2.2em 0!important;font-size:15.5px;line-height:1.5}
.ar-nudge small{display:block;font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.ar-nudge-a{background:var(--navy);color:#fff;padding:24px 26px}
.ar-nudge-a small{color:var(--lime)}
.ar-nudge-a h3{color:#fff;font-size:22px;margin:0 0 10px}
.ar-nudge-a p{color:var(--on-navy);margin-bottom:12px}
.ar-nudge .btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.ar-nudge .btn{min-height:46px;padding:0 18px;font-size:14.5px}
.ar-nudge-b{background:var(--paper);padding:24px 26px}
.ar-nudge-b small{color:var(--muted)}
.ar-nudge-b ul{gap:12px!important}
.ar-nudge-b li{padding:0!important}.ar-nudge-b li::before{display:none}
.ar-nudge-b a{display:block;text-decoration:none;color:var(--navy);font-weight:600;line-height:1.3;font-size:15.5px}
.ar-nudge-b a span{display:block;font-size:12px;font-weight:600;color:var(--lime-ink);margin-bottom:2px}
@media (hover:hover){.ar-nudge-b a:hover{text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:3px}}
.ar-nudge:not(:has(.ar-nudge-b)){grid-template-columns:1fr}
@media(max-width:640px){.ar-nudge{grid-template-columns:1fr}.ar-nudge-a,.ar-nudge-b{padding:20px}.ar-nudge .btn{flex:1 1 auto}}
/* Cierre */
.ar-end{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);border-radius:var(--r-lg);padding:clamp(26px,4vw,44px);margin-top:2.6em!important;color:var(--on-navy);box-shadow:var(--sh-3)}
.ar-end>svg{position:absolute;right:-60px;bottom:-40px;width:300px;z-index:-1;opacity:.5}
.ar-end>small{color:var(--lime);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.ar-end h2{color:#fff;margin:8px 0 14px;font-size:clamp(26px,3vw,36px)}
.ar-end p{color:var(--on-navy);font-size:17px}
.ar-end a.il{color:#fff}
.ar-prods{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}
.ar-prod{position:relative;display:grid;gap:2px;padding:14px 46px 14px 16px;border-radius:var(--r-sm);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);text-decoration:none;color:#fff;transition:background-color 200ms ease}
.ar-prod b{font-weight:600;font-size:15.5px}.ar-prod small{color:var(--on-navy-2);font-size:13.5px;line-height:1.35}
.ar-prod .ico{position:absolute;right:14px;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--lime);transition:transform 220ms var(--ease-out)}
@media (hover:hover){.ar-prod:hover{background:rgba(255,255,255,.12)}.ar-prod:hover .ico{transform:translateX(3px)}}
.ar-end .btns{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:640px){.ar-prods{grid-template-columns:1fr}.ar-end .btn{flex:1 1 100%}}
.ar-tags{display:flex!important;flex-wrap:wrap;gap:8px!important;margin-top:2em!important}
.ar-tags li{padding:6px 12px!important;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:13px;color:var(--muted)}
.ar-tags li::before{display:none}
.ar-src{margin-top:1.6em!important;padding-top:20px;border-top:1px solid var(--line)}
.ar-src h2{font-size:15px!important;margin:0 0 10px!important;color:var(--muted);letter-spacing:0;text-transform:uppercase}
.ar-src ul{display:flex!important;flex-wrap:wrap;gap:8px 18px!important}
.ar-src li{padding:0!important;font-size:14.5px}.ar-src li::before{display:none}
.ar-src a{display:inline-flex;align-items:center;gap:5px;color:var(--navy);text-decoration:none;font-weight:500}
.ar-src a .ico{width:14px;height:14px;transform:rotate(-45deg)}
/* Footer: últimas noticias */
.foot-news{display:grid;grid-template-columns:auto 1fr auto;gap:12px 28px;align-items:start;padding:26px 0;margin-top:36px;border-top:1px solid rgba(255,255,255,.1)}
.foot-news h2{font-size:15px;color:#fff;letter-spacing:0;padding-top:2px}
.foot-news ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 24px}
.foot-news li a{color:var(--on-navy);text-decoration:none;font-size:14px;line-height:1.4}
@media (hover:hover){.foot-news li a:hover{color:#fff}}
.foot-news .link{color:#fff;font-size:14px}
@media(max-width:860px){.foot-news{grid-template-columns:1fr}.foot-news ul{grid-template-columns:1fr}}
.nw-ctl{justify-content:flex-start}.nw-arr{order:-1}
@media(max-width:640px){
  .prose .ar-tbl{overflow:visible;border:0;background:none;box-shadow:none}
  .ar-tbl::after{display:none!important}
  .prose .tbl{min-width:0;display:block}
  .prose .tbl thead{display:none}
  .prose .tbl tbody{display:grid;gap:10px}
  .prose .tbl tr{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;box-shadow:var(--sh-1)}
  .prose .tbl td{display:contents;border:0;padding:0}
  .prose .tbl td::before{content:attr(data-l);font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-top:3px}
  .prose .tbl td:first-child{font-weight:600;color:var(--navy)}
  .prose .tbl tbody tr:hover{background:var(--paper)}
  .nw-grid .nw-meta time{display:none}.nw-grid .nw-meta span::before{display:none}
}
.nav>a{white-space:nowrap}
@media(max-width:1240px){.nav{gap:0}.nav>a{padding:0 9px;font-size:14px}.nav>a[aria-current=page]::after{left:9px;right:9px}}
@media(max-width:1100px){.hdr .btn-desk{padding:0 14px}.hdr .btn-desk .arr{display:none}.brand img{height:32px;width:auto}}
@media(max-width:1060px) and (min-width:961px){.nav>a{padding:0 7px;font-size:13.5px}}
.band-in:has(#edw-t){max-width:920px}.band-in:has(#edw-t)>p{max-width:600px}@media(max-width:640px){#edw-t{max-width:none}}
/* Ícono Vidaenlavía (dos chulitos) en banners */
.vchk{overflow:visible;pointer-events:none}
.cta>svg.vchk{right:5%;bottom:auto;top:16%;width:min(32%,440px);filter:drop-shadow(0 18px 40px rgba(0,0,0,.25))}
.promo-in>svg.vchk{right:-2%;bottom:-10%;width:40%}
.ar-end>svg.vchk{right:clamp(20px,4vw,40px);bottom:auto;top:clamp(20px,4vw,40px);width:clamp(84px,14vw,150px);opacity:1;filter:drop-shadow(0 10px 24px rgba(0,0,0,.25))}
.ar-end h2{padding-right:clamp(90px,15vw,170px)}
.js [data-r] .vchk path{opacity:0;transform:translate(-14px,14px);transition:opacity 700ms var(--ease-out),transform 900ms var(--ease-out)}
.js [data-r].in .vchk path{opacity:var(--o,1);transform:none}
.js [data-r].in .vchk .vb{transition-delay:250ms}.js [data-r].in .vchk .vl{transition-delay:450ms}
@media(max-width:700px){.cta>svg.vchk{width:38%;top:auto;bottom:22px;right:18px;opacity:.95}.cta .btns{max-width:calc(100% - 0px)}}
@media(prefers-reduced-motion:reduce){.js [data-r] .vchk path{transform:none;transition:opacity 300ms ease}}
.cta>svg.vchk{filter:drop-shadow(0 12px 22px rgba(0,0,0,.18))}
.promo-in>svg.vchk{width:30%;right:1%;bottom:-6%}
@media(max-width:700px){.cta>svg.vchk{width:82px;top:22px;bottom:auto;right:20px}.cta h2{padding-right:76px}}
/* Banda de texto en movimiento sobre verde manzana (sin contornos) */
.kin{background:var(--lime);margin-block:clamp(8px,2vw,24px)}
.kin-row span{color:var(--navy);-webkit-text-stroke:0;font-weight:600}
.kin-row b{color:#fff}
.kin-row i{color:#fff;font-weight:400}
.kin-row[data-kin="-1"] span{color:var(--navy);font-weight:300}
.kin-row[data-kin="-1"] b{color:#fff;font-weight:600}
.lf-hint{display:block;margin-top:6px;font-size:12.5px;line-height:1.4;color:var(--muted);font-weight:400}
.lf .lf-hint{grid-column:1/-1;margin-top:0}.lf input[type=date]{min-width:0}
.lf label[hidden]{display:none}
