@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:400;src:url(../assets/fonts/manrope-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:500;src:url(../assets/fonts/manrope-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:600;src:url(../assets/fonts/manrope-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-display:swap;font-weight:800;src:url(../assets/fonts/manrope-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Chakra Petch';font-style:normal;font-display:swap;font-weight:500;src:url(../assets/fonts/chakra-petch-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Chakra Petch';font-style:normal;font-display:swap;font-weight:600;src:url(../assets/fonts/chakra-petch-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Chakra Petch';font-style:normal;font-display:swap;font-weight:700;src:url(../assets/fonts/chakra-petch-latin-700-normal.woff2) format('woff2')}
:root{
  --navy:#0A2A46; --navy2:#123A5C; --rule:#1E4A6E; --white:#FFFFFF; --ice:#D6F5FF; --ice2:#EAF9FF; --ice3:#F4FBFE;
  --rosa:#FF8FA3; --blue:#047EFF; --cyan:#01DFCA; --ink:#292929; --grey:#565655; --muted:#6F6E6E;
  --soft:#C9E6F2; --soft2:#8FA6B5; --line:#DADADA; --line2:#ECECEC; --amber:#F8B801;
  --display:"Manrope","Helvetica Neue",Arial,sans-serif;
  --rotulo:"Chakra Petch","Rajdhani",Arial,sans-serif;
  --body:"Manrope","Segoe UI",Arial,sans-serif;
  --maxw:1320px; --r:18px; --r2:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none!important;animation:none!important}}
a{color:var(--blue)}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.rot{font-family:var(--rotulo);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:12.5px}
.num{font-variant-numeric:tabular-nums}
.ico{width:18px;height:18px;display:inline-block;vertical-align:-4px;object-fit:contain}
.ms-mini{width:12px;height:12px;vertical-align:-1px;display:inline-block}
.muted{color:var(--muted)}
h2{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0;text-wrap:balance}
.cab{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.cab h2{font-size:clamp(30px,3.6vw,46px)}
.cab .rot{color:var(--blue);margin-bottom:12px}
.cab .sub{color:var(--grey);max-width:62ch;margin:12px 0 0;font-size:16.5px}
section{padding:clamp(64px,7vw,104px) 0}
/* botones */
a.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.btn{border:1.5px solid var(--navy);background:var(--white);color:var(--navy);padding:10px 16px;border-radius:999px;font-weight:700;font-size:13.5px;white-space:nowrap;line-height:1.2}
.btn.primario{background:var(--navy);color:var(--white)}
.btn.rosa{background:var(--rosa);border-color:var(--rosa);color:var(--navy)}
.btn.en-carrito{background:var(--ice);border-color:var(--ice);color:var(--navy)}
.btn.grande-h{padding:14px 24px;font-size:15px}
.btn:disabled{opacity:.5;cursor:default}
.flecha{flex:none;width:40px;height:40px;border:1.5px solid var(--line);background:#fff;color:var(--navy);border-radius:50%;display:grid;place-items:center;transition:border-color .25s,transform .45s var(--ease-out)}
.flecha:hover{border-color:var(--navy)} .flecha svg{width:14px;height:14px}

/* ── navegación fija ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background-color .3s,box-shadow .3s,transform .8s var(--ease-out),opacity .8s var(--ease-out);transform:translate3d(0,-12px,0);opacity:0}
.hero-in .nav{transform:none;opacity:1}
.nav.scrolled{background:rgba(255,255,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(10,42,70,.08)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:68px}
.nav .marca .logo{height:30px;width:auto;display:block}
.nav .links{display:flex;gap:4px;background:rgba(10,42,70,.06);padding:4px;border-radius:999px}
.nav .links a{color:var(--navy);text-decoration:none;font-size:13.5px;font-weight:700;padding:8px 14px;border-radius:999px;transition:background-color .2s var(--ease-out-quart),color .2s}
.nav .links a:hover{background:rgba(255,255,255,.9)}
.nav .links a.act{background:var(--navy);color:#fff}
.nav .der{display:flex;align-items:center;gap:10px}
.lang{display:flex;border:1.5px solid var(--line);border-radius:999px;padding:2px;background:#fff}
.lang button{background:transparent;color:var(--muted);border:0;padding:5px 10px;border-radius:999px;font-family:var(--rotulo);font-weight:600;letter-spacing:.1em;font-size:11.5px;transition:background-color .2s,color .2s}
.lang button[aria-pressed="true"]{background:var(--navy);color:#fff}
.plan-pill{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 16px 0 10px;border-radius:999px;background:var(--navy);color:#fff;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap;transition:background-color .2s,transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}
.plan-pill .pp-ico{width:24px;height:24px;border-radius:50%;background:var(--cyan);color:var(--navy);display:grid;place-items:center}
.plan-pill .v{font-family:var(--display);font-weight:800;font-size:14px;display:inline-block;transform-origin:center}
.plan-pill .k{color:var(--soft);font-weight:500;font-size:12px}
.plan-pill .sep{width:1px;height:16px;background:rgba(255,255,255,.25);margin:0 2px}
.plan-pill:not(.visible){background:#fff;color:var(--navy);border:1.5px solid var(--line);height:38px}
.plan-pill:not(.visible) .k{color:var(--muted)} .plan-pill:not(.visible) .sep{background:var(--line)}
.plan-pill:hover{box-shadow:0 12px 28px -14px rgba(10,42,70,.6)}
.burger{display:none;width:40px;height:40px;border:1.5px solid var(--line);background:#fff;border-radius:50%;place-items:center;gap:5px;flex-direction:column;justify-content:center}
.burger i{display:block;width:16px;height:2px;background:var(--navy);border-radius:2px;transition:transform .3s var(--ease-out)}
.menu-abierto .burger i:first-child{transform:translateY(3.5px) rotate(45deg)} .menu-abierto .burger i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
@media (max-width:980px){.nav .links{position:fixed;top:68px;left:16px;right:16px;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 24px 60px -24px rgba(10,42,70,.5);transform:translateY(-8px);opacity:0;pointer-events:none;transition:transform .25s var(--ease-out),opacity .25s}
  .menu-abierto .nav .links{transform:none;opacity:1;pointer-events:auto}.nav .links a{padding:12px 14px;border-radius:12px}.burger{display:flex}.plan-pill .k,.plan-pill .sep,.plan-pill #barra-m{display:none}.nav .wrap{height:62px;padding:0 16px}.nav .marca .logo{height:26px}}
@media (max-width:420px){.lang button{padding:5px 7px;font-size:11px}.nav .der{gap:6px}}

/* ── hero: blanco, aurora de marca, demo en vivo ── */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:96px 0 0;overflow:hidden;background:#fff}
.aurora{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:0;transition:opacity 1.6s var(--ease-out) .2s;pointer-events:none}
.hero-in .aurora{opacity:1}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);z-index:1;pointer-events:none}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,4vw,72px);align-items:center;width:100%;padding-bottom:clamp(40px,5vw,72px)}
.hsub{display:flex;align-items:center;gap:10px;color:var(--grey);margin-bottom:18px;transform:translate3d(0,14px,0);opacity:0;transition:transform .8s var(--ease-out) .35s,opacity .8s var(--ease-out) .35s}
.hero-in .hsub{transform:none;opacity:1}
.hsub .ms{width:16px;height:16px;display:block}
.hsub .eyebrow{font-family:var(--rotulo);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:12px;color:var(--navy)}
.hero .display{font-family:var(--display);font-weight:800;font-size:clamp(46px,6.4vw,96px);line-height:.94;letter-spacing:-.035em;margin:0;color:var(--navy);text-wrap:balance}
.hero .display>span{display:block}
.hero .display .w{display:inline-block;transition-delay:calc(var(--i,0)*55ms + 500ms)}
.hero .display .l2{color:var(--blue)}
.hero .display .l3{color:var(--navy);-webkit-text-stroke:0}
.hero .display .l3 .w{position:relative}
.hero .bajada{font-size:clamp(16px,1.25vw,19px);line-height:1.5;color:var(--grey);max-width:50ch;margin:clamp(18px,2vw,28px) 0 0}
.hbtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;transform:translate3d(0,14px,0);opacity:0;transition:transform .8s var(--ease-out) .95s,opacity .8s var(--ease-out) .95s}
.hero-in .hbtns{transform:none;opacity:1}
.hb-outline{background:#fff;border-color:var(--line);color:var(--navy);padding:14px 22px;font-size:15px}
.hb-outline:hover{border-color:var(--navy)}
.hero .datos{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;transform:translate3d(0,14px,0);opacity:0;transition:transform .8s var(--ease-out) 1.1s,opacity .8s var(--ease-out) 1.1s}
.hero-in .datos{transform:none;opacity:1}
.hero .dato{display:inline-flex;align-items:baseline;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);white-space:nowrap}
.hero .dato .v{font-family:var(--display);font-weight:800;font-size:15px;line-height:1;color:var(--navy)}
.hero .dato .k{color:var(--grey);font-size:12px;line-height:1.2}
.h-der{position:relative;min-height:420px;display:grid;place-items:center;transform:translate3d(0,24px,0) scale(.97);opacity:0;transition:transform 1.1s var(--ease-out) .7s,opacity 1.1s var(--ease-out) .7s}
.hero-in .h-der{transform:none;opacity:1}
.demo{position:relative;z-index:2;width:min(100%,520px);background:rgba(255,255,255,.78);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(10,42,70,.1);border-radius:24px;padding:20px 22px 22px;box-shadow:0 30px 80px -40px rgba(10,42,70,.55),0 1px 0 rgba(255,255,255,.8) inset;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
.demo.salida{opacity:0;transform:translateY(-8px) scale(.985)}
.demo-cab{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.demo-cab .ico{width:22px;height:22px;vertical-align:0}
.demo-cab .rot{color:var(--navy);font-size:11.5px}
.demo-ind{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46%}
.demo-prompt{display:flex;align-items:flex-start;gap:6px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:16px;font-weight:600;color:var(--navy);min-height:58px;line-height:1.35}
.demo-prompt .caret{display:inline-block;width:2px;height:1.1em;background:var(--blue);margin-top:2px;animation:caret 1s steps(2) infinite;flex:none}
@keyframes caret{50%{opacity:0}}
.demo.listo .caret{display:none}
.demo-ans{display:grid;gap:8px;margin-top:12px;min-height:150px}
.d-item{display:flex;align-items:flex-start;gap:10px;background:var(--ice3);border:1px solid #D9EEF6;border-radius:12px;padding:10px 12px;font-size:13.5px;color:var(--ink);line-height:1.4;opacity:0}
.d-item .ico{width:20px;height:20px;flex:none;vertical-align:0;margin-top:1px}
.flotantes{position:absolute;inset:0;z-index:1;pointer-events:none}
.flot{position:absolute;width:58px;height:58px;border-radius:16px;background:#fff;border:1px solid rgba(10,42,70,.08);box-shadow:0 18px 40px -22px rgba(10,42,70,.5);display:grid;place-items:center;transform:translate3d(var(--px,0px),var(--py,0px),0);transition:transform .9s var(--ease-out);animation:flotar var(--fl,6s) ease-in-out var(--dl,0s) infinite}
.flot img{width:30px;height:30px;display:block}
@keyframes flotar{0%,100%{margin-top:0}50%{margin-top:-10px}}
.marquee{position:relative;z-index:2;overflow:hidden;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:#fff;padding:14px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .track{display:flex;gap:40px;width:max-content;animation:marquee 46s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.mq-item{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:var(--navy);white-space:nowrap}
.mq-item .ico{width:22px;height:22px;vertical-align:0}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:28px}.h-der{min-height:0}.flot{width:46px;height:46px;border-radius:12px}.flot img{width:24px;height:24px}.hero{padding-top:84px}}
@media (max-width:560px){.hero .display{font-size:clamp(40px,11vw,56px)}.demo{padding:16px}.demo-ans{min-height:120px}.flotantes{display:none}}
@media (prefers-reduced-motion:reduce){.nav,.hsub,.hbtns,.hero .datos,.h-der,.aurora{transform:none!important;opacity:1!important;transition:none!important}.marquee .track{animation:none}.flot{animation:none}.d-item{opacity:1}}

/* ── el explorador ── */
.explorar{padding-top:clamp(48px,5vw,72px)}
.modo{position:relative;display:inline-flex;gap:2px;background:var(--ice2);padding:4px;border-radius:999px;align-self:flex-end}
.modo button{position:relative;z-index:1;background:transparent;border:0;color:var(--navy);padding:10px 18px;border-radius:999px;font-weight:700;font-size:13.5px;transition:color .2s}
.modo button[aria-selected="true"]{color:#fff}
.modo-ind{position:absolute;top:4px;bottom:4px;left:4px;width:0;background:var(--navy);border-radius:999px;z-index:0}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.tile{position:relative;display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;gap:2px 12px;align-items:center;text-align:left;background:#fff;border:1.5px solid var(--line2);border-radius:var(--r);padding:16px 16px 16px 14px;color:var(--navy);transition:border-color .2s var(--ease-out-quart),transform .5s var(--ease-out),box-shadow .5s var(--ease-out),background-color .2s}
.tile .t-ico{grid-row:1/3;width:44px;height:44px;border-radius:12px;background:var(--ice2);display:grid;place-items:center}
.tile .t-ico .ico{width:24px;height:24px;vertical-align:0}
.tile .t-n{font-weight:800;font-size:14.5px;line-height:1.2;letter-spacing:-.01em}
.tile .t-c{font-size:12px;color:var(--muted)}
.tile .t-check{position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;transform:scale(0);transition:transform .35s var(--ease-out)}
.tile[aria-pressed="true"]{border-color:var(--navy);background:var(--ice2)}
.tile[aria-pressed="true"] .t-check{transform:scale(1)}
.tile[aria-pressed="true"] .t-ico{background:#fff}
.tile-area .t-ico{background:#fff;border:1.5px solid var(--line2)}
.pa-bg-ventas{box-shadow:inset 0 0 0 2px var(--blue)}.pa-bg-marketing{box-shadow:inset 0 0 0 2px var(--rosa)}.pa-bg-finanzas{box-shadow:inset 0 0 0 2px #117865}.pa-bg-rrhh{box-shadow:inset 0 0 0 2px var(--amber)}.pa-bg-operaciones{box-shadow:inset 0 0 0 2px var(--navy)}.pa-bg-servicio{box-shadow:inset 0 0 0 2px var(--cyan)}.pa-bg-ti{box-shadow:inset 0 0 0 2px #5B6BFF}.pa-bg-legal{box-shadow:inset 0 0 0 2px #7A3E9D}.pa-bg-direccion{box-shadow:inset 0 0 0 2px #FF6A3D}
.tile-todos{grid-template-columns:1fr;background:var(--navy);color:#fff;border-color:var(--navy)}
.tile-todos .t-c{color:var(--soft)}
@media (hover:hover) and (pointer:fine){.tile:hover{transform:translateY(-3px);box-shadow:0 20px 40px -24px rgba(10,42,70,.45);border-color:var(--soft2)}.tile-todos:hover{background:var(--navy2)}}
@media (max-width:560px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile{min-width:0}.tile .t-n{overflow-wrap:anywhere}.tile{grid-template-columns:36px 1fr;padding:12px}.tile .t-ico{width:36px;height:36px}.tile .t-n{font-size:13px}.modo{align-self:flex-start}}

/* ── el catálogo: tarjetas ── */
.casos{padding-top:clamp(40px,4vw,64px);background:linear-gradient(to bottom,#fff,var(--ice3) 20%,var(--ice3) 80%,#fff)}
.casos .cab{align-items:flex-start}
.herr{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:280px}
.sel{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.chip-sel{display:inline-flex;align-items:center;gap:7px;background:var(--navy);color:#fff;border:0;padding:7px 10px 7px 10px;border-radius:999px;font-size:12.5px;font-weight:700}
.chip-sel .ico{width:16px;height:16px;vertical-align:0;background:#fff;border-radius:4px;padding:1px}
.chip-sel .pa{margin:0}
.chip-sel .x{color:var(--cyan);font-size:15px;line-height:1;margin-left:2px}
.chip-sel.chip-nov{background:var(--blue)}
.buscar{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:999px;padding:0 14px;background:#fff;color:var(--muted);transition:border-color .25s,box-shadow .25s}
.buscar:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(4,126,255,.15)}
#buscar{border:0;outline:0;background:transparent;font-family:inherit;font-size:14px;padding:10px 0;min-width:240px;color:var(--ink)}
.herr .cuenta{color:var(--muted);font-size:13px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line2);border-radius:var(--r);padding:20px 20px 18px;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .3s}
.c-top{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px}
.c-area{font-family:var(--rotulo);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--navy);font-size:11.5px}
.c-ind{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card h3{font-family:var(--display);font-weight:800;font-size:19px;line-height:1.2;letter-spacing:-.015em;margin:2px 0 0;color:var(--navy);cursor:pointer;text-wrap:balance}
.card h3:hover{color:var(--blue)}
.c-dolor{margin:0;color:var(--grey);font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.c-apps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}
.c-apps .app{width:30px;height:30px;border-radius:9px;background:var(--ice3);border:1px solid #E3EEF4;display:grid;place-items:center}
.c-apps .app .ico{width:18px;height:18px;vertical-align:0}
.c-apps .app b{font-size:12px;color:var(--navy)}
.c-agente,.nov-tag{font-family:var(--rotulo);font-weight:600;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:var(--navy);color:var(--cyan)}
.nov-tag{background:var(--ice);color:var(--navy)}
.c-kpi{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--grey);line-height:1.35;padding-top:10px;border-top:1px dashed var(--line2);margin-top:auto}
.c-kpi b{font-family:var(--display);font-weight:800;font-size:17px;color:var(--navy);white-space:nowrap}
.c-pie{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:4px}
.c-roi .v{display:block;font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.01em;color:var(--navy);line-height:1}
.c-roi .k{font-size:11.5px;color:var(--muted)}
.c-acc{display:flex;gap:6px}
.c-acc .btn{padding:9px 13px;font-size:12.5px}
.cards-vacio{grid-column:1/-1;color:var(--grey);padding:36px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:var(--r)}
.mas-w{display:flex;justify-content:center;margin-top:28px}
.mas-w .btn{padding:13px 24px;font-size:14px}
@media (hover:hover) and (pointer:fine){.card:hover{transform:translateY(-4px);box-shadow:0 28px 56px -30px rgba(10,42,70,.5);border-color:var(--soft)}}
@media (max-width:1100px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.cards{grid-template-columns:1fr}.herr{align-items:stretch;min-width:0;width:100%}.sel{justify-content:flex-start}#buscar{min-width:0;width:100%}.buscar{width:100%}}

/* ── lo nuevo de Copilot: carril horizontal ── */
.novedades{overflow:hidden}
.nv-nav{display:flex;gap:8px}
.nv-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px max(28px,calc((100vw - var(--maxw)) / 2 + 28px)) 24px;-webkit-overflow-scrolling:touch}
.nv-track::-webkit-scrollbar{display:none}
.nv-card{flex:0 0 min(380px,82vw);scroll-snap-align:start;display:flex;flex-direction:column;gap:12px;background:var(--navy);color:#fff;border-radius:var(--r);padding:24px;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.nv-card:nth-child(even){background:var(--ice2);color:var(--navy)}
.nv-cab{display:flex;align-items:center;justify-content:space-between;gap:10px}
.nv-ico{width:52px;height:52px;border-radius:14px;background:#fff;display:grid;place-items:center}
.nv-ico .ico{width:30px;height:30px;vertical-align:0}
.nv-tag{color:var(--cyan);font-size:11px}
.nv-card:nth-child(even) .nv-tag{color:var(--blue)}
.nv-card h3{font-family:var(--display);font-weight:800;font-size:22px;line-height:1.1;letter-spacing:-.02em;margin:4px 0 0}
.nv-card p{margin:0;font-size:14px;line-height:1.5;color:var(--soft)}
.nv-card:nth-child(even) p{color:var(--grey)}
.nv-meta{display:flex;flex-direction:column;gap:4px;font-size:12.5px;margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.15)}
.nv-card:nth-child(even) .nv-meta{border-color:rgba(10,42,70,.12)}
.nv-estado{font-weight:700} .nv-lic{opacity:.8}
.nv-pie{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:12.5px}
.nv-n{font-weight:800;color:var(--cyan)} .nv-card:nth-child(even) .nv-n{color:var(--blue)}
.nv-fuente{color:inherit;opacity:.75;text-decoration:none;font-size:11.5px}
.nv-fuente:hover{opacity:1;text-decoration:underline}
.nv-ver{margin-left:auto;background:#fff;color:var(--navy);border-color:#fff;padding:8px 12px;font-size:12.5px}
.nv-card:nth-child(even) .nv-ver{background:var(--navy);color:#fff;border-color:var(--navy)}
.novedades .nota{color:var(--muted);font-size:12.5px;max-width:80ch;margin:8px 0 0}
@media (hover:hover) and (pointer:fine){.nv-card:hover{transform:translateY(-4px);box-shadow:0 28px 56px -30px rgba(10,42,70,.55)}}

/* ── ficha: una columna, pestañas ── */
dialog.ficha{border:0;padding:0;width:min(760px,96vw);max-height:92vh;background:#fff;color:var(--ink);border-radius:24px;overflow:hidden;box-shadow:0 40px 100px -40px rgba(10,42,70,.7)}
dialog.ficha::backdrop{background:rgba(10,42,70,.55);backdrop-filter:blur(6px)}
.ficha .cuerpo{max-height:92vh;overflow:auto;position:relative}
.ficha canvas.ensamble{position:absolute;left:0;top:0;pointer-events:none;z-index:3}
.ficha .cerrar{position:absolute;top:14px;right:14px;z-index:8;background:#fff;color:var(--navy);border:1.5px solid var(--line);width:40px;height:40px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
.ficha .cerrar:hover{border-color:var(--navy)}
.f-cab{position:relative;padding:30px 32px 18px;background:linear-gradient(to bottom,var(--ice2),#fff)}
.f-cab .eyebrow{color:var(--navy);display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-right:48px}
.f-cab .eyebrow .ico{width:16px;height:16px;vertical-align:0}
.ficha h2{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.6vw,32px);line-height:1.08;letter-spacing:-.02em;margin:10px 0 14px;color:var(--navy)}
.f-apps{display:flex;flex-wrap:wrap;gap:6px}
.f-apps .app{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line2);border-radius:999px;padding:5px 10px 5px 6px;font-size:12.5px;font-weight:600;color:var(--navy)}
.f-apps .app .ico{width:16px;height:16px;vertical-align:0}
.f-apps .c-agente{padding:5px 10px}
.f-cifras{display:flex;gap:28px;margin-top:16px;flex-wrap:wrap}
.f-cifra .v{display:block;font-family:var(--display);font-weight:800;font-size:28px;letter-spacing:-.02em;color:var(--navy);line-height:1}
.f-cifra .k{font-size:12.5px;color:var(--muted)}
.f-cifra.kpi .v{color:var(--blue)}
.f-cifra.kpi .k{max-width:36ch;display:block}
.f-tabs{position:sticky;top:0;z-index:5;display:flex;gap:2px;background:#fff;padding:10px 32px;border-bottom:1px solid var(--line2)}
.f-tabs [role=tab]{position:relative;z-index:1;background:transparent;border:0;color:var(--navy);padding:9px 14px;border-radius:999px;font-weight:700;font-size:13.5px;transition:color .2s}
.f-tabs [role=tab][aria-selected="true"]{color:#fff}
.f-pill{position:absolute;top:10px;height:calc(100% - 20px);left:32px;width:0;background:var(--navy);border-radius:999px;z-index:0}
.f-panel{padding:22px 32px 10px}
.f-panel[hidden]{display:none}
.ficha .dolor{font-size:17px;line-height:1.45;color:var(--navy);border-left:3px solid var(--rosa);padding-left:14px;margin:0 0 18px}
.ficha .que{color:var(--grey);font-size:15px;margin:0 0 18px;line-height:1.55}
.ficha dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:14px}
.ficha dt{color:var(--muted)} .ficha dd{margin:0;color:var(--ink)}
.ficha dd .app{display:inline-flex;align-items:center;gap:6px;margin:0 8px 6px 0;font-weight:600;color:var(--navy);font-size:13.5px}
#ficha-kpi b{font-family:var(--display);font-weight:800;font-size:18px;color:var(--navy)}
#ficha-kpi small{color:var(--muted);font-size:12px}
.f-nota{display:block;color:var(--muted);font-size:12px;margin-top:12px;max-width:60ch}
.f-pie{position:sticky;bottom:0;display:flex;gap:10px;justify-content:flex-end;padding:14px 32px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-top:1px solid var(--line2);margin-top:14px}
.f-pie .volver{background:transparent;border-color:var(--line);color:var(--navy)}
.f-pie .volver:hover{border-color:var(--navy)}
#ficha-agregar{padding:12px 20px;font-size:14px}
#ficha-valor{display:inline-block;transition:transform .35s var(--ease-out)} #ficha-valor.tick{transform:scale(1.08)}
@media (max-width:560px){.f-cab,.f-tabs,.f-panel,.f-pie{padding-left:18px;padding-right:18px}.f-pill{left:18px}.f-tabs [role=tab]{padding:9px 10px;font-size:12.5px}}

.calc{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.calc .fila-d{display:grid;grid-template-columns:1fr 130px 72px;gap:12px;align-items:center;padding:6px 0}
.calc label{font-size:13.5px;color:var(--grey)}
.calc input[type=range]{width:100%;accent-color:var(--blue)}
.calc .v{text-align:right;font-weight:700}
.desglose{margin-top:12px;border-top:1px solid var(--line)}
.desglose .l{display:grid;grid-template-columns:1fr auto;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px}
.desglose .l .n{color:var(--grey)} .desglose .l .u{color:var(--muted);font-size:12px;display:block}
.desglose .l .m{font-weight:700;white-space:nowrap}
.desglose .tot{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 0 0;align-items:baseline}
.desglose .tot .m{font-family:var(--display);font-weight:800;font-size:26px}
.desglose .tot .k{color:var(--muted);font-size:13px}

.genia{position:relative;overflow:hidden}
.gob-divisor{background:var(--white);padding:clamp(56px,6vw,96px) 0 clamp(40px,4vw,64px)}
.gob-divisor .eyebrow{color:var(--blue);margin-bottom:22px}
.gob-display{font-family:var(--display);font-weight:800;font-size:clamp(40px,6.6vw,112px);line-height:.96;letter-spacing:-.03em;margin:0;display:grid;gap:0}
.gob-display>span{display:block}
.gob-display .l1{color:var(--ink)}
.gob-display .l2{position:relative;z-index:0;color:var(--white);padding:.04em 0}
.gob-display .l2::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease-out) .12s}
.gob-display.in .l2::before{transform:scaleX(1)}
.gob-display .l3{-webkit-text-stroke:2px var(--navy);color:transparent}
.gob-display .w{transition-delay:calc(var(--i,0)*70ms + 120ms)}
.genia .manifiesto{font-family:var(--display);font-weight:800;font-size:clamp(20px,2vw,29px);line-height:1.25;letter-spacing:-.015em;color:var(--navy);max-width:34ch;margin:clamp(26px,3vw,44px) 0 0;text-wrap:balance}
.gob-modelo{padding:clamp(28px,3vw,48px) 28px clamp(56px,5vw,80px)}
.genia .cab{margin-bottom:26px}
.genia .cab .rot{color:var(--blue);margin-bottom:10px}
.genia .cab .sub{max-width:64ch}
.gob-roadmap{background:var(--ice);padding:clamp(56px,6vw,88px) 0 clamp(64px,6vw,96px)}
.gob-roadmap .cab .sub{color:var(--grey)}
.r-vacio-gob{color:var(--navy2);font-size:14.5px;margin:0 0 18px;padding-left:12px;border-left:3px solid var(--blue);max-width:60ch}
.et{position:relative;padding-top:8px;transition:margin-top .5s var(--ease-out)}
/* la etapa se enciende cuando la línea, trazada con el scroll, la alcanza: el óvalo crece y el texto pasa de apagado a pleno */
.et>*:not(.ov){opacity:.32;transition:opacity .35s var(--ease-out-quart)}
@keyframes ping{0%{opacity:1;transform:scale(.97)}100%{opacity:0;transform:scale(1.06)}}
.pip{width:12px;height:12px;border-radius:50%;border:2px solid var(--blue);display:block;transition:background-color .2s var(--ease-out-quart),border-color .2s var(--ease-out-quart),transform .35s var(--ease-out)}
.pip.on{background:var(--blue)} .pip.pend{border-color:var(--amber)} .pip.final{border-color:#fff} .pip.final.on{background:#fff}
@media (hover:hover) and (pointer:fine){.pips:hover .pip{transform:translateY(-1px)}}
.ancla{margin-top:40px;background:#fff;border:1px solid #B9D8E6;border-left:4px solid var(--blue);padding:22px 26px;display:grid;grid-template-columns:1fr auto;gap:12px 28px;align-items:center;border-radius:2px}
.ancla .rot{color:var(--blue);margin-bottom:6px}
.ancla .d{color:var(--navy);font-size:15.5px;line-height:1.5}
.ancla .d b{font-weight:800}
.ancla .seg{color:var(--grey);font-size:13.5px;margin-top:6px}
.ancla .seg.off{color:#8A5A00}
.ancla .btn.grande{width:auto;min-width:300px;box-shadow:0 18px 40px -22px rgba(10,42,70,.8)}
.ancla .btn.grande .num{color:var(--cyan)}
@media (max-width:720px){.ancla .btn.grande{width:100%}}


.pips{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule);text-decoration:none;color:var(--soft);font-size:13px}
.pips .rot{color:var(--cyan)}
.pips-row{display:inline-flex;gap:6px;align-items:center}
.pip{width:12px;height:12px;border-radius:50%;border:2px solid var(--blue);display:block;transition:background-color .2s var(--ease-out-quart),border-color .2s var(--ease-out-quart),transform .35s var(--ease-out)}
.pip.on{background:var(--blue)} .pip.pend{border-color:var(--amber)} .pip.final{border-color:#fff} .pip.final.on{background:#fff}
.pips-t{flex:1 1 200px} .pips-ver{color:var(--soft2);white-space:nowrap;transition:color .25s}
.pips:hover .pips-ver{color:#fff}
@media (hover:hover) and (pointer:fine){.pips:hover .pip{transform:translateY(-1px)}}

/* ── carrito ── */
.carrito{background:var(--navy);color:#fff;padding:clamp(64px,7vw,104px) 0}
.carrito .cab .rot{color:var(--cyan)} .carrito .cab .sub{color:var(--soft)} .carrito .cab h2{color:#fff}
.carrito h2{font-family:var(--display);font-weight:800;font-size:clamp(30px,4vw,54px);line-height:1;letter-spacing:-.02em;margin:0 0 8px;text-wrap:balance}
.carrito .sub{color:var(--soft);max-width:60ch;margin:0 0 30px;font-size:17px}
.carrito .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px}
.items{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.items li{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--rule)}
.items .t{font-weight:700} .items .s{color:var(--soft2);font-size:13px}
.items .m{font-weight:700;white-space:nowrap}
.items button{background:transparent;border:1px solid var(--rule);color:var(--soft2);border-radius:2px;padding:5px 9px;font-size:12px}
.vacio{color:var(--soft2);padding:30px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.panel{background:var(--navy2);border:1px solid var(--rule);padding:22px 24px;border-radius:2px}
.panel + .panel{margin-top:16px}
.panel h3{font-family:var(--display);font-weight:800;font-size:19px;margin:0 0 10px;letter-spacing:-.01em}
.panel .rot{color:var(--cyan)}
.buckets{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.bucket{border-top:2px solid var(--cyan);padding-top:10px}
.bucket .v{font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.01em}
.bucket .k{color:var(--soft2);font-size:12.5px;margin-top:2px}
.bucket.lic{border-color:var(--soft)} .bucket.cc{border-color:var(--cyan)} .bucket.azure{border-color:var(--blue)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
.dos .col h4{margin:0 0 8px;font-family:var(--rotulo);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:12.5px}
.dos .col.fin h4{color:var(--rosa)} .dos .col.csp h4{color:var(--cyan)}
.dos ul{margin:0;padding-left:18px;color:var(--soft);font-size:14px}
.dos li{margin:4px 0}
.dos .cero{font-family:var(--display);font-weight:800;font-size:38px;color:var(--rosa);line-height:1;margin:6px 0 4px}
.dos .cifra{font-family:var(--display);font-weight:800;font-size:38px;color:#fff;line-height:1;margin:6px 0 4px}
.prog{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:12px 0;border-top:1px solid var(--rule)}
.prog .talla{font-family:var(--display);font-weight:800;font-size:44px;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--white);min-width:74px}
.prog .talla.ok{color:var(--white);-webkit-text-stroke:0}
.prog .n{font-weight:700}
.prog .d{color:var(--soft2);font-size:13.5px;margin-top:2px}
.prog .d b{color:var(--soft)}
.prog .falta{color:var(--amber)}
.seats{display:flex;align-items:center;gap:12px;margin:8px 0 4px;font-size:14px;color:var(--soft)}
.seats input{width:110px;background:var(--navy);color:#fff;border:1px solid var(--rule);padding:6px 8px;border-radius:2px;font-family:inherit;font-size:14px}
.nota{color:var(--soft2);font-size:12.5px;line-height:1.45;margin-top:12px}
.seats label.mk{margin-left:14px}
.seats select.mk{background:var(--navy);color:#fff;border:1px solid var(--rule);padding:6px 8px;border-radius:2px;font-family:inherit;font-size:14px}
.prog .inv{color:var(--cyan);font-weight:700;font-size:13.5px;margin-top:4px}
.prog .inv.pend{color:var(--soft2);font-weight:600}
.fin-sub{color:var(--soft);font-size:14px;margin:-2px 0 10px;line-height:1.4} .fin-sub b{color:#fff}
@media (max-width:900px){.carrito .grid{grid-template-columns:1fr}.buckets{grid-template-columns:1fr}.dos{grid-template-columns:1fr}}

.checkout{margin-top:18px;display:grid;gap:12px}
.btn.grande{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-size:16px;width:100%;box-shadow:0 18px 40px -22px rgba(255,143,163,.7)}
.btn.grande .num{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.01em}
.btn.grande[aria-disabled="true"]{opacity:.35;pointer-events:none;box-shadow:none}
.checkout .volver{color:var(--soft2);font-size:13.5px;text-align:center;text-decoration:none;transition:color .25s}
.checkout .volver:hover{color:#fff}

/* ── formulario ── */
.solicitud{background:var(--ice);padding:64px 0 80px}
.solicitud h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,3.4vw,44px);line-height:1.05;letter-spacing:-.02em;margin:0 0 8px;color:var(--navy);text-wrap:balance}
.solicitud .sub{color:var(--grey);max-width:60ch;margin:0 0 26px}
.solicitud .grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.form label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--grey);font-weight:600}
.form input,.form select,.form textarea{font-family:inherit;font-size:15px;padding:10px 12px;border:1px solid #B9D8E6;background:#fff;border-radius:2px;color:var(--ink)}
.form textarea{min-height:84px;resize:vertical}
.form .ancho{grid-column:1/-1}
.form .acciones{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}
.form .estado{font-size:13.5px;color:var(--navy)}
.resumen{background:#fff;border:1px solid #B9D8E6;padding:22px 24px;border-radius:2px;font-size:14px}
.resumen h3{margin:0 0 10px;font-family:var(--display);font-weight:800;font-size:18px;color:var(--navy)}
.resumen pre{white-space:pre-wrap;font-family:var(--body);margin:0;color:var(--grey);line-height:1.5}
/* ── formulario con envío (equipo de desarrollo, sep-2026): validación por campo, estado, confirmación y resumen con formato ── */
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none} /* campo trampa para bots: los humanos no lo ven */
/* validación amable: foco claro, error por campo, estado de envío y confirmación */
.form-wrap{position:relative}
.form[hidden],.enviado[hidden]{display:none}
.form label.req>span::after{content:" *";color:var(--blue);font-weight:800}
.form input,.form select,.form textarea{transition:border-color .25s var(--ease-out-quart),box-shadow .25s var(--ease-out-quart),background-color .25s}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(4,126,255,.15);outline:0}
.form label.invalid input,.form label.invalid select,.form label.invalid textarea{border-color:#D93A5B;background:#FFF6F8}
.form label.invalid input:focus,.form label.invalid textarea:focus{box-shadow:0 0 0 3px rgba(217,58,91,.16)}
.form label.valid input,.form label.valid textarea{border-color:#26B99A;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%2326B99A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px;padding-right:34px}
.form .err{display:none;font-size:12.5px;font-weight:500;line-height:1.35;color:#C22E4F}
.form label.invalid .err{display:block;animation:err-in .32s var(--ease-out) both}
.form label.invalid.sacudir{animation:sacudir .4s var(--ease-out)}
@keyframes err-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes sacudir{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
.form .acciones{align-items:center;gap:14px}
.btn.enviar{padding:13px 26px;font-size:15px;display:inline-flex;align-items:center;box-shadow:0 14px 30px -18px rgba(10,42,70,.8)}
.btn .spin{display:none;width:15px;height:15px;margin-right:9px;vertical-align:-3px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:girar .7s linear infinite}
.btn.cargando{pointer-events:none;opacity:.88}.btn.cargando .spin{display:inline-block}
@keyframes girar{to{transform:rotate(360deg)}}
.form .estado{margin:0;font-size:13.5px;font-weight:600;color:var(--navy);flex:1 1 220px}
.form .estado:empty{display:none}
.form .estado.error{color:#C22E4F;padding-left:12px;border-left:3px solid #D93A5B}
.form .estado.aviso{color:var(--navy2)}
.enviado{background:#fff;border:1px solid #B9D8E6;border-top:4px solid var(--cyan);padding:38px 30px 34px;border-radius:2px;text-align:center;animation:err-in .5s var(--ease-out) both}
.enviado .check{width:68px;height:68px;border-radius:50%;background:var(--navy);display:grid;place-items:center;margin:0 auto 18px;animation:pop .55s var(--ease-out) .05s both}
.enviado .check path{stroke-dasharray:40;stroke-dashoffset:40;animation:trazo .5s var(--ease-out) .35s forwards}
@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@keyframes trazo{to{stroke-dashoffset:0}}
.enviado h3{margin:0 0 8px;font-family:var(--display);font-weight:800;font-size:clamp(22px,2.6vw,30px);letter-spacing:-.02em;color:var(--navy)}
.enviado .d{margin:0 auto 18px;max-width:46ch;color:var(--grey);line-height:1.5}
.enviado .d b{color:var(--navy)}
.enviado .datos{list-style:none;margin:0 auto 24px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.enviado .datos li{background:var(--ice2);border:1px solid var(--soft);border-radius:2px;padding:6px 12px;font-size:13px;color:var(--navy2)}
.enviado .datos li b{font-weight:800;color:var(--navy)}
@media (prefers-reduced-motion:reduce){.form label.invalid.sacudir,.enviado,.enviado .check,.form label.invalid .err{animation:none}.enviado .check path{stroke-dashoffset:0;animation:none}}
.resumen{background:#fff;border:1px solid #B9D8E6;padding:22px 24px;border-radius:2px;font-size:14px}
.resumen h3{margin:0 0 10px;font-family:var(--display);font-weight:800;font-size:18px;color:var(--navy)}
/* resumen con formato */
.resumen .ph{color:var(--soft2);font-weight:500}
.r-contacto{padding:12px 14px;background:var(--ice2);border-radius:2px;margin-bottom:16px}
.r-org{font-family:var(--display);font-weight:800;font-size:17px;color:var(--navy);line-height:1.2}
.r-persona{font-size:13px;color:var(--grey);margin-top:3px;overflow-wrap:anywhere}
.r-vacio{margin:0;color:var(--muted)}
.r-sec{font-family:var(--rotulo);font-weight:600;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--soft)}
.r-casos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.r-caso{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:start;padding:10px 12px;border:1px solid #E3EEF4;border-radius:2px;background:#fff}
.r-caso .punto{width:10px;height:10px;border-radius:50%;margin-top:5px;display:block}
.r-caso .r-t{font-weight:700;color:var(--navy);line-height:1.3}
.r-caso .r-k{font-size:12.5px;color:var(--muted);margin-top:2px}
.r-caso .r-v{font-family:var(--display);font-weight:800;color:var(--navy);white-space:nowrap}
.r-buckets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.r-bucket{padding:9px 10px;border:1px solid #E3EEF4;border-top:3px solid var(--soft);border-radius:2px;background:#fff}
.r-bucket.cc{border-top-color:var(--cyan)} .r-bucket.azure{border-top-color:var(--blue)} .r-bucket.seg{border-top-color:var(--navy2)}
.r-bucket .v{font-family:var(--display);font-weight:800;font-size:15px;color:var(--navy);white-space:nowrap}
.r-bucket .k{font-size:11px;color:var(--muted);line-height:1.3;margin-top:2px}
.r-total{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:12px;padding:14px 16px;background:var(--navy);color:#fff;border-radius:2px}
.r-total .k{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft2)}
.r-total .v{font-family:var(--display);font-weight:800;font-size:26px;line-height:1.1;margin-top:2px}
.r-total .v small{font-size:13px;font-weight:600;color:var(--soft2);margin-left:4px}
.r-total .anual{text-align:right}.r-total .anual .num{font-family:var(--display);font-weight:800;font-size:16px;color:var(--cyan)}
.r-roi{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;padding:10px 12px;background:var(--ice2);border-radius:2px;font-size:12.5px;color:var(--grey)}
.r-roi b{font-family:var(--display);font-weight:800;font-size:14px;color:var(--navy)}
.r-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:13px;color:var(--grey)} .r-meta b{color:var(--navy)}
.r-progs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.r-progs li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--grey)}
.r-progs li b{min-width:38px;text-align:center;padding:3px 6px;border-radius:2px;background:var(--line);color:var(--grey);font-size:12px;font-weight:800;letter-spacing:.04em}
.r-progs li.ok{color:var(--navy)} .r-progs li.ok b{background:var(--cyan);color:var(--navy)}
.r-msg{margin:0;color:var(--ink);line-height:1.5;border-left:3px solid var(--rosa);padding-left:12px}
@media (max-width:1100px){.r-buckets{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.solicitud .grid{grid-template-columns:1fr}.form{grid-template-columns:1fr}}

/* ── pie ── */
footer.pie{background:var(--navy);color:var(--soft2);padding:28px 0 100px;font-size:12.5px;border-top:1px solid var(--rule)}
footer.pie .wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px}
footer.pie b{color:#fff}
footer.pie .firma{display:flex;gap:16px;align-items:flex-start}
footer.pie .iso{width:44px;height:auto;flex:none;margin-top:2px}
@media (max-width:720px){footer.pie .wrap{grid-template-columns:1fr}}

/* ══════════ MOTION · sistema de movimiento ══════════ */
:root{
  --ease-out:cubic-bezier(0.16,1,0.3,1);        /* frenado ultrasuave · entradas y retorno magnético */
  --ease-out-quart:cubic-bezier(0.25,1,0.5,1);   /* hovers y cambios de estado */
  --ease-in-out:cubic-bezier(0.65,0,0.35,1);     /* diálogo y barra */
  --d-fast:.28s; --d-base:.7s; --d-slow:.95s;
}
/* 1 · reveal up (20 px + opacidad), con escalonado por --i */
.rv{opacity:0;transform:translate3d(0,20px,0);transition:opacity var(--d-base) var(--ease-out),transform var(--d-base) var(--ease-out);transition-delay:calc(var(--i,0)*70ms);will-change:opacity,transform}
.rv.in{opacity:1;transform:none}
.no-t .rv,.no-t .w{transition:none!important}
.rv.in.done{will-change:auto}
.w{display:inline-block;opacity:0;transform:translate3d(0,20px,0);transition:opacity var(--d-slow) var(--ease-out),transform var(--d-slow) var(--ease-out);transition-delay:calc(var(--i,0)*55ms + var(--d0,0ms))}
.in > .w, .in .w{opacity:1;transform:none}
.hero .display span.l1,.hero .display span.l2,.hero .display span.l3{display:block}
.hero .barras i{transform-origin:top;animation:barra 1.4s var(--ease-out) both}
.hero .barras i:last-child{animation-delay:.12s}
@keyframes barra{from{transform:scaleY(0)}to{transform:scaleY(1)}}
/* 2 · microinteracciones */
.btn{transition:background-color var(--d-fast) var(--ease-out-quart),color var(--d-fast) var(--ease-out-quart),border-color var(--d-fast) var(--ease-out-quart),box-shadow var(--d-fast) var(--ease-out-quart),transform .55s var(--ease-out)}
.btn:hover{box-shadow:0 10px 30px -14px rgba(10,42,70,.45)}
.btn:active{transform:scale(.97)!important;transition-duration:.08s}
.btn.rosa:hover{background:#FF9DAF;border-color:#FF9DAF}
.btn.primario:hover{background:var(--navy2);border-color:var(--navy2)}
.mag{will-change:transform}
.mag.moving{transition:transform .12s var(--ease-out-quart)}
.fila{transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),background-color .3s var(--ease-out-quart);border-radius:3px;padding-left:16px;padding-right:16px;margin:0 -16px}
.fila:hover{transform:scale(1.012);box-shadow:0 18px 48px -26px rgba(10,42,70,.45);background:#fff;position:relative;z-index:1}
.panel,.resumen,.bucket{transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.panel:hover,.resumen:hover{transform:scale(1.01);box-shadow:0 24px 60px -30px rgba(0,0,0,.5)}
.tabs button,.chips button,.lang button{transition:background-color var(--d-fast) var(--ease-out-quart),color var(--d-fast) var(--ease-out-quart),border-color var(--d-fast) var(--ease-out-quart),transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.chips button:hover,.inds button:hover{transform:translateY(-1px);box-shadow:0 8px 20px -12px rgba(10,42,70,.4)}.fam-base button:hover{color:var(--navy);border-color:var(--navy)}}
.items li{transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
.items li.out{opacity:0;transform:translate3d(-12px,0,0)}
.items button:hover{color:#fff;border-color:var(--soft2)}
.calc .v{display:inline-block;transition:transform .35s var(--ease-out)}
.calc .v.tick{transform:scale(1.12)}
.calc input[type=range]{transition:opacity .25s}
.prog .talla{transition:transform .6s var(--ease-out),color .3s,-webkit-text-stroke .3s}
.prog .talla.pop{animation:pop .6s var(--ease-out)}
@keyframes pop{0%{transform:scale(.8)}60%{transform:scale(1.06)}100%{transform:scale(1)}}
.num.tw{font-variant-numeric:tabular-nums}
/* diálogo */
dialog.ficha[open]{animation:ficha-in .45s var(--ease-out) both}
dialog.ficha[open]::backdrop{animation:backdrop-in .45s var(--ease-out-quart) both}
@keyframes ficha-in{from{opacity:0;transform:translate3d(0,14px,0) scale(.985)}to{opacity:1;transform:none}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
.arq g.capa{opacity:0;transform:translateY(8px);animation:capa-in .6s var(--ease-out) both;animation-delay:calc(var(--i,0)*80ms + 120ms)}
@keyframes capa-in{to{opacity:1;transform:none}}
.barra{transition:transform .45s var(--ease-out)}   /* hoja inferior: entrada con ease-out, 300–500 ms */
/* 3 · respeto a reduced motion: todo visible, sin desplazamiento */
@media (hover:none){.fila:hover,.panel:hover,.resumen:hover,.btn:hover,.flecha:hover{transform:none!important;box-shadow:none!important}}   /* sin hover en táctil */
@media (prefers-reduced-motion:reduce){
  .rv,.w,.arq g.capa{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  .hero .barras i{animation:none!important}
  dialog.ficha[open],dialog.ficha[open]::backdrop{animation:none!important}
  .fila:hover,.panel:hover,.resumen:hover{transform:none!important}
}

/* áreas: un punto de color por área (filtros, filas, ficha, matriz, resumen) */
.pa{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px;background:var(--navy)}
.pa-ventas{background:var(--blue)}.pa-marketing{background:var(--rosa)}.pa-finanzas{background:#117865}.pa-rrhh{background:var(--amber)}.pa-operaciones{background:var(--navy)}.pa-servicio{background:var(--cyan)}.pa-ti{background:#5B6BFF}.pa-legal{background:#7A3E9D}.pa-direccion{background:#FF6A3D}
.chips button .pa{margin-right:7px}
.kpi-chip{display:inline-flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-top:9px;font-size:12.5px;color:var(--navy2);background:var(--ice2);padding:4px 9px;border-radius:2px}
.kpi-chip b{font-family:var(--display);font-weight:800;font-size:14px;color:var(--navy)}
.kpi-chip span{color:var(--muted)}
.genia-caso{display:grid;gap:10px;margin-top:4px}
.genia-caso .gc{display:grid;grid-template-columns:40px 1fr;gap:12px;background:#fff;padding:12px 14px;border-radius:2px;border-left:3px solid var(--navy)}
.genia-caso .gc-b{border-left-color:var(--blue)}.genia-caso .gc-c{border-left-color:var(--cyan)}
.genia-caso .gl{font-family:var(--display);font-weight:800;font-size:34px;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--navy)}
.genia-caso .gc-b .gl{-webkit-text-stroke-color:var(--blue)}.genia-caso .gc-c .gl{-webkit-text-stroke-color:var(--cyan)}
.genia-caso .gn{font-family:var(--rotulo);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy2);margin-bottom:4px}
.genia-caso ul{margin:0;padding-left:16px;color:var(--grey);font-size:13.5px;line-height:1.5}
.genia-caso li{margin:3px 0}
.genia-caso .gm{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px}
.genia-caso .gm .rot{color:var(--navy);font-size:11px;margin-right:4px}
.genia-caso .met{background:#fff;border:1px solid #B9D8E6;padding:3px 8px;border-radius:2px;color:var(--navy2)}
.calc .corto{width:100%;font-family:inherit;font-size:14px;padding:6px 8px;border:1px solid var(--line);border-radius:2px}
.seats .corto{width:90px}
.seats{flex-wrap:wrap;row-gap:8px}
.carrito .grid>div,.solicitud .grid>div{min-width:0}
#plan{max-width:100%}
.prog.prog-sin{opacity:.55}
/* ══ GENIA · la sección ══ */
.genia .gob-divisor .eyebrow{color:var(--blue)}
.genia .gob-display .l3{-webkit-text-stroke:2px var(--navy);color:transparent}
.gps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:0 0 44px}
.gps .gps-linea{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.gps .gps-linea path{fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;stroke-dasharray:6 8}
.parada{position:relative;padding-top:4px}
.parada .pin{width:36px;height:36px;border-radius:50%;border:2px solid var(--blue);background:#fff;display:grid;place-items:center;position:relative;z-index:1;transform:scale(.5);transition:transform .5s var(--ease-out),background-color .25s var(--ease-out-quart)}
.parada .pin i{width:10px;height:10px;border-radius:50%;background:var(--blue);display:block;transition:background-color .25s}
.parada.lit .pin{transform:none}
.parada:last-child .pin{border-color:var(--navy)} .parada:last-child .pin i{background:var(--navy)}
.parada[data-k="adonde"] .pin{border-color:var(--cyan)} .parada[data-k="adonde"] .pin i{background:var(--cyan)}
.parada>*:not(.pin){opacity:.32;transition:opacity .35s var(--ease-out-quart)}
.parada.lit>*{opacity:1}
.parada .num{font-family:var(--rotulo);font-weight:600;font-size:12.5px;letter-spacing:.1em;color:var(--navy2);margin:14px 0 4px}
.parada h3{font-family:var(--display);font-weight:800;font-size:24px;line-height:1.05;letter-spacing:-.02em;color:var(--navy);margin:0}
.parada p{color:var(--grey);font-size:14.5px;line-height:1.5;margin:10px 0 0}
.parada .pc{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:13px;line-height:1.45;color:var(--navy);transition:opacity .2s var(--ease-out-quart)}
.parada .pc.fade{opacity:0}
.parada .pc .k,.fase .pc .k{display:block;font-family:var(--rotulo);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy2);margin-bottom:3px}
.parada .pc b{font-weight:800}
.parada.ping::after{content:"";position:absolute;inset:-10px;border:2px solid var(--cyan);border-radius:3px;pointer-events:none;animation:ping .9s var(--ease-out) both}
@keyframes ping{0%{opacity:1;transform:scale(.97)}100%{opacity:0;transform:scale(1.05)}}
.abc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;border-top:1px solid var(--line)}
.abc li{padding:26px 0 30px;border-bottom:1px solid var(--line);display:flex;gap:18px;align-items:flex-start}
.abc .cuerpo{flex:1;min-width:0}
.abc .letra{flex:none;font-family:var(--display);font-weight:800;font-size:72px;line-height:.9;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.5px var(--navy);min-width:64px}
.abc li:nth-child(2) .letra{-webkit-text-stroke-color:var(--blue)} .abc li:nth-child(3) .letra{-webkit-text-stroke-color:var(--cyan)}
.abc .guion{width:40px;height:3px;background:var(--navy);margin-top:6px}
.abc li:nth-child(2) .guion{background:var(--blue)} .abc li:nth-child(3) .guion{background:var(--cyan)}
.abc h3{font-family:var(--display);font-weight:800;font-size:22px;line-height:1.1;letter-spacing:-.015em;margin:4px 0 0;color:var(--navy)}
.abc .verbo{font-family:var(--rotulo);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-top:4px}
.abc p{margin:6px 0 0;color:var(--grey);font-size:14.5px;line-height:1.5}
.gob-roadmap{background:var(--ice)}
.dos-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
/* la matriz impacto × facilidad */
.matriz{display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:stretch}
.mat-y{writing-mode:vertical-rl;transform:rotate(180deg);color:var(--navy2);text-align:center;font-size:11.5px}
.mat-area{position:relative;aspect-ratio:1/1;background:#fff;border:1px solid #B9D8E6;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;border-radius:2px;overflow:visible}
.mat-area .cuad{padding:10px 12px;font-family:var(--rotulo);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft2);line-height:1.3}
.mat-area .q0{grid-column:2;grid-row:1;background:var(--ice2);text-align:right;color:var(--blue)}.mat-area .q1{grid-column:1;grid-row:1}.mat-area .q2{grid-column:2;grid-row:2;text-align:right}.mat-area .q3{grid-column:1;grid-row:2}
.mat-area .cuad:nth-child(odd){border-left:0}
.mat-area .q1,.mat-area .q3{border-right:1px dashed #B9D8E6}.mat-area .q1,.mat-area .q0{border-bottom:1px dashed #B9D8E6}
.mat-area .cuad span{display:block;max-width:14ch}
.mat-area .q0 span,.mat-area .q2 span{margin-left:auto}
.mat-x{grid-column:2;color:var(--navy2);text-align:right;font-size:11.5px}
.mat-vacio{position:absolute;inset:0;margin:0;display:grid;place-items:center;text-align:center;padding:24px;color:var(--navy2);font-size:14px;max-width:none}
.dot{position:absolute;width:24px;height:24px;border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center;color:#fff;font-size:11px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px -6px rgba(10,42,70,.6);border:2px solid #fff;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out);z-index:2}
.dot.pa-servicio,.dot.pa-rrhh,.dot.pa-marketing{color:var(--navy)}
.dot:hover{transform:translate(-50%,-50%) scale(1.3);z-index:3;box-shadow:0 10px 24px -8px rgba(10,42,70,.7)}
.dot.nuevo{z-index:4}
.mat-leyenda{grid-column:1/-1;list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;font-size:12.5px;color:var(--grey)}
.mat-leyenda li{display:flex;align-items:center;gap:6px;line-height:1.3}
.mat-leyenda li b{min-width:18px;text-align:center;font-size:11px;color:var(--navy)}
.mat-leyenda li.q0{color:var(--navy);font-weight:600}
/* el plan por fases: línea vertical trazada con el scroll */
.plan{list-style:none;margin:8px 0 0;padding:0;position:relative}
.plan .plan-linea{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.plan .plan-linea path{fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round}
.fase{position:relative;display:grid;grid-template-columns:36px 1fr;gap:0 18px;padding:0 0 28px}
.fase .ov{width:36px;height:36px;border-radius:50%;border:2px solid var(--blue);background:var(--ice);position:relative;z-index:1;transform:scale(.5);transition:background-color .22s var(--ease-out-quart),border-color .22s var(--ease-out-quart),transform .5s var(--ease-out)}
.fase.lit .ov{transform:none}
.fase.on .ov{background:var(--blue)}
.fase.final .ov{border-color:var(--navy)} .fase.final.on .ov{background:var(--navy)}
.fase .cuerpo{opacity:.32;transition:opacity .35s var(--ease-out-quart);padding-top:6px}
.fase.lit .cuerpo{opacity:1}
.fase .sem{font-family:var(--rotulo);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy2)}
.fase .n{font-family:var(--display);font-weight:800;font-size:22px;line-height:1.05;letter-spacing:-.02em;color:var(--navy);margin:4px 0 0}
.fase .d{color:var(--grey);font-size:14px;line-height:1.5;margin:8px 0 0}
.fase .ent{margin:8px 0 0;padding-left:16px;color:var(--navy2);font-size:13px;line-height:1.45}
.fase .ent li{margin:2px 0}
.fase .cubre{display:inline-block;margin-top:10px;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:2px;background:var(--navy);color:#fff}
.fase .cubre.bmm{background:transparent;border:1px solid var(--navy);color:var(--navy)}
.fase .pc{margin-top:12px;padding-top:10px;border-top:1px solid rgba(10,42,70,.18);font-size:13px;line-height:1.45;color:var(--navy);transition:opacity .2s var(--ease-out-quart)}
.fase .pc.fade{opacity:0}
.ancla .pend{color:#8A5A00;font-weight:600}
.ancla .seg{color:var(--grey);font-size:13.5px;margin-top:6px}
@media (max-width:1100px){.dos-col{grid-template-columns:1fr;gap:40px}.abc{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.gps{grid-template-columns:1fr;gap:0}.parada{display:grid;grid-template-columns:36px 1fr;gap:0 16px;padding:0 0 26px}.parada .pin{grid-row:1/9}.parada .num{margin-top:8px}.gps .gps-linea path{stroke-dasharray:none}.abc{grid-template-columns:1fr}.abc .letra{font-size:52px;min-width:48px}.mat-leyenda{grid-template-columns:1fr}.mat-area .cuad span{max-width:10ch}}
@media (max-width:560px){.btn.grande{white-space:normal;flex-wrap:wrap;justify-content:center;gap:6px 12px;text-align:center}}
@media (prefers-reduced-motion:reduce){.parada .pin,.fase .ov{transform:none!important}.parada>*,.fase .cuerpo{opacity:1!important}.gps .gps-linea path,.plan .plan-linea path{stroke-dashoffset:0!important}.parada.ping::after{display:none}}

/* ── v2 · ajustes del plan sobre navy, GENIA en blanco y detalles ── */
.vacio{display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding:28px 0}
.vacio[hidden]{display:none} .vacio p{margin:0} .vacio .btn{border-color:var(--soft2);color:#fff;background:transparent}
.items li{grid-template-columns:auto 1fr auto auto}
.i-ico{width:34px;height:34px;border-radius:10px;background:#fff;display:grid;place-items:center}
.i-ico .ico{width:20px;height:20px;vertical-align:0}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin:12px 0 8px}
.campos label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--soft)}
.campos input,.campos select{width:100%;background:var(--navy);color:#fff;border:1px solid var(--rule);padding:8px 10px;border-radius:8px;font-family:inherit;font-size:14px}
.checkout .btn.grande{background:var(--cyan);border-color:var(--cyan);color:var(--navy);border-radius:16px;box-shadow:0 18px 40px -22px rgba(1,223,202,.8)}
.checkout .btn.grande .num{color:var(--navy)}
.checkout .btn.grande:hover{background:#2BE8D6;border-color:#2BE8D6}
.panel{border-radius:var(--r)} .buckets .bucket{border-radius:0}
.genia-divisor{background:var(--white);padding:clamp(56px,6vw,96px) 0 clamp(40px,4vw,64px)}
.genia .gob-display{font-size:clamp(40px,6.2vw,104px)}
.gob-roadmap{border-radius:0}
.ancla{border-radius:var(--r)} .ancla .btn.grande{border-radius:16px}
.genia .cab .rot{color:var(--blue)}
.solicitud{background:var(--ice3)}
.solicitud .cab .rot{color:var(--blue)}
.form input,.form select,.form textarea{border-radius:10px} .resumen,.enviado{border-radius:var(--r)}
.btn.enviar{border-radius:999px}
footer.pie{padding-bottom:40px}
.r-genia li b{min-width:46px}
@media (max-width:560px){.campos{grid-template-columns:1fr}}
/* ── capa de seguridad (Purview) y servicio BMM (operar y escalar) ── */
.segsw{display:flex;align-items:flex-start;gap:12px;cursor:pointer;margin:6px 0 10px;padding:12px 14px;border:1px solid var(--rule);border-radius:12px;background:rgba(10,42,70,.35);transition:border-color .25s}
.segsw:has(input:checked){border-color:var(--cyan)}
.segsw input{position:absolute;opacity:0;width:0;height:0}
.segsw .sw{width:38px;height:22px;border-radius:11px;background:#3B5A75;position:relative;flex:none;margin-top:2px;transition:background .3s var(--ease-out-quart)}
.segsw .sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .35s var(--ease-out);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.segsw input:checked + .sw{background:var(--cyan)} .segsw input:checked + .sw::after{transform:translateX(16px)}
.segsw input:focus-visible + .sw{outline:3px solid var(--cyan);outline-offset:2px}
.segtx{display:flex;flex-direction:column;gap:3px;color:#fff;font-size:14px}
.segtx b{font-weight:800} .segtx small{color:var(--soft2);font-size:12.5px;line-height:1.4}
.prog .talla.ok{color:#fff}
.bmm{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule)}
.bmm .rot{color:var(--cyan)}
.bmm-fila{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;margin-top:6px}
.bmm-fila .talla{font-family:var(--display);font-weight:800;font-size:40px;line-height:1;color:transparent;-webkit-text-stroke:1.5px #fff;min-width:74px}
.bmm-fila .talla.ok{color:#fff;-webkit-text-stroke:0}
.bmm-fila .d{color:var(--soft2);font-size:13.5px} .bmm-fila .d b{color:var(--soft)}
.bmm-fila .inv{color:#fff;font-weight:800;font-size:15px;margin-top:4px}
.fase .cubre.seg{background:var(--blue)}
.dos .col.fin .cero{color:var(--rosa)}

/* ══════════ NAVEGACIÓN BMM · capa de movimiento compartida (oct-2026): barra que se vuelve píldora flotante, indicador que viaja, progreso de lectura ══════════ */
.nav .wrap{position:relative;border:1px solid transparent;border-radius:0;transition:background-color .2s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1),border-radius .3s cubic-bezier(.16,1,.3,1),border-color .2s,transform .3s cubic-bezier(.16,1,.3,1)}
.nav .marca .logo{transition:transform .3s cubic-bezier(.16,1,.3,1);transform-origin:left center}
@media (min-width:981px){
  .nav.scrolled{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
  .nav.scrolled .wrap{background:rgba(255,255,255,.88);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-radius:999px;border-color:rgba(10,42,70,.08);box-shadow:0 18px 50px -24px rgba(10,42,70,.45),0 1px 0 rgba(255,255,255,.7) inset;transform:translateY(10px)}
  .nav.scrolled .marca .logo{transform:scale(.9)}
  .nav .wrap{overflow:hidden}
}
@media (min-width:981px){.nav .links{position:relative}.nav.scrolled .nav-lectura{left:28px;right:28px;bottom:0}}
.nav .links a{position:relative;z-index:1}
.nav .links a.act{background:transparent;color:#fff}
.nav .links .ind{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:999px;background:var(--navy);z-index:0;opacity:0;transition:opacity .15s}
.nav .nav-lectura{position:absolute;left:0;right:0;bottom:0;height:2px;max-height:2px;display:block;padding:0;margin:0;border:0;background:linear-gradient(90deg,var(--blue),var(--cyan));transform:scaleX(0);transform-origin:left;pointer-events:none;z-index:2}
@media (max-width:980px){.nav .links .ind{display:none}.nav .links a.act{background:var(--navy)}.nav .nav-lectura{bottom:0}}
@media (prefers-reduced-motion:reduce){.nav .wrap,.nav .marca .logo{transition:none}}
/* ══════════ PIE INSTITUCIONAL BMM · plantilla estándar de toda web (oct-2026) ══════════ */
.pie-inst{position:relative;background:var(--navy);color:var(--soft);padding:clamp(56px,6vw,88px) 0 32px;overflow:hidden;font-size:14px}
.pie-ret{position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(var(--navy2) 1px,transparent 1px),linear-gradient(90deg,var(--navy2) 1px,transparent 1px);background-size:160px 160px;background-position:40px 40px;mask-image:radial-gradient(ellipse at 15% 0%,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 15% 0%,#000 20%,transparent 70%)}
.pie-inst .wrap{position:relative;z-index:1}
.pie-sup{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid var(--rule)}
.pie-logo{height:36px;width:auto;display:block}
.pie-claim{color:var(--soft);max-width:38ch;margin:18px 0 0;line-height:1.55}
.pie-evo{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.02em;color:#fff;margin:18px 0 0}
.pie-evo span{color:var(--cyan)}
.pie-col .rot{color:var(--cyan);margin-bottom:12px}
.pie-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pie-col li{color:var(--soft2);line-height:1.45}
.pie-col a{color:#fff;text-decoration:none;position:relative;display:inline-block;transition:color .15s}
.pie-col a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .2s cubic-bezier(.16,1,.3,1)}
@media (hover:hover) and (pointer:fine){.pie-col a:hover{color:var(--cyan)}.pie-col a:hover::after{transform:scaleX(1)}}
.pie-ms{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--rule)}
.pie-dupla{background:#fff;border-radius:14px;padding:12px 18px;display:grid;place-items:center}
.pie-dupla img{height:52px;width:auto;display:block}
.pie-cred .rot{color:var(--cyan);margin-bottom:6px}
.pie-cred p{margin:0;color:var(--soft);line-height:1.55;max-width:90ch}
.pie-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:flex-start}
.pie-badges img{height:96px;width:auto;border-radius:8px;box-shadow:0 10px 24px -14px rgba(0,0,0,.6);transition:transform .25s cubic-bezier(.16,1,.3,1)}
.pie-badges img.potya{height:74px;align-self:center}
@media (hover:hover) and (pointer:fine){.pie-badges img:hover{transform:translateY(-3px)}}
@media (max-width:560px){.pie-badges img{height:72px}.pie-badges img.potya{height:56px}}
.pie-notas{padding:22px 0;color:var(--soft2);font-size:12.5px;line-height:1.55;max-width:120ch}
.pie-inf{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--rule);color:var(--soft2);font-size:12.5px}
@media (max-width:980px){.pie-sup{grid-template-columns:1fr 1fr}.pie-ms{grid-template-columns:1fr}}
@media (max-width:560px){.pie-sup{grid-template-columns:1fr;gap:24px}.pie-inf{flex-direction:column}}
/* diálogo legal */
dialog.legal{border:0;padding:0;width:min(760px,96vw);max-height:90vh;background:#fff;color:var(--ink);border-radius:24px;overflow:hidden;box-shadow:0 40px 100px -40px rgba(10,42,70,.7)}
dialog.legal::backdrop{background:rgba(10,42,70,.55);backdrop-filter:blur(6px)}
dialog.legal .cuerpo{max-height:90vh;overflow:auto;padding:32px 36px 28px}
dialog.legal .cerrar{position:absolute;top:14px;right:14px;z-index:2;background:#fff;color:var(--navy);border:1.5px solid var(--line);width:40px;height:40px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
dialog.legal .rot{color:var(--blue)}
dialog.legal h2{font-family:var(--display);font-weight:800;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em;margin:8px 0 18px;color:var(--navy)}
.legal-txt{font-size:15px;line-height:1.6;color:var(--ink)}
.legal-txt h3{font-family:var(--display);font-weight:800;font-size:17px;margin:22px 0 6px;color:var(--navy)}
.legal-txt p{margin:0 0 10px} .legal-txt ul{margin:0 0 10px;padding-left:20px} .legal-txt li{margin:3px 0}
.legal-pie{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:14px;border-top:1px solid var(--line2);color:var(--muted);font-size:12.5px}
@media (max-width:560px){dialog.legal .cuerpo{padding:24px 18px}}
@media (prefers-reduced-motion:reduce){.pie-col a::after{transition:none}}
