/* AiMAN · site.css v3c «Capítulos de luz» — vanilla, sin frameworks. Móvil primero. */
@font-face{font-family:'Sora';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/sora-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:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/instrument-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}
@property --fa1{syntax:'<color>';inherits:true;initial-value:#22A06B}
@property --fa2{syntax:'<color>';inherits:true;initial-value:#0E7490}

/* ================================================================ 1. Tokens */
:root{
  --wall:#F6F7F9;--paper:#FFFFFF;
  --ink:#141823;--ink-2:#3A4150;--ink-3:#5E6573;
  --line:rgba(20,24,35,.09);--line-2:rgba(20,24,35,.16);
  --night:#0A1020;--night-2:#101A30;--plum:#140F1E;
  --on-dark:#EEF1F7;--on-dark-2:rgba(238,241,247,.70);--on-dark-3:rgba(238,241,247,.50);
  --line-dark:rgba(255,255,255,.10);--line-dark-2:rgba(255,255,255,.16);
  --brand:#D95B12;--brand-ink:#A8430A;--brand-soft:#F39A5B;
  --ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-film:cubic-bezier(.65,0,.35,1);
  --r-pill:999px;--r-thumb:12px;--r-screen:14px;--r-frame:20px;--r-tile:24px;--r-panel:28px;
  --glow:rgba(10,16,32,.35);
  --sh-float:0 1px 2px rgba(10,16,32,.08),0 18px 40px -18px rgba(10,16,32,.28),0 60px 120px -40px var(--glow);
  --sh-tile:0 24px 48px -28px rgba(20,24,35,.30);
  --sh-dark:0 40px 90px -30px rgba(0,0,0,.75),0 50px 120px -40px var(--glow);
  --gutter:clamp(16px,4vw,48px);--wrap:1200px;--sec-y:clamp(72px,8vw,112px);--fade:clamp(120px,14vw,200px);--lf:160px;
  --f-d:'Sora',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-b:'Instrument Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  /* contexto de color (claro por defecto) */
  --fg:var(--ink);--fg-2:var(--ink-2);--sub:var(--ink-3);--rule:var(--line);--rule-2:var(--line-2);
  --m1:#E2E7EF;--m2:#EFE8E0;--m3:#E1EEE9;
  --a1:#D95B12;--a2:#7C3AED;
}

/* ================================================================ 2. Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:128px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--wall);color:var(--fg);font:400 1.0625rem/1.6 var(--f-b);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;text-rendering:optimizeLegibility}
body.lock{overflow:hidden}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
::selection{background:color-mix(in srgb,var(--brand) 22%,transparent)}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:inherit}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r-pill);font-weight:600;font-size:15px}
.skip:focus{top:12px}
.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.wa{width:18px;height:18px;flex:none}
/* grano de película, una sola capa */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:150;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:16px;row-gap:40px}
@media (min-width:900px){.g12{column-gap:24px}}

/* ================================================================ 3. Tipografía */
.t-d,.t-h2,.t-m,.t-name{font-family:var(--f-d);font-weight:400;color:var(--fg)}
.t-d{font-size:clamp(2.25rem,1.45rem + 2.6vw,3.5rem);line-height:1.04;letter-spacing:-.036em;max-width:14ch;text-wrap:balance}
.t-h2{font-size:clamp(1.75rem,1.3rem + 1.45vw,2.375rem);line-height:1.1;letter-spacing:-.028em;max-width:20ch;text-wrap:balance}
.t-m{font-size:clamp(1.5rem,1.15rem + 1.1vw,2rem);line-height:1.3;letter-spacing:-.02em;max-width:30ch;text-wrap:balance}
.t-name{font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);font-weight:500;line-height:1.15;letter-spacing:-.02em}
.t-h3{font-family:var(--f-b);font-size:1.1875rem;font-weight:600;line-height:1.3;letter-spacing:-.01em;max-width:28ch;color:var(--fg)}
.t-lead{font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);line-height:1.55;max-width:44ch;color:var(--fg-2);text-wrap:pretty}
.t-s{font-size:.9375rem;line-height:1.5;max-width:52ch;color:var(--sub);text-wrap:pretty}
.t-cap{font-size:.8125rem;line-height:1.4;letter-spacing:.005em;color:var(--sub);margin-top:12px}
.t-cap b{font-weight:600;color:var(--fg);margin-right:6px}
.t-num{font-family:var(--f-d);font-size:.8125rem;font-weight:500;line-height:1;font-variant-numeric:tabular-nums;color:var(--sub)}
.prose p{color:var(--fg-2);max-width:60ch;text-wrap:pretty}
.prose p+p{margin-top:1em}
.hd-k{font-size:.9375rem;color:var(--sub);margin-bottom:18px}
.stack>*+*{margin-top:20px}
.stack-l>*+*{margin-top:28px}

/* ================================================================ 4. Capítulos y fondos */
/* Cada capítulo es su propio contexto y tapa al anterior (z-index creciente).
   Claro tras claro: el de abajo se funde encima con una máscara.
   Claro junto a oscuro: el capítulo claro pinta la transición completa (oscuro, tono medio y su propio color),
   interpolada en oklch para que nunca pase por gris. */
main{position:relative;isolation:isolate}
.ch{position:relative;padding-block:var(--sec-y);
  --hf:calc(var(--fade)/2);--dk:var(--night);
  --edge:color-mix(in oklab,color-mix(in oklab,var(--m1),var(--m2)) 72%,var(--wall));
  --edge2:color-mix(in oklab,var(--m3) 72%,var(--wall))}
