:root{
  --bg:#EAF0F8;--bg2:#DCE6F4;--ink:#0B1F3A;--ink2:#3B4F6B;--line:#C5D3E8;--card:#fff;
  --or:#F7941D;--or2:#FFB347;--orink:#A85200;
  --sans:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"Cascadia Mono","SF Mono",Consolas,monospace;
  --wrap:min(1200px,calc(100% - 40px));
  --hdr:64px;
  --ease:cubic-bezier(.2,.75,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html[data-fx="0"]{scroll-behavior:auto}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.55;overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}
.dark :focus-visible{outline-color:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:100;text-decoration:none}
.skip:focus{top:10px}
.wrap{width:var(--wrap);margin-inline:auto}
section{scroll-margin-top:calc(var(--hdr) + 8px)}
.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orink);font-weight:700;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:10px;background:var(--or);transform:skewX(-45deg);border-radius:2px;box-shadow:3px 3px 0 var(--ink)}
.dark .eyebrow,.cta .eyebrow{color:var(--or2)}
.dark .eyebrow::before,.cta .eyebrow::before{box-shadow:3px 3px 0 #fff}
h2{font-size:clamp(1.75rem,4.2vw,3rem);line-height:1.08;letter-spacing:-.03em;font-weight:750;max-width:20ch}
.lead{font-size:clamp(1.02rem,1.5vw,1.2rem);color:var(--ink2);max-width:58ch}
.sec{padding:clamp(64px,9vw,128px) 0;position:relative}
.sec-h{display:grid;gap:16px;margin-bottom:clamp(32px,5vw,56px)}

/* Botones "extruidos" */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:14px;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;border:0;transition:transform .15s var(--ease),box-shadow .15s var(--ease);position:relative;white-space:nowrap}
.btn-p{background:var(--or);color:var(--ink);box-shadow:0 5px 0 #A85A04,0 14px 26px -6px rgba(247,148,29,.45)}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 7px 0 #A85A04,0 18px 30px -6px rgba(247,148,29,.5)}
.btn-p:active{transform:translateY(4px);box-shadow:0 1px 0 #A85A04,0 4px 8px rgba(247,148,29,.3)}
.btn-s{background:#fff;color:var(--ink);box-shadow:0 5px 0 var(--line),0 0 0 1px var(--line) inset}
.btn-s:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--line),0 0 0 1px var(--line) inset}
.btn-s:active{transform:translateY(4px);box-shadow:0 1px 0 var(--line),0 0 0 1px var(--line) inset}
.btn svg{width:18px;height:18px}
.btn-sm{min-height:42px;padding:0 18px;font-size:.92rem;border-radius:12px;box-shadow:0 4px 0 #A85A04}

/* Cabecera */
.hdr{position:sticky;top:0;z-index:50;height:var(--hdr);background:rgba(234,240,248,.92);backdrop-filter:saturate(1.5) blur(14px);-webkit-backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid var(--line);transition:border-color .2s,background .2s}
.hdr.stuck{border-color:var(--line);background:rgba(234,240,248,.94)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:100%;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:1.12rem;letter-spacing:-.01em}
.brand b{font-weight:850}.brand span{font-weight:400;color:var(--ink2)}
.nav{display:none}
.nav a{text-decoration:none;font-weight:560;font-size:.93rem;color:var(--ink2);padding:8px 10px;border-radius:8px;transition:color .15s,background .15s}
.nav a:hover{color:var(--ink);background:rgba(11,31,58,.06)}
.hdr-r{display:flex;align-items:center;gap:10px}
.menu-b{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer}
.menu-b span,.menu-b span::before,.menu-b span::after{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform .2s,background .2s}
.menu-b span::before,.menu-b span::after{content:"";position:absolute;left:0}
.menu-b span::before{top:-6px}.menu-b span::after{top:6px}
.menu-b[aria-expanded="true"] span{background:transparent}
.menu-b[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.menu-b[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
.mnav{position:fixed;inset:var(--hdr) 0 auto 0;z-index:49;background:rgba(234,240,248,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:12px 20px 24px;display:none;box-shadow:0 30px 40px -20px rgba(11,31,58,.2)}
.mnav.open{display:block}
.mnav a{display:block;padding:14px 4px;font-weight:650;text-decoration:none;border-bottom:1px solid var(--line)}
.hdr .btn-sm{display:none}
@media(min-width:520px){.hdr .btn-sm{display:inline-flex}}
@media(min-width:1100px){.nav{display:flex;gap:2px}.menu-b{display:none}.mnav{display:none!important}}

/* ===== Escenas 3D (CSS puro) ===== */
.scene{--pn:196;--p:calc(var(--pn)*1px);--g:calc(var(--pn)*.34);position:relative;width:100%;height:100%;perspective:2400px}
@media(min-width:720px){.scene{--pn:250}}
@media(min-width:1100px){.scene{--pn:280}}
.rig{position:absolute;left:50%;top:50%;width:var(--p);height:var(--p);margin:calc(var(--p)/-2) 0 0 calc(var(--p)/-2);transform-style:preserve-3d;transform:translateY(calc(var(--g)*1.3px)) rotateX(60deg) rotateZ(-45deg);will-change:transform}
.floor{position:absolute;inset:-26%;transform:translateZ(-36px);border-radius:12px;background:
  linear-gradient(rgba(11,31,58,.10) 1px,transparent 1px) 0 0/calc(var(--p)*.1) calc(var(--p)*.1),
  linear-gradient(90deg,rgba(11,31,58,.10) 1px,transparent 1px) 0 0/calc(var(--p)*.1) calc(var(--p)*.1);
  -webkit-mask-image:radial-gradient(closest-side,#000 35%,transparent 100%);mask-image:radial-gradient(closest-side,#000 35%,transparent 100%)}
.pl{position:absolute;--t:10px;transform-style:preserve-3d}
.pl .top{position:absolute;inset:0;border-radius:5px;background:linear-gradient(150deg,#fff 0%,#F4F7FC 60%,#E6EDF8 100%);box-shadow:0 0 0 1px rgba(11,31,58,.08);transition:box-shadow .35s}
.pl .top svg{width:100%;height:100%}
.pl .top::after{content:"";position:absolute;inset:0;border-radius:5px;background:rgba(224,232,244,.72);opacity:0;transition:opacity .45s;pointer-events:none}
.pl.dim .top::after{opacity:1}
.pl.on .top{box-shadow:0 0 0 2.5px var(--or),0 0 34px rgba(247,148,29,.38)}
.pl .sl{position:absolute;left:0;top:0;width:var(--t);height:100%;transform-origin:left center;transform:rotateY(90deg);background:linear-gradient(#C4D2E8,#9DB1D2)}
.pl .sb{position:absolute;left:0;top:100%;width:100%;height:var(--t);transform-origin:center top;transform:rotateX(-90deg);background:linear-gradient(90deg,#B1C3DE,#8399BD)}
.pl.acc .sl{background:linear-gradient(#FFB074,#F07A1E)}
.pl.acc .sb{background:linear-gradient(90deg,#F58A33,#D45E00)}
.layer{inset:0;transform:translateZ(calc(var(--i)*var(--g)*1px + var(--lift,0)*1px))}
.shw{position:absolute;inset:0;overflow:hidden;border-radius:5px;transform:translateZ(calc(var(--g)*-1px + 2px));pointer-events:none}
.shw i{position:absolute;inset:3%;background:var(--ink);opacity:calc(.52 - var(--g)*.0017);filter:blur(calc(var(--g)*.1px + 4px));transform:translate(calc(var(--g)*.12px),calc(var(--g)*.34px));border-radius:8px}
.layer[data-i="0"] .shw{overflow:visible;transform:translateZ(-34px)}
.layer[data-i="0"] .shw i{opacity:.3;filter:blur(14px);transform:translate(10px,22px)}
.tag{position:absolute;left:100%;top:100%;transform-origin:0 0;transform:rotateZ(45deg) rotateX(-60deg) translate(16px,-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--ink);background:#fff;padding:5px 11px 5px 6px;border-radius:999px;box-shadow:0 6px 16px -6px rgba(11,31,58,.35),0 0 0 1px var(--line);transition:background .3s,box-shadow .3s}
.tag::before{content:"";position:absolute;right:100%;top:50%;width:16px;height:2px;margin-right:-1px;background:var(--ink);opacity:.35}
.tag b{background:var(--ink);color:#fff;border-radius:999px;padding:1px 7px;font-size:10.5px}
.pl.on .tag{background:var(--or);box-shadow:0 6px 18px -4px rgba(247,148,29,.6)}
.pl.on .tag b{background:var(--ink)}
@media(max-width:719px){.tag{font-size:0;padding:4px;gap:0}.tag b{font-size:10.5px}.tag::before{width:8px}}
.pk{position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d;pointer-events:none}
.pk i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:3px;background:var(--or);box-shadow:0 0 0 3px rgba(247,148,29,.25),0 0 18px 4px rgba(247,148,29,.55)}
.pk i::after{content:"";position:absolute;left:3px;top:10px;width:4px;height:26px;background:linear-gradient(rgba(247,148,29,.7),transparent);border-radius:4px}
.flow{stroke-dasharray:5 9;animation:dash 1.1s linear infinite}
@keyframes dash{to{stroke-dashoffset:-28}}
.blink{animation:blink 1.8s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
.scene.off *{animation-play-state:paused!important}
html[data-fx="0"] .flow,html[data-fx="0"] .blink{animation:none}
.no3d .scene{display:none}

/* ===== Hero ===== */
.hero{position:relative;overflow:hidden;overflow:clip;padding:clamp(28px,5vw,64px) 0 clamp(40px,6vw,80px);
  background:
   radial-gradient(900px 520px at 85% 8%,rgba(255,179,71,.28),transparent 62%),
   radial-gradient(700px 520px at 0% 30%,rgba(255,255,255,.9),transparent 65%),
   linear-gradient(180deg,#EDF2FA,var(--bg))}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.8;
  background:
   repeating-linear-gradient(30deg,transparent 0 59px,rgba(11,31,58,.055) 59px 60px),
   repeating-linear-gradient(150deg,transparent 0 59px,rgba(11,31,58,.055) 59px 60px),
   repeating-linear-gradient(90deg,transparent 0 69px,rgba(11,31,58,.035) 69px 70px);
  -webkit-mask-image:radial-gradient(70% 80% at 70% 40%,#000,transparent);mask-image:radial-gradient(70% 80% at 70% 40%,#000,transparent)}
.hero .wrap{position:relative;display:grid;gap:12px;align-items:center}
.hero-t{display:grid;gap:24px;justify-items:start}
.chip{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.76rem;font-weight:700;letter-spacing:.06em;color:var(--ink);background:#fff;border-radius:999px;padding:7px 14px 7px 10px;box-shadow:0 0 0 1px var(--line),0 6px 14px -8px rgba(11,31,58,.3)}
.chip::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--or);box-shadow:0 0 0 3px rgba(247,148,29,.25)}
h1{font-size:clamp(2.35rem,6.4vw,4.35rem);line-height:1.04;letter-spacing:-.04em;font-weight:800;max-width:14ch}
.hl{background:linear-gradient(transparent 60%,var(--or) 60%,var(--or) 92%,transparent 92%);padding:0 .06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero .lead{max-width:46ch}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.checks{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.92rem;color:var(--ink2)}
.checks li{display:flex;align-items:center;gap:8px}
.checks svg{width:16px;height:16px;color:var(--orink)}
.hero-s{position:relative;height:clamp(370px,92vw,470px);margin-top:4px}
.hint{position:absolute;left:0;right:0;bottom:0;text-align:center;font-family:var(--mono);font-size:.74rem;color:var(--ink2);letter-spacing:.04em}
.hint .d{display:none}
@media(min-width:720px){.hero-s{height:520px}}
@media(min-width:1000px){
  .hero .wrap{grid-template-columns:1.02fr 1fr;gap:20px}
  .hero-s{height:clamp(540px,46vw,620px);margin:0}
  .hint .d{display:inline}
}
html[data-fx="1"] [data-h]{animation:rise .9s var(--ease) both;animation-delay:calc(var(--i,0)*90ms + 80ms)}
@keyframes rise{from{opacity:0;transform:translateY(26px) rotateX(14deg)}to{opacity:1;transform:none}}

/* Revelado escalonado */
html[data-fx="1"] [data-r]{opacity:0;transform:translateY(34px) rotateX(12deg);transform-origin:50% 100%;transition:opacity .8s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0)*80ms)}
html[data-fx="1"] [data-r].in{opacity:1;transform:none}

/* ===== Capacidades ===== */
.caps{display:grid;gap:18px;perspective:1400px}
@media(min-width:640px){.caps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.caps{grid-template-columns:repeat(3,1fr);gap:22px}}
.card{position:relative;height:100%;background:var(--card);border-radius:20px;padding:26px 26px 28px;box-shadow:0 0 0 1px var(--line),0 18px 30px -22px rgba(11,31,58,.4);display:grid;gap:12px;align-content:start;overflow:visible}
.card::before{content:"";position:absolute;left:18px;right:18px;bottom:-9px;height:10px;border-radius:0 0 16px 16px;background:#CBD7EA;z-index:-1}
.card h3{font-size:1.2rem;letter-spacing:-.02em;font-weight:750}
.card p{color:var(--ink2);font-size:.98rem}
.ico{width:64px;height:64px;margin-bottom:6px}
.ico svg{width:100%;height:100%;filter:drop-shadow(0 10px 8px rgba(11,31,58,.18))}
.tilt{transform-style:preserve-3d;transition:transform .35s var(--ease),box-shadow .35s}
.tilt.live{transition:transform .06s linear,box-shadow .35s}
.tilt .ico,.tilt h3{transform:translateZ(0);transition:transform .35s var(--ease)}
.tilt.live .ico{transform:translateZ(46px)}
.tilt.live h3{transform:translateZ(22px)}
.tilt::after{content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),rgba(255,179,71,.22),transparent 65%)}
.tilt.live::after{opacity:1}
.tilt.live{box-shadow:0 0 0 1px #FFCB8A,0 30px 40px -24px rgba(11,31,58,.5)}

/* ===== Arquitectura (sticky) ===== */
.arch-sec{background:linear-gradient(180deg,var(--bg),#E2EAF6 20%,#E2EAF6 80%,var(--bg))}
.arch{display:grid;gap:0}
.arch-st{position:sticky;top:var(--hdr);height:46vh;min-height:300px;z-index:3;background:linear-gradient(#E2EAF6 82%,transparent);margin-inline:-20px}
.arch-st .scene{--pn:176}
.steps{display:grid;gap:0;padding-top:10px}
.step{min-height:58vh;display:grid;align-content:center;gap:12px;padding:20px 0;opacity:.5;transition:opacity .4s}
.step.on{opacity:1}
.step .n{font-family:var(--mono);font-weight:800;font-size:.9rem;color:var(--orink);display:flex;align-items:center;gap:10px}
.step .n::after{content:"";height:2px;width:54px;background:var(--or);transform:skewX(-45deg);opacity:.5}
.step h3{font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.03em;line-height:1.1;font-weight:780}
.step p{color:var(--ink2);max-width:42ch}
.tech{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.tech li{font-family:var(--mono);font-size:.74rem;font-weight:700;padding:5px 10px;border-radius:8px;background:#fff;box-shadow:0 0 0 1px var(--line)}
@media(min-width:900px){
  .arch{grid-template-columns:1.12fr .88fr;gap:40px}
  .arch-st{height:calc(100vh - var(--hdr) - 24px);max-height:720px;margin:12px 0 0;background:none;align-self:start}
  .arch-st .scene{--pn:270}
  .step{min-height:78vh}
}
@media(min-width:1100px){.arch-st .scene{--pn:290}}

/* ===== IA ===== */
.dark{background:radial-gradient(900px 600px at 80% 20%,rgba(247,148,29,.20),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(92,123,166,.35),transparent 60%),#0B1F3A;color:#EAF0F8}
.dark h2{color:#fff}
.dark .lead{color:#B9C6DB}
.ia{display:grid;gap:34px;align-items:center}
.ia-t{display:grid;gap:22px;justify-items:start}
.ia h2{max-width:17ch}
.seg{display:inline-grid;grid-template-columns:1fr 1fr;background:rgba(255,255,255,.08);border-radius:14px;padding:5px;box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.seg button{border:0;background:none;cursor:pointer;color:#B9C6DB;font-weight:700;font-size:.92rem;padding:11px 18px;border-radius:10px;transition:background .25s,color .25s}
.seg button[aria-pressed="true"]{background:var(--or);color:var(--ink)}
.chat{width:100%;max-width:480px;background:rgba(255,255,255,.07);border-radius:18px;padding:18px;display:grid;gap:12px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.chat .lbl{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;color:#8FA3C2;display:flex;justify-content:space-between}
.msg{padding:11px 14px;border-radius:14px;font-size:.95rem}
.msg.q{background:#fff;color:var(--ink);justify-self:end;border-bottom-right-radius:4px;max-width:88%}
.msg.a{background:rgba(255,255,255,.1);border-bottom-left-radius:4px;min-height:3.9em;transition:opacity .25s}
.msg.a.sw{opacity:0}
.msg.a::before{content:"Copilot · ";font-weight:800;color:var(--or2)}
.ia-s{position:relative;height:clamp(320px,84vw,440px)}
.sc-field{--cell:38px;--pn:228;--g:0;perspective:2400px}
.sc-field .rig{width:calc(var(--cell)*6);height:calc(var(--cell)*6);margin:calc(var(--cell)*-3) 0 0 calc(var(--cell)*-3);transform:rotateX(58deg) rotateZ(-45deg)}
.sc-field .floor{inset:-30%;transform:translateZ(-2px);background:
 linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px) 0 0/var(--cell) var(--cell),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px) 0 0/var(--cell) var(--cell)}
.col{position:absolute;width:calc(var(--cell)*.84);height:calc(var(--cell)*.84);margin:calc(var(--cell)*.08);transform-style:preserve-3d;transform:translate(var(--ox,0px),var(--oy,0px)) rotateZ(var(--rz,0deg));transition:transform 1.1s cubic-bezier(.2,.8,.2,1) calc(var(--dl,0)*1ms)}
.col i{position:absolute;transition:transform 1.1s cubic-bezier(.2,.8,.2,1) calc(var(--dl,0)*1ms),background-color 1.1s calc(var(--dl,0)*1ms)}
.ct{inset:0;background-color:var(--c);transform:translateZ(calc(var(--k)*150px));box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.cl{left:0;top:0;width:150px;height:100%;transform-origin:left center;transform:rotateY(-90deg) scaleX(var(--k));background-color:var(--c);background-image:linear-gradient(rgba(11,31,58,.28),rgba(11,31,58,.28))}
.cb{left:0;top:100%;width:100%;height:150px;transform-origin:center top;transform:rotateX(90deg) scaleY(var(--k));background-color:var(--c);background-image:linear-gradient(rgba(11,31,58,.5),rgba(11,31,58,.5))}
.nt .col,.nt .col i{transition:none!important}
html[data-fx="0"] .col,html[data-fx="0"] .col i{transition:none}
@media(min-width:900px){
  .ia{grid-template-columns:1fr 1fr;gap:48px}
  .ia-s{height:540px}
  .sc-field{--cell:60px}
}

/* ===== Método ===== */
.method{display:grid;gap:18px}
@media(min-width:700px){.method{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1050px){.method{grid-template-columns:repeat(4,1fr)}}
.m-i{position:relative;background:#fff;border-radius:18px;padding:24px;box-shadow:0 0 0 1px var(--line);display:grid;gap:8px;height:100%;align-content:start}
.m-i .big{font-family:var(--mono);font-weight:800;font-size:2.6rem;line-height:1;color:var(--or);letter-spacing:-.04em;text-shadow:3px 3px 0 var(--ink)}
.m-i h3{font-size:1.1rem;letter-spacing:-.02em;margin-top:8px}
.m-i p{color:var(--ink2);font-size:.95rem}
.m-i:nth-child(1){margin-top:0}
@media(min-width:1050px){.m-i:nth-child(2){margin-top:22px}.m-i:nth-child(3){margin-top:44px}.m-i:nth-child(4){margin-top:66px}}

.note{font-size:.85rem;color:var(--ink2);display:flex;align-items:center;gap:8px}
.note::before{content:"i";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff;font-size:.72rem;font-weight:800;font-family:var(--mono)}



/* ===== CTA ===== */
.cta{position:relative;border-radius:28px;background:var(--ink);color:#fff;padding:clamp(28px,5vw,60px);display:grid;gap:34px;overflow:hidden;box-shadow:0 14px 0 #06132a,0 40px 50px -26px rgba(11,31,58,.7)}
.cta::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;background:var(--or);opacity:.9;transform:rotateX(60deg) rotateZ(-45deg);border-radius:30px;filter:blur(2px);box-shadow:-40px 40px 0 rgba(255,179,71,.4),-80px 80px 0 rgba(255,255,255,.08)}
.cta>*{position:relative}
.cta h2{color:#fff;max-width:14ch}
.cta p{color:#C7D3E6;max-width:44ch}
@media(min-width:900px){.cta{grid-template-columns:1fr 1.05fr;align-items:center;gap:56px}.rowf{grid-template-columns:1fr 1fr}}

/* ===== Footer ===== */
.ft{padding:44px 0 36px;border-top:1px solid var(--line);margin-top:clamp(56px,8vw,100px);font-size:.9rem;color:var(--ink2)}
.ft .wrap{display:grid;gap:22px}
.ft nav{display:flex;flex-wrap:wrap;gap:6px 20px}
.ft-b{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:20px;border-top:1px solid var(--line);font-size:.86rem}
.ft-b i{font-style:normal;color:var(--line)}
.ft-b nav a{font-weight:700;color:var(--ink);text-decoration:underline;text-decoration-color:rgba(168,82,0,.5);text-underline-offset:3px}
.ft-b nav a:hover{color:var(--orink)}
.ft nav a{text-decoration:none;font-weight:560}
.ft nav a:hover{color:var(--ink);text-decoration:underline}
@media(min-width:900px){.ft .wrap{grid-template-columns:1fr auto;align-items:center}}

@media(prefers-reduced-motion:reduce){html:not([data-q="1"]) *{scroll-behavior:auto}}

/* ===== Utilidades nuevas ===== */
.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--ink);color:var(--or2);box-shadow:3px 3px 0 var(--or)}
.badge{font-family:var(--mono);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:7px;background:rgba(247,148,29,.14);color:#7A3C00;white-space:nowrap}
.tagl{display:flex;gap:6px;flex-wrap:wrap}
.tagl li{font-family:var(--mono);font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:7px;background:rgba(247,148,29,.14);color:#7A3C00}
.hero h1{max-width:16ch}
.h2{font-size:clamp(1.75rem,4.2vw,3rem);line-height:1.08;letter-spacing:-.03em;font-weight:750;max-width:22ch;margin:0}
.h2s{font-size:clamp(1.6rem,3.4vw,2.5rem);max-width:24ch}
@media(min-width:1100px){.nav a{padding:8px 8px;font-size:.9rem}}
@media(min-width:1100px) and (max-width:1279px){.hdr .btn-sm{padding:0 14px;font-size:.88rem}}

/* ===== Franja ecosistema ===== */
.eco{background:#fff;border-block:1px solid var(--line)}
.eco .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 12px;padding:16px 0}
.eco p{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);font-weight:700;margin-right:8px}
.eco ul{display:contents}
.eco li{font-family:var(--mono);font-size:.76rem;font-weight:700;padding:5px 11px;border-radius:8px;background:var(--bg);box-shadow:0 0 0 1px var(--line)}

/* ===== ¿Datos preparados para la IA? ===== */
@keyframes dashY{to{background-position:0 10px}}
@keyframes dashX{to{background-position:10px 0}}
@keyframes pkY{0%{top:0;opacity:0}20%{opacity:1}80%{opacity:1}100%{top:calc(100% - 10px);opacity:0}}
@keyframes pkX{0%{left:0;opacity:0}20%{opacity:1}80%{opacity:1}100%{left:calc(100% - 10px);opacity:0}}
.pipe{display:grid;grid-template-columns:minmax(0,1fr)}
.pst{border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;position:relative;display:grid;gap:6px;align-content:start;background:#fff;border-radius:18px;padding:18px 18px 22px;box-shadow:0 0 0 1px var(--line),0 6px 0 #CBD7EA;transition:transform .35s var(--ease),box-shadow .35s,background .35s}
.pst:hover{transform:translateY(-3px)}
.pst .pi{width:44px;height:44px;border-radius:12px;background:var(--ink);color:var(--or2);display:grid;place-items:center;box-shadow:3px 3px 0 var(--or);margin-bottom:6px}
.pst .pn{font-family:var(--mono);font-weight:800;font-size:.78rem;color:var(--orink)}
.pst .pt{font-size:1.1rem;letter-spacing:-.02em;font-weight:750;line-height:1.2}
.pst .ps{color:var(--ink2);font-size:.86rem;line-height:1.35}
.pst .srcs{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.pst .srcs span{font-family:var(--mono);font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--bg);box-shadow:0 0 0 1px var(--line)}
.pst.on{transform:translateY(-6px);box-shadow:0 0 0 2.5px var(--or),0 11px 0 #A85A04,0 26px 34px -14px rgba(247,148,29,.45)}
.pst.fin{background:var(--ink);color:#fff;box-shadow:0 0 0 1px var(--ink),0 6px 0 #06132a}
.pst.fin .pi{background:var(--or);color:var(--ink);box-shadow:3px 3px 0 #fff}
.pst.fin .pn{color:var(--or2)}
.pst.fin .ps{color:#B9C6DB}
.pst.fin.on{box-shadow:0 0 0 2.5px var(--or),0 11px 0 #A85A04,0 26px 34px -14px rgba(247,148,29,.55)}
.plink{position:relative;height:34px;width:2px;justify-self:center}
.plink::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(var(--or) 0 5px,transparent 5px 10px);opacity:.25;transition:opacity .4s;animation:dashY 1s linear infinite}
.plink i{position:absolute;left:-4px;top:0;width:10px;height:10px;border-radius:3px;background:var(--or);box-shadow:0 0 0 3px rgba(247,148,29,.25),0 0 14px 3px rgba(247,148,29,.5);opacity:0}
.plink.on::before{opacity:1}
.plink.on i{animation:pkY 1.2s var(--ease) infinite}
html[data-fx="0"] .plink::before,html[data-fx="0"] .plink.on i{animation:none}
.prep-b{display:grid;gap:18px;margin-top:38px}
.pdet{margin-top:34px}
.pdet{background:#fff;border-radius:24px;padding:clamp(20px,3vw,32px);box-shadow:0 0 0 1px var(--line),0 8px 0 #CBD7EA,0 30px 40px -30px rgba(11,31,58,.5);display:grid;gap:22px;align-items:center;transition:opacity .25s}
@media(min-width:900px){.pdet{grid-template-columns:1fr 1.05fr;gap:40px}}
.pdet.sw{opacity:0}
.pdet .k{font-family:var(--mono);font-size:.76rem;font-weight:800;color:var(--orink);letter-spacing:.1em;text-transform:uppercase}
.pdet h3{font-size:1.35rem;letter-spacing:-.02em}
.pdet p{color:var(--ink2)}
.pdet .pctl{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.mini-b{border:0;cursor:pointer;font-weight:700;font-size:.85rem;padding:9px 14px;border-radius:10px;background:var(--bg);box-shadow:0 0 0 1px var(--line);text-decoration:none;display:inline-flex;align-items:center}
.mini-b:hover{box-shadow:0 0 0 1px #FFCB8A}
@media(min-width:1000px){
  .pipe{grid-template-columns:1.25fr 44px 1fr 44px 1fr 44px 1fr 44px 1.1fr}
  .plink{height:2px;width:auto;align-self:center;justify-self:stretch}
  .plink::before{background:repeating-linear-gradient(90deg,var(--or) 0 5px,transparent 5px 10px);animation-name:dashX}
  .plink i{left:0;top:-4px}
  .plink.on i{animation-name:pkX}
}

/* ===== Arquitectura Fabric ===== */
.fa{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
.fa-lbl{font-family:var(--mono);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);display:flex;align-items:center;gap:10px;margin-top:6px}
.fa-lbl b{width:24px;height:24px;border-radius:7px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:.72rem;letter-spacing:0;box-shadow:2px 2px 0 var(--or)}
.nodes{display:grid;gap:10px}
.nd{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 0 0 1px var(--line),0 4px 0 #CBD7EA;font-weight:700;font-size:.95rem;line-height:1.25;transition:transform .25s var(--ease),box-shadow .25s}
.nd:hover{transform:translateY(-3px);box-shadow:0 0 0 1px #FFCB8A,0 7px 0 #EBC9A0}
.nd .ic{width:38px;height:38px;box-shadow:none}
.nd small{display:block;font-weight:500;font-size:.8rem;color:var(--ink2)}
.cn{position:relative;height:40px}
.cn svg{display:none}
.cn::before{content:"";position:absolute;left:50%;top:2px;bottom:12px;width:2px;margin-left:-1px;background:repeating-linear-gradient(var(--or) 0 5px,transparent 5px 10px);animation:dashY 1s linear infinite}
.cn::after{content:"";position:absolute;left:calc(50% - 6px);bottom:5px;width:11px;height:11px;border-right:2.5px solid var(--or);border-bottom:2.5px solid var(--or);transform:rotate(45deg)}
.core{background:#fff;border-radius:20px;padding:20px;display:grid;gap:14px;position:relative;box-shadow:0 0 0 1px var(--line),0 8px 0 #CBD7EA,0 30px 40px -28px rgba(11,31,58,.5)}
.core::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,var(--ink),#5C7BA6,var(--or))}
.core-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:6px}
.core-h strong{font-size:1.2rem;letter-spacing:-.02em}
.core-h span{font-size:.85rem;color:var(--ink2)}
.wl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.wl button{border:0;font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:11px;border-radius:12px;background:var(--bg);box-shadow:0 0 0 1px var(--line);font-size:.86rem;font-weight:700;line-height:1.2;transition:background .2s,box-shadow .2s,transform .2s var(--ease)}
.wl button .i{color:var(--ink)}
.wl button:hover{transform:translateY(-2px);background:#fff;box-shadow:0 0 0 1px #FFCB8A}
.wl button[aria-pressed="true"]{background:var(--ink);color:#fff;box-shadow:0 4px 0 var(--or)}
.wl button[aria-pressed="true"] .i{color:var(--or2)}
.wdet{border-radius:12px;padding:14px 16px;background:#FFF4E6;box-shadow:0 0 0 1px #FFCB8A;font-size:.93rem;min-height:5.6em}
.wdet b{display:block;font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--orink);margin-bottom:4px}
.share{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.84rem;color:var(--ink2);text-align:center}
.share .i{width:16px;height:16px;color:var(--orink)}
.olk{border-radius:16px;padding:18px;background:linear-gradient(160deg,#0B1F3A,#1B3558);color:#fff;display:grid;gap:14px;position:relative;overflow:hidden;box-shadow:0 6px 0 #06132a}
.olk::after{content:"";position:absolute;right:-40px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(247,148,29,.35),transparent 70%)}
.olk>*{position:relative;z-index:1}
.olk-t{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.olk-t strong{font-size:1.2rem}
.olk-t span{font-size:.85rem;color:#B9C6DB}
.olk-t .i{width:26px;height:26px;color:var(--or2)}
.medal{display:grid;gap:8px}
.medal li{background:rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;font-size:.85rem;line-height:1.3;box-shadow:0 0 0 1px rgba(255,255,255,.18) inset}
.medal b{display:block;font-size:.9rem}
.medal li:nth-child(1) b{color:#F5C99A}.medal li:nth-child(2) b{color:#D5DEE8}.medal li:nth-child(3) b{color:#FFC878}
.olk-f{display:flex;flex-wrap:wrap;gap:8px}
.olk-f span{font-size:.75rem;font-family:var(--mono);font-weight:700;padding:3px 10px;border-radius:99px;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.gov{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border:2px dashed #8AA1C6;border-radius:12px;background:#F3F7FC;font-size:.85rem}
.gov strong{display:flex;align-items:center;gap:8px}
.gov .i{color:var(--orink)}
.gov span{color:var(--ink2)}
.cos{display:grid;gap:16px;margin-top:40px}
.cos li{display:flex;gap:14px}
.cos h3{font-size:1.02rem;margin-bottom:2px}
.cos p{font-size:.93rem;color:var(--ink2)}
@media(min-width:640px){.wl{grid-template-columns:repeat(4,1fr)}.medal{grid-template-columns:repeat(3,1fr)}.cos{grid-template-columns:repeat(3,1fr);gap:28px}}
@media(min-width:1000px){
  .fa{grid-template-columns:210px 72px minmax(0,1fr) 72px 210px;grid-template-rows:auto 1fr;row-gap:14px}
  .fa-lbl{margin:0}
  .fa>.l1{grid-area:1/1}.fa>.src{grid-area:2/1}.fa>.c1{grid-area:2/2}
  .fa>.l2{grid-area:1/3}.fa>.core{grid-area:2/3}.fa>.c2{grid-area:2/4}
  .fa>.l3{grid-area:1/5}.fa>.out{grid-area:2/5}
  .nodes{grid-template-rows:repeat(4,1fr);gap:14px}
  .cn{height:auto}.cn::before,.cn::after{display:none}
  .cn svg{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible}
  .cn path{fill:none;stroke:var(--or);stroke-width:2.2;stroke-dasharray:5 7;vector-effect:non-scaling-stroke;stroke-linecap:round;animation:dash 1.1s linear infinite}
  .core{padding:22px 24px}
}
html[data-fx="0"] .cn::before,html[data-fx="0"] .cn path{animation:none}

/* ===== Asistente (agente IA) ===== */
@keyframes agp{50%{box-shadow:0 0 0 7px rgba(247,148,29,.2)}}
@keyframes agrot{to{transform:rotate(360deg)}}
@keyframes agcur{50%{opacity:0}}
.ag{margin-top:clamp(56px,8vw,110px)}
.agh{display:grid;gap:16px}
.agw{position:relative;margin:34px auto 0;max-width:1040px;border-radius:22px;text-align:left;background:linear-gradient(180deg,#10284A,#0A1A33);box-shadow:0 0 0 1px rgba(255,255,255,.16),0 10px 0 #06132a,0 50px 80px -40px rgba(0,0,0,.7)}
.agtb{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.12)}
.agdots{display:flex;gap:6px}.agdots i{width:10px;height:10px;border-radius:50%;background:#2F486D}.agdots i:first-child{background:var(--or)}
.agtt{font-weight:700;font-size:.88rem;display:flex;align-items:center;gap:8px;white-space:nowrap;min-width:0}
.agtt small{font:400 .75rem var(--mono);color:#8FA3C2}
.agrt{margin-left:auto;display:flex;align-items:center;gap:10px}
.agbadge{font:700 .66rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--or2);border:1px dashed rgba(255,179,71,.6);padding:6px 9px;border-radius:6px;white-space:nowrap}
.agp{display:none;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.2);background:none;color:#B9C6DB;cursor:pointer}
html[data-fx="1"] .agp{display:inline-flex}
.agp:hover{color:#fff;border-color:var(--or2)}
.agp svg{width:14px;height:14px;fill:currentColor}
.agp .i2{display:none}.agp[aria-pressed=true] .i1{display:none}.agp[aria-pressed=true] .i2{display:block}
.agch{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:14px 16px 0}
.agsg{border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.04);font:inherit;color:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:10px 12px;transition:border-color .2s,background .2s}
.agsg:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.08)}
.agsg b{font:700 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#8FA3C2}
.agsg span{font-size:.8rem;line-height:1.35;color:#B9C6DB;display:none}
.agsg[aria-pressed=true]{border-color:var(--or);background:rgba(247,148,29,.1)}
.agsg[aria-pressed=true] b{color:var(--or2)}
.agsg[aria-pressed=true] span{color:#fff}
.agc{padding:18px 20px 12px;min-height:780px;transition:opacity .35s}
.agc.out{opacity:0}
.aghint{color:#8FA3C2;font-size:.9rem;text-align:center;padding-top:40px;margin-bottom:-60px}
.agw.static .aghint,.aghint.hide{display:none}
[data-a]{opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .45s ease}
[data-a].show,.agw.static [data-a]{opacity:1;transform:none}
.agw.static *{transition:none!important;animation:none!important}
.agmu{display:flex;justify-content:flex-end}
.agbub{background:rgba(255,255,255,.1);padding:11px 16px;border-radius:16px 16px 4px 16px;max-width:min(520px,88%);font-size:.97rem}
.agma{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}
.agav{display:none;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#FFB27A,#DB7A08 70%);place-items:center;color:var(--ink)}
.agav svg{width:16px;height:16px;fill:currentColor}
.agc.think .agav{animation:agp 1.2s ease-in-out infinite}
.agsteps{display:grid;gap:7px;padding-top:5px}
.agsteps li{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:#B9C6DB}
.agic{width:16px;height:16px;flex:none;margin-top:3px}
.agic svg{width:16px;height:16px;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.agic .c{stroke:#4A6288}.agic .k{stroke:var(--or2);opacity:0}
.agsteps li.run{color:#fff}
.agsteps li.run .c{stroke:var(--or2);stroke-dasharray:14 28}
.agsteps li.run .agic svg{animation:agrot .9s linear infinite}
.agsteps li.done .c{stroke:rgba(255,179,71,.5)}.agsteps li.done .k{opacity:1}
.agw.static .agsteps .c{stroke:rgba(255,179,71,.5)}.agw.static .agsteps .k{opacity:1}
.agsteps code{font:.74rem var(--mono);color:#8FA3C2;margin-left:8px}
.agans{margin-top:16px}
.agsum{font-size:1.02rem;line-height:1.55;max-width:70ch;color:#EAF0F8}
.agsum b{color:var(--or2);font-weight:700}
.agviz{display:grid;gap:14px;margin-top:14px}
.agbox{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 14px}
.agbox svg{display:block;width:100%;height:auto}
.agcap{font:700 .66rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#8FA3C2;margin:0 0 8px}
.agw table{width:100%;border-collapse:collapse;font-size:.82rem;font-variant-numeric:tabular-nums}
.agw th{font:700 .64rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8FA3C2;text-align:right;padding:4px 6px 8px}
.agw td{padding:7px 6px;border-top:1px solid rgba(255,255,255,.1);text-align:right;color:#B9C6DB}
.agw th:first-child,.agw td:first-child{text-align:left;padding-left:0}
.agw td:first-child{color:#fff}
.agw td.h{color:var(--or2);font-weight:700}
.agr{opacity:0;transform:translateX(-8px);transition:opacity .4s,transform .4s}
.agr.in,.agw.static .agr{opacity:1;transform:none}
.agsrc{font:.7rem var(--mono);color:#8FA3C2;margin-top:12px}
.aginp{display:flex;align-items:center;gap:12px;margin:6px 16px 16px;padding:8px 8px 8px 16px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(0,0,0,.25)}
.agfld{flex:1;min-height:1.4em;font-size:.93rem;white-space:nowrap;overflow:hidden}
.agfld:empty::before{content:attr(data-ph);color:#7C8FAF}
.agfld.typing::after{content:"";display:inline-block;width:2px;height:1.1em;background:var(--or2);vertical-align:-.18em;margin-left:2px}
html[data-fx="1"] .agfld.typing::after{animation:agcur 1s steps(2) infinite}
.agsnd{width:34px;height:34px;border-radius:10px;background:#1F3A63;color:#B9C6DB;display:grid;place-items:center;transition:background .2s,color .2s}
.agsnd.on{background:var(--or);color:var(--ink)}
.agsnd svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.agnote{color:#8FA3C2;font-size:.82rem;max-width:62ch;margin:20px auto 0;text-align:center}
.agcl{font:var(--fs,11px) var(--sans);fill:#B9C6DB}
.agcv{font:700 var(--fv,11.5px) var(--sans);fill:#fff;paint-order:stroke;stroke:#0A1A33;stroke-width:3px;opacity:0;transition:opacity .4s calc(.5s + var(--i,0)*.09s)}
.go .agcv,.agw.static .agcv{opacity:1}
.agbh,.agbv{fill:var(--or);transform-box:fill-box;transition:transform .75s cubic-bezier(.2,.7,.2,1) calc(var(--i)*.09s)}
.agbh{transform-origin:0 50%;transform:scaleX(0)}
.agbv{transform-origin:50% 100%;transform:scaleY(0)}
.agbh.lo,.agbv.lo{fill:#5C7BA6}
.go .agbh,.agw.static .agbh{transform:scaleX(1)}.go .agbv,.agw.static .agbv{transform:scaleY(1)}
.agavg{stroke:#ffffff77;stroke-dasharray:4 4;opacity:0;transition:opacity .5s .5s}
.go .agavg,.agw.static .agavg{opacity:1}
.aggl{stroke:rgba(255,255,255,.1)}
.agband{fill:rgba(255,179,71,.12)}
.aglnp{fill:none;stroke:var(--or2);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.3s ease}
.go .aglnp,.agw.static .aglnp{stroke-dashoffset:0}
.agarp{fill:url(#agg);opacity:0;transition:opacity .8s .9s}
.go .agarp,.agw.static .agarp{opacity:1}
.agdt{fill:#0A1A33;stroke:var(--or2);stroke-width:2;opacity:0;transition:opacity .3s calc(.2s + var(--i)*.15s)}
.go .agdt,.agw.static .agdt{opacity:1}
.agsgm{fill:none;stroke-width:24;stroke-dasharray:0 100;transition:stroke-dasharray .9s ease calc(var(--i)*.2s)}
.go .agsgm,.agw.static .agsgm{stroke-dasharray:var(--da)}
.agbig{font:800 22px var(--sans);fill:#fff}
@media(min-width:620px){.agc{min-height:610px}.agma{grid-template-columns:30px 1fr}.agav{display:grid}}
@media(min-width:760px){.agch{grid-template-columns:repeat(4,1fr)}.agsg span{display:block}.agviz{grid-template-columns:1.05fr 1fr}}
@media(min-width:900px){.agc{min-height:500px}}
@media(max-width:619px){.agtt small,.agdots{display:none}.agsteps code{display:none}.agc{padding:16px 14px 10px}.agbox svg{--fs:12.5px;--fv:13.5px}}

/* ===== Negocio ===== */
.neg{display:grid;gap:22px}
.areas{display:flex;gap:8px;overflow-x:auto;padding:4px 4px 10px;margin:0 -4px;scrollbar-width:thin}
.area{flex:0 0 auto;border:0;font:inherit;text-align:left;background:#fff;border-radius:14px;padding:12px 16px;cursor:pointer;box-shadow:0 0 0 1px var(--line);display:flex;align-items:center;gap:12px;transition:box-shadow .2s,transform .2s var(--ease),background .2s}
.area .i{color:var(--ink)}
.area b{font-size:.98rem}
.area:hover{transform:translateY(-2px)}
.area[aria-selected="true"]{background:var(--ink);color:#fff;box-shadow:0 5px 0 var(--or)}
.area[aria-selected="true"] .i{color:var(--or2)}
.npanel{background:#fff;border-radius:22px;padding:clamp(18px,3vw,30px);box-shadow:0 0 0 1px var(--line),0 8px 0 #CBD7EA,0 30px 40px -30px rgba(11,31,58,.5);display:grid;gap:20px;min-width:0}
.nq{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.nq h3{font-size:clamp(1.15rem,2.2vw,1.5rem);letter-spacing:-.02em;line-height:1.2;flex:1 1 300px}
.kp{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kp>div{border-radius:14px;padding:12px 14px;background:var(--bg);box-shadow:0 0 0 1px var(--line);min-width:0}
.kp small{display:block;font-size:.76rem;color:var(--ink2);font-weight:600}
.kp strong{display:block;font-size:clamp(1.05rem,2vw,1.5rem);letter-spacing:-.02em;margin:2px 0 6px;white-space:nowrap}
.kp svg{width:100%;height:24px}
.spk{fill:none;stroke:var(--or);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 1.1s var(--ease) .15s}
.go .spk{stroke-dashoffset:0}
.chb{display:grid;gap:10px}
.chh{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.chh h4{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin:0}
.fl{display:inline-flex;background:var(--bg);border-radius:10px;padding:3px;box-shadow:0 0 0 1px var(--line)}
.fl button{border:0;background:none;font:inherit;font-size:.8rem;font-weight:700;padding:7px 12px;border-radius:8px;cursor:pointer;color:var(--ink2)}
.fl button[aria-pressed="true"]{background:var(--ink);color:#fff}
.chart{width:100%;height:auto;overflow:visible}
.cbar{fill:#8AA1C6;transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);transition:transform .7s var(--ease) calc(var(--i)*70ms),fill .25s,opacity .3s;cursor:pointer}
.go .cbar{transform:scaleY(1)}
.cbar:hover{fill:#5C7BA6}
.cbar.sel{fill:var(--or)}
.cbar.sel:hover{fill:var(--or2)}
.cbar:focus-visible{outline:none;stroke:var(--ink);stroke-width:3}
.cbar.fd{opacity:.18}
.clab{font:600 11.5px var(--sans);fill:var(--ink2);text-anchor:middle;transition:opacity .3s}
.cval{font:800 12px var(--mono);fill:var(--ink);text-anchor:middle;opacity:0;transition:opacity .4s calc(.4s + var(--i)*70ms)}
.go .cval{opacity:1}
.cval.fd,.clab.fd{opacity:.2}
.cavg{stroke:var(--ink);stroke-width:1.6;stroke-dasharray:5 5;opacity:.6}
.cavl{font:700 11px var(--mono);fill:var(--ink2);text-anchor:end}
.cgl{stroke:var(--line);stroke-width:1}
.cdet{border-radius:12px;padding:12px 14px;background:#FFF4E6;box-shadow:0 0 0 1px #FFCB8A;font-size:.95rem;min-height:3.4em}
.nsrc{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.85rem;color:var(--ink2)}
.nsrc ul{display:contents}
.nsrc li{font-family:var(--mono);font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:7px;background:var(--bg);box-shadow:0 0 0 1px var(--line);color:var(--ink)}
@media(min-width:900px){.neg{grid-template-columns:230px minmax(0,1fr);gap:34px;align-items:start}.areas{flex-direction:column;overflow:visible;padding:0;margin:0}.area{width:100%}}
@media(max-width:520px){.kp small{font-size:.7rem}.kp strong{font-size:1rem}}
@media(max-width:640px){.clab,.cval{font-size:19px}.cavl{font-size:16px}}

/* ===== Método: línea de progreso ===== */
.method{position:relative;--prog:0}
@media(min-width:1050px){
  .method::before,.method::after{content:"";position:absolute;left:0;right:0;top:-20px;height:4px;border-radius:4px}
  .method::before{background:#CBD7EA;transform:skewX(-45deg)}
  .method::after{background:var(--or);transform-origin:left center;transform:skewX(-45deg) scaleX(var(--prog));box-shadow:3px 3px 0 var(--ink)}
}

/* ===== Casos ===== */
@keyframes up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.rcs{display:grid;gap:18px}
@media(min-width:760px){.rcs{grid-template-columns:repeat(3,1fr)}}
.rc{border-radius:20px;padding:22px;display:grid;gap:14px;align-content:start;border:2px dashed #AFC0DB;background:rgba(255,255,255,.5)}
.rc .lg{width:100%;height:64px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--line);display:grid;place-items:center;font-family:var(--mono);font-size:.78rem;font-weight:700;color:var(--ink2);letter-spacing:.08em;text-transform:uppercase}
.rc h3{font-size:1.1rem;color:var(--ink2)}
.rc .sk{display:grid;gap:8px}
.rc .sk i{display:block;height:9px;border-radius:5px;background:#D5E0F1}
.rc .sk i:nth-child(2){width:86%}.rc .sk i:nth-child(3){width:64%}
.ill-h{margin-top:clamp(44px,6vw,72px);display:grid;gap:8px}
.ill-h h3{font-size:clamp(1.2rem,2.4vw,1.6rem);letter-spacing:-.02em}
.cases{margin-top:20px;border-top:1px solid var(--line)}
.case{border-bottom:1px solid var(--line);transition:background .3s}
.case[open]{background:linear-gradient(90deg,rgba(247,148,29,.09),transparent 70%)}
.case summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:2px 16px;align-items:center;padding:20px 6px}
.case summary::-webkit-details-marker{display:none}
.ci{font-family:var(--mono);font-weight:800;font-size:.85rem;color:var(--orink);grid-row:span 2}
.ca{font-size:clamp(1.2rem,2.4vw,1.75rem);font-weight:750;letter-spacing:-.02em;line-height:1.15;transition:color .25s}
.cs{font-family:var(--mono);font-size:.76rem;color:var(--ink2);grid-column:2}
.case summary:hover .ca{color:var(--orink)}
.plus{grid-column:3;grid-row:1/span 2;width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--line);position:relative;transition:transform .35s var(--ease),box-shadow .3s}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .3s}
.plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.case[open] .plus{box-shadow:0 0 0 2px var(--or);transform:rotate(180deg)}
.case[open] .plus::after{transform:translate(-50%,-50%) rotate(0)}
.case-b{display:grid;gap:18px;padding:4px 6px 28px}
.case[open] .case-b{animation:up .55s var(--ease) both}
.case-b h4{margin:0 0 6px;font-family:var(--mono);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.case-b .res{border-left:3px solid var(--or);padding-left:14px}
.case-b .res h4{color:var(--orink)}
.case-b .res p{font-weight:650}
@media(min-width:900px){.case-b{grid-template-columns:repeat(3,1fr);gap:34px;padding-left:46px}}
@supports(interpolate-size:allow-keywords){.case{interpolate-size:allow-keywords}.case::details-content{height:0;overflow:clip;transition:height .5s var(--ease),content-visibility .5s allow-discrete}.case[open]::details-content{height:auto}}
html[data-fx="0"] .case[open] .case-b{animation:none}

/* ===== Sobre nosotros (Venn) ===== */
.about{display:grid;gap:30px;align-items:center}
.about-t{display:grid;gap:20px;justify-items:start}
@media(min-width:900px){.about{grid-template-columns:1fr 1fr;gap:56px}}
.pts{display:grid;gap:14px}
.pts li{display:grid;grid-template-columns:104px 1fr;gap:12px}
.pts b{font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--orink);padding-top:3px}
.pts span{color:var(--ink2)}
.venn-w{display:grid;gap:14px;justify-items:center}
.venn{width:min(100%,500px);height:auto;overflow:visible}
.venn .reg{cursor:pointer;transition:opacity .3s}
.venn.has-sel .reg:not(.sel){opacity:.35}
.venn .reg:focus,.venn .reg:focus-visible{outline:none}
.venn .reg:focus-visible .z{fill:rgba(11,31,58,.1)}
.venn .z{fill:transparent;transition:fill .25s}
.venn .z.o{fill:#fff}
.venn .reg:hover .z{fill:rgba(11,31,58,.07)}
.venn .reg:hover .z.o{fill:#FFEBD2}
.venn .reg[data-k="a"].sel .z{fill:rgba(247,148,29,.6)}
.venn .reg[data-k="b"].sel .z{fill:rgba(92,123,166,.65)}
.venn .reg[data-k="c"].sel .z{fill:rgba(27,53,88,.6)}
.venn .reg[data-k="ab"].sel .z{fill:rgba(165,125,80,.78)}
.venn .reg[data-k="ac"].sel .z{fill:rgba(125,85,45,.8)}
.venn .reg[data-k="bc"].sel .z{fill:rgba(52,80,125,.8)}
.venn .reg[data-k="c"].sel .vt,.venn .reg[data-k="ac"].sel .vt,.venn .reg[data-k="bc"].sel .vt{fill:#fff}
.venn .reg[data-k="c"].sel use{stroke:#fff!important}
.venn .reg.sel .z.o{fill:#FFB347}
.venn .vt{font-family:var(--sans);font-weight:800;pointer-events:none}
.venn .plus-n{pointer-events:none}
.venn .pls{transform-box:fill-box;transform-origin:center;animation:vpulse 2.4s ease-out infinite}
@keyframes vpulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.2);opacity:0}}
html[data-fx="0"] .venn .pls{animation:none;opacity:0}
.vdesc{width:min(100%,500px);min-height:5.8em;background:#fff;border-radius:16px;padding:14px 18px;box-shadow:0 0 0 1px var(--line),0 6px 0 #CBD7EA}
.vdesc b{display:block;font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--orink);margin-bottom:2px}
.vdesc span{color:var(--ink2);font-size:.95rem}

/* ===== Equipo ===== */
.teamph{margin:0;border-radius:26px;aspect-ratio:3/1;min-height:220px;display:grid;place-items:center;text-align:center;padding:20px;position:relative;overflow:hidden;background:linear-gradient(180deg,#F4F7FC,#E2EAF6);box-shadow:0 0 0 2px #AFC0DB inset,0 10px 0 #CBD7EA}
.teamph::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(30deg,transparent 0 59px,rgba(11,31,58,.06) 59px 60px),repeating-linear-gradient(150deg,transparent 0 59px,rgba(11,31,58,.06) 59px 60px)}
.teamph>*{position:relative}
.teamph .i{width:44px;height:44px;margin:0 auto 10px;color:var(--ink)}
.teamph b{display:block;font-size:1.2rem}
.teamph span{color:var(--ink2);font-size:.9rem}
.mems{display:grid;gap:18px;margin-top:30px}
@media(min-width:560px){.mems{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.mems{grid-template-columns:repeat(4,1fr)}}
.mem{background:#fff;border-radius:20px;padding:22px;display:grid;gap:6px;justify-items:start;align-content:start;box-shadow:0 0 0 1px var(--line),0 8px 0 #CBD7EA}
.mem .av{width:72px;height:72px;border-radius:20px;background:linear-gradient(150deg,#C9D7EC,#8AA1C6);display:grid;place-items:center;color:#fff;margin-bottom:8px;box-shadow:4px 4px 0 var(--ink)}
.mem .av svg{width:36px;height:36px}
.mem h3{font-size:1.08rem}
.mem .r{font-family:var(--mono);font-size:.76rem;font-weight:700;color:var(--orink)}
.mem p{font-size:.92rem;color:var(--ink2)}
.trust{display:grid;gap:14px;margin-top:34px}
@media(min-width:760px){.trust{grid-template-columns:repeat(3,1fr)}}
.trust li{display:flex;gap:12px;align-items:center;font-weight:650}

/* ===== Multipágina ===== */
.nav a[aria-current="page"]{color:var(--ink);background:rgba(11,31,58,.08);box-shadow:0 -3px 0 var(--or) inset}
.mnav a[aria-current="page"]{color:var(--orink)}
.card .more{font-weight:700;color:var(--orink);font-size:.92rem;margin-top:4px}
a.card{text-decoration:none;color:inherit}
a.card:hover .more{text-decoration:underline}

/* Cortina de transición (como el barrido de 05) */
.curtain{position:fixed;inset:0;z-index:200;background:#F7F9FD;pointer-events:none;transform:translateY(101%);display:none;place-items:center}
.curtain::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;background:var(--or)}
.curtain img{width:132px;height:auto;animation:logoIn .6s .1s var(--ease) both}
@keyframes logoIn{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
html[data-fx="1"].leave .curtain img{animation:none}
html[data-fx="1"] .curtain{display:grid;animation:cOut .8s cubic-bezier(.7,0,.2,1) .05s both}
html[data-fx="1"].leave .curtain{animation:none;transform:translateY(0);transition:transform .38s cubic-bezier(.7,0,.3,1)}
@keyframes cOut{from{transform:translateY(0)}to{transform:translateY(-101%)}}

/* Cabecera de página */
.ph{position:relative;overflow:hidden;overflow:clip;padding:clamp(36px,5vw,76px) 0 clamp(32px,4.5vw,60px);background:radial-gradient(800px 420px at 90% 0%,rgba(255,179,71,.26),transparent 62%),linear-gradient(180deg,#EDF2FA,var(--bg))}
.ph::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.8;background:repeating-linear-gradient(30deg,transparent 0 59px,rgba(11,31,58,.055) 59px 60px),repeating-linear-gradient(150deg,transparent 0 59px,rgba(11,31,58,.055) 59px 60px);-webkit-mask-image:radial-gradient(70% 90% at 80% 30%,#000,transparent);mask-image:radial-gradient(70% 90% at 80% 30%,#000,transparent)}
.ph::after{content:"";position:absolute;right:-70px;top:-90px;width:300px;height:300px;background:var(--or);opacity:.92;transform:rotateX(60deg) rotateZ(-45deg);border-radius:26px;box-shadow:-34px 34px 0 rgba(255,179,71,.4),-68px 68px 0 rgba(11,31,58,.1);pointer-events:none}
.ph .wrap{position:relative;z-index:1;display:grid;gap:18px;justify-items:start}
.ph h1{font-size:clamp(2.1rem,5.2vw,3.7rem);max-width:21ch}
.ph .lead{max-width:56ch}
.crumb{font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;color:var(--ink2);display:flex;gap:8px;align-items:center}
.crumb a{color:var(--orink);text-decoration:none;font-weight:700}
.crumb a:hover{text-decoration:underline}
@media(max-width:719px){.ph::after{width:200px;height:200px;right:-70px;top:-70px}}

/* Siguiente página + banda de contacto */
.pager{display:flex;justify-content:flex-end;padding-bottom:clamp(40px,6vw,72px)}
.pager a{display:grid;gap:4px;text-decoration:none;background:#fff;border-radius:18px;padding:18px 24px;min-width:min(100%,320px);box-shadow:0 0 0 1px var(--line),0 6px 0 #CBD7EA;transition:transform .3s var(--ease),box-shadow .3s}
.pager a:hover{transform:translateY(-4px);box-shadow:0 0 0 1px #FFCB8A,0 10px 0 #EBC9A0}
.pager small{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.pager b{font-size:1.25rem;letter-spacing:-.02em}
.pager a:hover b{color:var(--orink)}
.band{padding-bottom:0}

/* ===== Inicio: pregunta que se escribe ===== */
.tq{font-family:var(--mono);font-size:.92rem;color:var(--ink2);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;min-height:1.7em}
.tq b{color:var(--ink);font-weight:700;min-height:1.2em}
.tq b::after{content:"";display:inline-block;width:2px;height:1.1em;background:var(--or);margin-left:2px;vertical-align:-.15em;animation:blink .9s steps(2) infinite}
html[data-fx="0"] .tq b::after{animation:none}

/* ===== Inicio: flujo del proyecto dentro de Fabric ===== */
.fp{position:relative;background:#fff;border-radius:24px;padding:clamp(16px,2.6vw,28px);display:grid;gap:18px;box-shadow:0 0 0 1px var(--line),0 10px 0 #CBD7EA,0 34px 44px -30px rgba(11,31,58,.5)}
.fp::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;border-radius:24px 24px 0 0;background:linear-gradient(90deg,var(--ink),#5C7BA6,var(--or))}
.fp-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:6px}
.fp-b{display:inline-flex;align-items:center;gap:10px;font-size:1.15rem;letter-spacing:-.02em}
.fp-b .ico{width:40px;height:40px;margin:0}
.fp-s{font-size:.86rem;color:var(--ink2)}
.fp-lbl{display:none}
.fp-g{display:grid;grid-template-columns:minmax(0,1fr)}
.fs{padding:20px 18px 22px;gap:8px;align-content:start;position:relative}
.fs .ico{width:56px;height:56px;margin:0 0 2px}
.fs h3{font-size:1.1rem}
.fs p{font-size:.9rem}
.fs .tagl{margin-top:2px}
.fs-n{position:absolute;right:16px;top:14px;font-family:var(--mono);font-weight:800;font-size:.8rem;color:var(--orink)}
.fp-base{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;border-radius:14px;padding:12px 16px;background:linear-gradient(160deg,#0B1F3A,#1B3558);color:#fff;box-shadow:0 5px 0 #06132a}
.fp-bi{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--or);color:var(--ink)}
.fp-base span:last-child{font-size:.85rem;color:#B9C6DB}
.fp .plink{height:28px}
@media(min-width:1000px){
  .fp-g{grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr 28px 1fr}
  .fp .plink{height:2px;width:auto;align-self:center;justify-self:stretch}
  .fp-lbl{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr 28px 1fr;font-family:var(--mono);font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
  .fp-lbl span{padding-bottom:6px;border-bottom:2px dashed #AFC0DB}
  .fp-lbl .a{grid-column:1/6}
  .fp-lbl .b{grid-column:7/10;border-color:var(--or)}
  .fp-lbl .b{color:var(--orink)}
}

/* ===== Negocio: proyectos, colaboración ===== */
.pf{margin-bottom:22px}
.pj{display:grid;gap:18px}
@media(min-width:700px){.pj{grid-template-columns:repeat(2,1fr)}}
.pjc{position:relative;background:#fff;border-radius:20px;padding:22px 22px 24px;display:grid;gap:10px;align-content:start;box-shadow:0 0 0 1px var(--line),0 6px 0 #CBD7EA;border-top:6px solid var(--g,#8AA1C6)}
.pjc[hidden]{display:none}
.pjc[data-g="datos"]{--g:var(--ink)}.pjc[data-g="bi"]{--g:#5C7BA6}.pjc[data-g="ia"]{--g:var(--or)}
.pjc.pop{animation:up .5s var(--ease) both}
.pjg{font-family:var(--mono);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.pjc .ic{margin:2px 0 2px}
.pjc h3{font-size:1.12rem;letter-spacing:-.02em;line-height:1.25}
.pjc p{color:var(--ink2);font-size:.94rem}
.chk{display:grid;gap:6px;margin-top:4px}
.chk li{display:flex;gap:8px;align-items:flex-start;font-size:.88rem}
.chk svg{width:15px;height:15px;margin-top:3px;color:var(--orink);flex:none}
.co{display:grid;gap:18px}
@media(min-width:640px){.co{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1050px){.co{grid-template-columns:repeat(4,1fr)}}
.co li{background:#fff;border-radius:20px;padding:22px;display:grid;gap:8px;align-content:start;box-shadow:0 0 0 1px var(--line),0 6px 0 #CBD7EA}
.co h3{font-size:1.1rem;letter-spacing:-.02em;margin-top:6px}
.co p{color:var(--ink2);font-size:.93rem}

/* ===== Casos: resultados, antes/después y filtro ===== */
.cf{display:inline-flex;flex-wrap:wrap;max-width:100%;margin-bottom:20px}
.cf button{white-space:nowrap}
.rsp{gap:16px}
.rsc{display:grid;gap:16px}
.rsc[hidden]{display:none}
.rsc.pop{animation:up .5s var(--ease) both}
.rsc h3{font-size:clamp(1.3rem,2.4vw,1.7rem);letter-spacing:-.025em}
.rs-s{font-size:1.05rem;max-width:56ch}
.rs3{display:grid;gap:18px}
@media(min-width:760px){.rs3{grid-template-columns:1fr 1fr;gap:28px}}
.rs3 h4,.rs-e b{font-family:var(--mono);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);margin:0 0 8px;display:block}
.rs-e{border-left:4px solid var(--or);background:#FFF4E6;border-radius:0 14px 14px 0;padding:14px 18px;font-weight:600}
.rs-e b{color:var(--orink);margin-bottom:4px}
.case-b .src{font-family:var(--mono);font-size:.74rem;color:var(--ink2);font-weight:500;margin-top:10px}
.case[hidden]{display:none}

/* ===== Logo ANSA ===== */
.brand img{display:block;height:46px;width:auto;max-width:none}
.ft .brand img{height:52px}
@media(max-width:380px){.brand img{height:38px}}

/* ===== Página IA: cabecera unificada (fondo claro) ===== */
.ph-ia::after{display:none}
.ph-ia .wrap.ia{justify-items:stretch;gap:34px}
.ph-ia .ia-t{display:grid;gap:18px;justify-items:start}
.ph-ia h1{font-size:clamp(1.9rem,4vw,3rem);max-width:18ch}
.ph-ia .seg{background:#fff;box-shadow:0 0 0 1px var(--line)}
.ph-ia .seg button{color:var(--ink2)}
.ph-ia .seg button[aria-pressed="true"]{background:var(--or);color:var(--ink)}
.ph-ia .chat{background:#fff;box-shadow:0 0 0 1px var(--line),0 6px 0 #CBD7EA}
.ph-ia .chat .lbl{color:var(--ink2)}
.ph-ia .msg.q{background:var(--ink);color:#fff}
.ph-ia .msg.a{background:#F1F5FB;color:var(--ink)}
.ph-ia .msg.a::before{color:var(--orink)}
.ph-ia .sc-field .floor{background:linear-gradient(rgba(11,31,58,.1) 1px,transparent 1px) 0 0/var(--cell) var(--cell),linear-gradient(90deg,rgba(11,31,58,.1) 1px,transparent 1px) 0 0/var(--cell) var(--cell)}
#asistente{margin-top:0}

/* ===== IA: visual datos dispersos -> gobernados ===== */
.ph-ia .ia-s.dv-w{position:relative;height:auto;aspect-ratio:560/520;width:100%;max-width:580px;justify-self:center}
#dv{display:block;width:100%;height:100%}
.dv-st{position:absolute;left:0;top:0;font-family:var(--mono);font-size:.74rem;font-weight:800;letter-spacing:.06em;padding:7px 12px;border-radius:999px;background:#fff;color:var(--orink);box-shadow:0 0 0 1px #FFCB8A,0 8px 16px -8px rgba(11,31,58,.35);transition:color .4s,box-shadow .4s}
.dv-st.ok{color:var(--ink);box-shadow:0 0 0 1px #C5D3E8,0 8px 16px -8px rgba(11,31,58,.35)}
.mini-b[hidden]{display:none}

/* ===== Cabecera: contacto ===== */
.hdr-c{display:none}
.hc{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#fff;color:var(--ink);box-shadow:0 0 0 1px var(--line),0 3px 0 #CBD7EA;text-decoration:none;transition:transform .2s var(--ease),color .2s,box-shadow .2s}
.hc:hover{transform:translateY(-2px);color:var(--orink);box-shadow:0 0 0 1px #FFCB8A,0 5px 0 #F0CFA6}
.hc .i{width:18px;height:18px}
@media(min-width:1100px){.hdr-c{display:flex;gap:8px}}

/* ===== Bloque de contacto inferior ===== */
.cb-c{position:relative;overflow:hidden;border-radius:24px;padding:clamp(22px,3.4vw,38px);background:linear-gradient(135deg,#0B1F3A,#17375F);color:#fff;display:grid;gap:22px;box-shadow:0 8px 0 #06132a,0 28px 38px -28px rgba(11,31,58,.6)}
.cb-c::before{content:"";position:absolute;right:-70px;top:-100px;width:240px;height:240px;background:var(--or);opacity:.75;transform:rotateX(60deg) rotateZ(-45deg);border-radius:24px;box-shadow:-28px 28px 0 rgba(255,179,71,.35),-56px 56px 0 rgba(255,255,255,.07);pointer-events:none}
.cb-c>*{position:relative}
.cb-t{display:grid;gap:10px;align-content:center}
.cb-t .eyebrow{color:var(--or2)}
.cb-t h2{font-size:clamp(1.5rem,3vw,2.1rem);color:#fff;max-width:18ch}
.cb-t p:last-child{color:#C7D3E6;font-size:.98rem;max-width:42ch}
.cb-l a{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(255,255,255,.16);color:#fff;text-decoration:none;transition:background .2s,transform .2s var(--ease)}
.cb-l a:hover{background:rgba(255,255,255,.15);transform:translateX(3px)}
.cb-l .ic{width:36px;height:36px;background:var(--or);color:var(--ink);box-shadow:none}
.cb-l small{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#B9C6DB}
.cb-l b{font-size:.98rem;font-weight:650;overflow-wrap:anywhere}
@media(min-width:900px){.cb-c{grid-template-columns:1.1fr 1fr;align-items:center;gap:40px}}
.mnav a[target]{font-weight:560}

/* ===== Fabric: visualización ===== */
.vz{display:grid;gap:24px;margin-top:clamp(20px,3vw,32px)}
.vz-c{background:#fff;border-radius:22px;padding:clamp(18px,3vw,28px);display:grid;gap:16px;box-shadow:0 0 0 1px var(--line),0 8px 0 #CBD7EA,0 30px 40px -30px rgba(11,31,58,.5);min-width:0}
.vz-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.vz-t{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);font-weight:700}
.vz-p[hidden]{display:none}
.vz table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.95rem}
.vz th{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);text-align:right;padding:6px 10px 10px}
.vz td{padding:10px;border-top:1px solid var(--line);text-align:right;color:var(--ink2)}
.vz th:first-child,.vz td:first-child{text-align:left}.vz td:first-child{color:var(--ink);font-weight:650}
.vz-ch{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,2.4vw,26px);align-items:end;height:260px;padding:26px 8px 0;border-bottom:2px solid var(--line)}
.vz-av{position:absolute;left:0;right:0;bottom:calc((100% - 26px)*var(--k));border-top:2px dashed var(--ink);opacity:.6;pointer-events:none}
.vz-av i{position:absolute;right:0;top:-22px;font:700 .72rem var(--mono);font-style:normal;color:var(--ink2)}
.vz-b{position:relative;display:grid;align-items:end;justify-items:center;height:100%}
.vz-b i{display:block;width:100%;max-width:74px;height:0;border-radius:8px 8px 0 0;background:#8AA1C6;transition:height .8s var(--ease) calc(var(--i)*90ms),background .3s}
.go .vz-b i{height:var(--h)}
.vz-b.lo i{background:var(--or)}
.vz-b em{position:absolute;left:50%;bottom:var(--h);transform:translate(-50%,-6px);font:800 .82rem var(--mono);font-style:normal;opacity:0;transition:opacity .4s calc(.5s + var(--i)*90ms)}
.go .vz-b em{opacity:1}
.vz-b b{position:absolute;bottom:-26px;font-size:.78rem;color:var(--ink2);font-weight:700}
#vz-g{padding-bottom:30px}
.vz-n{border-radius:12px;padding:12px 14px;background:#FFF4E6;box-shadow:0 0 0 1px #FFCB8A;font-size:.96rem;font-weight:600}

/* ===== Contacto inferior: mismos botones que la cabecera ===== */
.cb-r{display:grid;gap:12px;justify-items:start}
.cb-n{color:#C7D3E6;font-size:.95rem}
.cb-b{display:flex;gap:10px}
@media(min-width:900px){.cb-r{justify-items:end;text-align:right}.cb-b{justify-content:flex-end}}
.fl[hidden]{display:none}

/* ===== Sobre nosotros: puntos clave ===== */
.pv{display:grid;gap:14px;margin-top:14px;width:100%;justify-self:stretch}
@media(min-width:700px){.pv{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1050px){.pv{grid-template-columns:repeat(4,1fr)}}
.pv li{display:flex;gap:12px;background:#fff;border-radius:18px;padding:16px;box-shadow:0 0 0 1px var(--line),0 5px 0 #CBD7EA}
.pv h3{font-size:1.02rem;margin-bottom:2px}
.pv p{font-size:.9rem;color:var(--ink2)}

/* ===== Qué hacemos: gráficos por área ===== */
.chart .ct,.db-c .ct,.db-dn .ct{font:600 11.5px var(--sans);fill:#3B4F6B}
.chart .cn{font:800 12px var(--mono);fill:#0B1F3A}
.chart .gn{font:800 20px var(--sans);fill:#0B1F3A}
.chart .cg,.db-c .cg{stroke:#E3EBF6;stroke-width:1}
.chart .hit{cursor:pointer;outline:none;transition:opacity .3s,filter .2s}
.chart .hit:hover,.chart .hit:focus-visible{filter:brightness(1.08)}
.chart .hit.sel:not(.ga){stroke:#0B1F3A;stroke-width:3}
.chart .ga.sel{stroke-width:20}
.chart .pp{opacity:0;transition:opacity .6s calc(var(--i,0)*40ms)}
.go .chart .pp{opacity:1}
.go .chart .pp.fd,.go .chart .hit.fd,.chart .hit.fd{opacity:.14}
.chart .pb{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);transition:transform .7s var(--ease) calc(var(--i)*70ms)}
.go .chart .pb{transform:scaleY(1)}
.chart .pop{transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .6s var(--ease) calc(var(--i)*50ms),opacity .3s}
.go .chart .pop{transform:scale(1)}
.chart .pl{stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}
.go .chart .pl{stroke-dashoffset:0;transition:stroke-dashoffset 1.3s var(--ease) .5s}
.chart .ga{stroke-dasharray:0 100;transition:stroke-dasharray .9s var(--ease) calc(var(--i)*100ms),stroke-width .25s}
.go .chart .ga{stroke-dasharray:var(--v) 100}
html[data-fx="0"] .chart .pp{opacity:1}

/* ===== Fabric: cuadro de mando ===== */
.vz-g,#vz-g{display:grid;gap:14px}
#vz-g[hidden]{display:none}
.db-k{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.db-k>div{background:linear-gradient(160deg,#fff,#F1F5FB);border-radius:14px;padding:12px 14px;box-shadow:0 0 0 1px var(--line);display:grid;gap:2px;min-width:0}
.db-k small{font-size:.74rem;color:var(--ink2);font-weight:600}
.db-k strong{font-size:clamp(1.1rem,2.2vw,1.65rem);letter-spacing:-.02em;white-space:nowrap}
.db-k span{font:800 .74rem var(--mono)}
.db-k .up{color:#3F5B85}.db-k .dn{color:var(--orink)}
.db-k svg{width:100%;height:24px;margin-top:4px}
.db-m{display:grid;gap:14px}
.db-b{background:#fff;border-radius:16px;padding:14px;box-shadow:0 0 0 1px var(--line);min-width:0}
.db-b h4{font:800 .7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);margin:0 0 8px}
.db-c{width:100%;height:auto;display:block}
.db-l{stroke-dasharray:100;stroke-dashoffset:100}
.go .db-l{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s var(--ease)}
.db-a{opacity:0}.go .db-a{opacity:1;transition:opacity 1s .9s}
.db-o{opacity:0}.go .db-o{opacity:1;transition:opacity .6s .3s}
.db-d{opacity:0}.go .db-d{opacity:1;transition:opacity .4s calc(.7s + var(--i)*80ms)}
.db-h{cursor:crosshair;outline:none}
.db-dw{display:grid;gap:14px;justify-items:center;align-items:center}
@media(min-width:520px){.db-dw{grid-template-columns:200px 1fr;justify-items:stretch}}
.db-dn{width:min(100%,200px);height:auto;justify-self:center}
.db-s{stroke-dasharray:0 100;transition:stroke-dasharray .9s var(--ease) calc(var(--i)*.12s),opacity .3s,stroke-width .25s;cursor:pointer;outline:none}
.go .db-s{stroke-dasharray:var(--da)}
.db-s.fd{opacity:.3}.db-s.on{stroke-width:32}
.db-dv{font:800 30px var(--sans);fill:#0B1F3A}
.db-lg{display:grid;gap:2px;width:100%}
.db-lg button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;font:inherit;font-size:.84rem;padding:5px 8px;border-radius:8px;cursor:pointer;text-align:left}
.db-lg button b{margin-left:auto;font-family:var(--mono)}
.db-lg button.on{background:#FFF4E6}
.db-lg i{width:10px;height:10px;border-radius:3px;flex:none}
.vz-k{display:grid;gap:14px;margin-bottom:0}
.vz-k li{display:flex;gap:12px;background:#fff;border-radius:18px;padding:16px;box-shadow:0 0 0 1px var(--line),0 5px 0 #CBD7EA}
.vz-k h3{font-size:1.05rem;margin-bottom:2px}
.vz-k p{font-size:.9rem;color:var(--ink2)}
@media(min-width:700px){.vz-k{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.vz-k{grid-template-columns:repeat(4,1fr)}}
.vzg{display:grid;gap:24px}
.vzg .sec-h{margin-bottom:0}
@media(min-width:1100px){
  .vzg{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:48px;align-items:start}
  .vzg .vz-k{grid-template-columns:1fr;margin-top:6px}
  .vzg .vz{margin-top:0}
}
html[data-fx="0"] .sp{min-height:0}
.vzg .vz-k{margin-top:18px}

/* ===== Casos: caso destacado con comparador ===== */
.dst{display:grid;gap:28px;align-items:center}
.dst-t{display:grid;gap:16px;justify-items:start}
.dst h2{max-width:16ch}
.dst-l{display:grid;gap:10px}
.dst-l li{display:grid;grid-template-columns:86px 1fr;gap:10px;color:var(--ink2);font-size:.98rem}
.dst-l b{font:800 .74rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--orink);padding-top:3px}
@media(min-width:960px){.dst{grid-template-columns:.85fr 1.15fr;gap:48px}}
.cmp{--p:50%;position:relative;width:100%;aspect-ratio:16/11;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line),0 10px 0 #CBD7EA,0 34px 44px -30px rgba(11,31,58,.55);user-select:none;touch-action:pan-y}
.cmp-l{position:absolute;inset:0}
.cmp-b{background:repeating-linear-gradient(135deg,#E4EAF3 0 14px,#DCE4F0 14px 28px);filter:saturate(.7)}
.cmp-a{background:radial-gradient(520px 320px at 78% 20%,rgba(247,148,29,.38),transparent 62%),linear-gradient(160deg,#0B1F3A,#17375F);clip-path:inset(0 0 0 var(--p))}
.cmp-t{position:absolute;left:18px;top:14px;font:800 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);z-index:3}
.cmp-a .cmp-t{left:auto;right:18px;color:var(--or2)}
.sh{position:absolute;width:29%;aspect-ratio:1/.78;border-radius:10px;background:#fff;box-shadow:0 14px 22px -10px rgba(11,31,58,.5),0 0 0 1px #C5D3E8;padding:10px;display:grid;gap:4px;align-content:start;transform:rotate(var(--r));animation:shk var(--d,4s) ease-in-out infinite;z-index:2}
.sh.sm{width:23%}
.sh i{font:700 .62rem var(--mono);font-style:normal;color:#6D7F9E}
.sh b{font-size:clamp(.78rem,1.5vw,1rem);color:var(--ink)}
.sh b.w{color:#C2410C}
.sh u{display:block;height:5px;border-radius:3px;background:#DCE5F1}
.sh u+u{width:70%}
@keyframes shk{0%,100%{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(calc(var(--r)*-.6)) translateY(-5px)}}
.tg{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.tg path{fill:none;stroke:#F7941D;stroke-width:.5;stroke-dasharray:2 2;vector-effect:non-scaling-stroke;stroke-width:2;opacity:.75;animation:dash 1.2s linear infinite}
.bd{position:absolute;z-index:4;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:1.1rem;color:#fff;background:#C2410C;box-shadow:0 0 0 4px rgba(255,255,255,.8),0 8px 14px rgba(0,0,0,.25);animation:pls 1.8s ease-in-out infinite}
.bd1{left:31%;top:30%}.bd2{left:58%;top:22%;animation-delay:-.6s}.bd3{left:50%;top:56%;animation-delay:-1.2s}
@keyframes pls{50%{transform:scale(1.18)}}
.cmp-q{position:absolute;left:18px;bottom:16px;font-weight:800;font-size:clamp(.95rem,1.8vw,1.2rem);color:#C2410C;background:#fff;padding:7px 14px;border-radius:999px;box-shadow:0 0 0 1px #F4B88F;z-index:4}
.cmp-q.ok{left:auto;right:18px;color:var(--ink);background:var(--or2);box-shadow:0 8px 18px -6px rgba(247,148,29,.6)}
.gl{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/34px 34px,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/34px 34px;-webkit-mask-image:radial-gradient(70% 80% at 60% 50%,#000,transparent);mask-image:radial-gradient(70% 80% at 60% 50%,#000,transparent)}
.db2{position:absolute;left:9%;right:9%;top:17%;bottom:19%;display:grid;grid-template-rows:auto 1fr;gap:12px;z-index:2}
.k3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kk{border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.1);box-shadow:0 0 0 1px rgba(255,255,255,.2) inset,0 12px 22px -12px rgba(0,0,0,.5);display:grid;gap:1px;backdrop-filter:blur(6px);min-width:0}
.kk small{font-size:.66rem;color:#B9C6DB;font-weight:600}
.kk strong{font-size:clamp(.95rem,2.2vw,1.6rem);color:#fff;letter-spacing:-.02em;line-height:1.1;white-space:nowrap}
.kk em{font:800 .6rem var(--mono);font-style:normal;color:var(--or2)}
.kk svg{width:100%;height:16px;margin-top:2px}
.kk svg polyline{fill:none;stroke:var(--or2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ch2{border-radius:16px;background:rgba(255,255,255,.07);box-shadow:0 0 0 1px rgba(255,255,255,.16) inset;padding:8px 10px}
.ch2 svg{width:100%;height:100%;display:block;overflow:visible}
.ch2 .ln{stroke-dasharray:100;animation:drw 3.6s ease-in-out infinite}
.ch2 .ar{animation:fad 3.6s ease-in-out infinite}
.ch2 .pu{animation:pls2 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes drw{0%{stroke-dashoffset:100}45%,100%{stroke-dashoffset:0}}
@keyframes fad{0%{opacity:0}45%,100%{opacity:1}}
@keyframes pls2{50%{transform:scale(1.5)}}
.ck{position:absolute;left:18px;top:42px;z-index:3;font:800 .72rem var(--mono);color:var(--ink);background:var(--or2);padding:4px 10px;border-radius:999px;display:none}
html[data-fx="0"] .sh,html[data-fx="0"] .tg path,html[data-fx="0"] .bd,html[data-fx="0"] .ch2 *{animation:none!important}
html[data-fx="0"] .ch2 .ln{stroke-dashoffset:0}
.cmp-h{position:absolute;top:0;bottom:0;left:var(--p);width:0;pointer-events:none}
.cmp-h::before{content:"";position:absolute;top:0;bottom:0;left:-1.5px;width:3px;background:var(--ink)}
.cmp-h i{position:absolute;top:50%;left:-22px;width:44px;height:44px;margin-top:-22px;border-radius:50%;background:var(--or);box-shadow:0 0 0 3px #fff,0 8px 18px rgba(11,31,58,.4);display:grid;place-items:center}
.cmp-h i::before{content:"⟷";font-size:1.15rem;font-weight:800;color:var(--ink);line-height:1}
.cmp-r{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.cmp:focus-within .cmp-h i{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--ink)}

/* ===== IA: detalle de etapa ===== */
.pd-t{display:grid;gap:12px;align-content:center}
.pd-t h3{font-size:clamp(1.4rem,2.6vw,1.9rem);letter-spacing:-.025em}
.pd-p{color:var(--ink2);font-size:1rem}
.pd-w{border-left:4px solid var(--or);background:#FFF4E6;border-radius:0 12px 12px 0;padding:11px 14px;font-weight:650;font-size:.95rem}
.pd-v{min-height:260px;border-radius:18px;background:linear-gradient(160deg,#F4F7FC,#E4EBF6);box-shadow:0 0 0 1px var(--line) inset;padding:18px;display:grid;align-items:center;overflow:hidden;position:relative}
.pd-v em{display:block;text-align:center;font:800 .72rem var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin-top:12px}
.pd-v>div{animation:up .6s var(--ease) both}
.v1{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-content:center}
.v1 span{font:800 .85rem var(--mono);padding:12px 16px;border-radius:12px;background:#fff;box-shadow:0 8px 16px -8px rgba(11,31,58,.4),0 0 0 1px #C5D3E8;transform:rotate(var(--r))}
.v1 em{flex-basis:100%}
.v2{display:grid;gap:8px}
.ly{display:flex;align-items:baseline;gap:12px;border-radius:12px;padding:12px 16px;box-shadow:0 5px 0 rgba(11,31,58,.18)}
.ly b{font:800 .85rem var(--mono);letter-spacing:.1em;text-transform:uppercase;min-width:4.6em}
.ly span{font-size:.9rem}
.ly.go{background:#FFD7A8}.ly.si{background:#DCE5F1;margin-inline:14px}.ly.br{background:#EDD3B6;margin-inline:28px}
.v3{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto auto auto;gap:12px;align-items:center;align-content:center}
.v3 .d{font:800 .78rem var(--mono);padding:9px 8px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px #C5D3E8;text-align:center}
.v3 .d1{grid-area:1/1}.v3 .d2{grid-area:1/3}.v3 .d3{grid-area:3/1}.v3 .d4{grid-area:3/3}
.v3 .ft{grid-area:2/2;border-radius:14px;padding:14px 8px;background:var(--or);text-align:center;box-shadow:0 6px 0 #B96205;display:grid;gap:2px}
.v3 .ft b{font:800 .9rem var(--mono)}.v3 .ft small{font:700 .66rem var(--mono)}
.v3 em{grid-column:1/-1;grid-row:4}
.v4,.v5{display:grid;gap:10px}
.v4 .q,.v5 .q{justify-self:end;background:var(--ink);color:#fff;padding:10px 14px;border-radius:14px 14px 4px 14px;font-size:.92rem;max-width:90%}
.v4 .a,.v5 .a{background:#fff;padding:12px 14px;border-radius:14px 14px 14px 4px;box-shadow:0 0 0 1px #C5D3E8;font-size:.92rem;max-width:94%}
.v4 .a b,.v5 .a b{color:var(--orink)}
.v4 .a b{display:block;font:800 .7rem var(--mono);letter-spacing:.08em;margin-bottom:3px}
.v5 ul{display:grid;gap:4px;padding-left:2px}
.v5 li{display:flex;gap:8px;align-items:center;font-size:.82rem;color:var(--ink2)}
.v5 li svg{width:14px;height:14px;color:var(--orink);flex:none}
.bb{display:grid;gap:5px;margin:8px 0 6px}
.bb i{display:block;height:8px;border-radius:4px;background:#8AA1C6;width:var(--w)}
.bb i:first-child{background:var(--or)}
.v5 small{font:.66rem var(--mono);color:var(--ink2)}
html[data-fx="0"] .pd-v>div{animation:none}

/* ===== Inicio: héroe con partículas ===== */
.hero.hz{min-height:clamp(560px,78vh,720px);display:flex;align-items:center;padding:clamp(32px,4vw,56px) 0 76px}
.hz #pcv{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;opacity:0}
.hz::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(234,240,248,.92) 0%,rgba(234,240,248,.6) 38%,transparent 62%)}
.hz .wrap{position:relative;z-index:2;display:block}
.hz .hero-t{max-width:640px}
.hz h1{font-size:clamp(2.6rem,6.6vw,4.9rem);max-width:13ch}
.hz-cap{position:absolute;z-index:2;left:0;right:0;bottom:22px;margin:0;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding-inline:16px}
.hz-cap span{display:flex;gap:8px;align-items:center;font:700 .76rem var(--mono);padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.75);color:var(--ink2);box-shadow:0 0 0 1px var(--line);backdrop-filter:blur(6px);transition:background .4s,color .4s,box-shadow .4s}
.hz-cap i{font-style:normal;font-weight:800;color:var(--orink)}
.hz-cap span.on{background:var(--ink);color:#fff;box-shadow:0 4px 0 var(--or)}
.hz-cap span.on i{color:var(--or2)}
@media(max-width:999px){.hz::before{background:linear-gradient(0deg,rgba(234,240,248,.94) 0%,rgba(234,240,248,.7) 55%,transparent 85%)}.hero.hz{align-items:flex-end;flex-direction:column;justify-content:flex-end;padding-bottom:20px;min-height:600px}.hz-cap{position:static;margin-top:26px}}
html[data-fx="0"] .hz #pcv{opacity:1}
.day{position:relative;overflow:hidden;background:linear-gradient(135deg,#0B1F3A,#17375F);color:#fff;padding:clamp(56px,7vw,96px) 0}
.day::before{content:"";position:absolute;right:-120px;top:-130px;width:340px;height:340px;background:var(--or);opacity:.35;transform:rotateX(60deg) rotateZ(-45deg);border-radius:30px;box-shadow:-40px 40px 0 rgba(255,179,71,.22),-80px 80px 0 rgba(255,255,255,.05);pointer-events:none}
.day .wrap{position:relative}
.day .eyebrow{color:var(--or2)}
.day .eyebrow::before{box-shadow:3px 3px 0 #fff}
.day h2{color:#fff;max-width:18ch}
.day .lead{color:#B9C6DB}
.day-l{display:grid;gap:0;margin-top:8px}
.day-l li{position:relative;display:grid;grid-template-columns:62px 22px 1fr;gap:0 14px;align-items:start;padding-bottom:18px;opacity:.5;transition:opacity .4s}
.day-l li.on{opacity:1}
.day-l li.past{opacity:.8}
.dt{font:800 1rem var(--mono);color:#8FA3C2;padding-top:18px;transition:color .4s}
.day-l li.on .dt{color:var(--or2)}
.dd{position:relative;align-self:stretch;display:block}
.dd::before{content:"";position:absolute;left:10px;top:0;bottom:-18px;width:2px;background:rgba(255,255,255,.18)}
.day-l li:last-child .dd::before{bottom:auto;height:30px}
.dd i{position:absolute;left:3px;top:20px;width:16px;height:16px;border-radius:50%;background:#17375F;box-shadow:0 0 0 2px #5C7BA6;transition:background .4s,box-shadow .4s,transform .4s}
.day-l li.on .dd i{background:var(--or);box-shadow:0 0 0 4px rgba(247,148,29,.35),0 0 18px 4px rgba(247,148,29,.5);transform:scale(1.2)}
.day-l li.past .dd i{background:#5C7BA6}
.dc{position:relative;display:grid;gap:4px;padding:16px 18px 16px 70px;border-radius:18px;background:rgba(255,255,255,.06);box-shadow:0 0 0 1px rgba(255,255,255,.12);transition:background .4s,box-shadow .4s,transform .4s var(--ease);cursor:default}
.day-l li.on .dc{background:rgba(247,148,29,.16);box-shadow:0 0 0 1.5px var(--or);transform:translateX(6px)}
.dc .ic{position:absolute;left:16px;top:16px;width:40px;height:40px;background:var(--ink);color:var(--or2);box-shadow:3px 3px 0 var(--or)}
.dg{font:800 .66rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--or2)}
.dc h3{font-size:clamp(1.05rem,2vw,1.3rem);letter-spacing:-.02em}
.dc p{color:#C7D3E6;font-size:.94rem;max-width:62ch}
.day-n{margin-top:6px;font-size:.84rem;color:#8FA3C2}
@media(min-width:1000px){
  .day-l{grid-template-columns:repeat(5,1fr);gap:16px;margin-top:34px;position:relative}
  .day-l::before{content:"";position:absolute;left:0;right:0;top:50px;height:2px;background:rgba(255,255,255,.18)}
  .day-l li{display:grid;grid-template-columns:1fr;grid-template-rows:auto 22px 1fr;gap:10px;padding:0;justify-items:start}
  .dt{padding:0;font-size:1.15rem}
  .dd{align-self:auto;height:22px;width:100%}
  .dd::before{display:none}
  .dd i{left:0;top:3px}
  .day-l li:last-child .dd::before{display:none}
  .dc{padding:64px 16px 18px 16px;height:100%;width:100%}
  .dc .ic{left:16px;top:16px}
  .day-l li.on .dc{transform:translateY(-6px)}
}
html[data-fx="0"] .day-l li{opacity:1}
html[data-fx="0"] .day-l li.on .dc{transform:none}
.faq{border-top:1px solid var(--line)}
.fq{font-size:clamp(1.05rem,2vw,1.35rem)}
.fa-b{padding:0 6px 24px 46px;max-width:70ch;color:var(--ink2)}
.dark+.ctc{margin-top:clamp(56px,8vw,110px)}

/* ===== Página legal ===== */
.lg{max-width:78ch;background:#fff;border-radius:22px;padding:clamp(22px,4vw,44px);box-shadow:0 0 0 1px var(--line),0 8px 0 #CBD7EA;display:grid;gap:14px}
.lg h2{font-size:clamp(1.2rem,2.2vw,1.5rem);letter-spacing:-.02em;max-width:none;margin-top:14px;line-height:1.2}
.lg h2:first-of-type{margin-top:4px}
.lg p,.lg li{color:var(--ink2);font-size:1rem}
.lg a{color:var(--orink);font-weight:650}
.lg-u{font:700 .76rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.lg-d{display:grid;border-radius:14px;background:var(--bg);box-shadow:0 0 0 1px var(--line);overflow:hidden}
.lg-d li{display:grid;gap:2px 16px;padding:11px 16px;border-top:1px solid var(--line)}
.lg-d li:first-child{border-top:0}
.lg-d b{font:800 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
@media(min-width:640px){.lg-d li{grid-template-columns:170px 1fr}}
.lg-l{display:grid;gap:8px;padding-left:20px;list-style:disc}

@media(min-width:900px){.ft .wrap{grid-template-columns:1fr;align-items:start}}

.ft{padding:22px 0}
.ft-b{padding-top:0;border-top:0}

/* ===== Cabecera en dos niveles ===== */
.topbar{background:#0B1F3A;color:#EAF0F8;font-size:.84rem;position:relative;z-index:51}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:36px;gap:16px}
.topbar a{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-weight:600;transition:color .2s}
.topbar a:hover{color:var(--or2)}
.topbar .i{width:16px;height:16px}
.tb-l{display:flex;align-items:center;gap:22px}
.tb-l a.tb-in{width:28px;height:28px;border-radius:50%;justify-content:center;background:rgba(255,255,255,.12)}
.tb-l a.tb-in:hover{background:var(--or);color:#0B1F3A}
@media(max-width:719px){.topbar{display:none}}
.hdr{background:#fff;box-shadow:0 1px 0 var(--line)}
.hdr.stuck{background:#fff}
.hdr .wrap{justify-content:space-between}
.nav a{font-size:1rem;font-weight:600;padding:10px 4px;margin-left:26px;border-radius:0;color:var(--ink);background:none!important;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav a:hover{color:var(--orink)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:var(--ink);background:none;box-shadow:none}
@media(min-width:1100px){.nav{display:flex;gap:0;margin-left:auto}}

/* ===== Títulos de página: mismo tamaño en todas ===== */
.ph h1,.ph-ia h1,h1.h2{font-size:clamp(2.1rem,4.6vw,3.3rem);line-height:1.08;letter-spacing:-.03em;font-weight:780;max-width:20ch}

/* ===== Selector de idioma ===== */
.tb-r{display:flex;align-items:center}
.lang{position:relative}
.lang-b{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 11px 0 9px;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:inherit;font:inherit;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:background .2s,color .2s}
.lang-b .i{width:16px;height:16px}
.lang-b .chev{width:10px;height:10px;transition:transform .2s}
.lang-b[aria-expanded="true"] .chev{transform:rotate(180deg)}
.lang-b:hover,.lang-b[aria-expanded="true"]{background:var(--or);color:#0B1F3A}
.lang-b:focus-visible{outline:2px solid var(--or2);outline-offset:2px}
.lang-m{position:absolute;right:0;top:calc(100% + 8px);min-width:160px;margin:0;padding:6px;list-style:none;background:#fff;border-radius:14px;box-shadow:0 0 0 1px var(--line),0 14px 30px -10px rgba(11,31,58,.35);display:none;z-index:60}
.lang.open .lang-m{display:block}
.topbar .lang-m a{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:9px;color:var(--ink);font-weight:650}
.topbar .lang-m a:hover{background:var(--bg);color:var(--ink)}
.topbar .lang-m a[aria-current]{color:var(--orink)}
.topbar .lang-m a[aria-current]::after{content:"✓";font-weight:800}
.mn-lang{display:flex;gap:8px;padding-top:16px}
.mnav .mn-lang a{flex:1;text-align:center;padding:10px 6px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:650}
.mnav .mn-lang a[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}
