/* =====================================================================
   LETTS · ESTILOS v2
   1. Tokens (paleta, tipografía, espaciado, radios, sombras)
   2. Base
   3. Componentes: botones (26), tarjetas (27), fondos (28)
   4. Secciones de la landing
   5. Responsive: 1440 · 1280 · 768 · 390
   ===================================================================== */

/* Plus Jakarta Sans autoalojada (SIL OFL, ver fonts/OFL.txt) */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;
  src:url(fonts/plus-jakarta-sans-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;
  src:url(fonts/plus-jakarta-sans-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF}

/* ---------- 1. TOKENS ---------- */
:root{
  /* Paleta oficial */
  --navy:#292557;        /* Deep Indigo · azul marino, principal */
  --indigo:#5069B1;      /* Brand Blue · azul índigo, secundario */
  --cobalt:#456BE0;      /* Brighter Cobalt · azul eléctrico, interacción */
  --powder:#9BB7DD;      /* Powder Blue · azul claro, acentos */
  --ice:#D1DDE6;         /* Ice Blue · azul claro, fondos */
  --white:#FFFFFF;
  /* Ampliación (propuesta v2) */
  --violet:#5069B1;      /* Antes violeta: ahora Brand Blue, según manual de marca */
  --slate:#5E6A85;       /* Gris azulado: textos secundarios (5.4:1 sobre blanco) */
  --line:#E2E7F1;        /* Gris azulado claro: divisores y bordes */
  --navy-900:#1B1842;    /* Azul marino profundo para sombras/fondos */
  --navy-700:#332E6E;
  --cobalt-600:#3A5BC8;  /* hover/active */
  --cobalt-50:#EEF2FD;
  --surface:#F4F6FB;     /* Fondo gris azulado */
  --surface-2:#F6F8FC;   /* Fondo de ilustraciones */
  --text:#292557; --text-2:var(--slate); --text-inv:#FFFFFF; --text-inv-2:#C7D2EE;
  --tbd:#B45309; --tbd-bg:#FFF4E5;

  /* Degradados */
  --grad-primary:linear-gradient(135deg,#456BE0 0%,#4C6AC8 55%,#5069B1 100%);
  --grad-primary-hover:linear-gradient(135deg,#3A5BC8 0%,#405EB0 55%,#44599E 100%);
  --grad-card:linear-gradient(150deg,#5069B1 0%,#456BE0 55%,#3A5BC8 100%);
  --grad-navy:radial-gradient(120% 90% at 85% 0%,#2B4590 0%,rgba(30,44,102,0) 55%),linear-gradient(180deg,#1E2C66 0%,#172254 100%);
  --grad-band:linear-gradient(100deg,#2B4590 0%,#172254 55%,#1E2C66 100%);
  --grad-text:linear-gradient(90deg,#9BB7DD 0%,#D1DDE6 100%);

  /* Tipografía */
  --font:"Plus Jakarta Sans",Manrope,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --fs-display:clamp(2.375rem,1.5rem + 2.6vw,3.625rem);   /* 38 → 58 */
  --fs-h2:clamp(1.75rem,1.3rem + 1.6vw,2.625rem);  /* 28 → 42 */
  --fs-h3:1.25rem; --fs-lead:clamp(1.25rem,1rem + .9vw,1.75rem);
  --fs-body:1.0625rem; --fs-sm:.9375rem; --fs-xs:.8125rem;
  --lh-tight:1.08; --lh-head:1.18; --lh-body:1.6;

  /* Espaciado: escala base 4 px */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px; --s-10:128px;
  --section-y:clamp(64px,4rem + 3vw,112px);
  --wrap:1200px; --gutter:clamp(20px,4vw,40px);
  /* Componentes */
  --btn-h:48px; --btn-h-lg:56px; --btn-h-sm:40px;
  --header-shrink:0;
  --header-h-full:88px;
  --header-h-compact:60px;
  --header-h:calc(var(--header-h-full) + (var(--header-h-compact) - var(--header-h-full)) * var(--header-shrink));
  --logo-w-full:120px;
  --logo-w-compact:96px;
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:24px; --r-2xl:32px; --r-pill:999px;
  /* Sombras */
  --sh-sm:0 1px 2px rgba(27,24,66,.06),0 2px 8px rgba(27,24,66,.06);
  --sh-md:0 4px 12px rgba(27,24,66,.08),0 12px 32px rgba(27,24,66,.10);
  --sh-lg:0 10px 24px rgba(27,24,66,.12),0 30px 70px rgba(27,24,66,.18);
  --sh-float:0 18px 40px rgba(14,12,42,.35),0 4px 10px rgba(14,12,42,.2);
  --sh-glow:0 10px 30px rgba(69,107,224,.45);
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- 2. BASE ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3{font-weight:800;letter-spacing:-.025em;line-height:var(--lh-head)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.01em}
a{color:inherit}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px;border-radius:6px}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:8px;background:var(--white);color:var(--navy);padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.eyebrow{font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cobalt);margin-bottom:var(--s-3)}
.on-dark .eyebrow,.eyebrow.on-dark{color:var(--powder)}
.section-head{text-align:center;max-width:860px;margin:0 auto var(--s-7)}
.section-head p{color:var(--text-2);font-size:1.1875rem;margin-top:var(--s-3)}
.tbd{color:var(--tbd);background:var(--tbd-bg);border-radius:8px;padding:6px 10px;font-size:var(--fs-sm);font-weight:600}

/* ---------- 3a. BOTONES (pieza 26) ---------- */
.btn{--bh:var(--btn-h);display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--bh);padding:0 22px;border-radius:var(--r-pill);
  font:700 var(--fs-sm)/1 var(--font);letter-spacing:.005em;text-decoration:none;white-space:nowrap;cursor:pointer;border:1.5px solid transparent;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease),color .18s,border-color .18s;user-select:none}
.btn svg{width:20px;height:20px;flex:none}
.btn-lg{--bh:var(--btn-h-lg);padding:0 30px;font-size:1rem}
.btn-sm{--bh:var(--btn-h-sm);padding:0 18px;font-size:var(--fs-xs)}
.btn-block{width:100%}
/* Primario: azul degradado */
.btn-primary{background:var(--grad-primary);color:#fff;box-shadow:0 6px 18px rgba(69,107,224,.35),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:hover,.btn-primary.is-hover{background:var(--grad-primary-hover);transform:translateY(-2px);box-shadow:0 12px 28px rgba(69,107,224,.45),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:active,.btn-primary.is-active{transform:translateY(0) scale(.98);box-shadow:0 3px 8px rgba(69,107,224,.35),inset 0 2px 4px rgba(20,16,70,.25)}
/* Secundario: borde azul (claro) */
.btn-secondary{background:transparent;color:var(--cobalt);border-color:var(--cobalt)}
.btn-secondary:hover,.btn-secondary.is-hover{background:var(--cobalt-50);transform:translateY(-2px)}
.btn-secondary:active,.btn-secondary.is-active{background:#DFE6FB;transform:scale(.98)}
/* Secundario sobre oscuro */
.btn-secondary.on-dark{color:#fff;border-color:rgba(155,183,221,.7)}
.btn-secondary.on-dark:hover,.btn-secondary.on-dark.is-hover{background:rgba(155,183,221,.14);border-color:var(--powder)}
.btn-secondary.on-dark:active,.btn-secondary.on-dark.is-active{background:rgba(155,183,221,.24)}
/* Blanco para fondos oscuros */
.btn-white{background:#fff;color:var(--navy);box-shadow:0 6px 18px rgba(10,8,40,.25)}
.btn-white:hover,.btn-white.is-hover{background:#EEF2FD;transform:translateY(-2px);box-shadow:0 12px 26px rgba(10,8,40,.35)}
.btn-white:active,.btn-white.is-active{background:#DDE5FA;transform:scale(.98);box-shadow:0 3px 8px rgba(10,8,40,.25)}
/* Deshabilitado */
.btn:disabled,.btn[aria-disabled="true"],.btn.is-disabled{opacity:.42;cursor:not-allowed;transform:none!important;box-shadow:none!important;pointer-events:none}
.btn-primary:disabled,.btn-primary[aria-disabled="true"],.btn-primary.is-disabled{background:#A9B6DA;opacity:1;color:#EEF2FD}
@media (hover:none){.btn:hover{transform:none}}

/* ---------- 3b. TARJETAS (pieza 27) ---------- */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-sm)}
/* Tarjeta de especialidad */
.card-spec{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:128px;padding:20px 12px;
  border-radius:var(--r-lg);background:var(--grad-card);color:#fff;font-weight:700;font-size:var(--fs-sm);text-align:center;overflow:hidden;isolation:isolate;
  box-shadow:0 8px 22px rgba(10,8,40,.28),inset 0 1px 0 rgba(255,255,255,.22);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.card-spec::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(90% 70% at 15% 0%,rgba(255,255,255,.22),transparent 60%)}
.card-spec img{width:40px;height:40px}
.card-spec:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(10,8,40,.35),inset 0 1px 0 rgba(255,255,255,.22)}
/* Tarjeta de funcionalidad */
.card-feature{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:8px 18px}
.card-feature .ico-tile{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:#fff;box-shadow:var(--sh-sm),inset 0 0 0 1px var(--line)}
.card-feature .ico-tile img{width:28px;height:28px}
.card-feature h3{font-size:1rem}
.card-feature p{font-size:var(--fs-sm);color:var(--text-2);line-height:1.5}
/* Tarjeta de modalidad de consulta */
.card-solution{position:relative;display:flex;flex-direction:column;padding:16px 16px 24px;border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-md);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.card-solution:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.card-solution .art{aspect-ratio:4/3;border-radius:var(--r-lg);background:radial-gradient(80% 70% at 50% 60%,#fff 0%,#EEF1FB 70%,#E6EBF9 100%);overflow:hidden;display:grid;place-items:center}
.card-solution .art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(41,37,87,.10))}
.card-solution .body{padding:20px 8px 0;display:flex;flex-direction:column;flex:1}
.card-solution h3{font-size:1.375rem}
.card-solution .desc{color:var(--text-2);margin-top:6px;font-size:var(--fs-body)}
.card-solution hr{border:0;border-top:1px solid var(--line);margin:18px 0}
.card-solution .benefits{display:grid;gap:10px;margin-bottom:24px;font-size:var(--fs-sm);font-weight:600}
.card-solution .benefits li{display:flex;gap:10px;align-items:flex-start}
.card-solution .benefits img{width:20px;height:20px;flex:none;margin-top:1px}
.card-solution .btn{margin-top:auto}
.card-solution.is-featured{border:2px solid var(--cobalt);box-shadow:0 20px 50px rgba(69,107,224,.25),0 6px 14px rgba(41,37,87,.10)}
.card-solution .tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--grad-primary);color:#fff;font-size:var(--fs-xs);font-weight:700;padding:6px 14px;border-radius:var(--r-pill);box-shadow:var(--sh-glow);white-space:nowrap}
/* Tarjeta flotante de información */
.card-float{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r-lg);background:rgba(255,255,255,.96);box-shadow:var(--sh-float);color:var(--navy)}
.card-float .chk{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--grad-primary);flex:none}
.card-float .chk svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.card-float b{display:block;font-size:13px;line-height:1.2}
.card-float small{display:block;font-size:11px;color:var(--slate);line-height:1.3}
/* Tarjeta de indicadores */
.card-kpi{padding:12px 14px;border-radius:var(--r-md);background:#fff;border:1px solid var(--line)}
.card-kpi .k-label{font-size:10.5px;color:var(--slate);font-weight:600}
.card-kpi .k-value{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--navy);line-height:1.1}
.card-kpi .k-delta{font-size:10px;font-weight:700;color:var(--cobalt)}
/* Icono flotante (tile) */
.tile-float{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(160deg,#fff 0%,#E9EEFC 100%);box-shadow:var(--sh-float),inset 0 1px 0 #fff}
.tile-float img{width:32px;height:32px}

/* ---------- 3c. FONDOS (pieza 28) ---------- */
.bg-navy{background:var(--grad-navy);color:var(--text-inv)}
.bg-white{background:#fff}
.bg-slate{background:var(--surface)}
.bg-gradient{background:var(--grad-band);color:var(--text-inv)}
.deco{position:absolute;pointer-events:none;user-select:none}

/* ---------- 4. SECCIONES ---------- */
/* Header · banda blanca */
.site-header{position:sticky;top:0;left:0;right:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);
  --sh-y:calc(6px * (1 - var(--header-shrink) * .7));
  --sh-blur:calc(18px * (1 - var(--header-shrink) * .5));
  box-shadow:0 1px 2px rgba(27,24,66,.04),0 var(--sh-y) var(--sh-blur) rgba(27,24,66,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--header-h)}
.brand{display:inline-flex;align-items:center;border-radius:var(--r-sm)}
.brand img{width:calc(var(--logo-w-full) + (var(--logo-w-compact) - var(--logo-w-full)) * var(--header-shrink));height:auto}
.site-header .menu-actions .btn-sm{--btn-h:calc(var(--btn-h-sm) + (36px - var(--btn-h-sm)) * var(--header-shrink));padding-inline:calc(18px + (16px - 18px) * var(--header-shrink))}
.menu{display:flex;align-items:center;gap:32px}
.menu ul{display:flex;gap:28px}
.menu ul a{color:var(--navy);text-decoration:none;font-size:var(--fs-sm);font-weight:600;padding:6px 0;position:relative;transition:color .2s var(--ease)}
.menu ul a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--cobalt);transform:scaleX(0);transition:transform .2s var(--ease)}
.menu ul a:hover,.menu ul a:focus-visible{color:var(--cobalt)}
.menu ul a:hover::after,.menu ul a:focus-visible::after{transform:scaleX(1)}
.site-header :focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}
.menu-actions{display:flex;gap:10px}
.site-header .btn-secondary:hover,.site-header .btn-secondary:focus-visible{background:#FAFBFF}  /* #456BE0 sobre #FAFBFF = 4.58:1 (AA) */
.site-header .menu-actions .btn-primary{background:var(--cobalt);box-shadow:0 6px 18px rgba(69,107,224,.28)}
.site-header .menu-actions .btn-primary:hover,.site-header .menu-actions .btn-primary:focus-visible{background:#3A5BC8;box-shadow:0 10px 22px rgba(69,107,224,.32)}
.site-header .menu-actions .btn-primary:active,.site-header .menu-actions .btn-primary.is-active{background:#3452B5;box-shadow:0 3px 8px rgba(69,107,224,.28)}
.nav-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:12px;width:44px;height:44px;place-items:center;cursor:pointer;transition:background .2s,border-color .2s;flex:none}
.nav-entrar{display:none;flex:none;margin-left:auto}
.nav-toggle:hover{background:#FAFBFF;border-color:#C9D4F2}
.nav-toggle[aria-expanded="true"]{background:#FAFBFF;border-color:var(--cobalt)}
.nav-toggle svg{width:22px;height:22px;stroke:var(--navy);stroke-width:2;stroke-linecap:round;fill:none}

main section[id]{scroll-margin-top:calc(var(--header-h) + 12px)}
.hero{position:relative;overflow:hidden;margin-top:calc(-1 * var(--header-h));padding:150px 0 110px;isolation:isolate}
.hero .deco-curvas{inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:40px;align-items:center}
.hero h1{font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:-.035em}
.hero h1 .l{display:block}
.hero-sub{font-size:var(--fs-lead);font-weight:700;line-height:1.3;margin-top:var(--s-5);background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;max-width:26ch}
.hero-text{color:var(--text-inv-2);font-size:1.125rem;margin-top:var(--s-4);max-width:44ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:var(--s-6)}
.hero-offer{display:inline-flex;align-items:center;gap:10px;margin-top:var(--s-6);color:#E3E9FA;font-size:var(--fs-sm);font-weight:600;text-decoration:none;padding:6px 14px 6px 6px;border-radius:var(--r-pill);background:rgba(255,255,255,.06);border:1px solid rgba(155,183,221,.25);transition:background .2s}
.hero-offer:hover{background:rgba(255,255,255,.12)}
.pill{background:var(--grad-primary);color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:var(--r-pill)}

/* Pieza 01: ilustración 3D del hero (HTML/CSS) */
.hero-art{position:relative;aspect-ratio:1.12/1;width:112%;max-width:700px;justify-self:end;margin-right:-4%}
.hero-art .deco{z-index:0}
.hero-art .d-organica{width:92%;left:6%;top:6%}
.hero-art .d-contorno{width:104%;left:-2%;top:-2%}
.hero-art .d-puntos{width:104%;left:-2%;top:-2%}
.hero-art .d-sombra{width:84%;left:8%;bottom:-2%}
.stage{position:absolute;inset:0;perspective:1800px;z-index:1}
.scene{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(14deg) rotateY(-18deg) rotateZ(4deg);transform-origin:50% 55%}
.dash{position:absolute;left:7%;top:13%;width:84%;border-radius:22px;background:linear-gradient(160deg,#FFFFFF 0%,#F2F5FD 100%);
  box-shadow:0 1px 0 #fff inset,0 0 0 1px rgba(155,183,221,.5),24px 34px 60px rgba(10,8,40,.45),0 0 0 8px rgba(155,183,221,.14);
  padding:14px;display:grid;grid-template-columns:1.04fr 1fr;grid-template-rows:auto 1fr auto;gap:10px;color:var(--navy);transform:translateZ(0)}
.dash-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:2px 4px 6px;border-bottom:1px solid var(--line)}
.dash-top img{width:58px}
.dash-top .tabs{display:flex;gap:6px}
.dash-top .tabs span{font-size:9.5px;font-weight:700;color:var(--slate);padding:4px 8px;border-radius:999px}
.dash-top .tabs span.on{background:var(--cobalt-50);color:var(--cobalt)}
.dash-top .me{width:22px;height:22px;border-radius:50%;background:var(--grad-primary)}
.pending{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;font-weight:700;color:#fff;background:var(--grad-primary);padding:4px 9px;border-radius:999px;box-shadow:0 4px 10px rgba(69,107,224,.4)}
.pending i{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.3)}
.mini{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}
.mini h4{margin:0 0 6px;font-size:10.5px;font-weight:800;display:flex;justify-content:space-between;align-items:center}
.mini h4 small{font-weight:600;color:var(--slate);font-size:9px}
.agenda-mini{display:flex;flex-direction:column;justify-content:center;align-self:stretch;padding:12px 14px}
.agenda-mini h4{margin-bottom:8px}
.agenda-mini .cal-grid{width:100%;max-width:100%;margin-inline:auto;box-sizing:border-box}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center;font-size:8.5px;font-weight:600;color:var(--navy)}
.cal-grid .dow{color:var(--slate);font-weight:700;font-size:8px}
.cal-grid span{height:17px;line-height:15px;border-radius:5px}
.cal-grid .on{background:var(--grad-primary);color:#fff}
.cal-grid .hl{background:var(--cobalt-50);color:var(--cobalt);font-weight:800}
.cal-grid .dot{position:relative}
.cal-grid .dot::after{content:"";position:absolute;left:50%;bottom:0;width:3px;height:3px;margin-left:-1.5px;border-radius:50%;background:var(--violet)}
.patient-card{display:flex;flex-direction:column;gap:8px}
.p-head{display:flex;gap:9px;align-items:center}
.p-head svg{width:38px;height:38px;border-radius:50%;flex:none;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--powder)}
.p-head b{font-size:11px;display:block;line-height:1.2}
.p-head small{font-size:9px;color:var(--slate);display:block}
.p-tags{display:flex;gap:4px;flex-wrap:wrap}
.p-tags span{font-size:8.5px;font-weight:700;padding:3px 7px;border-radius:999px;background:var(--cobalt-50);color:var(--indigo)}
.records{display:grid;gap:5px}
.records li{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;font-size:9px;font-weight:600;padding:5px 6px;border-radius:8px;background:var(--surface)}
.records li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cobalt)}
.records li:nth-child(2)::before{background:var(--violet)}
.records li:nth-child(3)::before{background:var(--powder)}
.records li small{color:var(--slate);font-size:8.5px}
.stats{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr;gap:10px}
.chart{display:flex;flex-direction:column}
.bars{display:flex;align-items:flex-end;gap:7px;height:54px;padding-top:4px}
.bars span{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#5069B1,#456BE0);height:var(--h);opacity:.9}
.bars span:nth-child(odd){background:linear-gradient(180deg,#9BB7DD,#5069B1)}
.bars-x{display:flex;justify-content:space-between;font-size:7.5px;color:var(--slate);font-weight:600;margin-top:3px}
.kpis{display:grid;gap:8px}
/* Flotantes con profundidad */
.fl{position:absolute;z-index:3;transform-style:preserve-3d}
.fl-cross{left:1%;top:6%;transform:translateZ(90px)}
.fl-cross .tile-float{background:var(--grad-primary)}
.fl-team{right:0;top:2%;transform:translateZ(110px)}
.fl-check{right:-6%;bottom:3%;transform:translateZ(140px)}
.fl-check .card-float{width:auto}
.fl-check .card-float b,.fl-check .card-float small{white-space:nowrap}
.fl-kpi{left:0;top:47%;transform:translateZ(120px)}
.fl-kpi .card-kpi{box-shadow:var(--sh-float);width:150px;border:0}
.float-a{animation:floaty 7s ease-in-out infinite}
.float-b{animation:floaty 8s ease-in-out -2s infinite}
.float-c{animation:floaty 9s ease-in-out -4s infinite}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media (prefers-reduced-motion:reduce){.float-a,.float-b,.float-c{animation:none}html{scroll-behavior:auto}}

/* Cómo funciona */
.steps{padding:clamp(64px,8vw,96px) 0;background:#fff;border-bottom:1px solid var(--line)}
.steps-grid{display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,52px);align-items:stretch}
.steps-grid h2{font-size:clamp(1.75rem,1.2rem + 1.2vw,2.25rem);max-width:28ch;margin:0 auto;text-align:center;padding:0;border:0}
.step-list{display:grid;grid-template-columns:1fr minmax(72px,9vw) 1fr minmax(72px,9vw) 1fr;align-items:start;gap:8px 4px;width:100%;max-width:1080px;margin:0 auto;padding:12px 0 8px}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:8px 6px}
.step .n{display:block;width:auto;height:auto;border-radius:0;background:linear-gradient(165deg,#6B8AE8 0%,#456BE0 42%,#3A5BC8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800;font-size:clamp(2.25rem,1.6rem + 1.4vw,3rem);line-height:1;letter-spacing:-.05em;filter:drop-shadow(0 2px 0 rgba(255,255,255,.85)) drop-shadow(0 10px 22px rgba(69,107,224,.45))}
.step .ico{width:96px;height:96px;border-radius:26px;display:grid;place-items:center;background:linear-gradient(165deg,#fff 0%,#EEF2FD 52%,#E2E9FA 100%);
  box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 rgba(155,183,221,.35),0 4px 0 rgba(210,220,245,.9),0 16px 36px rgba(41,37,87,.14),0 6px 14px rgba(69,107,224,.12)}
.step .ico img{width:48px;height:48px}
.step h3{font-size:clamp(1.2rem,1rem + .45vw,1.4375rem);max-width:16ch}
.step p{color:var(--text-2);font-size:var(--fs-body);max-width:32ch;line-height:1.5}
.step-arrow{align-self:start;margin-top:112px;width:100%;max-width:112px;height:auto;opacity:.95}
.step-arrow.v{display:none}

/* Especialidades */
.specialties{position:relative;overflow:hidden;padding:var(--section-y) 0;isolation:isolate;color:#fff;background:#1E2C66}
.specialties .deco-fondo{inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.spec-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:64px;align-items:center}
.spec-copy h2{max-width:14ch}
.spec-copy p{color:var(--text-inv-2);margin:var(--s-4) 0 var(--s-6);font-size:1.125rem;max-width:38ch}
.spec-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.spec-cards>li{flex:0 0 calc((100% - 3*14px)/4)}
.spec-cards .card-spec{background:var(--cobalt);border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 28px rgba(69,107,224,.38)}
.spec-cards .card-spec::before{display:none}
.spec-cards .card-spec:hover{background:#5278E8;box-shadow:0 14px 34px rgba(69,107,224,.48)}

/* Funcionalidades */
.features{padding:clamp(72px,9vw,104px) 0;background:var(--surface)}
.features-grid{display:grid;grid-template-columns:1fr;gap:clamp(40px,5vw,56px);align-items:stretch}
.features-grid h2{font-size:clamp(1.875rem,1.3rem + 1.4vw,2.375rem);max-width:32ch;margin:0 auto;text-align:center;line-height:var(--lh-head)}
.features .feature-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:var(--wrap);margin:0 auto;align-items:stretch}
.features .feature-list>li{border-left:1px solid #DCE2EE;display:flex}
.features .feature-list>li:first-child{border-left:0}
.features .feature-list .card-feature{flex:1;gap:16px;padding:24px 14px 28px;min-height:268px;justify-content:flex-start}
.features .feature-list .ico-tile{width:80px;height:80px;border-radius:22px;box-shadow:var(--sh-md),inset 0 0 0 1px var(--line)}
.features .feature-list .ico-tile img{width:40px;height:40px}
.features .feature-list .card-feature h3{font-size:clamp(1.125rem,1rem + .45vw,1.3125rem)}
.features .feature-list .card-feature p{font-size:var(--fs-body);line-height:1.55;max-width:26ch;color:var(--text-2)}

/* Soluciones */
.solutions{padding:var(--section-y) 0;background:#fff}
.solutions-hint{display:none;color:var(--text-2);font-size:var(--fs-sm);margin-top:8px}
.solution-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:stretch}

/* Socios fundadores (extra de lanzamiento) */
.offer{padding:0 0 var(--section-y);background:#fff}
.offer-card{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-2xl);padding:56px;display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;box-shadow:var(--sh-lg)}
.offer-card .deco{z-index:-1}
.offer-card>*{min-width:0}
.offer-card .d-org{width:520px;right:-120px;top:-140px;opacity:.9}
.offer-card .d-pts{width:520px;right:-60px;top:-60px;opacity:.7}
.offer--locked .offer-card{grid-template-columns:1fr;text-align:center;justify-items:center;padding:52px 56px 56px;box-shadow:var(--sh-lg),inset 0 0 120px rgba(80,105,177,.08)}
.offer--locked .offer-card::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 90% 70% at 50% 110%,rgba(80,105,177,.22),transparent 58%),radial-gradient(circle at 88% 8%,rgba(155,183,221,.18),transparent 42%),radial-gradient(circle at 12% 20%,rgba(69,107,224,.12),transparent 35%)}
.offer-countdown{position:relative;z-index:1;max-width:620px;margin:0 auto}
.offer-countdown h2{font-size:clamp(1.875rem,1.25rem + 2vw,2.75rem);line-height:1.1;letter-spacing:-.03em;max-width:14ch;margin:0 auto}
.offer-countdown-lead{color:var(--text-inv-2);font-size:clamp(1.0625rem,1rem + .35vw,1.25rem);line-height:1.5;margin-top:var(--s-4);max-width:28ch;margin-left:auto;margin-right:auto}
.offer-countdown-cta{margin-top:var(--s-5);display:flex;justify-content:center}
.offer-countdown-cta .btn{min-width:min(100%,260px)}

/* Mini contador flotante (antes del lanzamiento) */
.offer-float{position:fixed;right:clamp(12px,2.5vw,28px);bottom:clamp(16px,3vw,32px);z-index:90;display:flex;flex-direction:column;padding:0;border-radius:var(--r-lg);background:linear-gradient(145deg,#22336F 0%,#172254 100%);border:1px solid rgba(155,183,221,.38);box-shadow:0 14px 36px rgba(10,8,40,.48),inset 0 1px 0 rgba(255,255,255,.08);color:#fff;font-weight:700;opacity:0;transform:translate3d(0,18px,0) scale(.94);pointer-events:none;transition:opacity .42s var(--ease),transform .42s var(--ease),box-shadow .2s var(--ease);touch-action:none;user-select:none}
.offer-float.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);pointer-events:auto}
.offer-float.is-leaving{opacity:0;transform:translate3d(0,12px,0) scale(.96);pointer-events:none}
.offer-float.is-visible:not(.is-dragging):hover{transform:translate3d(0,-2px,0) scale(1);box-shadow:0 18px 42px rgba(10,8,40,.55),inset 0 1px 0 rgba(255,255,255,.1)}
.offer-float.is-dragged.is-visible{transform:none}
.offer-float.is-dragged.is-visible:not(.is-dragging):hover{transform:none}
.offer-float.is-dragging{cursor:grabbing;box-shadow:0 20px 44px rgba(10,8,40,.58)}
.offer-float[hidden]{display:none!important}
.offer-float-close{position:absolute;top:6px;right:6px;z-index:2;display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:8px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.92);font-size:18px;line-height:1;cursor:pointer;transition:background .15s,color .15s}
.offer-float-close:hover,.offer-float-close:focus-visible{background:rgba(255,255,255,.22);color:#fff}
.offer-float-body{display:block;color:inherit;text-decoration:none;cursor:grab}
.offer-float.is-dragging .offer-float-body{cursor:grabbing}
.offer-float-body:focus-visible{outline:2px solid var(--powder);outline-offset:3px;border-radius:var(--r-lg)}
.offer-float-inner{display:flex;flex-direction:column;gap:8px;padding:11px 28px 12px 16px}
.offer-float-hook{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--powder);line-height:1.25;text-align:center}
.offer-float-main{display:flex;align-items:center;justify-content:center;gap:12px}
.offer-float-brand{font-size:var(--fs-sm);letter-spacing:-.02em;padding-right:12px;margin-right:2px;border-right:1px solid rgba(155,183,221,.32)}
.offer-float-cd{display:flex;align-items:baseline;gap:9px;font-variant-numeric:tabular-nums}
.offer-float-cd b{font-size:14px;font-weight:800;line-height:1}
.offer-float-cd small{font-size:9px;font-weight:700;opacity:.72;margin-left:1px;letter-spacing:.02em}
@media (prefers-reduced-motion:reduce){.offer-float,.offer-float.is-visible,.offer-float.is-leaving{transition:none;transform:none}}
.countdown{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:clamp(28px,4vw,40px)}
.countdown-unit{min-width:78px;padding:16px 14px 13px;border-radius:var(--r-lg);background:rgba(7,5,28,.45);border:1px solid rgba(155,183,221,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 32px rgba(10,8,40,.35);backdrop-filter:blur(10px)}
.countdown-value{display:block;font-size:clamp(1.875rem,1.3rem + 1.6vw,2.625rem);font-weight:800;line-height:1;color:#fff;letter-spacing:-.03em;font-variant-numeric:tabular-nums;text-shadow:0 0 28px rgba(155,183,221,.35)}
.countdown-label{display:block;margin-top:8px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(155,183,221,.85)}
.offer-reveal{display:none;width:100%}
.offer--locked .offer-reveal{display:none!important}
.offer:not(.offer--locked) .offer-countdown{display:none}
.offer:not(.offer--locked) .offer-card{grid-template-columns:1fr}
.offer:not(.offer--locked) .offer-reveal{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center}
.offer-copy p{color:var(--text-inv-2);margin-top:var(--s-4);max-width:46ch}
.offer-points{display:grid;gap:12px;margin-top:var(--s-5)}
.offer-points li{display:flex;gap:12px;align-items:flex-start;color:#F4F7FF;font-size:1.0625rem;line-height:1.45}
.offer-points img{width:22px;height:22px;flex:none;margin-top:2px}
.offer-price{background:#fff;border:1px solid rgba(155,183,221,.45);border-radius:var(--r-xl);padding:28px 26px 24px;text-align:center;color:var(--navy);box-shadow:0 18px 44px rgba(10,8,40,.28)}
.offer-price .price-label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--indigo)}
.offer-price .price .amount{font-size:4.5rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--navy);text-shadow:none}
.offer-price .price .cur{font-size:1.25rem;font-weight:700;color:var(--cobalt)}
.offer-price .price-note{color:var(--slate);font-size:var(--fs-body);margin-bottom:var(--s-5);line-height:1.45}
.offer-price .fine{font-size:var(--fs-xs);color:var(--slate);margin-top:var(--s-3);line-height:1.45}
.offer-price .btn-primary{box-shadow:0 6px 18px rgba(69,107,224,.35),inset 0 1px 0 rgba(255,255,255,.25)}
.offer-price .btn-primary:hover{box-shadow:0 12px 28px rgba(69,107,224,.45),inset 0 1px 0 rgba(255,255,255,.25)}

/* Preguntas frecuentes */
.faq{padding:clamp(48px,5vw,72px) 0;background:var(--surface)}
.faq>.wrap{display:flex;flex-direction:column;align-items:center}
.faq .section-head{max-width:720px;width:100%;margin:0 0 32px;text-align:center}
.faq .section-head h2{font-size:clamp(1.75rem,3vw,2.125rem)}
.faq-list{width:100%;max-width:720px;margin:0 auto;border-top:1px solid var(--line)}
.faq-list>details[hidden]{display:none}
.faq-foot{width:100%;max-width:720px;margin:24px auto 0;display:flex;flex-direction:column;align-items:center;gap:20px}
.faq-foot .faq-toggle{margin-top:0}
.faq-contact{width:100%;max-width:420px;padding:14px 22px 16px;border:1.5px solid var(--cobalt);border-radius:var(--r-pill);text-align:center;background:#fff}
.faq-contact-lead{margin:0 0 12px;font-weight:700;font-size:var(--fs-sm);color:var(--cobalt);line-height:1.35}
.faq-contact-icons{display:flex;justify-content:center;gap:12px}
.icon-chip{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--cobalt);color:var(--cobalt);text-decoration:none;transition:background .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}
.icon-chip img{width:22px;height:22px;color:var(--cobalt)}
.icon-chip--sm{width:38px;height:38px}
.icon-chip--sm img{width:20px;height:20px}
.icon-chip:hover,.icon-chip:focus-visible{background:var(--cobalt-50);transform:translateY(-2px);box-shadow:0 4px 12px rgba(69,107,224,.18)}
.icon-chip:active{transform:translateY(0)}
.faq details{background:transparent;border:0;border-radius:0;box-shadow:none;border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;font-weight:600;font-size:1.0625rem;line-height:1.4;color:var(--navy);position:relative;transition:color .2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover,.faq summary:focus-visible{color:var(--cobalt)}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;width:auto;height:auto;margin:0;border-radius:0;background:none;color:var(--cobalt);font-size:1.625rem;font-weight:400;line-height:1;transform:translateY(-50%);transition:transform .2s var(--ease)}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 0 18px;color:var(--text-2);font-size:var(--fs-body);line-height:1.55;max-width:640px}
.faq details p.tbd{margin:0 0 18px;padding:6px 10px;font-size:var(--fs-xs)}
.faq details[open] summary{padding-bottom:12px}
.faq .section-head a{color:var(--cobalt);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.faq-toggle{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--cobalt);font:700 var(--fs-sm)/1 var(--font);cursor:pointer;text-decoration:underline;text-underline-offset:4px;transition:color .2s}
.faq-toggle:hover,.faq-toggle:focus-visible{color:#3A5BC8}
.faq-toggle[hidden]{display:none!important}

/* Cierre (pieza 24) */
.final-cta{padding:0 0 var(--section-y);background:var(--surface)}
.cta-band{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-2xl);display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;padding:40px 48px;box-shadow:var(--sh-lg);color:#fff}
.cta-band .deco-fondo{inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.cta-logo{display:flex;align-items:center;padding-right:40px;border-right:1px solid rgba(155,183,221,.35)}
.cta-logo img{width:132px}
.cta-copy{text-align:center}
.cta-copy h2{font-size:clamp(1.375rem,1rem + 1vw,1.875rem)}
.cta-copy p{color:var(--text-inv-2);margin-top:6px}

/* Footer */
.site-footer{background:#fff;border-top:1px solid var(--line);padding:var(--s-7) 0}
.foot{display:grid;grid-template-columns:1.2fr 2fr;gap:32px;align-items:start}
.foot img{width:96px;margin-bottom:12px}
.foot p{color:var(--text-2);font-size:var(--fs-sm)}
.foot ul{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:flex-end}
.foot nav{display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%}
.foot-rrss-wrap{display:flex;justify-content:flex-end;width:100%}
.foot-rrss{display:inline-flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;justify-content:center;gap:12px;width:auto;max-width:100%;min-height:0;padding:10px 18px;border-radius:var(--r-pill);background:linear-gradient(145deg,#2B4590 0%,#1E2C66 100%);border:1px solid rgba(155,183,221,.22);box-shadow:0 4px 14px rgba(27,24,66,.1)}
.foot-rrss-label{font-size:var(--fs-xs);font-weight:600;color:#fff;white-space:nowrap;line-height:20px;height:20px;display:flex;align-items:center;margin:0}
.foot-rrss-icon{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:20px;height:20px;padding:0;margin:0;border:0;line-height:0;font-size:0;text-decoration:none;overflow:hidden}
.foot-rrss-icon img{display:block;width:20px;height:20px;max-height:20px;margin:0;padding:0;filter:brightness(0) invert(1);opacity:1;transition:transform .15s var(--ease)}
.foot-rrss-icon:hover img,.foot-rrss-icon:focus-visible img{transform:scale(1.08)}
.foot ul a{text-decoration:none;font-weight:600;font-size:var(--fs-sm);color:var(--navy)}
.foot ul a:hover{color:var(--cobalt)}
.copy{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:var(--fs-xs)!important}

/* ---------- 5. RESPONSIVE ---------- */
/* Laptop · 1280 */
@media (max-width:1320px){
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .steps-grid{gap:32px}
  .steps-grid h2{font-size:1.875rem}
  .fl-kpi{left:5%}
  .step-list{max-width:100%;grid-template-columns:1fr 56px 1fr 56px 1fr;gap:4px}
  .step .ico{width:88px;height:88px;border-radius:24px}
  .step .ico img{width:44px;height:44px}
  .step-arrow{margin-top:104px;max-width:56px}
  .features-grid{gap:32px}
  .features .feature-list .card-feature{padding:20px 12px 24px;min-height:240px}
  .features .feature-list .ico-tile{width:72px;height:72px}
  .features .feature-list .ico-tile img{width:36px;height:36px}
  .fl-check{right:-1%}
}
@media (max-width:1100px){
  .menu ul{gap:20px}
  .spec-grid{grid-template-columns:1fr;gap:40px}
  .spec-copy{text-align:center}
  .spec-copy h2,.spec-copy p{margin-left:auto;margin-right:auto}
  .features-grid h2{font-size:clamp(1.5rem,4vw,1.875rem);max-width:28ch}
  .features .feature-list .ico-tile{width:68px;height:68px;border-radius:20px}
  .features .feature-list .ico-tile img{width:34px;height:34px}
}
/* Tablet · 768 */
@media (max-width:960px){
  .nav-toggle{display:grid}
  .nav-entrar{display:inline-flex;margin-right:4px}
  .menu-actions .btn-secondary[data-link="entrar"]{display:none}
  .menu{position:absolute;top:calc(100% + 8px);left:var(--gutter);right:var(--gutter);flex-direction:column;align-items:stretch;gap:16px;padding:20px;border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-lg);display:none}
  .menu.open{display:flex}
  .menu ul{flex-direction:column;gap:4px}
  .menu ul a{display:block;color:var(--navy);padding:12px 10px;border-radius:var(--r-md)}
  .menu ul a::after{display:none}
  .menu ul a:hover,.menu ul a:focus-visible{background:#FAFBFF;color:var(--cobalt)}
  .menu ul li+li{border-top:1px solid var(--line)}
  .menu-actions{flex-direction:column}
  .hero{padding:120px 0 72px}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero-copy{text-align:center}
  .hero h1,.hero-sub,.hero-text{margin-left:auto;margin-right:auto}
  .hero-cta{justify-content:center}
  .hero-art{justify-self:center;max-width:600px}
  .steps-grid{gap:28px}
  .steps-grid h2{font-size:clamp(1.5rem,4vw,1.875rem)}
  .features .feature-list{grid-template-columns:repeat(2,minmax(0,1fr));border-left:0}
  .features .feature-list>li{border-left:0;border-top:1px solid #DCE2EE}
  .features .feature-list>li:nth-child(-n+2){border-top:0}
  .features .feature-list .card-feature{min-height:0;padding:20px 12px 22px}
  .solution-list{grid-template-columns:1fr;max-width:720px;margin:0 auto;gap:32px}
  .card-solution{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}
  .card-solution .body{padding:8px 12px 4px}
  .offer-card{grid-template-columns:1fr;padding:40px}
  .offer:not(.offer--locked) .offer-reveal{grid-template-columns:1fr}
  .offer--locked .offer-card{padding:40px 32px}
  .cta-band{grid-template-columns:1fr;text-align:center;justify-items:center;gap:20px;padding:40px 32px}
  .cta-logo{padding-right:0;border-right:0;padding-bottom:20px;border-bottom:1px solid rgba(155,183,221,.35)}
  .foot{grid-template-columns:1fr}
  .foot ul{justify-content:flex-start}
  .foot nav{align-items:stretch}
  .foot-rrss-wrap{justify-content:flex-start}
}
@media (max-width:720px){
  .step-list{grid-template-columns:1fr;justify-items:center;gap:8px}
  .step-arrow.h{display:none}
  .step-arrow.v{display:block;margin:0 0 0 32px;width:20px;height:48px;max-width:none}
  .step-list{justify-items:stretch;max-width:440px;margin:0 auto;gap:6px}
  .step{display:grid;grid-template-columns:88px 1fr;grid-template-rows:auto auto auto;column-gap:18px;row-gap:2px;text-align:left;align-items:center;padding:12px 0}
  .step .ico{grid-row:1/4;position:relative;width:88px;height:88px;border-radius:24px}
  .step .ico img{width:44px;height:44px}
  .step .n{grid-column:2;grid-row:1;position:static;margin:0;font-size:2.25rem;line-height:1;align-self:end}
  .step h3{grid-column:2;grid-row:2;align-self:end;font-size:1.25rem;max-width:none}
  .step p{grid-column:2;grid-row:3;align-self:start;max-width:none;font-size:var(--fs-sm)}
  .spec-cards>li{flex-basis:calc((100% - 14px)/2)}
  .features{padding:56px 0}
  .features-grid{gap:24px}
  .features-grid h2{font-size:clamp(1.375rem,4.5vw,1.625rem);max-width:22ch}
  .features .feature-list{display:flex;flex-direction:column;gap:0;max-width:min(100%,420px);margin:0 auto;padding:4px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-sm)}
  .features .feature-list>li{flex:none;width:100%;border-left:0;border-top:1px solid var(--line)}
  .features .feature-list>li:first-child{border-top:0}
  .features .feature-list .card-feature{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:4px;align-items:start;text-align:left;min-height:0;padding:16px 0;gap:4px 14px}
  .features .feature-list .ico-tile{grid-row:1/span 2;grid-column:1;align-self:center;width:48px;height:48px;border-radius:14px;box-shadow:var(--sh-sm),inset 0 0 0 1px var(--line)}
  .features .feature-list .ico-tile img{width:24px;height:24px}
  .features .feature-list .card-feature h3{grid-column:2;grid-row:1;font-size:1rem;margin:0;align-self:end}
  .features .feature-list .card-feature p{grid-column:2;grid-row:2;font-size:var(--fs-sm);line-height:1.45;max-width:none;margin:0;align-self:start}
  .solutions{padding:56px 0}
  .solutions .section-head{margin-bottom:20px}
  .solutions-hint{display:block;margin-left:auto;margin-right:auto;max-width:22ch}
  .solutions .section-head h2{font-size:clamp(1.25rem,4.2vw,1.5rem);max-width:20ch}
  .solution-list{display:flex;flex-direction:row;align-items:stretch;gap:14px;max-width:none;margin:0 calc(-1 * var(--gutter));padding:10px var(--gutter) 6px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;list-style:none}
  .solution-list::-webkit-scrollbar{display:none}
  .solution-list>li{flex:0 0 min(86vw,320px);scroll-snap-align:center;min-width:0}
  .card-solution{display:flex;flex-direction:column;padding:12px 12px 16px;height:100%;transform:none!important}
  .card-solution:hover{transform:none;box-shadow:var(--sh-md)}
  .card-solution.is-featured{box-shadow:0 12px 32px rgba(69,107,224,.18),var(--sh-md)}
  .card-solution .art{aspect-ratio:16/10;max-height:132px;border-radius:var(--r-md)}
  .card-solution .art img{object-fit:cover;object-position:center 40%}
  .card-solution .body{padding:12px 2px 0;flex:1}
  .card-solution h3{font-size:1.125rem}
  .card-solution .desc{font-size:var(--fs-sm);margin-top:4px;line-height:1.45}
  .card-solution hr{margin:10px 0}
  .card-solution .benefits{gap:7px;margin-bottom:12px;font-size:var(--fs-xs)}
  .card-solution .benefits img{width:18px;height:18px}
  .card-solution .btn{--bh:var(--btn-h-sm);margin-top:auto;font-size:var(--fs-xs)}
  .card-solution .tag{top:-10px;font-size:10px;padding:5px 12px}
}
/* Composición 3D adaptada a móvil: misma pieza, apilada y con textos legibles */
@media (max-width:560px){
  .hero-art{aspect-ratio:auto;width:100%;max-width:440px;margin:0 auto;padding:30px 4px 44px}
  .stage{position:relative;perspective:1200px}
  .scene{position:relative;transform:rotateX(8deg) rotateY(-7deg) rotateZ(1.5deg)}
  .dash{position:relative;left:auto;top:auto;width:100%;padding:12px;gap:8px;border-radius:18px;font-size:11px}
  .dash-top .tabs{display:none}
  .dash-top img{width:54px}
  .mini{padding:9px}
  .agenda-mini{padding:11px 12px}
  .mini h4{font-size:11px}
  .cal-grid{font-size:9.5px}
  .cal-grid span{height:18px;line-height:16px}
  .p-head{flex-direction:column;align-items:flex-start;gap:6px}
  .p-head b{font-size:11.5px}
  .p-tags span:last-child{display:none}
  .records li{grid-template-columns:7px 1fr;font-size:9.5px}
  .records li small{display:none}
  .stats{grid-template-columns:1fr 1fr}
  .kpis{gap:6px}
  .card-kpi{padding:8px 10px}
  .card-kpi .k-value{font-size:19px}
  .fl-kpi{display:none}
  .fl-cross{left:-4px;top:-6px}
  .fl-team{right:-4px;top:-6px}
  .fl-cross .tile-float,.fl-team .tile-float{width:52px;height:52px;border-radius:15px}
  .fl-cross img,.fl-team img{width:26px;height:26px}
  .fl-check{right:6px;bottom:-30px}
  .fl-check .card-float{padding:10px 14px}
  .d-contorno,.d-puntos{display:none}
}
/* Mobile · 390 */
@media (max-width:480px){
  :root{--gutter:20px;--header-h-full:76px;--header-h-compact:56px;--logo-w-full:102px;--logo-w-compact:88px}
  .nav{height:var(--header-h)}
  .hero{padding:104px 0 56px}
  .hero h1{font-size:2.375rem}
  .hero-cta .btn{width:100%}
  .hero-offer{font-size:13px}
  .hero h1 .l{display:inline}
  .hero-offer{gap:8px;padding-right:12px}
  .hero-offer .pill{font-size:10px;padding:4px 8px}
  .offer-float{right:12px;bottom:14px}
  .offer-float-inner{padding:10px 26px 11px 12px;gap:6px}
  .offer-float-hook{font-size:9px;letter-spacing:.06em}
  .offer-float-main{gap:10px}
  .offer-float-brand{font-size:var(--fs-xs);padding-right:10px}
  .offer-float-cd{gap:7px}
  .offer-float-secs{display:none}
  .offer-card{padding:28px 22px}
  .offer-price{padding:24px 18px}
  .offer-price .price .amount{font-size:3.5rem}
  .cta-band{padding:32px 22px}
  .btn-lg{padding:0 22px}
  .offer-price .btn{white-space:normal;height:auto;min-height:var(--btn-h-lg);padding:12px 18px;line-height:1.25}
}

.icon-chip[hidden]{display:none!important}