.ch::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:var(--tb,none),var(--bb,none),
    radial-gradient(70vmax 55vmax at 12% 18%,var(--m1),transparent 62%),
    radial-gradient(60vmax 50vmax at 88% 30%,var(--m2),transparent 60%),
    radial-gradient(70vmax 60vmax at 50% 100%,var(--m3),transparent 65%);
  background-color:var(--base,var(--wall));background-repeat:no-repeat;
  background-size:100% calc(var(--fade) + 140px),100% calc(var(--fade) + 140px),100% 100%,100% 100%,100% 100%;
  background-position:0 0,0 100%,0 0,0 0,0 0;
  --mt:0px;--mb:0px;
  -webkit-mask-image:linear-gradient(transparent 0,#000 var(--mt),#000 calc(100% - var(--mb)),transparent 100%);
  mask-image:linear-gradient(transparent 0,#000 var(--mt),#000 calc(100% - var(--mb)),transparent 100%)}
/* v3d · claro tras claro: el de abajo sube --lf y se funde encima (mezcla de dos tonos claros, nunca gris) */
.ch:not([data-tone])+.ch:not([data-tone])::before{top:calc(var(--lf)*-1);--mt:var(--lf)}
/* junto a un panel oscuro, el claro se desvanece a la pared: el panel se apoya con borde limpio */
.ch[data-tone="dark"]+.ch:not([data-tone])::before{--mt:var(--lf)}
.ch:not([data-tone]):has(+.ch[data-tone="dark"])::before,.ch:not([data-tone]):last-child::before{--mb:var(--lf)}
.ch.first::before{top:0;--mt:0px}
/* capítulos oscuros: paneles redondeados sobre la pared */
.ch[data-tone="dark"]{--pm:clamp(8px,1.2vw,16px);margin:var(--pm);border-radius:var(--r-panel);overflow:hidden;isolation:isolate}
.ch[data-tone="dark"]::before{inset:0;border-radius:inherit;-webkit-mask-image:none;mask-image:none}
@media (min-width:1024px) and (prefers-reduced-motion:no-preference){
  .ch:not([data-tone])::before{background-size:100% calc(var(--fade) + 140px),100% calc(var(--fade) + 140px),130% 130%,130% 130%,130% 130%;
    background-position:0 0,0 100%,0 0,100% 0,50% 100%;animation:drift 46s var(--ease) infinite alternate}
}
@keyframes drift{to{background-position:0 0,0 100%,30% 18%,70% 22%,40% 70%}}
.ch[data-tone="dark"]{--fg:var(--on-dark);--fg-2:var(--on-dark-2);--sub:var(--on-dark-2);--rule:var(--line-dark);--rule-2:var(--line-dark-2);color:var(--on-dark)}
.ch[data-tone="dark"]::before{background-image:
    radial-gradient(60vmax 45vmax at 18% 20%,var(--g1),transparent 60%),
    radial-gradient(55vmax 45vmax at 85% 85%,var(--g2),transparent 62%);
  background-size:100% 100%;background-position:0 0;background-color:var(--base,var(--night))}
.ch.ch-tight{padding-top:calc(var(--sec-y)*.55)}
.ch.ch-top{padding-top:calc(var(--sec-y) + 72px)}

/* familias claras (tono reconocible en cada capítulo) */
[data-bg="alba"]{--m1:#FFCDB2;--m2:#FAD2E6;--m3:#FFE6BD}
[data-bg="glaciar"]{--m1:#C6D6FF;--m2:#D6CBFF;--m3:#C6EDE6}
[data-bg="lavanda"]{--m1:#D9C9FF;--m2:#F8CCE2;--m3:#C9DFFF}
[data-bg="agua"]{--m1:#CACEFF;--m2:#BCE9F0;--m3:#E1D4FF}
[data-bg="niebla"]{--m1:#D6DFEE;--m2:#EEDDCD;--m3:#D1E9DF}
[data-bg="prod"]{--m1:var(--pm1);--m2:var(--pm2);--m3:var(--pm3)}
[data-bg="prod"][data-v="2"]{--m1:var(--pm3);--m3:var(--pm1)}
[data-bg="agua"][data-v="2"]{--m1:#E1D4FF;--m3:#CACEFF}
[data-bg="lavanda"][data-v="2"]{--m1:#C9DFFF;--m3:#D9C9FF}
[data-bg="alba"][data-v="2"]{--m1:#FFE6BD;--m3:#FFCDB2}
/* familias oscuras */
[data-bg="abismo"]{--g1:rgba(30,79,216,.32);--g2:rgba(14,159,142,.22);--base:var(--night)}
[data-bg="abismo"][data-p]{--g1:color-mix(in srgb,var(--a1) 30%,transparent);--g2:color-mix(in srgb,var(--a2) 24%,transparent)}
[data-bg="noche"]{--g1:rgba(122,46,92,.38);--g2:rgba(59,63,168,.34);--base:var(--plum)}
[data-bg="noche"][data-p]{--g1:color-mix(in srgb,var(--a1) 34%,transparent)}
[data-bg="film"]{--base:var(--night)}

/* juegos por producto */
[data-p="vg"]{--a1:#E5383B;--a2:#7C3AED;--pm1:#FFCED1;--pm2:#FFE0D2;--pm3:#E6DBFF;--glow:rgba(229,56,59,.40)}
[data-p="bg"]{--a1:#22A06B;--a2:#0E7490;--pm1:#C4F0DA;--pm2:#D4E8FF;--pm3:#E8F8D9;--glow:rgba(34,160,107,.40)}
[data-p="tr"]{--a1:#2F6BFF;--a2:#22D3EE;--pm1:#CBDBFF;--pm2:#D2F1FF;--pm3:#E6DBFF;--glow:rgba(47,107,255,.42)}
[data-p="tm"]{--a1:#F2B705;--a2:#F43F5E;--pm1:#FFE8AE;--pm2:#FFD6BF;--pm3:#DDE6FF;--glow:rgba(242,183,5,.38)}
[data-p="hg"]{--a1:#14B8A6;--a2:#6366F1;--pm1:#BFEFE6;--pm2:#CFE1FF;--pm3:#E2F7EA;--glow:rgba(20,184,166,.40)}
[data-p="bt"]{--a1:#C026D3;--a2:#8B5CF6;--pm1:#F2CEFA;--pm2:#D9D3FF;--pm3:#FFD8E8;--glow:rgba(192,38,211,.40)}
[data-p="cg"]{--a1:#4D9A12;--a2:#10B981;--pm1:#DCF2BC;--pm2:#C6EDDB;--pm3:#FFEDBF;--glow:rgba(77,154,18,.38)}
[data-p="pl"]{--a1:#7C3AED;--a2:#EC4899;--pm1:#D9C9FF;--pm2:#F8CCE2;--pm3:#C9DFFF;--glow:rgba(124,58,237,.40)}
[data-p="ia"]{--a1:#4F46E5;--a2:#06B6D4;--pm1:#CACEFF;--pm2:#BCE9F0;--pm3:#E1D4FF;--glow:rgba(79,70,229,.40)}
[data-p="ap"]{--a1:#DB2777;--a2:#F59E0B;--pm1:#FFCDB2;--pm2:#FAD2E6;--pm3:#FFE6BD;--glow:rgba(219,39,119,.38)}
/* ================================================================ 5. Acciones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border-radius:var(--r-pill);
  background:var(--ink);color:#fff;font:600 .9375rem/1 var(--f-b);white-space:nowrap;
  box-shadow:0 1px 2px rgba(10,16,32,.12),0 10px 24px -14px rgba(10,16,32,.5);transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s}
.btn::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent);flex:none}
.btn:hover{transform:translateY(-1px);box-shadow:0 1px 2px rgba(10,16,32,.12),0 16px 32px -14px rgba(10,16,32,.6)}
.btn:active{transform:translateY(0)}
[data-tone="dark"] .btn,.btn.btn-lt{background:#F4F5FA;color:var(--ink);box-shadow:0 14px 34px -16px rgba(0,0,0,.7)}
.btn.btn-sm{height:40px;padding:0 18px;font-size:.875rem}
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:32px}
.lnk{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.9375rem;color:var(--fg);
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.28em;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);transition:text-decoration-color .3s,color .3s;min-height:44px}
.lnk .i{width:14px;height:14px;transition:transform .3s var(--ease)}
.lnk:hover{text-decoration-color:currentColor;color:var(--brand-ink)}
[data-tone="dark"] .lnk:hover{color:var(--brand-soft)}
.lnk:hover .i{transform:translateX(3px)}
.ar{width:16px;height:16px}

/* ================================================================ 6. Cabecera */
/* franja superior (aviso) + cápsula de vidrio. Al bajar, la franja se va y la cápsula se compacta. */
:root{--sb:0px;--hd-h:56px;--hd-top:calc(clamp(8px,1.2vw,16px) + 8px)}
@media (min-width:1024px){:root{--hd-h:64px}}
body.v3{padding-top:var(--sb)}
.hd{position:fixed;inset:0 0 auto;z-index:60;color:var(--ink);pointer-events:none;transition:transform .5s var(--ease-out)}
.hd>*{pointer-events:auto}
.hd.scrolled{transform:translateY(calc(var(--sb) * -1))}
/* franja */
.sb{position:relative;height:var(--sb);display:flex;align-items:center;overflow:hidden;color:#E9ECF4;font-size:.8125rem;line-height:1;
  background:#0A1020;--s1:#E5383B;--s2:#F2B705;--s3:#22A06B;--s4:#2F6BFF;--s5:#C026D3}
.hd[data-p] .sb{--s1:var(--a1);--s2:var(--a2);--s3:var(--a1);--s4:var(--a2);--s5:var(--a1)}
.sb::before{content:"";position:absolute;inset:0;opacity:.34;pointer-events:none;
  background:linear-gradient(90deg,var(--s1),var(--s2) 22%,var(--s3) 45%,var(--s4) 70%,var(--s5));
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 140%);mask-image:linear-gradient(180deg,transparent,#000 140%)}
.sb::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;opacity:.85;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--s1) 15%,var(--s2) 35%,var(--s3) 50%,var(--s4) 68%,var(--s5) 85%,transparent)}
.sb-in{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-width:0}
.sb-new{flex:none;font-size:.6875rem;font-weight:600;letter-spacing:.02em;padding:4px 8px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.sb-msg{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:rgba(233,236,244,.86)}
.sb-l{display:none}
.sb-go{flex:none;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#fff;min-height:36px;
  text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:.3em}
.sb-go:hover{text-decoration-color:#fff}
.sb-go .i{width:13px;height:13px;transition:transform .3s var(--ease)}
.sb-go:hover .i{transform:translateX(3px)}
.sb-wa{display:none}
@media (min-width:640px){.sb-l{display:inline}.sb-s{display:none}}
@media (min-width:1024px){
  .sb-in{justify-content:center}
  .sb-wa{position:absolute;right:var(--gutter);display:inline-flex;align-items:center;gap:7px;color:rgba(233,236,244,.78);min-height:36px;transition:color .25s}
  .sb-wa:hover{color:#fff}
  .sb-wa .wa{width:14px;height:14px}
}
/* cápsula */
.hd-w{padding-top:var(--hd-top)}
.hd-in{position:relative;display:flex;align-items:center;gap:16px;height:var(--hd-h);padding:0 8px 0 20px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);
  box-shadow:0 1px 2px rgba(10,16,32,.06),0 14px 36px -20px rgba(10,16,32,.38);
  transition:height .45s var(--ease-out),background .35s,box-shadow .35s,color .35s}
/* borde de luz: más claro arriba a la izquierda, con un toque del color de la página */
.hd-in::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.95),rgba(255,255,255,.35) 30%,rgba(20,24,35,.10) 60%,color-mix(in srgb,var(--a1,#D95B12) 45%,transparent));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.hd.scrolled .hd-in{--hd-h:52px;background:rgba(255,255,255,.80)}
@media (min-width:1024px){.hd.scrolled .hd-in{--hd-h:56px}}
.hd.on-dark{color:var(--on-dark)}
.hd.on-dark .hd-in{background:rgba(12,18,34,.42);box-shadow:0 18px 40px -22px rgba(0,0,0,.7)}
.hd.on-dark .hd-in::before{background:linear-gradient(115deg,rgba(255,255,255,.38),rgba(255,255,255,.10) 35%,rgba(255,255,255,.04) 60%,color-mix(in srgb,var(--a1,#F39A5B) 55%,transparent))}
.hd.on-dark.scrolled .hd-in{background:rgba(12,18,34,.66)}
.hd-logo{display:flex;align-items:center;margin-right:auto;height:44px}
.hd-logo img{height:30px;width:auto}
.hd .l-lt,.hd.on-dark .l-dk{display:none}
.hd.on-dark .l-lt{display:block}
.nav{display:none;gap:2px}
.nav a{font-size:.9063rem;font-weight:500;line-height:1;padding:11px 14px;border-radius:var(--r-pill);color:inherit;opacity:.8;transition:opacity .25s,background .25s}
.nav a:hover{opacity:1;background:rgba(20,24,35,.05)}
.nav a[aria-current]{opacity:1;background:rgba(20,24,35,.07);box-shadow:inset 0 0 0 1px rgba(20,24,35,.06)}
.hd.on-dark .nav a:hover{background:rgba(255,255,255,.08)}
.hd.on-dark .nav a[aria-current]{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.hd .btn-sm{display:none;height:40px}
.hd.scrolled .btn-sm{height:38px}
.hd.on-dark .btn-sm{background:#F4F5FA;color:var(--ink)}
.hd-menu{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--r-pill);font-weight:600;font-size:.9375rem;
  background:rgba(20,24,35,.06);box-shadow:inset 0 0 0 1px var(--line-2)}
.hd.on-dark .hd-menu{background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px var(--line-dark-2)}
.hd-menu .i{width:18px;height:18px}
@media (min-width:1024px){
  .hd-in{padding:0 10px 0 26px;gap:24px}
  .hd-logo img{height:36px}
  .nav{display:flex}
  .hd .btn-sm{display:inline-flex}
  .hd-menu{display:none}
}
@media (prefers-reduced-motion:reduce){.hd,.hd-in{transition:none}}
.menu{position:fixed;inset:0;z-index:120;background:var(--night);color:var(--on-dark);display:flex;flex-direction:column;padding:0 var(--gutter) 28px;overflow-y:auto}
.menu[hidden]{display:none}
.menu::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(80vmax 60vmax at 10% 0%,rgba(122,46,92,.40),transparent 60%),radial-gradient(70vmax 60vmax at 100% 100%,rgba(59,63,168,.40),transparent 60%)}
.menu-top{display:flex;align-items:center;justify-content:space-between;height:72px;flex:none}
.menu::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#E5383B,#F2B705 22%,#22A06B 45%,#2F6BFF 70%,#C026D3);opacity:.9}
.menu-top img{height:26px;width:auto}
.menu-x{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:var(--r-pill);background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px var(--line-dark-2);font-weight:600;font-size:.9375rem}
.menu-x .i{width:18px;height:18px}
.menu nav{display:flex;flex-direction:column;margin-top:28px}
.menu nav a{font-family:var(--f-d);font-size:1.75rem;font-weight:400;letter-spacing:-.02em;line-height:1.2;padding:12px 0;border-top:1px solid var(--line-dark)}
.menu nav a:last-child{border-bottom:1px solid var(--line-dark)}
.menu nav a[aria-current]{color:var(--brand-soft)}
.menu-ft{margin-top:auto;padding-top:32px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.menu-ft .btn{width:100%}
.menu-ft .lnk{color:var(--on-dark)}
.menu-ft .lnk:hover{color:var(--brand-soft)}
@media (prefers-reduced-motion:no-preference){.menu:not([hidden]){animation:menuIn .45s var(--ease-out)}}
@keyframes menuIn{from{opacity:0;transform:translateY(-8px)}}

/* ================================================================ 7. Medios */
.frame{position:relative;background:var(--paper);padding:8px;border-radius:var(--r-frame);box-shadow:var(--sh-float)}
.scr{position:relative;border-radius:var(--r-screen);overflow:hidden;background:#EEF0F4}
.scr::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);pointer-events:none}
.scr>img,.scr>video{width:100%;height:auto}
.frame.dk,[data-tone="dark"] .frame{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line-dark-2),inset 0 1px 0 rgba(255,255,255,.12),var(--sh-dark)}
[data-tone="dark"] .scr{background:#0E1526}
@media (min-width:768px){.frame{padding:10px}}
.fill{position:relative;overflow:hidden}
.fill>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.r45 .scr{aspect-ratio:4/5}
.r169 .scr{aspect-ratio:16/10}
.r45 .scr>img,.r169 .scr>img,.r32 .scr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.r32 .scr{aspect-ratio:3/2}
.settle .scr>img{transform:scale(1.06);transition:transform 1.6s var(--ease-out)}
.settle.in .scr>img{transform:none}
@media (prefers-reduced-motion:reduce){.settle .scr>img{transform:none;transition:none}}
/* celular */
.phone{width:100%;max-width:230px;border-radius:30px;padding:7px;background:linear-gradient(160deg,#2A3245,#0C1222);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 1px 0 rgba(255,255,255,.2),var(--sh-dark)}
.phone .scr{border-radius:24px;aspect-ratio:9/19.5;background:#0E1526}
.phone .scr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.phones{display:flex;gap:16px;align-items:flex-end}
.phones .phone:nth-child(2){transform:translateY(-28px)}
.phone.top-fit .scr>img{object-fit:contain;object-position:top}
/* paneles HTML (ejemplos sin captura) */
.ui{background:var(--paper);border-radius:var(--r-screen);padding:22px;display:flex;flex-direction:column;gap:12px;font-size:.9375rem;color:var(--ink);min-height:100%}
.ui-row{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:#F4F5F8}
.ui-row .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--a1) 14%,#fff);color:color-mix(in srgb,var(--a1) 70%,#141823)}
.ui-row .ic .i{width:18px;height:18px}
.ui-row b{display:block;font-weight:600}
.ui-row span{color:var(--ink-3);font-size:.875rem}
.ui-h{display:flex;justify-content:space-between;align-items:baseline;font-weight:600}
.ui-h span{font-weight:400;color:var(--ink-3);font-size:.875rem}
.bp{display:grid;grid-template-columns:minmax(0,1.3fr) 2fr 48px;gap:12px;align-items:center;font-size:.875rem}
.bp i{display:block;height:8px;border-radius:8px;background:color-mix(in srgb,var(--a1) 75%,#fff)}
.bp i.lo{background:#E5383B}
.bp-t{height:8px;border-radius:8px;background:#ECEEF2}
.bp em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--ink-3);text-align:right}
.chat{display:flex;flex-direction:column;gap:10px}
.chat p{max-width:84%;padding:10px 14px;border-radius:16px 16px 16px 4px;background:#F1F2F6;line-height:1.45}
.chat p.me{align-self:flex-end;border-radius:16px 16px 4px 16px;background:color-mix(in srgb,var(--a1) 16%,#fff)}
.ro{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(7,1fr);gap:6px;font-size:.8125rem;align-items:center}
.ro span{text-align:center}
.ro .n{text-align:left;color:var(--ink-3)}
.ro .c{height:30px;border-radius:8px;display:grid;place-items:center;font-weight:600;background:#F1F2F6;color:#9AA0AB}
.ro .D{background:color-mix(in srgb,var(--a1) 16%,#fff);color:color-mix(in srgb,var(--a1) 80%,#141823)}
.ro .N{background:#1B2238;color:#E7EAF2}
.ro .h{color:var(--ink-3);font-weight:600}

/* ================================================================ 8. Componentes */
/* tarjeta-foto */
.tile{position:relative;display:block;overflow:hidden;border-radius:var(--r-tile);box-shadow:var(--sh-tile);color:#fff;isolation:isolate;min-height:360px;background:#1B2232}
.tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease);z-index:-2}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,color-mix(in oklab,var(--a1) 30%,#0A1020) 0%,color-mix(in oklab,var(--a1) 22%,rgba(10,16,32,.6)) 26%,transparent 62%)}
.tile-cap{position:absolute;left:24px;right:24px;bottom:22px}
.tile-cap .t-name{color:#fff;display:flex;align-items:center;gap:10px}
.tile-cap .t-name::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--a1);box-shadow:0 0 0 3px color-mix(in srgb,var(--a1) 30%,transparent),0 0 16px var(--a1);flex:none}
.tile-cap p{margin-top:6px;font-size:.9375rem;line-height:1.45;color:rgba(255,255,255,.82);max-width:36ch}
.tile-go{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:scale(.88);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.tile-go .i{width:16px;height:16px;transform:rotate(-45deg)}
.tile:hover>img{transform:scale(1.035)}
.tile:hover .tile-go,.tile:focus-visible .tile-go{opacity:1;transform:none}
@media (hover:none){.tile-go{opacity:1;transform:none}}
/* fila */
.rows{border-bottom:1px solid var(--rule)}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:22px 0;border-top:1px solid var(--rule)}
.row-in{transition:transform .35s var(--ease);display:block}
.row .t-h3{display:block}
.row .t-s{display:block;margin-top:4px}
.row>.i{width:18px;height:18px;color:var(--sub);transition:transform .35s var(--ease),color .3s}
.row:hover .row-in{transform:translateX(8px)}
.row:hover>.i{transform:translateX(4px);color:var(--fg)}
.row.th{grid-template-columns:96px minmax(0,1fr) auto;gap:18px}
.row-th{width:96px;aspect-ratio:16/10;border-radius:var(--r-thumb);overflow:hidden;position:relative;background:#E8EBF0;box-shadow:inset 0 0 0 1px var(--line)}
.row-th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left}
.row-th.ph img{object-position:top center}
@media (min-width:768px){.row.th{grid-template-columns:128px minmax(0,1fr) auto}.row-th{width:128px}}
/* hechos */
.facts{display:grid;gap:28px}
.fact{border-top:1px solid var(--rule-2);padding-top:18px}
.fact .t-s{margin-top:6px}
@media (min-width:768px){.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.facts.one{grid-template-columns:1fr;gap:22px}}
/* pasos */
.steps{display:grid;gap:28px;counter-reset:s}
.step{position:relative;border-top:1px solid var(--rule-2);padding-top:20px}
.step::before{content:"";position:absolute;left:0;top:-1px;width:28px;height:1px;background:var(--brand)}
.step .t-h3{margin-top:14px}
.step .t-s{margin-top:6px}
@media (min-width:768px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 32px}}
@media (min-width:1024px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* preguntas */
.qa{border-top:1px solid var(--rule)}
.qa:last-child{border-bottom:1px solid var(--rule)}
.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer;font-family:var(--f-d);font-size:1.125rem;line-height:1.35;letter-spacing:-.01em;color:var(--fg)}
.qa summary::-webkit-details-marker{display:none}
.qa summary .i{width:18px;height:18px;color:var(--sub);transition:transform .25s var(--ease)}
.qa[open] summary .i{transform:rotate(45deg)}
.qa p{padding:0 0 24px;max-width:56ch;color:var(--fg-2);text-wrap:pretty}
@media (min-width:768px){.qa summary{font-size:1.25rem}}
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  .qa::details-content{block-size:0;overflow:hidden;transition:block-size .35s var(--ease),content-visibility .35s allow-discrete}
  .qa[open]::details-content{block-size:auto}
}
.faq-g{align-items:start}
.faq-g>.faq-h{grid-column:1/-1}
.faq-g>.faq-l{grid-column:1/-1}
@media (min-width:1024px){.faq-g>.faq-h{grid-column:1/5;position:sticky;top:120px}.faq-g>.faq-l{grid-column:6/13}}

/* ================================================================ 9. Película (héroe del inicio) */
/* Móvil: la foto ocupa la franja de arriba y se funde a noche; debajo, texto y botón; al final, el clip.
   Escritorio: foto a sangre, texto abajo a la izquierda y el clip como ventana inclinada a la derecha. */
.film{position:relative;overflow:hidden;background:var(--night);color:var(--on-dark);padding:0;display:flex;--ph:min(64vh,460px)}
.film::before{content:none}
.film-ph,.film-veil,.film-aura{position:absolute;inset:0;pointer-events:none}
.film-ph{bottom:auto;height:var(--ph)}
.fp{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--ease-film);overflow:hidden}
.fp.is-on{opacity:1}
.fp.is-top{z-index:1}
.fp img{width:100%;height:100%;object-fit:cover;object-position:var(--ox,50%) 22%;filter:brightness(.86);transform:scale(1.01)}
.fp.is-kb img{animation:kb 9.5s var(--ease) forwards}
.fp:nth-child(4n+1) img{transform-origin:30% 40%}
.fp:nth-child(4n+2) img{transform-origin:70% 35%}
.fp:nth-child(4n+3) img{transform-origin:40% 70%}
.fp:nth-child(4n+4) img{transform-origin:65% 60%}
@keyframes kb{from{transform:scale(1.1)}to{transform:scale(1.01)}}
.film-veil{z-index:2;background:linear-gradient(180deg,rgba(10,16,32,.55) 0,rgba(10,16,32,0) 90px,rgba(10,16,32,0) calc(var(--ph) - 240px),rgba(10,16,32,.7) calc(var(--ph) - 110px),var(--night) var(--ph))}
.film-aura{z-index:3;mix-blend-mode:screen;opacity:.85;transition:--fa1 1.8s var(--ease),--fa2 1.8s var(--ease);
  background:radial-gradient(60vmax 40vmax at 82% 78%,color-mix(in srgb,var(--fa1) 40%,transparent),transparent 62%),radial-gradient(50vmax 36vmax at 6% 100%,color-mix(in srgb,var(--fa2) 28%,transparent),transparent 60%)}
.film-in{position:relative;z-index:4;display:flex;flex-direction:column;padding-top:calc(var(--ph) - 120px);padding-bottom:96px;width:100%}
.film-copy .t-d{color:#fff;font-size:clamp(2.125rem,1.4rem + 2.6vw,3.5rem);max-width:13ch}
.film-copy .t-lead{color:rgba(238,241,247,.80);margin-top:16px}
.film-copy .acts{margin-top:26px}
.film-stage{position:relative;margin-top:48px}
.film-frame{position:relative;padding:6px}
.film-frame .scr{aspect-ratio:16/9;background:#0B1222;overflow:hidden}
.fs{position:absolute;inset:0;opacity:0;transform:translateY(22px) scale(1.025);filter:blur(10px);transition:opacity 1.4s var(--ease-out) .25s,transform 1.4s var(--ease-out) .25s,filter 1.4s var(--ease-out) .25s}
.fs.is-on{opacity:1;transform:none;filter:none}
.fs.is-out{opacity:0;transform:translateY(-14px);filter:blur(6px);transition:opacity .6s var(--ease),transform .6s var(--ease),filter .6s var(--ease)}
.fs video,.fs>img.cv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fs-img img{position:absolute;left:0;top:0;width:100%;height:auto;min-height:100%;object-fit:cover;object-position:top}
.fs-img.is-on img{animation:pan 6.5s linear forwards}
@keyframes pan{to{transform:translateY(-6%)}}
.sweep::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;
  background:linear-gradient(105deg,transparent 41%,rgba(255,255,255,.16) 50%,transparent 59%);transform:translateX(-130%)}
.sweep.go::after{animation:sweep .9s var(--ease) forwards}
@keyframes sweep{from{transform:translateX(-130%)}to{transform:translateX(130%)}}
.film-cap{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-top:14px;min-height:44px}
.film-cap a{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px;transition:opacity .45s var(--ease);min-height:44px;align-content:center}
.film-cap a.swap{opacity:0}
.film-cap .fc-n{font-family:var(--f-d);font-size:.9375rem;font-weight:500;color:#fff;display:inline-flex;align-items:center;gap:9px}
.film-cap .fc-n::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--fa1);box-shadow:0 0 12px var(--fa1);flex:none;align-self:center;transition:background 1.8s}
.film-cap .fc-l{font-size:.875rem;color:var(--on-dark-2)}
.film-cap a:hover .fc-l{color:#fff}
.film-pause{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px var(--line-dark-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:.6;transition:opacity .25s;color:#fff}
.film-pause:hover,.film-pause:focus-visible{opacity:1}
.film-pause .i{width:14px;height:14px;fill:currentColor;stroke:none}
.film-pause .i-play,.film-pause[aria-pressed="true"] .i-pause{display:none}
.film-pause[aria-pressed="true"] .i-play{display:block}
@media (max-width:1023px){.film-copy .acts .btn{flex:1 1 100%}}
@media (min-width:1024px){
  .film{--ph:100%;height:min(100svh,900px);min-height:680px}
  .film-ph{bottom:0;height:auto}
  .fp img{object-position:center 30%}
  .film-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;padding-top:120px;padding-bottom:clamp(104px,14vh,150px)}
  .film-copy{grid-column:1/7;grid-row:1;align-self:end}
  .film-stage{grid-column:9/13;grid-row:1;align-self:end;margin:0;perspective:1200px}
  .film-frame{transform:rotateY(-14deg) rotateX(2deg);transform-origin:right center;padding:7px}
  .film-veil{background:linear-gradient(90deg,rgba(10,16,32,.82) 0%,rgba(10,16,32,.42) 40%,rgba(10,16,32,0) 62%,rgba(10,16,32,.25) 100%),linear-gradient(180deg,rgba(10,16,32,.5) 0%,transparent 20%,transparent 50%,rgba(10,16,32,.72) 100%)}
}
@media (prefers-reduced-motion:reduce){
  .fp,.fs,.film-cap a{transition:none}
  .fp.is-kb img,.fs-img.is-on img,.sweep.go::after{animation:none}
  .film-pause{display:none}
}

/* ================================================================ 10. Héroe de página oscura (producto) */
.phero{position:relative;overflow:hidden;color:var(--on-dark);padding:0;display:flex;background:var(--night);--ph:min(125vw,520px)}
.phero::before{content:none}
.phero .film-ph .fp{opacity:1}
.phero .fp img{animation:kb 12s var(--ease) forwards;transform-origin:60% 40%}
.phero .film-aura{--fa1:var(--a1);--fa2:var(--a2)}
.ph-in{position:relative;z-index:4;width:100%;display:grid;gap:44px;padding-top:calc(var(--ph) - 96px);padding-bottom:96px;align-items:end}
.ph-brand{display:flex;align-items:center;gap:10px;font-family:var(--f-d);font-size:1.0625rem;font-weight:500;color:#fff;margin-bottom:18px}
.ph-brand::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--a1);box-shadow:0 0 0 3px color-mix(in srgb,var(--a1) 30%,transparent),0 0 16px var(--a1)}
.ph-brand em{font-style:normal;font-family:var(--f-b);font-size:.8125rem;font-weight:500;color:var(--on-dark-2);padding:4px 10px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--line-dark-2)}
.phero .t-d{color:#fff}
.phero .t-lead{color:rgba(238,241,247,.80);margin-top:16px}
.ph-stage .scr{aspect-ratio:16/9}
.ph-stage video,.ph-stage .scr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (min-width:1024px){
  .phero{--ph:100%;min-height:min(100svh,820px)}
  .ph-in{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding-top:150px;padding-bottom:120px}
  .ph-copy{grid-column:1/7}
  .ph-stage{grid-column:8/13;perspective:1400px}
  .ph-stage .frame{transform:rotateY(-12deg) rotateX(2deg);transform-origin:right center}
  .phero .fp img{object-position:center 30%}
  .phero .film-veil{background:linear-gradient(90deg,rgba(10,16,32,.88) 0%,rgba(10,16,32,.58) 45%,rgba(10,16,32,.2) 100%),linear-gradient(180deg,rgba(10,16,32,.5),transparent 25%,transparent 55%,rgba(10,16,32,.7))}
}
@media (prefers-reduced-motion:reduce){.phero .fp img{animation:none;transform:none}}
/* ================================================================ 11. Inicio */
.what{align-items:start}
.what>.t-m{grid-column:1/-1}
.what>.rows{grid-column:1/-1}
@media (min-width:1024px){.what>.t-m{grid-column:1/7}.what>.rows{grid-column:8/13}}
.sec-h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;margin-bottom:48px}
.sec-h .t-s{margin-top:12px}
.tiles{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter)*-1);padding:8px var(--gutter) 32px;scroll-padding-inline:var(--gutter);scrollbar-width:none}
.tiles::-webkit-scrollbar{display:none}
.tiles>.tile{flex:0 0 82vw;max-width:420px;height:420px;scroll-snap-align:start}
@media (min-width:900px){
  .tiles{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;overflow:visible;margin:0;padding:0}
  .tiles>.tile{max-width:none;height:auto;flex:none}
  .tiles>.tile:nth-child(1){grid-column:span 7;height:440px}
  .tiles>.tile:nth-child(2){grid-column:span 5;height:440px}
  .tiles>.tile:nth-child(3){grid-column:span 5;height:400px}
  .tiles>.tile:nth-child(4){grid-column:span 7;height:400px}
  .tiles>.tile:nth-child(n+5){grid-column:span 4;height:360px}
}
.field-g{align-items:center}
.field-g>.fig{grid-column:1/-1}
.field-g>.stack-l{grid-column:1/-1}
@media (min-width:900px){.field-g>.fig{grid-column:1/6}.field-g>.stack-l{grid-column:7/13}}
.custom-g{align-items:center}
.custom-g>.copy{grid-column:1/-1}
.custom-g>.pile{grid-column:1/-1}
@media (min-width:1024px){.custom-g>.copy{grid-column:1/6}.custom-g>.pile{grid-column:7/13}}
.pile{position:relative;height:clamp(300px,52vw,500px)}
.pile .frame{position:absolute;width:74%}
.pile .frame:nth-child(1){left:0;top:0;transform:rotate(-4deg)}
.pile .frame:nth-child(2){left:13%;top:18%;z-index:1}
.pile .frame:nth-child(3){right:0;top:38%;transform:rotate(3deg);z-index:2}
.pile .scr{aspect-ratio:16/10}
.pile .scr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left}

/* cierre */
.close{position:relative;border-radius:var(--r-panel);overflow:hidden;isolation:isolate;min-height:440px;display:flex;align-items:flex-end;padding:32px 24px;box-shadow:var(--sh-dark)}
.close>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:brightness(.8)}
.close::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(20,15,30,.9),rgba(20,15,30,.35) 70%,rgba(20,15,30,.15))}
.close.glass{min-height:0;background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px var(--line-dark-2),inset 0 1px 0 rgba(255,255,255,.1),var(--sh-dark);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.close.glass::before{background:radial-gradient(60% 120% at 100% 0%,color-mix(in srgb,var(--a1,#7A2E5C) 30%,transparent),transparent 70%)}
.close .t-h2{color:#fff}
.close .t-lead{color:rgba(238,241,247,.82);margin-top:14px}
.close-in{max-width:560px}
@media (min-width:768px){
  .close{padding:56px;min-height:500px;align-items:center}
  .close::before{background:linear-gradient(90deg,rgba(20,15,30,.86) 0%,rgba(20,15,30,.5) 45%,transparent 72%)}
  .close.glass{min-height:0;padding:64px 56px}
}
.wa-fab{position:fixed;right:16px;bottom:16px;z-index:55;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#1FA855;color:#fff;box-shadow:0 12px 28px -10px rgba(10,16,32,.55);transition:transform .3s var(--ease),opacity .3s}
.wa-fab .wa{width:24px;height:24px}
.wa-fab:hover{transform:translateY(-2px)}
body.film-on .wa-fab{opacity:0;pointer-events:none}

/* ================================================================ 12. Hubs y páginas */
.hero-g{align-items:center}
.hero-g>.copy{grid-column:1/-1}
.hero-g>.fig{grid-column:1/-1}
@media (min-width:1024px){.hero-g>.copy{grid-column:1/6}.hero-g>.fig{grid-column:7/13}}
.hero-solo .t-lead{margin-top:20px}
/* hub sistemas: filas grandes */
.prow{display:grid;gap:28px;align-items:center}
.prow+.prow{margin-top:clamp(64px,8vw,112px)}
.prow .tile{min-height:340px}
.prow ul{margin-top:18px;display:grid;gap:8px}
.prow li{display:flex;gap:10px;align-items:baseline;color:var(--fg-2);font-size:.9375rem}
.prow li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--a1);flex:none;transform:translateY(-2px)}
.prow .t-s{margin-top:8px}
.prow .lnk{margin-top:14px}
@media (min-width:900px){
  .prow{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
  .prow .tile{grid-column:1/8;min-height:440px}
  .prow .p-copy{grid-column:9/13}
  .prow.rev .tile{grid-column:6/13;grid-row:1}
  .prow.rev .p-copy{grid-column:1/5;grid-row:1}
}
/* ecosistema */
.eco-g{align-items:center}
.eco-g>.stack{grid-column:1/-1}
.eco-g>.eco{grid-column:1/-1}
@media (min-width:1024px){.eco-g>.stack{grid-column:1/5}.eco-g>.eco{grid-column:6/13}}
.eco svg{width:100%;height:auto;overflow:visible}
.eco .ln{stroke:var(--line-dark-2);stroke-width:1;fill:none}
.eco .ring{stroke:var(--line-dark);fill:none;stroke-dasharray:2 6}
.eco text{fill:var(--on-dark);font:500 15px var(--f-d)}
.eco .ch-t{fill:var(--on-dark-2);font:400 13px var(--f-b);text-anchor:middle}
.eco .ctr{fill:rgba(255,255,255,.04);stroke:var(--line-dark-2)}
.eco .ctr-t{font:400 18px var(--f-d);fill:#fff;text-anchor:middle}
.eco a:hover text,.eco a:focus-visible text{fill:#fff}
.eco a:focus-visible{outline:none}
.eco a:focus-visible .dot-h{stroke:#fff;stroke-width:1.5}
/* casos */
.case-hero{padding-bottom:0}
.case-hero .copy{max-width:760px}
.case-hero .t-lead{margin-top:18px}
.two{display:grid;gap:32px}
.two .t-s,.two p{margin-top:10px}
.two p{color:var(--fg-2);max-width:46ch;text-wrap:pretty}
@media (min-width:768px){.two{grid-template-columns:1fr 1fr;gap:48px}}
.gal{align-items:start}
.gal>.big{grid-column:1/-1}
.gal>.sm{grid-column:1/-1}
@media (min-width:900px){.gal>.big{grid-column:1/9}.gal>.sm{grid-column:9/13}.gal>.big:only-child{grid-column:1/11}}
.gal .sm .scr{aspect-ratio:4/5}
.gal .sm .scr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* portafolio */
.pf-f{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;margin-top:36px}
.pf-f a{font-weight:500;font-size:.9375rem;color:var(--sub);padding:10px 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.32em;text-decoration-color:transparent;transition:color .25s,text-decoration-color .25s}
.pf-f a:hover{color:var(--fg)}
.pf-f a[aria-current="true"]{color:var(--fg);text-decoration-color:var(--fg)}
.pf-sel{position:relative;margin-left:auto}
.pf-sel select{appearance:none;-webkit-appearance:none;background:transparent;border:0;border-bottom:1px solid var(--rule-2);padding:10px 28px 10px 0;font-size:.9375rem;color:var(--fg);border-radius:0;cursor:pointer}
.pf-sel .i{position:absolute;right:0;top:50%;width:16px;height:16px;transform:translateY(-50%);pointer-events:none;color:var(--sub)}
.pf-count{margin-top:18px;font-size:.875rem;color:var(--sub)}
.pf-grid{columns:1;column-gap:24px}
.pf-card{break-inside:avoid;display:block;margin-bottom:32px}
.pf-card[hidden]{display:none}
.pf-card .scr{background:#E9ECF2}
.pf-card .frame{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.pf-card:hover .frame{transform:translateY(-3px)}
.pf-card .ph{display:grid;place-items:center;aspect-ratio:4/5;padding:24px;background:radial-gradient(80% 70% at 50% 30%,color-mix(in srgb,var(--a1) 22%,#fff),#EEF0F5)}
.pf-card .ph img{position:static;width:auto;height:100%;max-height:100%;border-radius:20px;box-shadow:0 20px 40px -20px rgba(10,16,32,.5)}
.pf-card .t-cap{display:flex;flex-direction:column;gap:2px}
.pf-card .t-cap b{font-size:.9375rem;margin:0}
.pf-empty{color:var(--sub)}
@media (min-width:640px){.pf-grid{columns:2}}
@media (min-width:1024px){.pf-grid{columns:3}}
/* proceso */
.tl{position:relative;display:grid;gap:72px}
.tl::before{content:"";position:absolute;left:3.5px;top:8px;bottom:8px;width:1px;background:var(--rule-2)}
.tl-i{position:relative;padding-left:32px;display:grid;gap:28px;align-items:center}
.tl-i::before{content:"";position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 16%,transparent)}
.tl-i .t-h3{margin-top:12px}
.tl-i p{margin-top:8px}
@media (min-width:900px){
  .tl::before{left:50%}
  .tl-i{grid-template-columns:1fr 1fr;padding:0;gap:0 96px}
  .tl-i::before{left:calc(50% - 4px);top:50%}
  .tl-i .fig{grid-column:1}
  .tl-i .copy{grid-column:2}
  .tl-i:nth-child(even) .fig{grid-column:2;grid-row:1}
  .tl-i:nth-child(even) .copy{grid-column:1;grid-row:1;text-align:right;justify-self:end}
  .tl-i:nth-child(even) .copy p{margin-left:auto}
}
/* contacto */
.ct-g{align-items:start}
.ct-g>.copy{grid-column:1/-1}
.ct-g>.aside{grid-column:1/-1}
@media (min-width:1024px){.ct-g>.copy{grid-column:1/7}.ct-g>.aside{grid-column:8/13}}
.form{margin-top:40px;display:grid;gap:26px;max-width:560px}
.fld{display:grid;gap:4px}
.fld label{font-size:.875rem;font-weight:500;color:var(--fg-2)}
.fld label small{font-weight:400;color:var(--sub)}
.fld input,.fld textarea{width:100%;border:0;border-bottom:1px solid var(--rule-2);background:transparent;padding:10px 0;font-size:1.0625rem;border-radius:0;transition:border-color .25s;color:var(--fg)}
.fld textarea{min-height:110px;resize:vertical;line-height:1.5}
.fld input:focus,.fld textarea:focus{outline:none;border-bottom-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.fld input[aria-invalid="true"],.fld textarea[aria-invalid="true"]{border-bottom-color:#B42318}
.err{font-size:.8125rem;color:#B42318;min-height:1em}
.form .acts{margin-top:4px}
.form-note{font-size:.8125rem;color:var(--sub);max-width:52ch}
.form-note a{text-decoration:underline;text-underline-offset:.2em}
.wa-big{display:flex;align-items:center;gap:14px;padding:20px 22px;border-radius:var(--r-tile);background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1px var(--line),var(--sh-tile);transition:transform .3s var(--ease)}
.wa-big:hover{transform:translateY(-2px)}
.wa-big .wa{width:28px;height:28px;color:#1FA855}
.wa-big b{display:block;font-family:var(--f-d);font-weight:500;font-size:1.125rem}
.wa-big span{font-size:.875rem;color:var(--sub)}
.ct-list{margin-top:24px;display:grid;gap:14px;font-size:.9375rem}
.ct-list a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em;text-decoration-color:var(--rule-2)}
.ct-list a:hover{text-decoration-color:currentColor}
.ct-list dt{font-size:.8125rem;color:var(--sub)}
.aside .fig{margin-top:32px}
/* legales y 404 */
.legal{max-width:68ch}
.legal .t-d{font-size:clamp(2rem,1.6rem + 1.4vw,2.5rem);max-width:none}
.legal .upd{margin-top:14px;color:var(--sub);font-size:.9375rem}
.legal h2{font-family:var(--f-d);font-weight:400;font-size:1.375rem;letter-spacing:-.015em;line-height:1.25;margin:48px 0 12px}
.legal p,.legal li{color:var(--fg-2);text-wrap:pretty}
.legal p+p{margin-top:.9em}
.legal ul{margin:12px 0;display:grid;gap:8px}
.legal li{padding-left:18px;position:relative}
.legal li::before{content:"";position:absolute;left:2px;top:.7em;width:5px;height:5px;border-radius:50%;background:var(--ink-3)}
.legal a{text-decoration:underline;text-underline-offset:.2em}
.legal .sign{margin-top:48px;padding-top:20px;border-top:1px solid var(--rule);font-size:.875rem;color:var(--sub)}
.nf{max-width:560px;margin-inline:auto;text-align:center}
.nf .t-d{margin-inline:auto}
.nf .t-lead{margin:18px auto 0}
.nf .rows{text-align:left;margin-top:48px}

/* ================================================================ 13. Producto */
.change .t-m{max-width:24ch}
.change .facts{margin-top:clamp(48px,6vw,80px)}
.tour{margin-top:48px}
.tour-steps{display:grid;gap:56px}
.tour-m{margin-top:20px}
.tour-stage{display:none}
.tv-ui{padding:22px}
@media (min-width:1024px){
  .tour{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;margin-top:24px}
  .tour-steps{grid-column:1/5;gap:0}
  .tour-step{min-height:62vh;display:flex;flex-direction:column;justify-content:center;opacity:.38;transition:opacity .5s var(--ease)}
  .tour-step.is-on{opacity:1}
  .tour-step:first-child{min-height:48vh}
  .tour-m{display:none}
  .tour-stage{display:block;grid-column:6/13;position:sticky;top:calc(50vh - 240px);height:max-content;align-self:start;margin-top:12vh}
  .tour-stage .scr{aspect-ratio:16/10}
  .tv{position:absolute;inset:0;opacity:0;transition:opacity .7s var(--ease);display:grid;place-items:center}
  .tv.is-on{opacity:1}
  .tv>img{width:100%;height:100%;object-fit:contain}
  .tv .phones{justify-content:center;height:100%;padding:24px 0 0;align-items:flex-start}
  .tv .phone{max-width:180px}
  .tv .ui{width:100%;height:100%;justify-content:center}
}
.tour-m .phones .phone{max-width:160px}
.tour-m .ui{box-shadow:var(--sh-float)}
.cel-g{align-items:center}
.cel-g>.stack-l{grid-column:1/-1}
.cel-g>.fig{grid-column:1/-1}
@media (min-width:1024px){.cel-g>.stack-l{grid-column:1/7}.cel-g>.fig{grid-column:8/13}}
.cel-g .phones{margin-top:16px;padding-top:28px}
.cel-g .phone{max-width:190px}
@media (max-width:520px){.cel-g .phones{gap:10px}.cel-g .phone{padding:5px;border-radius:22px}.cel-g .phone .scr{border-radius:18px}}
.shots{display:grid;gap:20px;margin-top:16px}
@media (min-width:768px){.shots{grid-template-columns:1fr 1fr}}
.shots .scr{aspect-ratio:16/10}
.shots .scr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left}


/* ================================================================ 14. Ronda 1: ajustes de acabado */
/* recorrido de producto: tres pasos, filete con el tramo activo y marco más grande */
@media (min-width:1024px){
  .tour{grid-template-columns:repeat(12,minmax(0,1fr));margin-top:16px}
  .tour-steps{grid-column:1/5;position:relative;padding-left:28px;box-shadow:inset 1px 0 0 var(--rule-2)}
  .tour-step,.tour-step:first-child{min-height:60vh;opacity:1;position:relative}
  .tour-step::before{content:"";position:absolute;left:-28px;top:calc(50% - 44px);width:2px;height:88px;border-radius:2px;background:var(--a1);opacity:0;transform:scaleY(.3);transition:opacity .45s var(--ease),transform .55s var(--ease-out)}
  .tour-step.is-on::before{opacity:1;transform:none}
  .tour-step .t-h3{color:var(--sub);transition:color .4s var(--ease)}
  .tour-step.is-on .t-h3{color:var(--fg)}
  .tour-stage{grid-column:5/13;top:calc(50vh - 270px);margin-top:max(0px,calc(30vh - 270px))}
}
.ch-change{padding-bottom:calc(var(--sec-y)*.5)}
.change .facts{margin-top:clamp(36px,4vw,56px)}

/* inicio */
.what{align-items:center}
.pile{height:auto;display:grid;padding-bottom:64px}
.pile .frame{position:relative;grid-area:1/1;width:84%;left:auto;right:auto;top:auto}
.pile .frame:nth-child(1){justify-self:start;transform:rotate(-4deg);left:auto;top:auto}
.pile .frame:nth-child(2){justify-self:end;transform:translateY(64px) rotate(3deg);z-index:1;left:auto;top:auto}
.custom-g+*{margin:0}
@media (max-width:767px){.close>img{object-position:70% 30%}}

/* hub de productos */
.sh-g{align-items:center}
.sh-g>.copy{grid-column:1/-1}
.slivers{grid-column:1/-1;display:flex;gap:clamp(6px,1vw,12px);height:clamp(220px,32vw,420px);align-items:center}
.sl{flex:1;height:100%;border-radius:var(--r-pill);overflow:hidden;position:relative;box-shadow:0 24px 48px -26px var(--glow);background:var(--night)}
.sl:nth-child(even){height:82%}
.sl img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sl::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,color-mix(in srgb,var(--a1) 55%,transparent),transparent 55%)}
@media (prefers-reduced-motion:no-preference){
  .sl{animation:float 7s var(--ease) infinite alternate}
  .sl:nth-child(2n){animation-delay:-2.3s}.sl:nth-child(3n){animation-delay:-4.6s}
}
@keyframes float{from{transform:translateY(-8px)}to{transform:translateY(8px)}}
@media (min-width:1024px){.sh-g>.copy{grid-column:1/6}.slivers{grid-column:7/13}}
.ch.sh-hero{padding-bottom:48px}
.ch.ch-row{padding-block:clamp(36px,4.5vw,64px)}
.sh-hero+.ch-row{padding-top:0}
.prow+.prow{margin-top:0}
.prow .p-copy .t-name{font-size:clamp(1.75rem,1.4rem + 1vw,2.25rem);font-weight:400;letter-spacing:-.025em}
.prow .p-copy .t-lead{margin-top:12px}
.prow .p-copy .t-s{margin-top:10px}
.tile.bare::after{background:linear-gradient(to top,color-mix(in oklab,var(--a1) 34%,transparent),transparent 38%)}

/* portafolio: rejilla uniforme, color del caso mientras carga */
.ch.pf-hero{padding-bottom:24px}
.pf-hero+.ch{padding-top:40px}
.pf-grid{columns:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:32px 24px;grid-auto-flow:dense}
@media (min-width:640px){.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.pf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pf-card{margin:0}
.pf-card .scr{aspect-ratio:4/3;background:color-mix(in oklab,var(--a1) 18%,#fff)}
.pf-card .scr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left}
.pf-card .ph{position:absolute;inset:0;aspect-ratio:auto;padding:18px 24px 0;display:flex;justify-content:center;align-items:flex-start}
.pf-card .ph img{height:auto;width:46%;max-height:none;border-radius:18px}

/* caso: héroe en dos columnas, galería que no recorta */
.case-hero{padding-bottom:var(--sec-y)}
.case-g{align-items:center}
.case-g>.copy{grid-column:1/-1}
.case-g>.case-shot{grid-column:1/-1;margin:0}
.case-g .t-lead{margin-top:18px}
.case-k{margin-top:16px}
.case-k a{color:var(--fg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em;text-decoration-color:var(--rule-2)}
.case-k a:hover{text-decoration-color:currentColor}
@media (min-width:1024px){.case-g>.copy{grid-column:1/6}.case-g>.case-shot{grid-column:6/13}}
.gal .fit .scr{aspect-ratio:16/10;background:radial-gradient(80% 90% at 25% 15%,var(--m1),transparent 70%),radial-gradient(70% 80% at 85% 90%,var(--m3),transparent 70%),var(--wall)}
.gal .fit .scr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}

/* contacto */
.ct-line{margin-top:32px;font-size:.9375rem;line-height:1.6;color:var(--sub);max-width:52ch}
.ct-line a{color:var(--fg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em;text-decoration-color:var(--rule-2)}
.ct-line a:hover{text-decoration-color:currentColor}


/* WhatsApp flotante: vidrio oscuro, discreto */
.wa-fab{width:44px;height:44px;background:rgba(20,24,35,.72);color:#fff;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 12px 28px -14px rgba(10,16,32,.7)}
.wa-fab .wa{width:20px;height:20px}
.wa-fab:hover{background:rgba(20,24,35,.88)}
body.close-on .wa-fab{opacity:0;pointer-events:none}

/* ================================================================ 15. Ronda 2 (v3d): paneles, héroes y detalle */
/* cierre + pie: un solo panel noche partido entre <main> y <footer> */
.ch.last{margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:clamp(40px,5vw,64px)}
.ch.last::before{background-image:radial-gradient(60vmax 40vmax at 14% 0%,var(--g1),transparent 60%),radial-gradient(50vmax 34vmax at 92% 6%,var(--g2),transparent 62%)}
[data-bg="noche"]{--ca1:#7A2E5C;--ca2:#3B3FA8}
[data-bg="noche"]:is([data-p="vg"],[data-p="bg"],[data-p="tr"],[data-p="tm"],[data-p="hg"],[data-p="bt"],[data-p="cg"]){--ca1:var(--a1)}
.close.glass{background:rgba(255,255,255,.035);border:1px solid var(--line-dark-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),var(--sh-dark)}
.close.glass::before{background:radial-gradient(70% 130% at 100% 0%,color-mix(in srgb,var(--ca1) 32%,transparent),transparent 70%),radial-gradient(60% 110% at 0% 100%,color-mix(in srgb,var(--ca2) 20%,transparent),transparent 70%)}

/* héroe del inicio */
.film-cap .fc-n,.film-cap .fc-l{text-shadow:0 1px 12px rgba(10,16,32,.65)}
.film-cap .fc-l{color:rgba(238,241,247,.92)}
@media (max-width:599px){
  .film{height:calc(100svh - var(--pm)*2);min-height:540px}
  .film-ph{inset:0;height:auto}
  .fp img{object-position:var(--ox,50%) 26%}
  .film-veil{background:linear-gradient(180deg,rgba(10,16,32,.55) 0,rgba(10,16,32,0) 120px,rgba(10,16,32,0) 32%,rgba(10,16,32,.74) 58%,rgba(10,16,32,.95) 100%)}
  .film-in{justify-content:flex-end;padding-top:96px;padding-bottom:28px}
  .film-stage{order:-1;margin:0 0 14px}
  .film-frame{display:none}
  .film-cap{margin:0;min-height:0}
  .film-copy .t-lead,.film-copy .lnk{display:none}
  .film-copy .acts{margin-top:24px}
}
@media (min-width:1024px){
  .film{height:calc(min(100svh,900px) - var(--pm)*2);min-height:640px}
  .film .fp,.phero .fp{inset:0 auto 0 calc(var(--sx,0)*-100%);width:calc((1 + var(--sx,0))*100%)}
  .film .fp img,.phero .fp img{object-position:center var(--sy,30%)}
  .film-stage{grid-column:7/13;justify-self:end;width:min(100%,560px)}
  .film-frame{transform:rotateY(-7deg) rotateX(1deg)}
  .film-veil{background:radial-gradient(40% 34% at 84% 98%,rgba(10,16,32,.72),transparent 72%),linear-gradient(90deg,rgba(10,16,32,.82) 0%,rgba(10,16,32,.42) 40%,rgba(10,16,32,0) 62%,rgba(10,16,32,.2) 100%),linear-gradient(180deg,rgba(10,16,32,.5) 0%,transparent 20%,transparent 50%,rgba(10,16,32,.72) 100%)}
  /* producto */
  .phero{min-height:calc(min(100svh,820px) - var(--pm)*2)}
  .ph-stage{grid-column:7/13;justify-self:end;width:min(100%,560px)}
  .ph-stage .frame{transform:rotateY(-7deg) rotateX(1deg)}
}

/* inicio: qué hacemos y productos */
.what{align-items:start}
.ch:has(>.wrap>.what){padding-bottom:64px}
#productos{padding-top:96px}
/* en campo: foto a sangre a la derecha, hechos sobre el velo */
.ch.bleed{padding:0;display:grid}
.bleed-ph{position:relative;margin:0;aspect-ratio:4/5;max-height:72vh;overflow:hidden}
.bleed-ph img{width:100%;height:100%;object-fit:cover}
.bleed-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,var(--night) 100%)}
.bleed-in{position:relative;padding-block:0 var(--sec-y);margin-top:-48px}
.settle.bleed-ph img{transform:scale(1.06);transition:transform 1.6s var(--ease-out)}
.settle.bleed-ph.in img{transform:none}
@media (min-width:900px){
  .ch.bleed{min-height:clamp(560px,46vw,700px);align-items:center}
  .bleed-ph{position:absolute;inset:0 0 0 42%;aspect-ratio:auto;max-height:none}
  .bleed-ph::after{background:linear-gradient(90deg,var(--night) 0,rgba(10,16,32,.6) 20%,rgba(10,16,32,0) 55%),linear-gradient(0deg,rgba(10,16,32,.35),transparent 40%)}
  .bleed-in{margin:0;padding-block:var(--sec-y)}
  .bleed-in .stack-l{max-width:560px}
}
@media (prefers-reduced-motion:reduce){.settle.bleed-ph img{transform:none;transition:none}}

/* preguntas: una columna centrada */
.faq1{max-width:68ch;margin-inline:auto}
.faq1>.t-h2{margin-bottom:28px}

/* hechos legibles */
.fact .t-s{color:var(--fg-2)}

/* hub de productos */
.sh-g>.sh-fig{grid-column:1/-1;margin:0}
@media (min-width:1024px){.sh-g>.copy{grid-column:1/6}.sh-g>.sh-fig{grid-column:7/13}}
.xf{aspect-ratio:4/5}
.xf-i{position:absolute;inset:0;opacity:0;transition:opacity 1.8s var(--ease-film)}
.xf-i.is-on{opacity:1}
.xf-i img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 7s linear}
.xf-i.is-on img{transform:scale(1)}
@media (prefers-reduced-motion:reduce){.xf-i,.xf-i img{transition:none;transform:none}}
.ch.sh-hero{padding-bottom:clamp(48px,6vw,96px)}
.ch.ch-p7{padding-top:24px}
.p7{display:grid;gap:20px}
.p7>.tile{min-height:0;aspect-ratio:5/4;box-shadow:0 24px 48px -28px rgba(20,24,35,.30),0 50px 100px -50px var(--glow)}
.p7>.tile::after{background:linear-gradient(to top,rgba(10,16,32,.80) 0%,rgba(10,16,32,.30) 38%,transparent 62%)}
.p7 .tile-cap p{font-size:1rem;color:rgba(255,255,255,.88)}
@media (min-width:900px){
  .p7{grid-template-columns:repeat(12,minmax(0,1fr));gap:72px 24px}
  .p7>.p7-w{grid-column:1/-1;aspect-ratio:21/9}
  .p7>.p7-h{grid-column:span 6;aspect-ratio:4/3}
  .p7 .tile-cap{left:40px;bottom:36px;right:40px}
  .p7 .t-name{font-size:clamp(1.75rem,1.2rem + 1.2vw,2.5rem);font-weight:400;letter-spacing:-.03em}
  .p7>.p7-w::after{background:linear-gradient(90deg,rgba(10,16,32,.66) 0%,rgba(10,16,32,.2) 42%,transparent 62%),linear-gradient(to top,rgba(10,16,32,.5),transparent 45%)}
}
/* ecosistema */
.eco svg{max-height:520px;margin-inline:auto}
.eco .ring{stroke:var(--line-dark-2);stroke-dasharray:none;opacity:.6}

/* portafolio: mampostería, paspartú neutro */
.pf-f a{color:var(--ink-2)}
.pf-f a[aria-current="true"]{color:var(--ink);text-decoration-color:currentColor;text-underline-offset:.28em}
.pf-sel select{height:44px;border-bottom:1px solid var(--line-2);color:var(--ink-2)}
.pf-grid{display:block;columns:2;column-gap:12px}
.pf-card{display:block;break-inside:avoid;margin:0 0 20px}
.pf-card .scr{aspect-ratio:auto;background:var(--paper)}
.pf-card .scr>img{position:static;width:100%;height:auto}
.pf-card .ph{position:relative;inset:auto;aspect-ratio:4/5;padding:22px 0 0;background:var(--paper);display:flex;justify-content:center;align-items:flex-start;overflow:hidden}
.pf-card .ph img{width:58%;height:auto;border-radius:18px;box-shadow:0 20px 40px -22px rgba(10,16,32,.45)}
.pf-card .frame{padding:6px}
.pf-card .t-cap{margin-top:10px}
.pf-card .t-cap b{font-size:.8125rem}
.pf-l{display:none}
@media (min-width:640px){
  .pf-grid{column-gap:24px}
  .pf-card{margin-bottom:36px}
  .pf-card .frame{padding:8px}
  .pf-card .t-cap b{font-size:.9375rem}
  .pf-l{display:block}
}
@media (min-width:1024px){.pf-grid{columns:3}}

/* caso: título arriba, captura grande que cruza a la sección siguiente */
.case-top{max-width:820px}
.case-top .t-d{max-width:18ch}
.case-top .t-lead{margin-top:18px;max-width:52ch}
.case-shot{margin-top:clamp(40px,5vw,64px)}
@media (min-width:1024px){
  .ch.case-hero{padding-bottom:0}
  .case-shot{width:calc((100% - 264px)/12*10 + 216px);margin:64px auto -120px;position:relative}
  .ch.case-story{padding-top:calc(var(--sec-y) + 120px)}
}

/* recorrido de producto */
@media (min-width:1024px){
  .tour-step,.tour-step:first-child{min-height:60vh;opacity:.4;transition:opacity .45s var(--ease)}
  .tour-step.is-on{opacity:1}
  .tour-step .t-h3,.tour-step.is-on .t-h3{color:var(--fg);font-size:1.1875rem}
  .tour-step .t-s{font-size:.9375rem;color:var(--ink-2)}
  .tour-step::before{top:calc(50% - 34px);height:28px}
}

/* contacto */
.ct-g{row-gap:32px}
.ct-g>.copy,.ct-g>.aside,.ct-g>.ct-form,.ct-g>.ct-fig{grid-column:1/-1}
@media (min-width:1024px){
  .ct-g>.copy{grid-column:1/7;grid-row:1}
  .ct-g>.ct-form{grid-column:1/7;grid-row:2}
  .ct-g>.aside{grid-column:8/13;grid-row:1;align-self:start}
  .ct-g>.ct-fig{grid-column:8/13;grid-row:2;align-self:start}
}
.aside{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.aside .wa-big{width:100%}
.ct-form .form{margin-top:0;gap:32px}
.fld label{font-size:.9375rem;color:var(--ink-2)}
.fld textarea{resize:none;min-height:0}
.form-note{font-size:.9375rem;color:var(--ink-3)}

/* proceso: foto de 6 columnas, texto con filete a la izquierda */
.r43 .scr{aspect-ratio:4/3}
.r43 .scr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tl-i .t-s{color:var(--fg-2)}
@media (min-width:900px){
  .tl{gap:0}
  .tl::before{display:none}
  .tl-i,.tl-i:nth-child(even){grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding:0;align-items:stretch}
  .tl-i::before{display:none}
  .tl-i .fig,.tl-i:nth-child(even) .fig{grid-column:1/7;grid-row:1;padding-bottom:72px}
  .tl-i .copy,.tl-i:nth-child(even) .copy{grid-column:8/13;grid-row:1;text-align:left;justify-self:stretch;position:relative;border-left:1px solid var(--rule-2);padding:0 0 72px 32px}
  .tl-i .copy::before{content:"";position:absolute;left:-4.5px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 16%,transparent)}
  .tl-i:nth-child(even) .copy p{margin-left:0}
  .tl-i:last-child .fig,.tl-i:last-child .copy{padding-bottom:0}
}

/* WhatsApp flotante: fuera del héroe y del cierre */
body.hero-on .wa-fab{opacity:0;pointer-events:none}
@media (max-width:599px){.wa-fab{right:12px;bottom:12px}}
.eco-ml{display:none}
@media (max-width:599px){
  .eco a text{display:none}
  .eco-ml{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin-top:20px}
  .eco-ml a{display:flex;align-items:center;gap:10px;min-height:44px;font-family:var(--f-d);font-size:1rem;color:var(--on-dark)}
  .eco-ml a::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c);flex:none}
}

/* ================================================================ Legal: datos de la empresa, aviso de cookies, consentimiento */
.ck{position:fixed;left:16px;right:76px;bottom:16px;z-index:56;max-width:380px;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;
  border-radius:16px;background:rgba(16,20,32,.92);color:var(--on-dark);font-size:.8125rem;line-height:1.45;
  box-shadow:inset 0 0 0 1px var(--line-dark-2),0 18px 40px -18px rgba(10,16,32,.6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.ck[hidden]{display:none}
.ck p{margin:0}
.ck a{text-decoration:underline;text-underline-offset:.2em;white-space:nowrap}
.ck-ok{flex:none;height:36px;padding:0 14px;border-radius:var(--r-pill);background:#F4F5FA;color:var(--ink);font-weight:600;font-size:.8125rem}
.ck-ok:hover{background:#fff}
@media (min-width:768px){.ck{right:auto;left:24px;bottom:24px}}
.fld-ck{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:start;font-size:.9375rem;color:var(--ink-2)}
.fld-ck input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--ink)}
.fld-ck a{text-decoration:underline;text-underline-offset:.2em}
.fld-ck .err{grid-column:2}
.ct-form .form-note{margin-top:-8px}
.legal-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin:20px 0 8px}
.legal-lic{font-size:.8125rem;color:var(--sub);padding:14px 16px;border-radius:12px;background:rgba(20,24,35,.04)}
.legal code{font-size:.9em;padding:1px 6px;border-radius:6px;background:rgba(20,24,35,.06)}
.legal b{font-weight:600;color:var(--fg)}
.legal .legal-acts .btn{text-decoration:none}

/* ================================================================ 20. Ficha de producto (v4): cabecera tipo ficha, video, módulos, galería */
.ah-ch.ch-top{padding-top:calc(var(--sec-y) + 24px);padding-bottom:calc(var(--sec-y)*.7)}
.ah-crumbs ol{display:flex;flex-wrap:wrap;gap:6px;font-size:.875rem;color:var(--sub)}
.ah-crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.ah-crumbs a{display:inline-flex;min-height:32px;align-items:center;transition:color .2s}
.ah-crumbs a:hover{color:var(--fg)}
.ah-crumbs [aria-current]{color:var(--fg);font-weight:500;display:inline-flex;min-height:32px;align-items:center}
.ah{display:grid;gap:36px;margin-top:22px}
.ah-id{display:flex;align-items:center;gap:20px}
.ah-ico{position:relative;flex:none;width:72px;height:72px;border-radius:22px;display:grid;place-items:center;color:#fff;overflow:hidden;
  background:linear-gradient(150deg,color-mix(in srgb,var(--a1) 88%,#fff),var(--a1) 45%,var(--a2));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 0 0 1px rgba(255,255,255,.18),0 1px 2px rgba(10,16,32,.12),0 22px 40px -18px var(--glow)}
.ah-ico::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 70% at 20% 0%,rgba(255,255,255,.38),transparent 55%);pointer-events:none}
.ah-ico .i{width:34px;height:34px;stroke-width:1.5;position:relative;z-index:1}
.ah-name{font-family:var(--f-d);font-weight:500;font-size:clamp(2.375rem,1.5rem + 3vw,4rem);line-height:1;letter-spacing:-.045em;color:var(--fg)}
.ah-tag{margin-top:10px;font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);line-height:1.4;color:var(--fg-2);max-width:34ch;text-wrap:balance}
.ah-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.ah-chips li{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:var(--r-pill);font-size:.875rem;font-weight:500;
  background:rgba(255,255,255,.66);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--fg)}
.ah-chips .i,.ah-chips .wa{width:16px;height:16px;color:color-mix(in srgb,var(--a1) 75%,var(--ink))}
.ah .acts{margin-top:28px;gap:12px}
.btn.btn-gh{background:rgba(255,255,255,.55);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn.btn-gh::before{content:none}
.btn.btn-gh .i{width:14px;height:14px;fill:currentColor;stroke:none}
.btn.btn-gh:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--line-2),0 12px 26px -16px rgba(10,16,32,.45)}
.ah-meta{align-self:end;border-radius:var(--r-tile);padding:6px 22px;background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 20px 44px -30px rgba(10,16,32,.35)}
.ah-meta div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;font-size:.9375rem}
.ah-meta div+div{border-top:1px solid var(--rule)}
.ah-meta dt{color:var(--sub);white-space:nowrap}
.ah-meta dd{color:var(--fg);font-weight:600;text-align:right}
@media (max-width:639px){.ah .acts .btn{flex:1 1 100%}}
@media (min-width:768px){.ah-ico{width:88px;height:88px;border-radius:26px}.ah-ico .i{width:42px;height:42px}.ah-id{gap:26px}}
@media (min-width:1024px){
  .ah{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;margin-top:30px}
  .ah-main{grid-column:1/8}
  .ah-meta{grid-column:9/13}
  .ah-ico{width:104px;height:104px;border-radius:30px}.ah-ico .i{width:48px;height:48px}
}
/* video protagonista */
.vx-h{margin-bottom:clamp(32px,4vw,48px)}
.vx .facts{margin-top:clamp(72px,7vw,96px)}
.vp{position:relative;border-radius:var(--r-tile);padding:1px;
  background:linear-gradient(135deg,rgba(255,255,255,.30),rgba(255,255,255,.06) 40%,color-mix(in srgb,var(--a1) 60%,transparent));
  box-shadow:0 50px 120px -50px var(--glow),0 30px 70px -40px rgba(0,0,0,.8)}
.vp-scr{position:relative;aspect-ratio:16/9;border-radius:calc(var(--r-tile) - 1px);overflow:hidden;background:#0E1526}
.vp video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vp-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;
  background:linear-gradient(0deg,rgba(6,10,22,.72),rgba(6,10,22,.05) 45%,rgba(6,10,22,.15));transition:background .35s}
.vp-btn{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:var(--ink);
  box-shadow:0 0 0 10px rgba(255,255,255,.14),0 0 0 22px rgba(255,255,255,.06),0 20px 40px -10px rgba(0,0,0,.6);transition:transform .35s var(--ease),box-shadow .35s}
.vp-btn .i{width:26px;height:26px;fill:currentColor;stroke:none;margin-left:4px}
.vp-play:hover .vp-btn{transform:scale(1.06);box-shadow:0 0 0 12px rgba(255,255,255,.18),0 0 0 26px color-mix(in srgb,var(--a1) 22%,transparent),0 20px 40px -10px rgba(0,0,0,.6)}
.vp-cap{position:absolute;left:0;right:0;top:calc(100% + 16px);display:flex;align-items:baseline;gap:12px;padding:0 4px}
.vp-cap b{font-family:var(--f-d);font-weight:500;font-size:1rem;letter-spacing:-.01em;color:#fff}
.vp-cap span{font-size:.8125rem;color:var(--on-dark-2)}
.vp-cap span::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--a1);margin-right:10px;vertical-align:middle;box-shadow:0 0 10px var(--a1)}
.vp.is-on .vp-play{display:none}
@media (min-width:768px){.vp-btn{width:96px;height:96px}.vp-btn .i{width:32px;height:32px}}
/* módulos en detalle */
.mxs{margin-top:clamp(32px,4vw,48px)}
.mx{display:grid;gap:28px;padding-block:clamp(36px,5vw,64px);border-top:1px solid var(--rule)}
.mx:last-child{padding-bottom:0}
.mx-k{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;color:color-mix(in srgb,var(--a1) 72%,var(--ink));margin-bottom:12px}
.mx-k::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--a1);box-shadow:0 0 0 3px color-mix(in srgb,var(--a1) 20%,transparent)}
.mx .t-s{margin-top:12px;font-size:1rem}
.mx-l{margin-top:20px;display:grid;gap:10px}
.mx-l li{display:flex;gap:10px;align-items:flex-start;font-size:.9375rem;color:var(--fg-2)}
.mx-l .i{width:18px;height:18px;margin-top:2px;color:color-mix(in srgb,var(--a1) 75%,var(--ink));stroke-width:2}
.mx-m{min-width:0}
.mx-m .phones{justify-content:center}
.mx-m .phones .phone{max-width:210px}
.mx-m>.phone{margin-inline:auto;max-width:240px}
@media (min-width:1024px){
  .mx{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
  .mx-t{grid-column:1/6}.mx-m{grid-column:7/13}
  .mx-r .mx-t{grid-column:8/13;grid-row:1}.mx-r .mx-m{grid-column:1/7;grid-row:1}
}
/* marco de navegador */
.bw{border-radius:16px;overflow:hidden;background:var(--paper);box-shadow:var(--sh-float)}
.bw-bar{display:flex;align-items:center;gap:6px;height:34px;padding:0 14px;background:#F2F4F8;border-bottom:1px solid var(--line)}
.bw-bar i{width:9px;height:9px;border-radius:50%;background:#D5D9E1}
.bw-bar i:nth-child(1){background:#FF5F57}.bw-bar i:nth-child(2){background:#FEBC2E}.bw-bar i:nth-child(3){background:#28C840}
.bw-bar span{flex:1;max-width:260px;margin:0 auto;transform:translateX(-18px);height:22px;line-height:22px;border-radius:var(--r-pill);background:#fff;font-size:.75rem;color:var(--ink-3);text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-shadow:inset 0 0 0 1px var(--line)}
.bw-scr img{width:100%;height:auto}
[data-tone="dark"] .bw{box-shadow:0 0 0 1px rgba(255,255,255,.08),var(--sh-dark)}
/* galería */
.gal{display:flex;gap:clamp(16px,2vw,28px);align-items:center;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:clamp(32px,4vw,48px);
  padding:8px 4px 24px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent;-webkit-overflow-scrolling:touch}
.gal{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.gal>*{scroll-snap-align:start;flex:none}
.gal-w{width:min(84vw,560px)}
.gal-p .phone{width:min(46vw,210px)}
.gal:focus-visible{outline-offset:6px}
/* cómo funciona, integraciones y especificaciones */
.how-ch .steps{margin-top:clamp(32px,4vw,48px)}
.how-ch .step::before{background:var(--a1);width:40px;height:2px;top:-1px}
.is-g{align-items:start}
.is-a,.is-b{grid-column:1/-1}
.ext{display:grid;gap:10px;margin-top:28px}
.ext li{display:flex;align-items:center;gap:10px;font-size:.9375rem;color:var(--fg-2)}
.ext .i{width:18px;height:18px;color:color-mix(in srgb,var(--a1) 75%,var(--ink));stroke-width:2}
.is-k{margin-top:36px;margin-bottom:6px}
.specs{margin-top:28px}
.specs div{display:grid;gap:4px;padding:16px 0;border-top:1px solid var(--rule)}
.specs div:last-child{border-bottom:1px solid var(--rule)}
.specs dt{font-size:.875rem;color:var(--sub)}
.specs dd{color:var(--fg);font-size:.9688rem;line-height:1.5;max-width:46ch}
@media (min-width:640px){.ext{grid-template-columns:1fr 1fr}.specs div{grid-template-columns:150px 1fr;gap:20px}}
@media (min-width:1024px){.is-a{grid-column:1/7}.is-b{grid-column:8/13}}
/* barras de margen (sin montos) */
.bars-r{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) 44px;gap:12px;align-items:center;font-size:.875rem}
.bars-r i{height:10px;border-radius:6px;background:#EEF0F4;overflow:hidden}
.bars-r b{display:block;height:100%;border-radius:inherit;background:var(--a1)}
.bars-r b.lo{background:color-mix(in srgb,var(--a1) 35%,#fff)}
.bars-r em{font-style:normal;font-variant-numeric:tabular-nums;text-align:right;color:var(--ink-2)}

/* ================================================================ 20. v5 · Pie «Sello de Lima» (ft5) */
.ft5{--fa1:var(--a1);--fa2:var(--a2);padding:0;font-size:.9375rem;color:var(--on-dark)}
.ch.ft5[data-tone="dark"]{margin:0 var(--pm) var(--pm);border-radius:0 0 var(--r-panel) var(--r-panel)}
.ch.ft5.solo[data-tone="dark"]{margin-top:clamp(40px,6vw,80px);border-radius:var(--r-panel)}
/* unido al cierre: el panel noche sigue y la aurora del tono sube desde abajo */
.ch.ft5[data-tone="dark"]::before{background-image:
    radial-gradient(70% 60% at 0% 100%,color-mix(in srgb,var(--fa1) 30%,transparent),transparent 62%),
    radial-gradient(60% 55% at 100% 100%,color-mix(in srgb,var(--fa2) 24%,transparent),transparent 64%)}
.ch.ft5.solo[data-tone="dark"]::before{background-image:
    radial-gradient(120% 80% at 85% 0%,color-mix(in srgb,var(--fa2) 24%,transparent),transparent 60%),
    radial-gradient(90% 70% at 0% 100%,color-mix(in srgb,var(--fa1) 30%,transparent),transparent 60%);background-color:#0B1022}
/* filete de luz: solo cuando el pie es un panel propio */
.ft5.solo::after,.ft5.lt::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;opacity:.75;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--fa1) 70%,#fff),color-mix(in srgb,var(--fa2) 70%,#fff),transparent)}
.ft5.join .ft5-grid{border-top:1px solid var(--line-dark)}
.ft5>.wrap{position:relative;z-index:1}
.ft5.solo>.wrap:first-child,.ft5.lt>.wrap:first-child{padding-top:clamp(48px,6vw,80px)}
.ft5.solo .ft5-call+.ft5-grid,.ft5.lt .ft5-call+.ft5-grid{border-top:1px solid var(--line-dark)}

/* fila 1: invitación + tarjeta de contacto */
.ft5-call{display:grid;gap:28px;align-items:end;padding-bottom:clamp(40px,5vw,64px)}
@media (min-width:900px){.ft5-call{grid-template-columns:1.1fr .9fr;gap:64px}}
.ft5-inv h2{font-family:var(--f-d);font-weight:400;font-size:clamp(1.9rem,1.3rem + 2vw,3rem);line-height:1.05;letter-spacing:-.032em;max-width:15ch;text-wrap:balance;color:var(--on-dark)}
.ft5-inv p{margin-top:14px;color:var(--on-dark-2);max-width:40ch;font-size:1.0625rem;line-height:1.55}
.ft5-card{position:relative;border-radius:22px;padding:18px;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  box-shadow:inset 0 0 0 1px var(--line-dark-2),0 30px 60px -30px color-mix(in srgb,var(--fa1) 55%,transparent)}
.ft5-ways{display:grid;gap:10px;margin-top:14px}
.ft5-way{display:flex;align-items:center;gap:14px;min-width:0;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line-dark);
  transition:background .3s,box-shadow .3s,transform .35s var(--ease-out)}
.ft5-way:hover{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px var(--line-dark-2);transform:translateY(-1px)}
.ft5-way .ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;flex:none;color:#fff}
.ft5-way .ic .i,.ft5-way .ic .wa{width:20px;height:20px}
.ft5-way .wa-ic{background:#168A47;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.ft5-way .ml-ic{background:linear-gradient(135deg,color-mix(in srgb,var(--fa1) 85%,#000),color-mix(in srgb,var(--fa2) 85%,#000));box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.ft5-way .tx{min-width:0}
.ft5-way b{display:block;font-weight:600;font-size:1rem;line-height:1.3}
.ft5-way .tx span{display:block;font-size:.875rem;color:var(--on-dark-2);overflow-wrap:anywhere}
.ft5-way .go{margin-left:auto;width:18px;height:18px;opacity:.55;transition:opacity .3s,transform .35s var(--ease-out)}
.ft5-way:hover .go{opacity:1;transform:translateX(3px)}

/* píldora de atención (pie y contacto) */
.ix-st{display:inline-flex;align-items:center;gap:9px;font-size:.84375rem;line-height:1.3;color:var(--fg-2);padding:6px 12px 6px 10px;border-radius:999px;background:rgba(20,24,35,.05)}
.ft5 .ix-st{color:var(--on-dark-2);background:rgba(255,255,255,.06)}
.ix-st i{width:8px;height:8px;border-radius:50%;background:#34D399;flex:none}
.ix-st.off i{background:#FBBF24}
@media (prefers-reduced-motion:no-preference){.ix-st:not(.off) i{animation:ixPing 2.4s var(--ease-out) infinite}}
@keyframes ixPing{0%{box-shadow:0 0 0 0 rgba(52,211,153,.55)}80%,100%{box-shadow:0 0 0 9px rgba(52,211,153,0)}}

/* fila 2: marca + columnas */
.ft5-grid{display:grid;gap:40px;padding-block:clamp(40px,5vw,64px)}
@media (min-width:900px){.ft5-grid{grid-template-columns:1.25fr 3fr;gap:32px}.ft5-cols{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:32px!important}}
.ft5-logo{display:inline-block}
.ft5-brand img{height:30px;width:auto}
.ft5-brand p{margin-top:16px;font-family:var(--f-d);font-size:1.0625rem;line-height:1.4;letter-spacing:-.01em;max-width:22ch;color:var(--on-dark)}
.ft5-map{margin-top:22px;display:inline-flex;gap:14px;align-items:center;border-radius:18px}
.lmap{width:92px;height:92px;flex:none;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line-dark);color:var(--on-dark)}
.lmap-pin{filter:drop-shadow(0 0 6px var(--a1))}
.lmap-halo{transform-origin:62px 50px;transform-box:view-box}
@media (prefers-reduced-motion:no-preference){.ft5-map:hover .lmap-halo{animation:ixHalo 1.6s var(--ease-out) infinite}}
@keyframes ixHalo{0%{transform:scale(.6);opacity:.45}100%{transform:scale(1.9);opacity:0}}
.ft5-map address{font-style:normal;font-size:.875rem;line-height:1.5;color:var(--on-dark-2)}
.ft5-map address b{display:block;color:var(--on-dark);font-weight:600}
.ft5-mapgo{display:flex;align-items:center;gap:4px;margin-top:4px;color:var(--on-dark);font-weight:600;font-size:.8125rem}
.ft5-mapgo .i{width:14px;height:14px;transition:transform .35s var(--ease-out)}
.ft5-map:hover .ft5-mapgo .i{transform:translateX(3px)}
.ft5-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}
.ft5-cols h2{font-family:var(--f-b);font-size:.84375rem;font-weight:600;color:var(--on-dark-2);margin-bottom:10px}
.ft5-cols li a{display:inline-flex;align-items:center;gap:10px;padding:6px 0;min-height:36px;font-size:.96875rem;line-height:1.3;color:var(--on-dark);opacity:.9;transition:opacity .25s,transform .3s var(--ease-out)}
.ft5-cols li a:hover{opacity:1;transform:translateX(2px)}
.ft5-dot{width:8px;height:8px;border-radius:3px;background:var(--c);box-shadow:0 0 10px color-mix(in srgb,var(--c) 70%,transparent);flex:none;transition:transform .3s var(--ease-out),box-shadow .3s}
.ft5-cols li a:hover .ft5-dot{transform:rotate(45deg) scale(1.15);box-shadow:0 0 14px var(--c)}

/* wordmark gigante, cortado por el borde inferior */
.ft5-word{position:relative;z-index:0;margin-top:clamp(-36px,-2vw,-8px);height:clamp(60px,11vw,150px);overflow:hidden;pointer-events:none;user-select:none}
.ft5-word span{display:block;font-family:var(--f-d);font-weight:700;font-size:clamp(84px,24vw,360px);line-height:.74;letter-spacing:-.06em;text-align:center;white-space:nowrap;
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0) 78%),linear-gradient(90deg,var(--fa1),var(--fa2));-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.5;
  -webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 100%);mask-image:linear-gradient(180deg,#000 30%,transparent 100%)}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .ft5-word span{animation:ixRise linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
    .ft5.lt .ft5-word span{animation-name:ixRiseLt}
  }
}
@keyframes ixRise{from{transform:translateY(38%);opacity:.12}to{transform:none;opacity:.5}}
@keyframes ixRiseLt{from{transform:translateY(38%);opacity:.08}to{transform:none;opacity:.3}}

/* fila 3: línea legal */
.ft5-bot{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:12px;align-items:center;padding:20px 0 22px;border-top:1px solid var(--line-dark);font-size:.84375rem;color:var(--on-dark-2)}
.ft5-co span{white-space:nowrap}
.ft5-bot nav{display:flex;flex-wrap:wrap;gap:0 18px}
.ft5-bot nav a{display:inline-flex;align-items:center;gap:6px;min-height:36px;transition:color .25s}
.ft5-bot nav a:hover{color:var(--on-dark)}
.ft5-bot .mine{color:var(--on-dark)}
.ft5-bot .mine .i{width:15px;height:15px}
.ft5-up{justify-self:start;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px 0 11px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-dark-2);color:var(--on-dark);white-space:nowrap;transition:background .25s}
.ft5-up .i{width:16px;height:16px;transition:transform .35s var(--ease-out)}
.ft5-up:hover{background:rgba(255,255,255,.07)}
.ft5-up:hover .i{transform:translateY(-2px)}
.ft5-demo{grid-column:1/-1;font-size:.78125rem;color:var(--on-dark-2)}
@media (min-width:1024px){.ft5-bot{grid-template-columns:auto 1fr auto;gap:10px 28px}.ft5-bot nav{justify-content:flex-end}}

/* variante clara (legales y 404) */
.ft5.lt{--on-dark:#141823;--on-dark-2:#3F4655;--line-dark:rgba(20,24,35,.10);--line-dark-2:rgba(20,24,35,.18);color:var(--ink);
  margin:clamp(40px,6vw,80px) clamp(8px,1.2vw,16px) clamp(8px,1.2vw,16px);border-radius:var(--r-panel);overflow:hidden;isolation:isolate;
  box-shadow:0 1px 2px rgba(10,16,32,.05),0 30px 80px -40px rgba(10,16,32,.28)}
.ch.ft5.lt::before{inset:0;top:0;border-radius:inherit;animation:none;-webkit-mask-image:none;mask-image:none;background-size:100% 100%;background-position:0 0;
  background-image:radial-gradient(120% 80% at 85% 0%,color-mix(in srgb,var(--fa2) 13%,transparent),transparent 60%),radial-gradient(90% 70% at 0% 100%,color-mix(in srgb,var(--fa1) 15%,transparent),transparent 60%);background-color:#fff}
.ft5.lt .ft5-card{background:rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px var(--line-dark),0 30px 60px -34px color-mix(in srgb,var(--fa1) 45%,transparent)}
.ft5.lt .ft5-way{background:#fff}
.ft5.lt .ft5-way:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--line-dark-2),0 10px 24px -14px rgba(10,16,32,.3)}
.ft5.lt .ix-st{background:rgba(20,24,35,.05)}
.ft5.lt .lmap{background:#fff}
.ft5.lt .ft5-dot{box-shadow:none}
.ft5.lt .ft5-word span{opacity:.3}
.ft5.lt .ft5-up:hover{background:rgba(20,24,35,.05)}

/* ================================================================ 21. v5 · piezas comunes de páginas internas (ix-) */
/* cabecera interna */
.ix-head{display:grid;gap:18px;justify-items:start}
.ix-head .t-lead{max-width:48ch}
.ix-cr ol{display:flex;flex-wrap:wrap;gap:4px 0;font-size:.875rem;color:var(--sub)}
.ix-cr li{display:inline-flex;align-items:center}
.ix-cr li+li::before{content:"";width:5px;height:5px;margin:0 10px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);opacity:.55}
.ix-cr a{transition:color .2s}.ix-cr a:hover{color:var(--fg)}
.ix-cr a[aria-current]{color:var(--fg)}
.ix-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;border-radius:999px;font-size:.84375rem;color:var(--fg-2);
  background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px var(--rule)}
.ix-pill::before{content:"";width:7px;height:7px;border-radius:2px;background:linear-gradient(135deg,var(--a1),var(--a2))}
[data-tone="dark"] .ix-pill{background:rgba(255,255,255,.06)}
/* botón de sección */
.ix-go{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:4px 4px 4px 20px;border-radius:999px;font-weight:600;font-size:.96875rem;color:var(--fg);
  background:rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px var(--rule-2);transition:box-shadow .3s,background .3s}
.ix-go i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--a1) 88%,#000),color-mix(in srgb,var(--a2) 70%,var(--a1)))}
.ix-go i .i{width:18px;height:18px;transition:transform .35s var(--ease-out)}
.ix-go:hover{box-shadow:inset 0 0 0 1px var(--rule-2),0 14px 30px -18px color-mix(in srgb,var(--a1) 70%,transparent)}
.ix-go:hover i .i{transform:translateX(2px)}
[data-tone="dark"] .ix-go{background:rgba(255,255,255,.06)}
/* tarjetas de salida */
.ix-cards{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:720px){.ix-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
.ix-card{position:relative;display:flex;flex-direction:column;height:100%;border-radius:var(--r-tile);background:var(--paper);overflow:hidden;
  box-shadow:inset 0 0 0 1px var(--line),0 1px 2px rgba(10,16,32,.04);transition:transform .4s var(--ease-out),box-shadow .4s}
.ix-card::before{content:"";position:absolute;z-index:1;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 25%,transparent))}
.ix-card:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 30%,transparent),0 30px 50px -30px color-mix(in srgb,var(--c) 65%,transparent)}
.ix-cm{display:block;aspect-ratio:16/10;overflow:hidden;background:color-mix(in srgb,var(--c) 10%,#F2F3F6)}
.ix-cm img{width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .8s var(--ease-out)}
.ix-card:hover .ix-cm img{transform:scale(1.03)}
.ix-cb{display:grid;gap:6px;padding:22px 64px 22px 22px}
.ix-ct{display:flex;align-items:center;gap:10px;font-family:var(--f-d);font-weight:400;font-size:1.1875rem;line-height:1.25;letter-spacing:-.015em;color:var(--ink)}
.ix-dot{width:9px;height:9px;border-radius:3px;background:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 18%,transparent);flex:none}
.ix-cl{font-size:.9375rem;line-height:1.5;color:var(--ink-2)}
.ix-ca{position:absolute;right:18px;bottom:20px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2);transition:background .3s,color .3s,transform .35s var(--ease-out)}
.ix-ca .i{width:16px;height:16px}
.ix-card:hover .ix-ca{background:var(--ink);color:#fff;box-shadow:none;transform:translateX(2px)}
@media (prefers-reduced-motion:reduce){.ft5 *,.ix-card,.ix-card *,.ix-go,.ix-go *{transition:none!important;animation:none!important}}
.nf:has(.ix-cards){max-width:880px}
.nf .ix-cards{text-align:left;margin-top:48px}
.nf .ix-cards .t-lead{max-width:none}
@media (max-width:899px){.ft5-cols>div:last-child{grid-column:1/-1}.ft5-cols>div:last-child ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}}

/* ================================================================ 21. v5 · Productos «Constelación» (sx), A medida «Plano de obra» (dx),
   Automatización «Turno de noche» (ax), Portafolio «Archivo vivo» (pw) y ruta de proceso (rt) */
.pw-fam{display:inline-flex;align-items:center;gap:7px;width:max-content;font-size:.75rem;font-weight:600;line-height:1;letter-spacing:.01em;color:var(--ink-2);
  padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--fc) 10%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fc) 16%,transparent)}
.pw-fam i{width:6px;height:6px;border-radius:50%;background:var(--fc);box-shadow:0 0 0 3px color-mix(in srgb,var(--fc) 18%,transparent)}

/* ---------- ruta (proceso en estaciones) */
.rt{position:relative;display:grid;gap:28px;margin-top:8px}
.rt::before{content:"";position:absolute;left:21px;top:22px;bottom:22px;width:2px;border-radius:2px;
  background:linear-gradient(180deg,var(--a1),var(--a2));opacity:.55}
.rt li{position:relative;display:grid;grid-template-columns:44px 1fr;column-gap:18px;row-gap:4px}
.rt .rt-n{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font:500 .875rem var(--f-d);font-variant-numeric:tabular-nums;color:var(--ink);
  background:var(--paper);box-shadow:0 0 0 1px color-mix(in srgb,var(--a1) 30%,transparent),0 0 0 6px color-mix(in srgb,var(--a1) 8%,transparent),0 10px 24px -12px color-mix(in srgb,var(--a1) 60%,transparent)}
.rt .t-h3{align-self:end;padding-top:2px}
@media (min-width:900px){
  .rt{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
  .rt::before{left:22px;right:calc(25% - 22px);top:21px;bottom:auto;width:auto;height:2px;background:linear-gradient(90deg,var(--a1),var(--a2))}
  .rt li{grid-template-columns:1fr;row-gap:10px}
  .rt .rt-n{grid-row:auto;margin-bottom:10px}
  .rt .t-h3{align-self:auto}
}

/* ================================================================ Portafolio · muro de pantallas, cápsula de filtros y mosaico */
.ch.pw-hero{padding:0;min-height:min(760px,92svh);display:flex;align-items:flex-end}
.ch.pw-hero>.wrap{position:static}
.pw-wall{position:absolute;z-index:0;inset:-14% -26% -30% 20%;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 18%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 18%,#000 80%,transparent)}
.pw-tilt{height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;transform:perspective(1600px) rotateX(20deg) rotateY(-20deg) rotateZ(7deg);transform-origin:50% 40%}
.pw-col{min-width:0;overflow:visible}
.pw-col:nth-child(2){margin-top:-140px}
.pw-col:nth-child(3){margin-top:-60px}
.pw-track{display:flex;flex-direction:column;gap:18px}
.pw-shot{display:block;border-radius:14px;overflow:hidden;aspect-ratio:16/10;background:#141B30;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 30px 60px -24px rgba(0,0,0,.85)}
.pw-shot img{width:100%;height:100%;object-fit:cover;object-position:top left}
@media (prefers-reduced-motion:no-preference){
  .pw-live .pw-track{animation:pwUp 90s linear infinite}
  .pw-live .pw-col:nth-child(2) .pw-track{animation-duration:120s;animation-direction:reverse}
  .pw-live .pw-col:nth-child(3) .pw-track{animation-duration:105s}
  .pw-wall.off .pw-track{animation-play-state:paused}
}
@keyframes pwUp{to{transform:translateY(calc(-50% - 9px))}}
.pw-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,#0A1020 22%,rgba(10,16,32,.72) 48%,rgba(10,16,32,.08) 78%),linear-gradient(0deg,#0A1020 4%,rgba(10,16,32,0) 46%),
  radial-gradient(50% 60% at 0% 100%,rgba(217,91,18,.22),transparent 70%)}
.pw-copy{position:relative;z-index:2;padding-block:calc(var(--sb) + 150px) clamp(76px,8vw,112px)}
.pw-k{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;font-size:.875rem;color:var(--on-dark-2);margin-bottom:22px}
.pw-k span{padding:6px 12px;border-radius:999px;color:#fff;font-weight:600;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.pw-hero .t-d{color:#fff;font-size:clamp(2.6rem,1.5rem + 3.9vw,4.75rem);max-width:11ch;letter-spacing:-.042em}
.pw-hero .t-lead{margin-top:20px;max-width:42ch;color:rgba(238,241,247,.78)}
.pw-leg{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;font-size:.875rem;color:rgba(238,241,247,.82)}
.pw-leg li{display:inline-flex;align-items:center;gap:8px}
.pw-leg i{width:8px;height:8px;border-radius:3px;background:var(--c);box-shadow:0 0 12px var(--c)}
.pw-leg b{font-weight:500;font-variant-numeric:tabular-nums;color:rgba(238,241,247,.6)}
@media (max-width:899px){
  .pw-wall{inset:-6% -70% 24% -10%;opacity:.42}
  .pw-veil{background:linear-gradient(0deg,#0A1020 38%,rgba(10,16,32,.55) 75%,rgba(10,16,32,.25))}
  .pw-copy{padding-top:calc(var(--sb) + 210px)}
}
/* cápsula de filtros */
.ch.pw-ch{padding-top:0}
.pw-bar{position:relative;z-index:20;display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:-30px}
.pw-pill{display:flex;align-items:center;gap:6px;max-width:100%;padding:6px;border-radius:999px;background:rgba(255,255,255,.84);
  -webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 1px 2px rgba(10,16,32,.06),0 22px 44px -22px rgba(10,16,32,.5)}
.pw-seg{position:relative;display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none;border-radius:999px}
.pw-seg::-webkit-scrollbar{display:none}
.pw-seg a{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:999px;flex:none;
  font-size:.9375rem;font-weight:500;color:var(--ink-2);white-space:nowrap;transition:color .35s var(--ease)}
.pw-seg a:hover{color:var(--ink)}
.pw-seg a i{width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 16%,transparent)}
.pw-seg small{font-size:.75rem;font-weight:500;color:var(--ink-3);font-variant-numeric:tabular-nums;transition:color .35s}
.pw-seg a[aria-current]{color:#fff}
.pw-seg a[aria-current] small{color:rgba(255,255,255,.72)}
.pw-seg a[aria-current] i{box-shadow:0 0 0 3px rgba(255,255,255,.18),0 0 10px var(--c)}
.pw-seg:not(.js) a[aria-current]{background:var(--ink)}
.pw-ind{position:absolute;z-index:0;left:0;top:0;height:44px;width:0;border-radius:999px;background:var(--ink);
  box-shadow:0 8px 18px -8px rgba(10,16,32,.6);transition:transform .5s var(--ease-out),width .5s var(--ease-out)}
.pw-sel{position:relative;flex:none;display:inline-flex;align-items:center}
.pw-sel>.i:first-child{position:absolute;left:14px;width:16px;height:16px;color:var(--ink-3);pointer-events:none}
.pw-sel>.i:last-child{position:absolute;right:12px;width:14px;height:14px;color:var(--ink-3);pointer-events:none}
.pw-sel select{appearance:none;-webkit-appearance:none;height:44px;padding:0 34px 0 38px;border:0;border-radius:999px;font-size:.9375rem;font-weight:500;color:var(--ink);
  background:rgba(20,24,35,.05);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;max-width:220px;text-overflow:ellipsis}
.pw-count{text-align:center;margin-top:14px;font-size:.875rem;color:var(--ink-3)}
.pw-count span{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
@media (max-width:899px){
  .pw-pill{flex-direction:column;align-items:stretch;border-radius:26px;width:100%}
  .pw-sel select{width:100%;max-width:none}
}
@media (min-width:900px){
  .pw-bar{position:sticky;top:calc(var(--hd-top) + var(--hd-h) + 8px)}
}
/* mosaico */
.pw-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:28px}
.pw-card{position:relative;display:flex;flex-direction:column;border-radius:24px;padding:8px 8px 0;background:var(--paper);
  box-shadow:0 1px 2px rgba(10,16,32,.05),0 24px 48px -32px rgba(20,24,35,.4);transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out)}
.pw-card[hidden]{display:none}
.pw-scr{position:relative;display:block;border-radius:17px;overflow:hidden;aspect-ratio:16/10;
  background:radial-gradient(90% 80% at 20% 0%,color-mix(in srgb,var(--fc) 22%,#fff),color-mix(in srgb,var(--a1) 12%,#EEF0F5))}
.pw-scr::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(20,24,35,.06);pointer-events:none}
.pw-scr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform 1s var(--ease-out)}
.pw-ph{position:absolute;inset:0;display:flex;justify-content:center;padding-top:20px}
.pw-ph img{height:118%;width:auto;border-radius:22px;box-shadow:0 0 0 5px #10131c,0 26px 40px -18px rgba(10,16,32,.6);transition:transform 1s var(--ease-out)}
.pw-go{position:absolute;right:20px;top:20px;z-index:2;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;
  font-size:.8125rem;font-weight:600;color:var(--ink);background:rgba(255,255,255,.94);box-shadow:0 10px 24px -12px rgba(10,16,32,.5);
  opacity:0;transform:translateY(-6px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
.pw-go .i{width:14px;height:14px}
.pw-cap{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:3px;align-items:center;padding:14px 10px 16px}
.pw-nm{grid-column:1;font:500 1.0625rem/1.25 var(--f-d);letter-spacing:-.015em;color:var(--ink)}
.pw-l{grid-column:1;font-size:.875rem;line-height:1.4;color:var(--ink-3)}
.pw-cap .pw-fam{grid-column:2;grid-row:1/span 2}
.pw-card:hover,.pw-card:focus-visible{transform:translateY(-4px);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--fc) 36%,transparent),0 40px 70px -32px color-mix(in srgb,var(--fc) 62%,transparent)}
.pw-card:hover .pw-scr>img,.pw-card:hover .pw-ph img{transform:scale(1.035)}
.pw-card:hover .pw-go,.pw-card:focus-visible .pw-go{opacity:1;transform:none}
@media (min-width:640px){
  .pw-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .pw-grid .pw-card:is([data-z="big"],[data-z="full"]){grid-column:span 2}
}
@media (min-width:1024px){
  .pw-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
  .pw-grid .pw-card{grid-column:span 2}
  .pw-grid .pw-card[data-z="wide"]{grid-column:span 3}
  .pw-grid .pw-card[data-z="big"]{grid-column:span 4;grid-row:span 2}
  .pw-grid .pw-card[data-z="full"]{grid-column:span 6}
  .pw-grid .pw-card[data-z="big"] .pw-scr{flex:1;aspect-ratio:auto;min-height:320px}
  .pw-grid .pw-card[data-z="full"] .pw-scr{aspect-ratio:2/1}
  .pw-grid .pw-card:is([data-z="big"],[data-z="full"]) .pw-nm{font-size:1.375rem}
  .pw-grid .pw-card[data-z="wide"] .pw-scr{aspect-ratio:16/9}
}
.pw-grid+.pf-empty{margin-top:24px;text-align:center}
.pw-build{align-items:flex-end}
@media (prefers-reduced-motion:reduce){.pw-card,.pw-card *,.pw-ind{transition:none!important}}

/* ================================================================ Productos · constelación */
.sx-hero{transition:--fa1 1.4s var(--ease),--fa2 1.4s var(--ease)}
.sx-hero>.wrap{position:static}
.sx-aura{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(42% 58% at 74% 50%,color-mix(in srgb,var(--fa1) 36%,transparent),transparent 70%),
    radial-gradient(38% 50% at 6% 100%,color-mix(in srgb,var(--fa2) 30%,transparent),transparent 70%),
    radial-gradient(30% 40% at 100% 0%,color-mix(in srgb,var(--fa2) 18%,transparent),transparent 70%)}
.sx-hg{position:relative;align-items:center}
.sx-copy,.sx-orb{grid-column:1/-1;min-width:0}
.sx-k{display:inline-flex;align-items:center;gap:10px;font-size:.875rem;font-weight:600;color:rgba(238,241,247,.82);margin-bottom:22px}
.sx-k span{width:28px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--fa1),var(--fa2))}
.sx-hero .t-d{color:#fff;font-size:clamp(2.5rem,1.6rem + 2.6vw,3.75rem);max-width:12ch;letter-spacing:-.04em}
.sx-hero .t-lead{margin-top:20px;color:rgba(238,241,247,.78);max-width:40ch}
.sx-list{margin-top:32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.sx-it{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr) 18px;align-items:center;column-gap:12px;min-height:48px;padding:8px 12px;border-radius:14px;
  color:rgba(238,241,247,.74);transition:background .35s,box-shadow .35s,color .35s}
.sx-it i{width:8px;height:8px;border-radius:50%;background:var(--c);transition:box-shadow .35s}
.sx-it b{font:500 1rem/1.2 var(--f-d);letter-spacing:-.01em;color:#fff}
.sx-it span{display:none}
.sx-it .i{width:16px;height:16px;opacity:0;transform:translateX(-4px);transition:opacity .3s,transform .35s var(--ease-out)}
.sx-it.is-on,.sx-it:hover{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,transparent)}
.sx-it.is-on i,.sx-it:hover i{box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 26%,transparent),0 0 14px var(--c)}
.sx-it.is-on .i,.sx-it:hover .i{opacity:1;transform:none}
.sx-orb{margin-top:8px}
.sx-orb svg{width:100%;max-width:640px;margin-inline:auto;overflow:visible}
.sx-rings circle{fill:none;stroke:rgba(255,255,255,.13)}
.sx-rings .r2{stroke-dasharray:2 7;stroke:rgba(255,255,255,.2)}
.sx-rings .r3{stroke:rgba(255,255,255,.06)}
.sx-sat{fill:#fff;opacity:.85;filter:drop-shadow(0 0 4px #fff)}
.sx-spin{transform-origin:320px 300px}
.sx-ln{fill:none;stroke:rgba(255,255,255,.14);stroke-width:1.2;transition:stroke .5s,stroke-width .5s}
.sx-ln.is-on{stroke:var(--c);stroke-width:2;stroke-dasharray:5 7}
.sx-ctr{fill:rgba(10,16,32,.86);stroke:color-mix(in srgb,var(--fa1) 70%,transparent);stroke-width:1.5}
.sx-ct{fill:#fff;font:500 21px var(--f-d);letter-spacing:-.02em;text-anchor:middle}
.sx-cs{fill:rgba(238,241,247,.74);font:400 13px var(--f-b);text-anchor:middle}
.sx-n{cursor:pointer}
.sx-n .h{fill:var(--c);opacity:0;transition:opacity .4s;transform-box:fill-box;transform-origin:center}
.sx-n .o{fill:rgba(10,16,32,.6);stroke:var(--c);stroke-opacity:.5;stroke-width:1.2;transition:stroke-opacity .4s}
.sx-n .d{fill:var(--c)}
.sx-n text{fill:rgba(238,241,247,.76);font:500 17px var(--f-d);letter-spacing:-.01em;transition:fill .35s}
.sx-n.is-on .h,.sx-n:hover .h{opacity:.24}
.sx-n.is-on .o,.sx-n:hover .o{stroke-opacity:1}
.sx-n.is-on text,.sx-n:hover text{fill:#fff}
.sx-n:focus-visible{outline:none}
.sx-n:focus-visible .o{stroke:#fff;stroke-width:2.5;stroke-opacity:1}
@media (prefers-reduced-motion:no-preference){
  .sx-spin{animation:sxSpin 36s linear infinite}
  .sx-rings .r2{animation:sxSpin 140s linear infinite reverse;transform-origin:320px 300px}
  .sx-ln.is-on{animation:sxFlow 1.1s linear infinite}
  .sx-n.is-on .h{animation:sxPulse 2.4s var(--ease) infinite}
}
@keyframes sxSpin{to{transform:rotate(360deg)}}
@keyframes sxFlow{to{stroke-dashoffset:-24}}
@keyframes sxPulse{50%{transform:scale(1.35);opacity:.1}}
@media (min-width:1024px){
  .sx-copy{grid-column:1/span 5}
  .sx-orb{grid-column:6/-1;margin:0 -24px 0 0}
  .sx-list{gap:4px 8px;max-width:460px}
}
@media (max-width:1023px){.sx-orb{max-width:520px;margin-inline:auto;width:100%}}
.sx-fc{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px;min-height:28px;margin-top:6px;text-align:center;font-size:.9375rem;color:rgba(238,241,247,.76)}
.sx-fc i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c)}
.sx-fc b{font:500 1rem var(--f-d);color:#fff}
@media (prefers-reduced-motion:no-preference){.sx-fc.swap{animation:dxPop .5s var(--ease-out)}}
/* bento de productos */
.sx-bento{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.sx-t{position:relative;display:block;min-height:380px;border-radius:var(--r-tile);overflow:hidden;isolation:isolate;color:#fff;background:var(--night);
  box-shadow:0 1px 2px rgba(10,16,32,.08),0 30px 60px -36px rgba(10,16,32,.6);transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}
.sx-ph img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.sx-t::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,color-mix(in oklab,var(--a1) 32%,#0A1020) 0%,color-mix(in oklab,var(--a1) 24%,rgba(10,16,32,.66)) 30%,rgba(10,16,32,.08) 66%)}
.sx-t::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);pointer-events:none}
.sx-sheet{position:absolute;top:20px;right:20px;width:52%;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#141B30;
  box-shadow:0 0 0 1px rgba(255,255,255,.28),0 30px 60px -20px rgba(0,0,0,.75);transform:rotate(3deg) translate(-2px,8px);transform-origin:100% 0;
  transition:transform .8s var(--ease-out)}
.sx-sheet img{width:100%;height:100%;object-fit:cover;object-position:top left}
.sx-sheet.ph{width:26%;aspect-ratio:9/19;border-radius:18px;box-shadow:0 0 0 4px #0d111c,0 0 0 5px rgba(255,255,255,.2),0 30px 60px -20px rgba(0,0,0,.75)}
.sx-8 .sx-sheet{width:38%}
.sx-8 .sx-sheet.ph{width:17%}
.sx-4 .sx-sheet.ph{width:30%}
.sx-cap{position:absolute;left:24px;right:84px;bottom:22px}
.sx-nm{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font:500 1.5rem/1.15 var(--f-d);letter-spacing:-.02em;color:#fff}
.sx-nm i{width:9px;height:9px;border-radius:50%;background:var(--a1);box-shadow:0 0 0 4px color-mix(in srgb,var(--a1) 30%,transparent),0 0 18px var(--a1)}
.sx-nm em{font:600 .75rem/1 var(--f-b);font-style:normal;letter-spacing:.01em;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.sx-tl{display:block;margin-top:8px;font-size:.9375rem;line-height:1.45;color:rgba(255,255,255,.86);max-width:36ch}
.sx-go{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .35s,color .35s,transform .45s var(--ease-out)}
.sx-go .i{width:18px;height:18px}
.sx-t:hover,.sx-t:focus-visible{transform:translateY(-4px);box-shadow:0 0 0 1px color-mix(in srgb,var(--a1) 50%,transparent),0 44px 80px -36px color-mix(in srgb,var(--a1) 70%,transparent)}
.sx-t:hover .sx-ph img{transform:scale(1.04)}
.sx-t:hover .sx-sheet,.sx-t:focus-visible .sx-sheet{transform:rotate(0) translate(0,0) scale(1.06)}
.sx-t:hover .sx-go{background:#fff;color:var(--ink);transform:translateX(2px)}
@media (min-width:720px){.sx-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.sx-bento .sx-8{grid-column:span 2}}
@media (min-width:1024px){
  .sx-bento{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
  .sx-t{min-height:440px}
  .sx-bento .sx-8{grid-column:span 8}
  .sx-bento .sx-4{grid-column:span 4}
  .sx-4 .sx-sheet{width:62%}
}
@media (max-width:719px){.sx-sheet{width:50%}.sx-sheet.ph{width:26%}}
/* para quién: marquesina */
.sx-mq{display:flex;overflow:hidden;margin-inline:calc(var(--gutter)*-1);padding-block:6px 10px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.sx-mt{display:flex;gap:12px;padding-right:12px;flex:none}
.sx-mi{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 14px;border-radius:999px;background:var(--paper);white-space:nowrap;
  box-shadow:inset 0 0 0 1px var(--line),0 10px 24px -18px rgba(10,16,32,.35)}
.sx-ms{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.9375rem;color:var(--ink);margin-right:4px}
.sx-ms .i{width:18px;height:18px;color:var(--ink-3)}
.sx-mp{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;color:var(--ink-2);padding:6px 10px;border-radius:999px;
  background:color-mix(in srgb,var(--c) 10%,#fff)}
.sx-mp i{width:6px;height:6px;border-radius:50%;background:var(--c)}
@media (prefers-reduced-motion:no-preference){
  .sx-mt{animation:sxMq 70s linear infinite}
  .sx-mq:hover .sx-mt,.sx-mq.off .sx-mt{animation-play-state:paused}
}
@keyframes sxMq{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){
  .sx-mq{flex-wrap:wrap;margin-inline:0;-webkit-mask-image:none;mask-image:none}
  .sx-mt{flex-wrap:wrap;flex:1 1 100%;padding:0}
  .sx-mt[aria-hidden]{display:none}
  .sx-mi{flex-wrap:wrap;white-space:normal;border-radius:22px}
}
/* comparador */
.sx-cmph{margin-top:clamp(64px,7vw,96px)}
.sx-cmpw{position:relative;margin-top:28px;overflow-x:auto;border-radius:var(--r-tile);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line),0 24px 48px -36px rgba(20,24,35,.45)}
.sx-cmp{width:100%;min-width:820px;border-collapse:collapse;font-size:.9375rem}
.sx-cmp th,.sx-cmp td{padding:14px 10px;text-align:center;border-bottom:1px solid var(--line)}
.sx-cmp tbody tr:last-child>*{border-bottom:0}
.sx-cmp thead th{padding-top:22px;padding-bottom:18px;vertical-align:bottom}
.sx-cmp thead a{display:inline-flex;flex-direction:column;align-items:center;gap:10px;font:500 .9375rem/1.2 var(--f-d);letter-spacing:-.01em;color:var(--ink);transition:color .25s}
.sx-cmp thead a i{width:10px;height:10px;border-radius:3px;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 16%,transparent)}
.sx-cmp thead a:hover{color:var(--c)}
.sx-cmp tbody th{position:sticky;left:0;z-index:1;text-align:left;font-weight:600;color:var(--ink);white-space:nowrap;padding-left:22px;background:var(--paper)}
.sx-cmp tbody th .i{display:inline-block;vertical-align:-4px;width:18px;height:18px;margin-right:10px;color:var(--ink-3)}
.sx-cmp tbody th .wa{display:inline-block;vertical-align:-4px;width:16px;height:16px;margin-right:12px;color:var(--ink-3)}
.sx-cmp tbody tr{transition:background .25s}
.sx-cmp tbody tr:hover,.sx-cmp tbody tr:hover th{background:#F8F9FB}
.sx-y{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--c) 14%,#fff);color:color-mix(in srgb,var(--c) 78%,#141823)}
.sx-y .i{width:15px;height:15px;stroke-width:2.2}
.sx-no{display:inline-block;width:12px;height:2px;border-radius:2px;background:var(--line-2);vertical-align:middle}
.sx-cmph+.sx-cmpw:focus-visible{outline-offset:4px}

/* ================================================================ A medida · plano de obra */
.dx-hero>.wrap{position:static}
.dx-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(124,58,237,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.11) 1px,transparent 1px),
    linear-gradient(rgba(124,58,237,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.05) 1px,transparent 1px);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-position:-1px -1px;
  -webkit-mask-image:radial-gradient(75% 80% at 72% 45%,#000 30%,transparent 80%);mask-image:radial-gradient(75% 80% at 72% 45%,#000 30%,transparent 80%)}
.dx-hg{position:relative;align-items:center}
.dx-copy,.dx-plan{grid-column:1/-1;min-width:0}
.dx-copy .ix-pill{margin-bottom:20px}
.dx-hero .t-d{font-size:clamp(2.4rem,1.5rem + 2.4vw,3.6rem);max-width:13ch}
.dx-hero .t-lead{margin-top:20px}
.dx-plan{position:relative}
.dx-stage{position:relative;aspect-ratio:8/5;border-radius:22px;background:rgba(255,255,255,.5);
  box-shadow:inset 0 0 0 1px rgba(124,58,237,.2),0 1px 2px rgba(10,16,32,.06),0 40px 80px -40px rgba(76,29,149,.55)}
.dx-shot{position:absolute;inset:0;border-radius:inherit;overflow:hidden}
.dx-shot img{width:100%;height:100%;object-fit:cover}
.dx-wire{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.dx-w{opacity:0}
.dx-w :is(rect,path){stroke:#7C3AED;vector-effect:non-scaling-stroke}
.dx-w .w1{stroke-width:1.6}
.dx-w .w2{stroke-width:1.3;stroke-opacity:.8}
.dx-w .w3,.dx-w .w3 path{stroke-width:1;stroke-opacity:.5}
.dx-dim path{fill:none;stroke:rgba(109,40,217,.55);stroke-width:1;vector-effect:non-scaling-stroke}
.dx-dim text{fill:#6D28D9;font:600 11px var(--f-b);letter-spacing:.12em;text-anchor:middle}
.dx-tag{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:8px 13px 8px 10px;border-radius:999px;background:#fff;
  font-size:.8125rem;font-weight:600;line-height:1;color:var(--ink);white-space:nowrap;
  box-shadow:inset 0 0 0 1px rgba(124,58,237,.22),0 14px 30px -14px rgba(76,29,149,.55)}
.dx-tag .i{width:15px;height:15px;color:#7C3AED}
.dx-t1{left:2%;top:38%}
.dx-t2{left:30%;top:44%}
.dx-t3{right:3%;bottom:7%}
.dx-plan .t-cap{margin-top:16px}
@media (min-width:640px){.dx-t1{left:-3%}.dx-t3{right:-3%}}
@media (max-width:639px){.dx-t2{display:none}.dx-tag{font-size:.75rem;padding:7px 11px 7px 9px}}
@media (min-width:1024px){
  .dx-copy{grid-column:1/span 5}
  .dx-plan{grid-column:6/-1;margin-right:-8px}
}
@media (prefers-reduced-motion:no-preference){
  .dx-w{opacity:1;animation:dxOut .9s var(--ease) 3s forwards}
  .dx-w :is(rect,path){stroke-dasharray:1;stroke-dashoffset:1;animation:dxDraw 1.5s var(--ease-out) .25s forwards}
  .dx-w .w3 path,.dx-w path.w3{animation-delay:.7s}
  .dx-dim{opacity:0;animation:dxIn .6s var(--ease) 1.2s forwards}
  .dx-shot{animation:dxFill 1.3s var(--ease-film) 1.8s both}
  .dx-tag{animation:dxPop .6s var(--ease-out) both}
  .dx-t1{animation-delay:3.1s}.dx-t2{animation-delay:3.3s}.dx-t3{animation-delay:3.5s}
}
@keyframes dxDraw{to{stroke-dashoffset:0}}
@keyframes dxOut{to{opacity:0}}
@keyframes dxIn{to{opacity:1}}
@keyframes dxFill{from{clip-path:inset(0 100% 0 0 round 22px);filter:saturate(.2) brightness(1.15)}to{clip-path:inset(0 0 0 0 round 22px);filter:none}}
@keyframes dxPop{from{opacity:0;transform:translateY(8px) scale(.94)}}
/* bento de capacidades */
.dx-bento{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:40px}
.dx-b{display:flex;flex-direction:column;border-radius:var(--r-tile);background:rgba(255,255,255,.74);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),0 1px 2px rgba(10,16,32,.05),0 28px 56px -38px rgba(76,29,149,.5);transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out)}
.dx-b:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),0 40px 70px -36px rgba(124,58,237,.55)}
.dx-bt{padding:22px 24px 24px}
.dx-bt .t-s{margin-top:8px}
@media (min-width:900px){.dx-bento{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}.dx-7{grid-column:span 7}.dx-5{grid-column:span 5}}
.dx-cc{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.dx-cc a{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border-radius:999px;font-size:.8125rem;font-weight:600;color:var(--ink-2);
  background:#fff;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .3s,color .3s}
.dx-cc a i{width:6px;height:6px;border-radius:50%;background:var(--c)}
.dx-cc a:hover{color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,transparent),0 8px 18px -12px color-mix(in srgb,var(--c) 70%,transparent)}
.dv{position:relative;height:200px;margin:8px 8px 0;border-radius:17px;overflow:hidden;
  background:linear-gradient(rgba(124,58,237,.06) 1px,transparent 1px) 0 0/100% 22px,linear-gradient(160deg,#F8F5FF,#EEF0FF 60%,#FCEFF6)}
.dv-web{padding:18px 20px}
.dv-top{display:flex;gap:6px}.dv-top span{width:8px;height:8px;border-radius:50%;background:rgba(124,58,237,.25)}
.dv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.dv-kpis b{height:30px;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 1px rgba(124,58,237,.12)}
.dv-kpis b::before{content:"";display:block;width:46%;height:6px;margin:12px 0 0 10px;border-radius:4px;background:linear-gradient(90deg,#7C3AED,#EC4899);opacity:.6}
.dv-bars{display:flex;align-items:flex-end;gap:8px;height:96px;margin-top:16px}
.dv-bars i{flex:1;height:var(--h);border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#8B5CF6,#EC4899);opacity:.82;transform-origin:bottom}
.dv-app{display:flex;justify-content:center}
.dv-phone{position:relative;width:118px;height:236px;margin-top:22px;padding:30px 12px 0;border-radius:24px;background:#fff;
  box-shadow:0 0 0 5px #141823,0 24px 40px -18px rgba(76,29,149,.55);display:flex;flex-direction:column;gap:9px}
.dv-notch{position:absolute;top:9px;left:50%;width:34px;height:7px;margin-left:-17px;border-radius:6px;background:#141823}
.dv-r{height:20px;border-radius:7px;background:#F1ECFF}.dv-r.s{width:66%;background:#FCE7F3}
.dv-btn{height:26px;border-radius:9px;background:linear-gradient(90deg,#7C3AED,#EC4899);margin-top:4px}
.dv-chip{position:absolute;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#fff;font-size:.75rem;font-weight:600;color:var(--ink);
  box-shadow:0 12px 26px -14px rgba(76,29,149,.6),inset 0 0 0 1px rgba(124,58,237,.14)}
.dv-chip .i{width:14px;height:14px;color:#7C3AED}
.dv-chip.c1{left:10%;top:22%}.dv-chip.c2{right:9%;top:40%}.dv-chip.c3{left:14%;bottom:16%}
.dv-chip.c3 .i{color:#DB2777}
.dv-int>svg{position:absolute;inset:0;width:100%;height:100%}
.dv-int path{fill:none;stroke:#8B5CF6;stroke-opacity:.5;stroke-width:1.5;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}
.dv-n,.dv-hub{position:absolute;display:inline-flex;align-items:center;gap:7px;transform:translate(-50%,-50%);padding:8px 12px;border-radius:12px;background:#fff;
  font-size:.75rem;font-weight:600;color:var(--ink);white-space:nowrap;box-shadow:0 12px 24px -14px rgba(76,29,149,.55),inset 0 0 0 1px rgba(124,58,237,.14)}
.dv-n .i{width:15px;height:15px;color:#7C3AED}
.dv-hub{left:50%;top:51%;padding:11px 15px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#7C3AED,#DB2777);box-shadow:0 0 0 6px rgba(124,58,237,.12),0 18px 30px -14px rgba(124,58,237,.7)}
.dv-hub .i{width:16px;height:16px}
.dv-bi>svg{position:absolute;inset:22px 0 18px;width:100%;height:calc(100% - 40px)}
.dv-bi .g{fill:none;stroke:rgba(124,58,237,.1);vector-effect:non-scaling-stroke}
.dv-bi .band{fill:rgba(236,72,153,.13)}
.dv-bi .real{fill:none;stroke:#7C3AED;stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linecap:round}
.dv-bi .fc{fill:none;stroke:#DB2777;stroke-width:2;stroke-dasharray:5 6;vector-effect:non-scaling-stroke}
.dv-pt{position:absolute;left:53.5%;top:calc(22px + (100% - 40px)*.64);width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#DB2777;box-shadow:0 0 0 3px #fff,0 0 0 8px rgba(219,39,119,.18)}
.dv-al{position:absolute;left:18px;top:16px;display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:#fff;font-size:.75rem;font-weight:600;color:#9D174D;
  box-shadow:0 12px 24px -14px rgba(157,23,77,.5),inset 0 0 0 1px rgba(219,39,119,.2)}
.dv-al .i{width:14px;height:14px}
@media (prefers-reduced-motion:no-preference){
  .dx-b:hover .dv-bars i{animation:dvGrow .8s var(--ease-out) var(--d) both}
  .dx-b:hover .dv-chip{animation:dvFloat 2.4s var(--ease) infinite alternate}
  .dx-b:hover .dv-chip.c2{animation-delay:.4s}.dx-b:hover .dv-chip.c3{animation-delay:.8s}
  .dx-b:hover .dv-int path{animation:sxFlow 1s linear infinite}
  .dx-b:hover .dv-bi .fc{animation:sxFlow 1.2s linear infinite}
}
@keyframes dvGrow{from{transform:scaleY(.15)}}
@keyframes dvFloat{to{transform:translateY(-6px)}}
/* riel de casos */
.dx-rail{position:relative}
.dx-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(84%,340px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;
  padding:6px 4px 26px;margin-inline:-4px;scrollbar-width:thin;scrollbar-color:rgba(20,24,35,.2) transparent;border-radius:24px}
.dx-track li{scroll-snap-align:start;min-width:0}
.dx-rc{position:relative;display:flex;flex-direction:column;height:100%;border-radius:22px;background:var(--paper);overflow:hidden;
  box-shadow:inset 0 0 0 1px var(--line),0 1px 2px rgba(10,16,32,.04);transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.dx-rs{display:block;aspect-ratio:16/10;overflow:hidden;background:color-mix(in srgb,var(--fc) 12%,#F2F3F6)}
.dx-rs img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
.dx-rb{display:grid;gap:8px;padding:18px 60px 22px 20px}
.dx-rn{font:400 1.1875rem/1.2 var(--f-d);letter-spacing:-.015em;color:var(--ink)}
.dx-rl{font-size:.9rem;line-height:1.45;color:var(--ink-2)}
.dx-ra{position:absolute;right:16px;bottom:20px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2);
  transition:background .3s,color .3s,transform .35s var(--ease-out)}
.dx-ra .i{width:16px;height:16px}
.dx-rc:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fc) 30%,transparent),0 30px 50px -30px color-mix(in srgb,var(--fc) 65%,transparent)}
.dx-rc:hover .dx-rs img{transform:scale(1.04)}
.dx-rc:hover .dx-ra{background:var(--ink);color:#fff;box-shadow:none;transform:translateX(2px)}
.dx-nav{display:none}
@media (min-width:900px){
  .dx-track{grid-auto-columns:360px}
  .dx-nav{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
  .dx-nav button{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.75);color:var(--ink);
    box-shadow:inset 0 0 0 1px var(--line-2);transition:background .3s,color .3s,opacity .3s}
  .dx-nav button:hover{background:var(--ink);color:#fff}
  .dx-nav button:disabled{opacity:.35;pointer-events:none}
  .dx-nav .dx-prev .i{transform:rotate(180deg)}
}
@media (prefers-reduced-motion:reduce){.dx-b,.dx-rc,.dx-rc *{transition:none!important}}

/* ================================================================ Automatización · turno de noche */
.ax-hero>.wrap{position:static}
.ax-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}
.ax-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;filter:grayscale(1) contrast(1.05);opacity:.3}
.ax-bg::after{content:"";position:absolute;inset:0;
  background:radial-gradient(50% 60% at 82% 38%,rgba(6,182,212,.22),transparent 70%),radial-gradient(50% 70% at 10% 100%,rgba(79,70,229,.4),transparent 70%),
    linear-gradient(90deg,#0A1020 18%,rgba(10,16,32,.72) 55%,rgba(10,16,32,.5))}
.ax-hg{position:relative;align-items:center}
.ax-copy,.ax-log{grid-column:1/-1;min-width:0}
.ax-k{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;padding:7px 13px 7px 11px;border-radius:999px;font-size:.84375rem;font-weight:600;color:#CFFAFE;
  background:rgba(6,182,212,.1);box-shadow:inset 0 0 0 1px rgba(103,232,249,.25)}
.ax-k .i{width:16px;height:16px}
.ax-hero .t-d{color:#fff;font-size:clamp(2.4rem,1.5rem + 2.4vw,3.6rem);max-width:13ch}
.ax-hero .t-lead{margin-top:20px;color:rgba(238,241,247,.8)}
.ax-log{position:relative;border-radius:26px;padding:8px;background:rgba(13,18,40,.66);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 1px 0 rgba(255,255,255,.12),0 50px 90px -40px rgba(0,0,0,.85),0 40px 120px -50px rgba(79,70,229,.7)}
.ax-log::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(140deg,rgba(103,232,249,.55),rgba(255,255,255,.06) 40%,rgba(255,255,255,.04) 60%,rgba(129,140,248,.6));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.ax-lh{display:flex;align-items:center;gap:12px;padding:12px 12px 14px 14px;font-size:.875rem}
.ax-lh b{flex:1;font-weight:600;color:#fff}
.ax-live{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:#86EFAC}
.ax-live i{width:8px;height:8px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.25)}
.ax-dm{font-size:.75rem;color:rgba(238,241,247,.7);padding:4px 10px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.ax-list{display:grid;gap:6px}
.ax-e{display:grid;grid-template-columns:auto 36px minmax(0,1fr);grid-template-areas:"t ic tx" ". . ok";gap:6px 12px;align-items:center;max-height:140px;
  padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden;
  transition:max-height .55s var(--ease),padding .55s var(--ease),opacity .4s,margin .55s var(--ease)}
.ax-e time{grid-area:t;font:500 .8125rem var(--f-d);color:rgba(238,241,247,.7);font-variant-numeric:tabular-nums}
.ax-ic{grid-area:ic;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#CFFAFE;
  background:linear-gradient(135deg,rgba(79,70,229,.45),rgba(6,182,212,.28));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.ax-ic .i{width:17px;height:17px}
.ax-tx{grid-area:tx;min-width:0}
.ax-tx b{display:block;font-weight:600;font-size:.9375rem;color:#fff}
.ax-tx span{display:block;font-size:.84375rem;line-height:1.4;color:rgba(238,241,247,.72)}
.ax-ok{grid-area:ok;justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 8px;border-radius:999px;font-size:.75rem;font-weight:600;
  color:#FDBA74;background:rgba(217,91,18,.14);box-shadow:inset 0 0 0 1px rgba(243,154,91,.32);transition:color .4s,background .4s,box-shadow .4s}
.ax-ok .i{width:14px;height:14px}
.ax-e.wait .ax-ok{color:#FDE68A;background:rgba(245,158,11,.1);box-shadow:inset 0 0 0 1px rgba(253,230,138,.22)}
.ax-e.out{max-height:0;padding-block:0;opacity:0;margin-top:-6px}
.ax-e.new{animation:axIn .6s var(--ease-out)}
@keyframes axIn{from{opacity:0;transform:translateY(14px)}}
.ax-log figcaption{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;font-size:.8125rem;line-height:1.4;color:rgba(238,241,247,.78)}
.ax-log figcaption .i{width:17px;height:17px;color:#F39A5B}
@media (prefers-reduced-motion:no-preference){.ax-live i{animation:axPing 2s var(--ease) infinite}}
@keyframes axPing{50%{box-shadow:0 0 0 7px rgba(34,197,94,0)}}
@media (min-width:1024px){
  .ax-copy{grid-column:1/span 6}
  .ax-log{grid-column:8/-1}
}
@media (min-width:1200px){
  .ax-log{grid-column:7/-1}
  .ax-e{grid-template-columns:auto 36px minmax(0,1fr) auto;grid-template-areas:"t ic tx ok"}
}
/* carriles */
.ax-lanes{display:grid;gap:16px;margin-top:40px}
@media (min-width:900px){.ax-lanes{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.ax-lane{display:flex;flex-direction:column;border-radius:var(--r-tile);background:rgba(255,255,255,.76);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),0 1px 2px rgba(10,16,32,.05),0 28px 56px -38px color-mix(in srgb,var(--lc) 60%,transparent);
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out)}
.ax-lane:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),0 40px 70px -36px color-mix(in srgb,var(--lc) 70%,transparent)}
.ax-lb{padding:22px 24px 24px}
.ax-li{display:grid;place-items:center;width:42px;height:42px;margin-bottom:16px;border-radius:13px;color:var(--lc);background:color-mix(in srgb,var(--lc) 13%,#fff);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lc) 22%,transparent)}
.ax-lb .t-s{margin-top:8px}
.av{position:relative;height:196px;margin:8px 8px 0;border-radius:17px;overflow:hidden;
  background:radial-gradient(120% 100% at 0% 0%,color-mix(in srgb,var(--lc) 16%,#fff),#F1F3FA 70%)}
.av-chat .b{position:absolute;max-width:76%;padding:10px 14px;font-size:.8125rem;line-height:1.35;border-radius:16px}
.av-chat .in{left:16px;top:18px;background:#fff;color:var(--ink);border-radius:16px 16px 16px 4px;box-shadow:0 8px 20px -14px rgba(10,16,32,.4)}
.av-chat .me{right:16px;top:84px;color:#fff;background:var(--lc);border-radius:16px 16px 4px 16px;box-shadow:0 12px 24px -14px var(--lc)}
.av-chat .dots{display:none;gap:4px;padding:3px 2px}
.av-chat .dots i{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.8}
.av-chat .ok{left:16px;bottom:16px;display:inline-flex;align-items:center;gap:7px;padding:6px 11px;font-size:.75rem;font-weight:600;color:#9A3412;background:#fff;
  border-radius:999px;box-shadow:inset 0 0 0 1px rgba(217,91,18,.25)}
.av-chat .ok::before{content:"";width:7px;height:7px;border-radius:50%;background:#D95B12}
.av-form{padding:26px 20px;display:grid;gap:16px;align-content:start}
.av-form .f{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center}
.av-form .f span{height:7px;border-radius:4px;background:rgba(20,24,35,.14)}
.av-form .f i{height:30px;border-radius:9px;background:#fff linear-gradient(color-mix(in srgb,var(--lc) 26%,transparent),color-mix(in srgb,var(--lc) 26%,transparent)) no-repeat 0 0/var(--w) 100%;
  box-shadow:inset 0 0 0 1px rgba(20,24,35,.08)}
.av-form .cur{position:absolute;left:72%;top:118px;width:22px;height:22px;fill:var(--ink);stroke:#fff;stroke-width:1.5;filter:drop-shadow(0 4px 6px rgba(10,16,32,.35))}
.av-vis .cam{position:absolute;inset:12px;border-radius:12px;overflow:hidden;
  background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/100% 18px,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/18px 100%,
    linear-gradient(160deg,#1A2236,#0C1120)}
.av-vis .zone{position:absolute;right:8%;top:18%;width:44%;height:70%;border-radius:8px;border:1.5px dashed rgba(251,113,133,.6);background:rgba(244,63,94,.07)}
.av-vis .who{position:absolute;right:24%;bottom:12%;width:30px;height:62px;border-radius:14px 14px 4px 4px;background:rgba(203,213,225,.38)}
.av-vis .who i{position:absolute;left:50%;top:-22px;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:rgba(203,213,225,.38)}
.av-vis .box{position:absolute;right:calc(24% - 12px);bottom:calc(12% - 8px);width:54px;height:104px;border-radius:6px;
  box-shadow:0 0 0 2px var(--lc),0 0 22px color-mix(in srgb,var(--lc) 60%,transparent)}
.av-vis .box em{position:absolute;right:-2px;top:-28px;white-space:nowrap;font-style:normal;font-size:.6875rem;font-weight:600;color:#fff;padding:4px 8px;border-radius:6px;background:var(--lc)}
.av-vis .rec{position:absolute;left:24px;top:22px;display:inline-flex;align-items:center;gap:6px;font-size:.6875rem;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.85)}
.av-vis .rec i{width:7px;height:7px;border-radius:50%;background:#F43F5E}
@media (prefers-reduced-motion:no-preference){
  .av-chat .me .dots,.av-chat .me .txt,.av-chat .ok,.av-form .f i,.av-form .cur,.av-vis .box,.av-vis .who,.av-vis .rec i{animation-play-state:paused}
  .av-chat .me .dots{display:inline-flex;animation:avDots 5s steps(1) infinite -3.9s}
  .av-chat .me .txt{animation:avTxt 5s steps(1) infinite -3.9s}
  .av-chat .ok{animation:avOk 5s var(--ease) infinite -3.9s}
  .av-form .f i{animation:avFill 4.5s var(--ease) infinite;animation-delay:calc(var(--d,0s) - 3.4s)}
  .av-form .cur{animation:avCur 4.5s var(--ease) infinite -3.4s}
  .av-vis .box{animation:avBox 4s var(--ease) infinite -2.6s}
  .av-vis .who{animation:avWho 4s var(--ease) infinite -2.6s}
  .av-vis .rec i{animation:axPing 1.6s steps(2) infinite}
  .ax-lane:is(:hover,:focus-within) :is(.dots,.txt,.ok,.f i,.cur,.box,.who,.rec i){animation-play-state:running}
}
@media (prefers-reduced-motion:no-preference) and (hover:none){
  .ax-lane.in :is(.dots,.txt,.ok,.f i,.cur,.box,.who,.rec i){animation-play-state:running}
}
@keyframes avDots{0%{display:inline-flex}40%{display:none}100%{display:none}}
@keyframes avTxt{0%{display:none}40%{display:inline}100%{display:inline}}
@keyframes avOk{0%,50%{opacity:0;transform:translateY(6px)}62%,100%{opacity:1;transform:none}}
@keyframes avFill{0%{background-size:0 100%}30%,100%{background-size:var(--w) 100%}}
@keyframes avCur{0%{left:30%;top:36px}33%{left:62%;top:40px}66%{left:52%;top:86px}100%{left:72%;top:132px}}
@keyframes avBox{0%,30%{opacity:0;transform:scale(1.3)}45%,100%{opacity:1;transform:none}}
@keyframes avWho{0%{transform:translateX(-70px)}40%,100%{transform:none}}
/* tú decides */
.ax-flow{display:grid;gap:14px;margin-top:40px}
.ax-st{position:relative;padding:26px 26px 28px;border-radius:var(--r-tile);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line),0 24px 48px -36px rgba(20,24,35,.45)}
.ax-sn{display:grid;place-items:center;width:50px;height:50px;margin-bottom:18px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#4F46E5,#06B6D4);
  box-shadow:0 0 0 6px rgba(79,70,229,.1),0 14px 28px -12px rgba(79,70,229,.7)}
.ax-st .t-s{margin-top:6px}
.ax-st.me{box-shadow:inset 0 0 0 1.5px rgba(217,91,18,.5),0 30px 60px -34px rgba(217,91,18,.6);background:linear-gradient(160deg,#fff,#FFF6EF)}
.ax-st.me .ax-sn{background:linear-gradient(135deg,#D95B12,#F39A5B);box-shadow:0 0 0 6px rgba(217,91,18,.12),0 14px 28px -12px rgba(217,91,18,.7)}
.ax-st:not(:last-child)::after{content:"";position:absolute;left:50px;bottom:-15px;width:2px;height:16px;background:linear-gradient(#06B6D4,#4F46E5)}
@media (min-width:900px){
  .ax-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .ax-st:not(:last-child)::after{left:auto;right:-29px;bottom:auto;top:50px;width:30px;height:2px;background:linear-gradient(90deg,#4F46E5,#06B6D4)}
}
.ax-prin{display:grid;gap:12px;margin-top:28px}
.ax-prin li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1px var(--line);
  font-size:.90625rem;line-height:1.45;color:var(--ink-2)}
.ax-prin li>.i{margin-top:2px;color:#4F46E5}
.ax-prin b{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}
@media (min-width:720px){.ax-prin{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.ax-prin{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ax-grid .pw-scr>img{object-position:center}
@media (prefers-reduced-motion:reduce){.ax-lane,.ax-e{transition:none!important}}
@media (max-width:640px){
  .sx-n text{font-size:25px}
  .sx-ct{font-size:26px}.sx-cs{font-size:16px}
  .ax-dm{display:none}
  .ax-e{grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"ic tx t" ". ok ok";align-items:start;padding:12px}
  .ax-e time{font-size:.75rem}
}

/* ================================================================ 22. v5 · Caso «Expediente» (cx-): etiqueta de expediente, pantalla que se endereza,
   reto → solución con flecha que se dibuja, módulos y «Sigue explorando» en tarjetas. Tono del caso: --t1/--t2 (fill), --tk (tinta), --fc (familia). */
.cx-top{display:grid;gap:56px;align-items:end}
@media (min-width:1024px){.cx-top{grid-template-columns:minmax(0,1fr) 380px;gap:72px;align-items:center}}
.cx-copy .t-d{max-width:15ch}
.cx-copy .acts{margin-top:30px}
.cx-down .i{transform:rotate(90deg);transition:transform .3s var(--ease-out)}
.cx-down:hover .i{transform:rotate(90deg) translateX(3px)}

/* etiqueta de expediente */
.cx-tag{position:relative;justify-self:stretch;max-width:420px;padding:24px 24px 8px;border-radius:24px;background:var(--paper);
  box-shadow:inset 0 0 0 1px var(--line),0 2px 4px rgba(10,16,32,.04),0 40px 70px -36px color-mix(in srgb,var(--t1) 60%,transparent);
  transform:rotate(1.2deg);transition:transform .7s var(--ease-out),box-shadow .5s}
.cx-tag::before{content:"";position:absolute;top:0;left:28px;right:28px;height:4px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--t1),var(--t2))}
.cx-tag:hover{transform:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t1) 24%,transparent),0 2px 4px rgba(10,16,32,.04),0 50px 80px -36px color-mix(in srgb,var(--t1) 70%,transparent)}
.cx-tag-hd{position:relative;padding:4px 0 20px 30px;border-bottom:1.5px dashed var(--line-2)}
.cx-hole{position:absolute;left:0;top:7px;width:14px;height:14px;border-radius:50%;background:color-mix(in oklab,var(--m1) 60%,var(--wall));
  box-shadow:inset 0 1.5px 3px rgba(10,16,32,.22),0 0 0 3px color-mix(in srgb,var(--t1) 10%,transparent)}
.cx-tag-k{font-size:.6875rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--tk)}
.cx-tag-n{margin-top:8px;font:500 1.375rem/1.2 var(--f-d);letter-spacing:-.02em;color:var(--ink);padding-right:64px}
.cx-tag-l{margin-top:4px;font-size:.9375rem;line-height:1.45;color:var(--ink-3);padding-right:56px}
.cx-dl>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid var(--line)}
.cx-dl>div:last-child{border-bottom:0}
.cx-dl dt{padding-top:5px;font-size:.8125rem;color:var(--ink-3)}
.cx-dl dd{margin:0;min-width:0}
.cx-ch{display:flex;flex-wrap:wrap;gap:6px}
.cx-ch li,.cx-fam,.cx-live{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:0 11px;border-radius:999px;font-size:.8125rem;font-weight:500;color:var(--ink-2);
  background:color-mix(in srgb,var(--t1) 7%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t1) 15%,transparent)}
.cx-ch .i{width:14px;height:14px;color:var(--tk)}
.cx-fam i{width:8px;height:8px;border-radius:3px;background:var(--fc);box-shadow:0 0 0 3px color-mix(in srgb,var(--fc) 18%,transparent)}
.cx-live{background:#EFFAF4;box-shadow:inset 0 0 0 1px rgba(34,160,107,.2);color:#145C3D}
.cx-live i{position:relative;width:8px;height:8px;border-radius:50%;background:#22A06B}
@media (prefers-reduced-motion:no-preference){
  .cx-live i::after{content:"";position:absolute;inset:0;border-radius:50%;background:#22A06B;animation:cxPing 2.4s var(--ease-out) infinite}
  .cx-seal-t{animation:cxSpin 36s linear infinite}
}
@keyframes cxPing{0%{transform:scale(1);opacity:.55}80%,100%{transform:scale(3);opacity:0}}
@keyframes cxSpin{to{transform:rotate(360deg)}}
/* sello: texto en anillo que gira lento, ícono del caso al centro */
.cx-seal-w{position:absolute;z-index:2;right:-26px;top:-34px;width:96px;height:96px;filter:drop-shadow(0 14px 22px color-mix(in srgb,var(--t1) 38%,transparent))}
.cx-seal{width:100%;height:100%;overflow:visible}
.cx-seal-o{fill:var(--paper);stroke:color-mix(in srgb,var(--t1) 26%,transparent);stroke-width:1}
.cx-seal-i{fill:var(--t1)}
.cx-seal-t{transform-box:view-box;transform-origin:50px 50px}
.cx-seal text{font:600 8.4px var(--f-b);letter-spacing:.06em;fill:var(--tk)}
.cx-seal-ic{position:absolute;inset:0;display:grid;place-items:center;color:#fff}
.cx-seal-ic .i{width:22px;height:22px;stroke-width:1.8}
@media (max-width:1023px){.cx-tag{transform:none;max-width:520px}.cx-seal-w{right:14px;top:-30px;width:80px;height:80px}.cx-seal-ic .i{width:18px;height:18px}}

/* pantalla sobre el panel oscuro del tono */
.ch.cx-hero{padding-bottom:clamp(48px,5vw,72px)}
.ch.cx-show{padding-block:clamp(40px,5vw,72px) clamp(40px,5vw,64px)}
.ch.cx-show::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(70% 62% at 50% 42%,#000,transparent 100%);mask-image:radial-gradient(70% 62% at 50% 42%,#000,transparent 100%)}
.cx-stage{position:relative;max-width:1040px;margin-inline:auto;perspective:2200px}
.cx-tilt{position:relative;z-index:1;transform-origin:50% 100%;transition:transform 1.7s var(--ease-out),opacity 1.2s var(--ease-out)}
.cx-frame{padding:0 8px 8px;border-radius:20px}
.cx-frame::before{content:"";position:absolute;inset:-1px;border-radius:21px;padding:1px;pointer-events:none;
  background:linear-gradient(160deg,color-mix(in srgb,var(--t2) 70%,#fff),transparent 32%,transparent 68%,color-mix(in srgb,var(--t1) 70%,transparent));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.cx-bar{display:flex;align-items:center;gap:6px;height:34px;padding:0 8px}
.cx-bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.2)}
.cx-bar span{margin-left:10px;font-size:.75rem;letter-spacing:.02em;color:var(--on-dark-2)}
.cx-floor{position:absolute;z-index:0;left:6%;right:6%;bottom:-48px;height:110px;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--t2) 55%,transparent),transparent);filter:blur(14px);opacity:.75}
.cx-calls{position:relative;z-index:2;display:grid;gap:10px;margin-top:28px}
.cx-call{display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:16px;font-size:.8125rem;line-height:1.4;color:var(--on-dark-2);
  background:rgba(16,22,42,.74);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 1px 0 rgba(255,255,255,.1),0 24px 44px -22px rgba(0,0,0,.8);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.cx-call b{display:block;font:500 .9375rem/1.3 var(--f-d);letter-spacing:-.01em;color:#fff}
.cx-call-ic{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#fff;
  background:linear-gradient(135deg,var(--t1),color-mix(in srgb,var(--t2) 80%,var(--t1)));box-shadow:0 8px 18px -8px var(--t1)}
.cx-call-ic .i{width:18px;height:18px}
@media (min-width:640px) and (max-width:1139px){.cx-calls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1140px){
  .cx-calls{position:absolute;inset:0;margin:0;display:block;pointer-events:none}
  .cx-call{position:absolute;max-width:260px;pointer-events:auto}
  .cx-call.c0{left:-64px;top:20%}
  .cx-call.c1{right:-72px;top:9%}
  .cx-call.c2{left:-48px;bottom:12%}
}
.cx-cap{margin-top:clamp(36px,4vw,56px);text-align:center;font-size:.8125rem;color:var(--on-dark-2)}
.cx-cap b{margin-right:8px;font-weight:600;color:#fff}
@media (prefers-reduced-motion:no-preference){
  .cx-stage.arm:not(.in) .cx-tilt{transform:rotateX(24deg) scale(.9) translateY(48px);opacity:.55}
  .cx-stage.arm:not(.in) .cx-call{opacity:0;transform:translateY(14px)}
  .cx-stage.in .cx-call.c0{transition-delay:.9s}.cx-stage.in .cx-call.c1{transition-delay:1.1s}.cx-stage.in .cx-call.c2{transition-delay:1.3s}
}

/* reto → solución */
.ch.cx-story{padding-top:clamp(80px,9vw,128px)}
.cx-sh{margin-bottom:clamp(32px,4vw,52px)}
.cx-rs{display:grid;gap:4px;align-items:stretch}
@media (min-width:900px){.cx-rs{grid-template-columns:minmax(0,1fr) 136px minmax(0,1fr);gap:0}}
.cx-card{position:relative;border-radius:24px;padding:clamp(24px,3vw,40px);transition:transform .5s var(--ease-out),box-shadow .5s}
.cx-card p:not(.cx-lb){font-size:1.0625rem;line-height:1.62;color:var(--ink-2);max-width:52ch}
.cx-reto{background:#ECEAE6;box-shadow:inset 0 0 0 1px rgba(20,24,35,.06)}
.cx-sol{background:linear-gradient(155deg,color-mix(in srgb,var(--t1) 13%,#fff),#fff 72%);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t1) 24%,transparent),0 36px 64px -38px color-mix(in srgb,var(--t1) 70%,transparent)}
.cx-sol p:not(.cx-lb){color:var(--ink)}
.cx-sol:hover{transform:translateY(-3px)}
.cx-lb{display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.cx-lb .i{width:18px;height:18px}
.cx-sol .cx-lb{color:var(--tk)}
.cx-when{position:absolute;top:clamp(20px,2.6vw,32px);right:clamp(20px,2.6vw,32px);padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;
  color:var(--ink-3);background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1px rgba(20,24,35,.08)}
.cx-sol .cx-when{color:#fff;background:var(--tk);box-shadow:0 8px 16px -8px var(--t1)}
.cx-reto{background-image:repeating-linear-gradient(135deg,rgba(20,24,35,.022) 0 1px,transparent 1px 9px)}
.cx-arr{justify-self:center;align-self:center;width:72px;height:auto;overflow:visible;transform:rotate(90deg)}
@media (min-width:900px){.cx-arr{width:136px;transform:none}}
.cx-arr path{fill:none;stroke:url(#cx-ag);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.cx-arr .cx-arr-h{stroke:var(--t1)}
.cx-arr-p{transition:stroke-dashoffset 1.2s .35s var(--ease-film)}
.cx-arr-h{transition:stroke-dashoffset .45s 1.45s var(--ease-out)}
/* resultado: cita con subrayado de marcador que se pinta */
.cx-q{display:grid;justify-items:center;gap:20px;margin-top:clamp(56px,7vw,96px);text-align:center}
.cx-q blockquote::before{content:"\201C";display:block;height:.5em;margin-bottom:10px;font:500 5rem/1 var(--f-d);
  background:linear-gradient(135deg,var(--t1),var(--t2));-webkit-background-clip:text;background-clip:text;color:transparent}
.cx-q p{max-width:20ch;margin-inline:auto;font:400 clamp(1.875rem,1.05rem + 2.9vw,3.25rem)/1.16 var(--f-d);letter-spacing:-.034em;color:var(--ink);text-wrap:balance}
.cx-q mark{color:inherit;padding:0 .06em;-webkit-box-decoration-break:clone;box-decoration-break:clone;
  background:linear-gradient(transparent 60%,color-mix(in srgb,var(--t1) 28%,transparent) 60% 92%,transparent 92%) no-repeat 0 0/100% 100%;
  transition:background-size 1.3s .25s var(--ease-out)}
.cx-q figcaption{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--ink-3)}
.cx-q figcaption .i{width:18px;height:18px;color:var(--tk)}
@media (prefers-reduced-motion:no-preference){
  .cx-rs.arm:not(.in) .cx-arr path{stroke-dashoffset:1}
  .cx-rs.arm:not(.in) .cx-sol{opacity:.4;transform:translateX(12px)}
  .cx-rs .cx-sol{transition:transform .9s .55s var(--ease-out),opacity .9s .55s var(--ease-out),box-shadow .5s}
  .cx-q.arm:not(.in) mark{background-size:0% 100%}
}

/* así se ve: pantalla + módulos, y el día a día */
.cx-gh{max-width:640px}
.cx-gal{display:grid;gap:24px;margin-top:clamp(32px,4vw,48px);align-items:start}
@media (min-width:1024px){.cx-gal{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:32px}}
.cx-big .fit .scr{aspect-ratio:16/10;background:radial-gradient(80% 90% at 25% 15%,color-mix(in srgb,var(--t1) 16%,#fff),transparent 70%),var(--wall)}
.cx-big .fit .scr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.cx-mods{display:grid;gap:10px}
.cx-mod{display:flex;gap:14px;padding:18px 18px 18px 16px;border-radius:20px;background:rgba(255,255,255,.76);
  box-shadow:inset 0 0 0 1px var(--line);transition:transform .45s var(--ease-out),box-shadow .45s}
.cx-mod:hover{transform:translateX(4px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t1) 28%,transparent),0 24px 40px -30px color-mix(in srgb,var(--t1) 70%,transparent)}
.cx-mod-ic{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:var(--tk);
  background:color-mix(in srgb,var(--t1) 11%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t1) 20%,transparent)}
.cx-mod h3{font:500 1.0625rem/1.3 var(--f-d);letter-spacing:-.012em;color:var(--ink)}
.cx-mod p{margin-top:5px;font-size:.875rem;line-height:1.5;color:var(--ink-3)}
.cx-day{display:grid;gap:28px;align-items:center;margin-top:clamp(56px,6vw,88px)}
@media (min-width:900px){.cx-day{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px}}
.cx-day-pic .scr{aspect-ratio:4/3}
.cx-day-pic .scr>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx-day-p{max-width:28ch;font:400 clamp(1.3125rem,1.05rem + .95vw,1.875rem)/1.38 var(--f-d);letter-spacing:-.022em;color:var(--ink);text-wrap:pretty}
.cx-day-t .cx-lb{color:var(--tk)}

/* sigue explorando: tarjetas del portafolio */
.ch.cx-galch{padding-bottom:clamp(40px,4vw,64px)}
.ch.cx-morech{padding-top:clamp(32px,4vw,56px)}
.cx-mh{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px}
.cx-more{display:grid;gap:18px;margin-top:clamp(28px,3vw,40px)}
@media (max-width:719px){
  .cx-more{grid-auto-flow:column;grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
    margin-inline:calc(var(--gutter)*-1);padding:6px var(--gutter) 18px;scroll-padding-inline:var(--gutter)}
  .cx-more::-webkit-scrollbar{display:none}
  .cx-more>*{scroll-snap-align:start}
}
@media (min-width:720px){.cx-more{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}}
@media (prefers-reduced-motion:reduce){.cx-tag,.cx-tilt,.cx-call,.cx-card,.cx-mod,.cx-arr path,.cx-q mark{transition:none!important}}

/* ================================================================ 22. v5 · Proceso «La ruta» (pr) */
.pr-hero,.pr-g,.pr-gets{--a1:#D95B12;--a2:#C026D3}
.pr-head{display:grid;gap:20px;justify-items:start}
.pr-head .t-d{font-size:clamp(2.6rem,1.5rem + 3.6vw,4.6rem);max-width:13ch}
.pr-head .t-lead{max-width:46ch}
.pr-route{margin-top:clamp(40px,6vw,88px)}
.pr-svg{width:100%;height:auto;overflow:visible}
.pr-trk{fill:none;stroke:rgba(20,24,35,.18);stroke-width:2;stroke-dasharray:2 9;stroke-linecap:round}
.pr-lit{fill:none;stroke:url(#pr-g);stroke-width:4;stroke-linecap:round}
.pr-c{fill:#fff;stroke:color-mix(in oklab,var(--a1),var(--a2) calc(var(--d) * 33%));stroke-width:3.5}
.pr-halo{fill:color-mix(in oklab,var(--a1),var(--a2) calc(var(--d) * 33%));opacity:.14}
.pr-stops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.pr-stops a{display:grid;gap:4px;height:100%;padding:16px;border-radius:20px;background:rgba(255,255,255,.62);box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 1px 2px rgba(10,16,32,.04);
  transition:background .3s,transform .4s var(--ease-out),box-shadow .4s}
.pr-stops a:hover{background:#fff;transform:translateY(-3px);box-shadow:0 24px 40px -26px color-mix(in srgb,var(--a1) 70%,transparent)}
.pr-n{font:500 .8125rem var(--f-d);font-variant-numeric:tabular-nums;color:color-mix(in oklab,#A8430A,#86198F calc(var(--d) * 33%))}
.pr-stops b{font-family:var(--f-d);font-weight:500;font-size:1.0625rem;line-height:1.25;letter-spacing:-.01em;color:var(--ink)}
.pr-x{font-size:.875rem;line-height:1.45;color:var(--ink-2)}
@media (min-width:900px){
  .pr-stops{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:8px}
  .pr-stops a{text-align:center;justify-items:center;padding:18px 18px 20px;background:transparent;box-shadow:none}
  .pr-stops a:hover{background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 24px 40px -26px color-mix(in srgb,var(--a1) 70%,transparent)}
  .pr-x{max-width:22ch}
}
@media (prefers-reduced-motion:no-preference){
  .pr-lit{stroke-dasharray:1;stroke-dashoffset:1;animation:prDraw 2.6s var(--ease-film) .35s forwards}
  .pr-dot{transform-box:fill-box;transform-origin:center;animation:prPop .7s var(--ease-out) both;animation-delay:calc(.55s + var(--d) * .62s)}
  .pr-stops li{animation:prUp .8s var(--ease-out) both;animation-delay:calc(.7s + var(--d) * .62s)}
}
@keyframes prDraw{to{stroke-dashoffset:0}}
@keyframes prPop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}
@keyframes prUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* etapas con riel que se llena */
.pr-g{display:grid;gap:36px}
@media (min-width:900px){.pr-g{grid-template-columns:230px minmax(0,1fr);gap:clamp(40px,5vw,80px)}.pr-rail{position:sticky;top:150px;align-self:start}}
.pr-rail .t-s{margin-top:12px}
.pr-rail ol{position:relative;margin-top:28px;padding-left:26px;display:grid;gap:2px}
.pr-rail ol::before,.pr-rail ol::after{content:"";position:absolute;left:5px;top:16px;bottom:16px;width:2px;border-radius:2px;background:rgba(20,24,35,.1)}
.pr-rail ol::after{bottom:auto;height:calc(var(--p,0) * (100% - 32px));background:linear-gradient(var(--a1),var(--a2))}
.pr-rail a{position:relative;display:flex;align-items:center;min-height:40px;font-size:.96875rem;color:var(--ink-3);transition:color .3s}
.pr-rail a:hover{color:var(--ink)}
.pr-rail i{position:absolute;left:-26px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--wall);box-shadow:inset 0 0 0 2px rgba(20,24,35,.22);z-index:1;transition:background .3s,box-shadow .3s}
.pr-rail li.done i{background:var(--a1);box-shadow:none}
.pr-rail li.on a{color:var(--ink);font-weight:600}
.pr-rail li.on i{background:#fff;box-shadow:inset 0 0 0 3px var(--a1),0 0 0 5px color-mix(in srgb,var(--a1) 18%,transparent)}
@media (max-width:899px){.pr-rail ol{display:none}}
.pr-list{display:grid;gap:24px}
.pr-st{display:grid;gap:24px;padding:12px 12px 26px;border-radius:var(--r-panel);background:var(--paper);scroll-margin-top:130px;
  box-shadow:0 1px 2px rgba(10,16,32,.05),0 30px 60px -40px rgba(20,24,35,.35)}
.pr-cp{padding:0 12px}
.pr-k{display:block;font-family:var(--f-d);font-size:clamp(3.2rem,2rem + 3.4vw,5.25rem);line-height:.88;letter-spacing:-.06em;font-variant-numeric:tabular-nums;
  background:linear-gradient(135deg,var(--a1),var(--a2));-webkit-background-clip:text;background-clip:text;color:transparent;width:max-content}
.pr-st .t-name{margin-top:16px;font-weight:400;font-size:clamp(1.5rem,1.2rem + .9vw,1.875rem);letter-spacing:-.025em}
.pr-st .t-s{margin-top:10px;max-width:40ch;color:var(--ink-2);font-size:1rem}
.pr-out{display:flex;gap:12px;align-items:flex-start;margin-top:24px;padding:14px 16px;border-radius:16px;font-size:.9375rem;line-height:1.45;color:var(--ink-2);
  background:linear-gradient(135deg,color-mix(in srgb,var(--a1) 8%,#fff),color-mix(in srgb,var(--a2) 8%,#fff));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a1) 14%,transparent)}
.pr-out .i{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;color:#fff;stroke-width:3;background:linear-gradient(135deg,var(--a1),var(--a2))}
.pr-out b{display:block;font-weight:600;color:var(--ink)}
.pr-ph{border-radius:20px;overflow:hidden;aspect-ratio:4/3;background:color-mix(in srgb,var(--a1) 10%,#F2F3F6)}
.pr-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.pr-st:hover .pr-ph img{transform:scale(1.035)}
@media (min-width:900px){
  .pr-st{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:32px;padding:16px 16px 16px 40px}
  .pr-st:nth-child(even){padding:16px 40px 16px 16px}
  .pr-st:nth-child(even) .pr-ph{order:-1}
  .pr-cp{padding:0}
}

/* qué recibes: tres entregas con su mini ilustración */
.pr-gets{display:grid;gap:16px;margin-top:48px}
@media (min-width:900px){.pr-gets{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.pr-get{padding:12px 12px 26px;border-radius:var(--r-tile);background:rgba(255,255,255,.74);box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),0 30px 60px -44px rgba(60,40,120,.45)}
.pr-get .t-h3{margin:22px 12px 0}
.pr-get .t-s{margin:6px 12px 0;color:var(--ink-2)}
.pr-art{position:relative;height:176px;border-radius:16px;overflow:hidden;display:grid;place-items:center}
.pr-win{position:relative;width:72%;border-radius:12px;background:#fff;box-shadow:0 18px 36px -22px rgba(20,24,35,.45),inset 0 0 0 1px rgba(20,24,35,.06);padding:10px}
.pr-wb{display:flex;gap:5px;margin-bottom:10px}.pr-wb i{width:7px;height:7px;border-radius:50%;background:rgba(20,24,35,.14)}
.pr-a-proto{background:linear-gradient(rgba(124,58,237,.08) 1px,transparent 1px) 0 0/16px 16px,linear-gradient(90deg,rgba(124,58,237,.08) 1px,transparent 1px) 0 0/16px 16px,#F4F0FF}
.pr-wf{display:grid;grid-template-columns:1fr 2fr;grid-template-rows:14px 40px 12px;gap:6px}
.pr-wf span{border-radius:5px;border:1.5px dashed color-mix(in srgb,#7C3AED 45%,transparent)}
.pr-wf .a{grid-row:1/4}.pr-wf .b{background:color-mix(in srgb,#7C3AED 10%,#fff);border-style:solid;border-color:transparent}
.pr-wf .e{display:none}
.pr-cur{position:absolute;right:20%;bottom:22%;width:22px;height:22px;fill:var(--ink);stroke:#fff;stroke-width:1.5;stroke-linejoin:round;transition:transform .5s var(--ease-out)}
.pr-get:hover .pr-cur{transform:translate(-14px,-10px)}
.pr-a-live{background:radial-gradient(80% 90% at 20% 0%,rgba(192,38,211,.35),transparent 60%),radial-gradient(70% 80% at 100% 100%,rgba(217,91,18,.35),transparent 60%),#0E1424}
.pr-a-live .pr-win{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);padding:12px}
.pr-on{display:inline-flex;align-items:center;gap:7px;font-size:.75rem;font-weight:600;color:#D1FAE5;padding:4px 9px 4px 7px;border-radius:999px;background:rgba(52,211,153,.14)}
.pr-on i{width:7px;height:7px;border-radius:50%;background:#34D399;box-shadow:0 0 8px #34D399}
.pr-bars{display:flex;align-items:flex-end;gap:6px;height:60px;margin-top:12px}
.pr-bars span{flex:1;height:var(--h);border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,#F39A5B,#C026D3);opacity:.9;transform-origin:bottom;transition:transform .6s var(--ease-out)}
.pr-get:hover .pr-bars span:nth-child(odd){transform:scaleY(1.12)}
.pr-a-care{background:radial-gradient(60% 70% at 50% 50%,#FFE3CF,transparent 70%),#FFF4EC}
.pr-a-care .r1,.pr-a-care .r2{position:absolute;left:50%;top:50%;border-radius:50%;border:1.5px solid color-mix(in srgb,#D95B12 22%,transparent);transform:translate(-50%,-50%)}
.pr-a-care .r1{width:96px;height:96px}.pr-a-care .r2{width:150px;height:150px;border-style:dashed}
.pr-sh{position:relative;display:grid;place-items:center;width:62px;height:62px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#D95B12,#C026D3);box-shadow:0 18px 30px -14px rgba(192,38,211,.7)}
.pr-sh .i{width:28px;height:28px}
@media (prefers-reduced-motion:no-preference){.pr-get:hover .r2{animation:prSpin 12s linear infinite}}
@keyframes prSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* ================================================================ 23. v5 · Nosotros «Piso 10» (ns) */
.ns-hero,.ns-where,.ns-mch{--a1:#D95B12;--a2:#DB2777}
.ns-hg{display:grid;gap:40px;align-items:center}
@media (min-width:960px){.ns-hg{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(40px,5vw,72px)}}
.ns-copy .t-d{font-size:clamp(3rem,1.6rem + 4.6vw,5.5rem);line-height:.98;margin-top:20px}
.ns-copy .t-m{margin-top:20px;max-width:18ch}
.ns-copy .t-lead{margin-top:16px}
.ns-win{position:relative;margin:0;padding:10px;border-radius:32px;background:linear-gradient(150deg,#FFE1CC,#FFFFFF 42%,#F9D3E6);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 50px 90px -50px rgba(217,91,18,.55),0 30px 60px -40px rgba(219,39,119,.4)}
.ns-win img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:23px}
.ns-win::after{content:"";position:absolute;inset:10px;border-radius:23px;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,196,140,.34),transparent 38%),linear-gradient(0deg,rgba(20,24,35,.28),transparent 34%);mix-blend-mode:soft-light}
.ns-tag{position:absolute;left:26px;bottom:26px;z-index:1;display:flex;align-items:center;gap:12px;padding:10px 16px 10px 10px;border-radius:18px;color:var(--ink);font-size:.875rem;line-height:1.35;
  background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 14px 30px -16px rgba(10,16,32,.5)}
.ns-tag .i{width:34px;height:34px;padding:8px;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--a1),var(--a2))}
.ns-tag b{display:block;font-weight:600}
/* manifiesto: tres líneas que se encienden al cruzar el centro */
.ns-man{display:grid;gap:clamp(56px,9vh,104px);padding-block:clamp(16px,4vw,48px)}
.ns-l{position:relative;display:grid;gap:12px;padding-left:clamp(22px,3vw,40px)}
.ns-l::before{content:"";position:absolute;left:0;top:.35em;bottom:.35em;width:3px;border-radius:3px;background:linear-gradient(var(--a1),var(--a2));transform-origin:top;transition:transform .8s var(--ease-out),opacity .6s}
.ns-big{font-family:var(--f-d);font-weight:400;font-size:clamp(2.5rem,1.2rem + 5vw,5.5rem);line-height:1;letter-spacing:-.045em;color:var(--ink);transition:color .7s var(--ease)}
.ns-sub{font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);line-height:1.5;color:var(--ink-2);max-width:40ch;transition:opacity .7s var(--ease)}
.ns-man.arm .ns-l:not(.on) .ns-big{color:color-mix(in srgb,var(--ink) 50%,#EEF0F4)}
.ns-man.arm .ns-l:not(.on) .ns-sub{opacity:.55}
.ns-man.arm .ns-l:not(.on)::before{transform:scaleY(0);opacity:0}
/* lo que puedes esperar */
.ns-eg{display:grid;gap:40px;align-items:center}
@media (min-width:900px){.ns-eg{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px)}}
.ns-ep{border-radius:22px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh-dark)}
.ns-ep img{width:100%;height:100%;object-fit:cover}
@media (max-width:899px){.ns-ep{aspect-ratio:4/3}}
.ns-exp{display:grid;margin-top:36px;border-top:1px solid var(--line-dark)}
.ns-exp li{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--line-dark);color:var(--on-dark-2);font-size:1rem;line-height:1.5}
.ns-exp b{display:block;color:var(--on-dark);font-family:var(--f-d);font-weight:400;font-size:1.3125rem;letter-spacing:-.015em;margin-bottom:2px}
.ns-ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#fff;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--line-dark-2)}
.ns-ic .i{width:22px;height:22px;color:#7DD3FC}
/* dónde estamos: el mapa del pie, en grande */
.ns-wg{display:grid;gap:40px;align-items:center}
@media (min-width:900px){.ns-wg{grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:clamp(40px,6vw,96px)}}
.ns-map{display:block;border-radius:28px;padding:10px;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),0 40px 80px -50px rgba(217,91,18,.6);transition:transform .5s var(--ease-out)}
.ns-map:hover{transform:translateY(-3px)}
.ns-map .lmap{width:100%;height:auto;aspect-ratio:1;border-radius:20px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.ns-map .lmap-pin{filter:drop-shadow(0 0 3px var(--a1))}
@media (prefers-reduced-motion:no-preference){.ns-map .lmap-halo{animation:ixHalo 2.2s var(--ease-out) infinite}}
.ns-addr{margin-top:28px;font-style:normal;font-size:1.0625rem;line-height:1.6;color:var(--ink-2)}
.ns-addr b{display:block;font-family:var(--f-d);font-weight:400;font-size:1.5rem;letter-spacing:-.02em;color:var(--ink)}
.ns-wc .ix-st{margin-top:18px}

/* ================================================================ 24. v5 · Contacto «Mesa de diagnóstico» (kx) */
.kx-desk{--a1:#D95B12;--a2:#22A06B}
.kx-desk[data-bg="alba"]{--m2:#D2F2E2}
.kx-g{display:grid;gap:48px;align-items:start}
@media (min-width:1024px){.kx-g{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,6vw,96px)}.kx-prev{position:sticky;top:130px}}
.kx-main .t-d{margin-top:20px;max-width:12ch}
.kx-main .t-lead{margin-top:16px}
.kx-st{margin-top:18px;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px var(--line)}
.kx-form{margin-top:36px;max-width:620px;gap:36px}
.kx-prog{display:none;gap:8px}
.kx-prog span{flex:1;height:4px;border-radius:4px;background:rgba(20,24,35,.1);position:relative;overflow:hidden}
.kx-prog span::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--a1),#F39A5B);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.kx-prog span.on::after{transform:none}
.kx-step{border:0;margin:0;padding:0;min-width:0;display:grid;gap:20px}
.kx-step legend{padding:0;font-family:var(--f-d);font-size:clamp(1.375rem,1.2rem + .6vw,1.625rem);line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
.kx-sn{display:block;font-family:var(--f-b);font-size:.84375rem;font-weight:600;letter-spacing:0;color:#A8430A;margin-bottom:6px}
.kx-hint{margin-top:-8px;font-size:.9375rem;color:var(--ink-3)}
.kx-chips{display:flex;flex-wrap:wrap;gap:10px}
.kx-chip{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px 0 13px;border-radius:999px;background:#fff;font-size:.9375rem;color:var(--ink);
  box-shadow:inset 0 0 0 1px var(--line-2);transition:background .25s,color .25s,box-shadow .25s,transform .25s var(--ease-out)}
.kx-chip .i{width:17px;height:17px;color:var(--ink-3);transition:color .25s}
.kx-chip:hover{box-shadow:inset 0 0 0 1px rgba(20,24,35,.3)}
.kx-chip:active{transform:scale(.97)}
.kx-chip[aria-pressed="true"]{background:var(--ink);color:#fff;box-shadow:0 10px 24px -12px rgba(20,24,35,.7)}
.kx-chip[aria-pressed="true"] .i{color:#F39A5B}
.kx-form .fld{gap:8px}
.kx-form .fld label{font-size:.9375rem;font-weight:500;color:var(--ink-2)}
.kx-form .fld input,.kx-form .fld textarea{padding:14px 16px;border:0;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);transition:box-shadow .25s}
.kx-form .fld textarea{min-height:104px;resize:vertical}
.kx-form .fld input:focus,.kx-form .fld textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--a1),0 0 0 6px color-mix(in srgb,var(--a1) 12%,transparent)}
.kx-form .fld input[aria-invalid="true"],.kx-form .fld textarea[aria-invalid="true"]{box-shadow:inset 0 0 0 2px #B42318}
.kx-two{display:grid;gap:20px}
@media (min-width:600px){.kx-two{grid-template-columns:1fr 1fr}}
.kx-nav{display:none;flex-wrap:wrap;align-items:center;gap:14px 24px}
.kx-back{display:none;align-items:center;gap:8px;min-height:44px;font-weight:600;font-size:.9375rem;color:var(--ink-2)}
.kx-back .i{width:16px;height:16px;transform:scaleX(-1);transition:transform .3s var(--ease-out)}
.kx-back:hover{color:var(--ink)}.kx-back:hover .i{transform:scaleX(-1) translateX(3px)}
.kx-form .acts{margin-top:0}
/* con JS: un paso a la vez */
.kx-form.kx-on .kx-prog,.kx-form.kx-on .kx-nav{display:flex}
.kx-form.kx-on .kx-back{display:inline-flex}
.kx-form.kx-on .kx-step:not(.cur){display:none}
@media (prefers-reduced-motion:no-preference){.kx-form.kx-on .kx-step.cur{animation:prUp .45s var(--ease-out)}}
/* vista previa: el teléfono muestra el mensaje que se va a abrir */
.kx-ph{margin-inline:auto;width:min(340px,100%);padding:11px;border-radius:44px;background:#0E1424;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 40px 80px -30px rgba(10,16,32,.55),0 60px 120px -50px rgba(34,160,107,.6)}
.kx-scr{display:flex;flex-direction:column;min-height:480px;border-radius:34px;overflow:hidden;background:#0B141A;color:#E9EDEF}
.kx-bar{display:flex;align-items:center;gap:10px;padding:22px 16px 14px;background:#1F2C33;font-size:.9375rem}
.kx-av{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;flex:none}
.kx-av img{width:28px;height:auto}
.kx-who b{display:block;font-weight:600;line-height:1.2}
.kx-who small{display:block;font-size:.75rem;color:#AEBAC1}
.kx-chat{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:16px 12px;
  background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.05) 1px,transparent 1.5px) 0 0/18px 18px,#0B141A}
.kx-day{align-self:center;margin-bottom:6px;font-size:.75rem;color:#AEBAC1;padding:4px 10px;border-radius:8px;background:#1F2C33}
.kx-b{max-width:88%;padding:9px 11px 6px;border-radius:12px;font-size:.90625rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.kx-b.in{align-self:flex-start;background:#1F2C33;border-top-left-radius:3px}
.kx-b.out{align-self:flex-end;background:#005C4B;border-top-right-radius:3px;transition:background .3s}
.kx-b small{display:flex;justify-content:flex-end;align-items:center;gap:4px;margin-top:3px;font-size:.6875rem;color:rgba(233,237,239,.68)}
.kx-b small .i{width:13px;height:13px;color:#53BDEB}
.kx-type{display:flex;align-items:center;gap:8px;padding:8px 10px 14px;background:#0B141A}
.kx-type span{flex:1;padding:10px 14px;border-radius:999px;background:#1F2C33;font-size:.875rem;color:#AEBAC1}
.kx-type i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#00A884;color:#0B141A}
.kx-type .i{width:18px;height:18px}
.kx-note{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin:18px auto 0;max-width:36ch;text-align:left;font-size:.875rem;line-height:1.45;color:var(--ink-2)}
.kx-note .i{flex:none;width:16px;height:16px;margin-top:2px;color:#168A47}
/* tres caminos directos */
.kx-ways{display:grid;gap:12px;margin-top:clamp(56px,7vw,96px)}
@media (min-width:900px){.kx-ways{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kx-ways li:last-child{grid-column:1/-1}}
.kx-ways a{display:flex;align-items:center;gap:14px;height:100%;padding:16px 18px 16px 16px;border-radius:20px;background:rgba(255,255,255,.78);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),0 1px 2px rgba(10,16,32,.04);transition:background .3s,transform .4s var(--ease-out),box-shadow .4s}
.kx-ways a:hover{background:#fff;transform:translateY(-3px);box-shadow:0 26px 44px -28px color-mix(in srgb,var(--c) 70%,transparent)}
.kx-wi{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#fff;background:var(--c);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.kx-wi .i,.kx-wi .wa{width:20px;height:20px}
.kx-wt{min-width:0;font-size:.875rem;line-height:1.45;color:var(--ink-2);overflow-wrap:anywhere}
.kx-wt b{display:block;font-size:1rem;color:var(--ink)}
.kx-ways .go{flex:none;margin-left:auto;width:18px;height:18px;opacity:.5;transition:opacity .3s,transform .35s var(--ease-out)}
.kx-ways a:hover .go{opacity:1;transform:translateX(3px)}

/* ================================================================ 25. v5 · Legales «Documento claro» (lg) */
.lg-ch{--a1:#D95B12;--a2:#C026D3}
.lg-head{display:grid;gap:20px;justify-items:start;max-width:860px}
.lg-head .t-d{font-size:clamp(2.4rem,1.5rem + 2.8vw,3.9rem);max-width:16ch}
.lg-intro p{font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);line-height:1.6;color:var(--ink-2);max-width:62ch;text-wrap:pretty}
.lg-quick{display:grid;gap:10px;width:100%;margin-top:8px}
@media (min-width:720px){.lg-quick{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
.lg-quick a{display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:18px;background:var(--paper);font-size:1rem;
  box-shadow:inset 0 0 0 1px var(--line),0 1px 2px rgba(10,16,32,.04);transition:transform .4s var(--ease-out),box-shadow .4s}
.lg-quick a:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a1) 25%,transparent),0 20px 36px -24px color-mix(in srgb,var(--a1) 60%,transparent)}
.lg-qi{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#A8430A;background:color-mix(in srgb,var(--a1) 10%,#fff)}
.lg-qi .i{width:19px;height:19px}
.lg-quick b{font-weight:600}
.lg-quick .go{margin-left:auto;width:16px;height:16px;opacity:.5;transition:transform .35s var(--ease-out),opacity .3s}
.lg-quick a:hover .go{opacity:1;transform:translateY(2px)}
.lg-g{display:grid;gap:20px;margin-top:clamp(40px,5vw,64px)}
@media (min-width:1024px){.lg-g{grid-template-columns:250px minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:start}.lg-side{position:sticky;top:140px}}
.lg-toc{border-radius:20px;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px var(--line);padding:6px}
.lg-toc summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 12px;font-weight:600;font-size:.9375rem;cursor:pointer;list-style:none;border-radius:14px}
.lg-toc summary::-webkit-details-marker{display:none}
.lg-toc summary .i{width:18px;height:18px;transition:transform .3s var(--ease-out)}
.lg-toc[open] summary .i{transform:rotate(180deg)}
.lg-pg{height:2px;margin:0 12px 8px;border-radius:2px;background:rgba(20,24,35,.08);overflow:hidden}
.lg-pg i{display:block;height:100%;background:linear-gradient(90deg,var(--a1),var(--a2));transform-origin:left;transform:scaleX(var(--p,0))}
.lg-toc ol{display:grid;gap:1px;padding-bottom:4px;counter-reset:none}
.lg-toc a{display:flex;align-items:baseline;gap:10px;padding:8px 12px;border-radius:12px;font-size:.90625rem;line-height:1.35;color:var(--ink-3);transition:background .25s,color .25s}
.lg-toc a:hover{color:var(--ink);background:rgba(20,24,35,.04)}
.lg-toc a.on{color:var(--ink);background:#fff;box-shadow:0 1px 2px rgba(10,16,32,.06),0 8px 18px -12px rgba(10,16,32,.25)}
.lg-tn{flex:none;min-width:1.4em;font:500 .8125rem var(--f-d);font-variant-numeric:tabular-nums;color:var(--ink-3)}
.lg-toc a.on .lg-tn{color:#A8430A}
@media (min-width:1024px){.lg-toc summary{cursor:default}.lg-toc summary .i{display:none}.lg-toc{background:transparent;box-shadow:none;padding:0}.lg-toc summary{padding:0 12px;min-height:32px;color:var(--ink-3);font-weight:500}}
.lg-doc{max-width:none;padding:clamp(24px,5vw,64px) clamp(20px,5vw,72px);border-radius:var(--r-panel);background:var(--paper);counter-reset:lg;
  box-shadow:0 1px 2px rgba(10,16,32,.05),0 40px 80px -50px rgba(20,24,35,.35)}
.lg-doc>*{max-width:68ch}
.lg-sec{counter-increment:lg;scroll-margin-top:130px}
.lg-sec+.lg-sec{margin-top:44px;padding-top:4px}
.lg-doc .lg-sec h2{display:flex;align-items:baseline;gap:14px;margin:0 0 14px;font-size:clamp(1.3125rem,1.15rem + .6vw,1.5rem)}
.lg-doc .lg-sec h2::before{content:counter(lg);flex:none;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;transform:translateY(-3px);
  font:500 .875rem var(--f-d);color:#A8430A;background:color-mix(in srgb,var(--a1) 10%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a1) 16%,transparent)}
.lg-doc p,.lg-doc li{line-height:1.7}
.lg-doc li::before{width:6px;height:6px;border-radius:2px;background:linear-gradient(135deg,var(--a1),var(--a2));top:.72em}
.lg-doc b{color:var(--ink)}
.lg-doc code{font-size:.9em;padding:2px 6px;border-radius:6px;background:rgba(20,24,35,.06)}
.lg-arco{margin-top:52px!important;padding:clamp(22px,3vw,36px)!important;border-radius:22px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--a1) 7%,#fff),color-mix(in srgb,var(--a2) 6%,#fff));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a1) 18%,transparent)}
.lg-arco+.lg-sec{margin-top:52px}
.lg-doc .sign{max-width:68ch}

/* ================================================================ 26. v5 · 404 «Ruta perdida» (nf5) */
.nf5{--a1:#D95B12;--a2:#C026D3}
.nf5-num{display:block;width:min(560px,100%);height:auto;margin:0 auto clamp(20px,3vw,36px);overflow:visible}
.nf5-d{font-family:var(--f-d);font-weight:700;font-size:300px;letter-spacing:-.04em;fill:url(#nf5-g)}
.nf5-dots{stroke:var(--ink);stroke-opacity:.6;stroke-width:5;stroke-linecap:round;stroke-dasharray:0 12}
.nf5-start{fill:#fff;stroke:var(--ink);stroke-opacity:.7;stroke-width:3}
.nf5-q{font-family:var(--f-d);font-weight:600;font-size:26px;fill:#fff}
.nf5-pin{filter:drop-shadow(0 8px 10px rgba(192,38,211,.35))}
.nf5-joke{margin-top:10px;font-size:.9375rem;color:var(--ink-3)}
.nf5-more{display:flex;justify-content:center;margin-top:28px}
@media (prefers-reduced-motion:no-preference){
  .nf5-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:prDraw 1.8s var(--ease-film) .4s forwards}
  .nf5-pin{transform-box:fill-box;transform-origin:50% 100%;animation:nf5Drop .8s var(--ease-out) 1.9s both}
}
@keyframes nf5Drop{0%{opacity:0;transform:translateY(-18px) scale(.7)}60%{opacity:1;transform:translateY(2px) scale(1.04)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pr-st *,.kx-chip,.kx-ways a,.lg-quick a,.ns-l::before,.ns-big,.ns-sub{transition:none!important}}
/* proceso: ajustes tras revisar capturas */
@media (min-width:1024px){.pr-head{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:end;column-gap:64px}.pr-head .ix-pill{grid-column:1/-1}.pr-head .t-lead{padding-bottom:10px}}
.pr-route{margin-top:clamp(36px,4vw,56px)}
@media (max-width:899px){
  .pr-trk{stroke-width:5;stroke-dasharray:5 22}.pr-lit{stroke-width:9}
  .pr-c{r:17px;stroke-width:7}.pr-halo{r:34px}
  .pr-st{padding:12px 12px 26px}.pr-ph{order:-1}.pr-cp{padding:4px 12px 0}
}
/* nosotros: mapa grande propio */
.ns-svg{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:20px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.ns-halo{transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){.ns-halo{animation:ixHalo 2.4s var(--ease-out) infinite}}
/* contacto y 404: ajustes tras revisar capturas */
.kx-step legend{margin-bottom:8px}
.kx-hint{margin-top:0}
@media (max-width:1023px){.kx-scr{min-height:0}.kx-chat{min-height:230px}}

/* ================================================================ 21. Pie clásico (ft6) */
.ft6-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 20px;padding-block:clamp(48px,6vw,72px) 40px}
@media (max-width:1023px){.ft6-brand,.ft6-col:last-child{grid-column:1/-1}}
@media (min-width:1024px){.ft6-grid{grid-template-columns:1.5fr .9fr 1fr 1.3fr;gap:48px}}
.ft6-logo{display:inline-block}
.ft6-logo img{height:56px;width:auto;display:block}
.ft6-brand p{margin-top:20px;font-size:.9375rem;line-height:1.65;color:var(--on-dark-2);max-width:36ch}
.ft6-col h2{font-family:var(--f-b);font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark);margin-bottom:14px}
.ft6-col .ft6-h2b{margin-top:28px}
.ft6-col li a{display:inline-flex;align-items:flex-start;gap:10px;padding:6px 0;font-size:.9375rem;line-height:1.45;color:var(--on-dark-2);transition:color .2s}
.ft6-col li a:hover{color:var(--on-dark)}
.ft6-ct .i,.ft6-ct .wa{width:17px;height:17px;flex:none;margin-top:2px}
.ft6-ct a{overflow-wrap:anywhere}
.ft6-ct small{display:block;font-size:.8125rem;opacity:.75}
.ft6-bot{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;justify-content:space-between;padding:22px 0 8px;border-top:1px solid var(--line-dark);font-size:.84375rem;color:var(--on-dark-2)}
.ft6-bot nav{display:flex;flex-wrap:wrap;gap:4px 20px}
.ft6-bot nav a{display:inline-flex;align-items:center;gap:6px;min-height:32px;transition:color .2s}
.ft6-bot nav a:hover,.ft6-bot .mine{color:var(--on-dark)}
.ft6-bot .mine .i{width:15px;height:15px}
.ft6-demo{padding:4px 0 26px;font-size:.78125rem;color:var(--on-dark-2);opacity:.8}

/* ================================================================ 22. Inicio: celular que navega cada producto (hp) */
.hp{position:relative;overflow:hidden;background:var(--night);color:var(--on-dark);padding:0}
.hp-ph,.hp-veil{position:absolute;inset:0;pointer-events:none}
.hpp{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--ease-film);overflow:hidden}
.hpp.is-on{opacity:1}
.hpp img{width:100%;height:100%;object-fit:cover;object-position:var(--ox,50%) 30%;filter:brightness(.8);transform:scale(1.04);transition:transform 8s linear}
.hpp.is-on img{transform:scale(1)}
.hp-veil{background:linear-gradient(180deg,rgba(10,16,32,.72) 0,rgba(10,16,32,.45) 30%,rgba(10,16,32,.78) 62%,var(--night) 100%)}
@media (min-width:1024px){.hp-veil{background:linear-gradient(90deg,rgba(10,16,32,.86) 0,rgba(10,16,32,.6) 42%,rgba(10,16,32,.3) 70%,rgba(10,16,32,.55) 100%),linear-gradient(180deg,rgba(10,16,32,.5) 0,transparent 25%,transparent 75%,rgba(10,16,32,.7) 100%)}}
.hp-aura{position:absolute;inset:-10%;pointer-events:none;transition:opacity .6s;mix-blend-mode:screen;opacity:.7;
  background:radial-gradient(40% 50% at 72% 45%,color-mix(in srgb,var(--fa1) 38%,transparent),transparent 70%),radial-gradient(35% 45% at 88% 80%,color-mix(in srgb,var(--fa2) 30%,transparent),transparent 70%)}
.hp-in{position:relative;z-index:3;display:grid;gap:36px;padding-top:calc(var(--hd-top) + var(--hd-h) + 36px);padding-bottom:56px}
.hp-copy .t-d{color:#fff;font-size:clamp(2.125rem,1.4rem + 2.6vw,3.5rem);max-width:13ch}
.hp-copy .t-lead{color:rgba(238,241,247,.80);margin-top:16px;max-width:40ch}
.hp-copy .acts{margin-top:26px}
.hp-stage{display:flex;flex-direction:column;align-items:center;gap:18px;min-width:0}
.hp-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;max-width:100%;padding:2px;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.hp-tabs::-webkit-scrollbar{display:none}
.hp-tab{position:relative;flex:none;display:flex;flex-direction:column;gap:7px;padding:9px 14px 8px;border-radius:14px;color:rgba(238,241,247,.7);font-weight:600;font-size:.9375rem;transition:background .25s,color .25s}
.hp-tab:hover{color:#fff;background:rgba(255,255,255,.06)}
.hp-tab[aria-selected="true"]{color:#fff;background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.hp-bar{display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden}
.hp-bar i{display:block;height:100%;width:0;transition:width .26s linear;background:var(--c);border-radius:3px}
.hp-phone{position:relative;height:min(68svh,620px);aspect-ratio:540/1170;padding:10px;border-radius:52px;background:linear-gradient(150deg,#3a3f4b,#14161c 40%,#2a2e37);
  box-shadow:0 0 0 1.5px rgba(255,255,255,.14),0 40px 90px -30px rgba(0,0,0,.85),0 0 80px -20px color-mix(in srgb,var(--fa1) 55%,transparent)}
.hp-phone::after{content:"";position:absolute;top:20px;left:50%;width:84px;height:22px;margin-left:-42px;border-radius:20px;background:#000;z-index:2}
.hp-scr{width:100%;height:100%;border-radius:42px;overflow:hidden;background:#000}
.hp-scr video{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .25s}
.hp-scr video.sw{opacity:0}
.hp-cap{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;text-align:center;max-width:44ch;color:rgba(238,241,247,.82);font-size:1rem;line-height:1.45}
.hp-cap a{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:600;white-space:nowrap}
.hp-cap a .i{width:16px;height:16px}
@media (max-width:1023px){.hp-bar i{height:100%!important}.hp-copy .acts .btn{flex:1 1 100%}.hp-side{display:contents}.hp-tabs{order:1}.hp-phone{order:2}.hp-cap{order:3}}
@media (min-width:1024px){
  .hp-in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;column-gap:40px;min-height:min(100svh,1000px);padding-bottom:40px}
  .hp-stage{flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:36px}
  .hp-phone{height:min(calc(100svh - 170px),760px);min-height:560px;flex:none}
  .hp-side{display:flex;flex-direction:column;gap:22px;min-width:0;max-width:240px}
  .hp-tabs{flex-direction:column;gap:2px;overflow:visible;-webkit-mask-image:none;mask-image:none}
  .hp-tab{flex-direction:row;align-items:center;gap:14px;padding:11px 14px;font-size:1rem}
  .hp-tab .hp-bar{order:-1;width:3px;height:22px;flex:none}
  .hp-bar i{width:100%!important;height:0;transition:height .26s linear}
  .hp-cap{flex-direction:column;align-items:flex-start;text-align:left;padding-left:14px;min-height:7.5em}
}
@media (prefers-reduced-motion:reduce){.hp-scr video{transition:none}}
