/* ══════════ BMM COPILOTS · capa propia + tema «azul» (v1.0 · 21-oct-2026) ══════════
   La web de Copilots vive sobre el acento azul de la marca (047EFF) para no confundirse con casos (navy), Copilot 365 (blanco) ni seguridad (hielo):
   hero azul pleno con texto blanco, cuerpo blanco, un solo bloque navy (la estimación). Movimiento: la misma capa compartida; chrome 150–300 ms ease-out,
   entradas transform+opacity, nada de rebote en controles. Rosa una sola vez por sección. */
:root{--azul:#047EFF;--azul2:#0366D6;--teal:#52C2B8;--borde:rgba(10,42,70,.10);--borde2:rgba(10,42,70,.18);--m-100:100ms;--m-150:150ms;--m-200:200ms;--m-300:300ms;--ease-in:cubic-bezier(.7,0,.84,0);--ease-drawer:cubic-bezier(.32,.72,0,1)}
html,body{background:#fff}
/* ── nav ── */
.nav.scrolled{background:rgba(255,255,255,.86);box-shadow:0 1px 0 var(--borde)}
.hero-in .nav:not(.scrolled) .links a{color:#fff} .hero-in .nav:not(.scrolled) .links{background:rgba(255,255,255,.14)} .hero-in .nav:not(.scrolled) .links .ind{background:#fff}
.hero-in .nav:not(.scrolled) .lang{background:rgba(255,255,255,.14)} .hero-in .nav:not(.scrolled) .lang button{color:#fff} .hero-in .nav:not(.scrolled) .lang button[aria-pressed="true"]{background:#fff;color:var(--azul)}
.hero-in .nav:not(.scrolled) .logo{filter:brightness(0) invert(1)}
.hero-in .nav:not(.scrolled) .burger i{background:#fff}
.plan-pill:not(.visible){background:#fff;color:var(--navy);border-color:transparent}
/* ── hero azul ── */
.hero{background:var(--azul);color:#fff;min-height:92svh;padding-top:110px}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 78% 30%,rgba(1,223,202,.28),transparent 65%),radial-gradient(ellipse 50% 45% at 10% 90%,rgba(10,42,70,.35),transparent 70%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:rgba(255,255,255,.2)}
.hero .ret{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:160px 160px;opacity:.5;pointer-events:none;mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,#000,transparent)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hsub .eyebrow{color:#fff;opacity:.85} .hsub .ms{filter:brightness(0) invert(1)}
.hero .display{color:#fff;font-size:clamp(44px,5.8vw,86px)} .hero .display .l2{color:var(--cyan)} .hero .display .l3{color:#fff}
.hero .bajada{color:rgba(255,255,255,.88);max-width:56ch;font-size:17.5px;margin:22px 0 0}
.hero .btn.primario{background:#fff;color:var(--azul)} .hero .btn.primario:hover{background:var(--cyan);color:var(--navy)}
.hb-outline{background:transparent;border:1.5px solid rgba(255,255,255,.6);color:#fff} .hb-outline:hover{border-color:#fff}
.hero .dato{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);backdrop-filter:blur(6px)} .hero .dato .v{color:#fff} .hero .dato .k{color:rgba(255,255,255,.8)}
/* ticket de estimación en vivo */
.ticket{position:relative;background:#fff;color:var(--navy);border-radius:22px;padding:22px 24px 20px;box-shadow:0 50px 100px -40px rgba(10,42,70,.6);transform:translate3d(0,16px,0);opacity:0;transition:transform .8s var(--ease-out) .7s,opacity .8s var(--ease-out) .7s}
.hero-in .ticket{transform:none;opacity:1}
.ticket-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.ticket-cab .rot{color:var(--azul);font-size:11.5px} .ticket-ind{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 0 rgba(1,223,202,.5);animation:ping 2.2s ease-out infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(1,223,202,.55)}70%{box-shadow:0 0 0 10px rgba(1,223,202,0)}100%{box-shadow:0 0 0 0 rgba(1,223,202,0)}}
.ticket-esc{font-weight:700;font-size:15px;color:var(--navy);min-height:22px}
.ticket-lineas{list-style:none;margin:12px 0 0;padding:0;min-height:176px;border-top:1px solid var(--line2)}
.ticket-lineas li{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line2);opacity:0;transform:translate3d(0,8px,0);transition:opacity var(--m-300) var(--ease-out),transform var(--m-300) var(--ease-out)}
.ticket-lineas li.in{opacity:1;transform:none}
.ticket-lineas .ico{width:28px;height:28px} .ticket-lineas b{font-size:14px} .ticket-lineas small{display:block;color:var(--muted);font-size:12px} .ticket-lineas .num{font-weight:700;white-space:nowrap}
.ticket-tot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:14px}
.ticket-tot .k{color:var(--muted);font-size:12.5px;display:block} .ticket-tot b{font-family:var(--display);font-weight:800;font-size:34px;line-height:1;letter-spacing:-.02em;color:var(--navy);display:inline-block;transform-origin:left center}
.ticket-tot b.tick{animation:tick .3s var(--ease-out)} @keyframes tick{from{transform:scale(1.06)}to{transform:scale(1)}}
.ticket-prog{margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--ice2);display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--navy);opacity:0;transition:opacity var(--m-300) var(--ease-out)}
.ticket-prog.in{opacity:1} .ticket-prog .ms-mini{width:16px;height:16px} .ticket-prog b{color:var(--azul)}
.ticket .rosa-dot{position:absolute;top:-6px;right:22px;width:12px;height:12px;border-radius:50%;background:var(--rosa)}
/* border beam */
@property --haz{syntax:"<angle>";inherits:false;initial-value:0deg}
.ticket{isolation:isolate}
.ticket::before{content:"";position:absolute;inset:-1px;border-radius:23px;padding:1.5px;background:conic-gradient(from var(--haz),transparent 0 72%,rgba(1,223,202,0) 76%,var(--cyan) 88%,#fff 93%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:haz 6s linear infinite;pointer-events:none}
@keyframes haz{to{--haz:360deg}}
.marquee{position:relative;z-index:1;margin-top:40px;background:rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.2);border-bottom:0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-item{color:#fff;opacity:.92} .mq-item .ico{width:18px;height:18px}
@supports (animation-timeline:scroll()){.hero-grid{animation:hero-fuga linear both;animation-timeline:scroll();animation-range:0 70vh}@keyframes hero-fuga{to{transform:translate3d(0,-36px,0) scale(.96);opacity:.2}}}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:28px}.ticket{max-width:520px}}
@media (prefers-reduced-motion:reduce){.ticket::before{animation:none;opacity:.35}.ticket-ind{animation:none}.ticket,.ticket-lineas li,.ticket-prog{opacity:1;transform:none;transition:none}}
/* ── explorar ── */
.explorar{padding:72px 0 10px;background:#fff}
.tiles{display:grid;gap:12px;margin-top:8px} .tiles-fam{grid-template-columns:repeat(5,minmax(0,1fr))} .tiles-rol{grid-template-columns:repeat(5,minmax(0,1fr))}
.tile{grid-template-columns:44px 1fr;grid-template-rows:auto auto auto;align-content:start;min-height:112px}
.tile .t-ico{grid-row:1/4;width:44px;height:44px;border-radius:12px;background:var(--ice2);display:grid;place-items:center} .tile .t-ico img{width:26px;height:26px}
.tile .t-n{font-weight:800;font-size:14.5px;line-height:1.2} .tile .t-d{color:var(--muted);font-size:12px;line-height:1.35;margin-top:4px} .tile .t-c{font-size:12px;color:var(--muted);margin-top:4px}
.tile.on{border-color:var(--navy);background:var(--navy);color:#fff} .tile.on .t-d,.tile.on .t-c{color:var(--soft)} .tile.on .t-ico{background:rgba(255,255,255,.14)}
.tile-azul .t-ico{background:#E3F0FF} .tile-turq .t-ico{background:#DDFBF7} .tile-teal .t-ico{background:#E4F6F4} .tile-navy .t-ico{background:#E6ECF2}
.tile-all{grid-template-rows:auto auto} .tile-all .t-ico{grid-row:1/3}
@media (hover:hover) and (pointer:fine){.tile:hover{transform:translate3d(0,-2px,0);border-color:var(--borde2)}}
@media (max-width:980px){.tiles-fam,.tiles-rol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.tiles-fam,.tiles-rol{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{min-height:0}}
/* ── catálogo ── */
.casos{padding:40px 0 80px;background:#fff}
.cat-n{display:inline-block;margin-left:8px;color:var(--azul);font-size:.6em;vertical-align:middle;font-family:var(--rotulo)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{padding:18px 18px 16px;border-color:var(--line2);opacity:0;transform:translate3d(0,16px,0);animation:card-in .5s var(--ease-out) forwards;animation-delay:calc(var(--i,0)*40ms)}
@keyframes card-in{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.card{animation:none;opacity:1;transform:none}}
.card.en{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.c-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.c-ico{width:46px;height:46px;border-radius:12px;background:var(--ice2);display:grid;place-items:center} .c-ico img{width:28px;height:28px}
.c-pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.fpill,.est{display:inline-flex;align-items:center;height:24px;box-sizing:border-box;border:1px solid transparent;font-family:var(--rotulo);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;line-height:1;padding:0 9px;border-radius:999px;white-space:nowrap}
.fpill.f-user{background:#E3F0FF;color:var(--azul2)} .fpill.f-uso{background:#DDFBF7;color:#0B7F73} .fpill.f-inc{background:#E4F6F4;color:#2A7E76} .fpill.f-agent{background:var(--navy);color:#fff}
.est{border:1px solid var(--line)} .est-ga{color:var(--muted)} .est-preview{color:var(--amber);border-color:#F8B80166;background:#FFF8E1} .est-nuevo{color:var(--navy);background:var(--rosa);border-color:var(--rosa)}
.card h3{margin:6px 0 0;font-size:18px;line-height:1.2} .card .c-t{margin:0;color:var(--grey);font-size:14px;line-height:1.45;min-height:3.6em}
.c-apps{display:flex;gap:6px} .c-apps .mini{width:20px;height:20px}
.c-precio{display:flex;flex-direction:column;gap:2px;padding-top:10px;border-top:1px solid var(--line2)} .c-precio b{font-family:var(--display);font-size:20px;color:var(--navy);letter-spacing:-.01em} .c-precio span{color:var(--muted);font-size:12px;line-height:1.35}
.c-req{font-size:12px;color:var(--grey)} .c-req.falta,.falta{color:#B4451C}
.c-roles{display:flex;flex-wrap:wrap;gap:5px} .c-roles span{font-size:11.5px;color:var(--navy);background:var(--ice2);padding:3px 8px;border-radius:999px}
.c-btns{display:flex;gap:8px;margin-top:auto;padding-top:6px} .c-btns .btn{flex:1;justify-content:center;padding:10px 12px;font-size:13.5px}
.card.en .btn.primario{background:var(--navy)}
.vacio-f{grid-column:1/-1;color:var(--muted);padding:40px 0;text-align:center}
@media (max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}} @media (max-width:640px){.cards{grid-template-columns:1fr}}
/* ── novedades ── */
.novedades{padding:72px 0;background:var(--ice2)}
.nov-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nov{background:#fff;border:1px solid var(--line2);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:8px;transition:border-color var(--m-200) var(--ease-out),transform .5s var(--ease-out)}
.nov.on{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.nv-cab{display:flex;justify-content:space-between;align-items:center} .nv-ico{width:36px;height:36px;border-radius:10px;background:var(--ice2);display:grid;place-items:center} .nv-ico img{width:22px;height:22px} .nv-fecha{font-family:var(--rotulo);font-size:12px;color:var(--azul);letter-spacing:.06em}
.nov h3{margin:0;font-size:16.5px;line-height:1.25} .nov p{margin:0;color:var(--grey);font-size:13.5px;line-height:1.45;flex:1}
.nv-btn{align-self:flex-start;background:transparent;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:12.5px;font-weight:700;color:var(--navy);transition:border-color var(--m-150),background-color var(--m-150)}
.nv-btn:hover{border-color:var(--navy)} .nov.on .nv-btn{background:var(--navy);color:#fff;border-color:var(--navy)}
@media (hover:hover) and (pointer:fine){.nov:hover{transform:translate3d(0,-2px,0)}}
@media (max-width:980px){.nov-grid{grid-template-columns:repeat(2,minmax(0,1fr))}} @media (max-width:560px){.nov-grid{grid-template-columns:1fr}}
/* ── ruta ── */
.ruta{padding:80px 0;background:#fff}
.pasos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative}
.paso{position:relative;border:1px solid var(--line2);border-radius:var(--r);padding:22px 20px 18px;background:#fff;display:flex;flex-direction:column;gap:8px;transition:border-color var(--m-300) var(--ease-out),background-color var(--m-300) var(--ease-out),transform .5s var(--ease-out);transform:translate3d(0,0,0)}
.paso .p-num{font-family:var(--rotulo);font-size:13px;color:var(--muted);letter-spacing:.08em} .paso .p-ico{width:40px;height:40px;border-radius:10px;background:var(--ice2);display:grid;place-items:center;margin-top:4px} .paso .p-ico img{width:24px;height:24px}
.paso h3{margin:4px 0 0;font-size:17px} .paso p{margin:0;color:var(--grey);font-size:13.5px;line-height:1.45;flex:1}
.paso .p-est{font-family:var(--rotulo);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.paso.on{border-color:var(--azul);background:#F3F8FF} .paso.on .p-num,.paso.on .p-est{color:var(--azul)} .paso.on .p-ico{background:#fff;box-shadow:0 0 0 2px var(--azul)}
.paso:nth-child(4).on{border-color:var(--navy);background:var(--navy);color:#fff} .paso:nth-child(4).on p{color:var(--soft)} .paso:nth-child(4).on .p-num,.paso:nth-child(4).on .p-est{color:var(--cyan)}
.pasos .p-linea{position:absolute;left:4%;right:4%;top:34px;height:2px;background:var(--line2);z-index:0} .paso{z-index:1}
@media (max-width:980px){.pasos{grid-template-columns:repeat(2,minmax(0,1fr))}.pasos .p-linea{display:none}} @media (max-width:560px){.pasos{grid-template-columns:1fr}}
/* ── estimación (bloque navy, el único) ── */
.carrito{padding:80px 0;background:var(--navy);color:#fff}
.carrito .cab .rot{color:var(--cyan)}
.items li{grid-template-columns:40px 1fr auto auto auto;gap:12px}
.i-ico{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.08);display:grid;place-items:center} .i-ico img{width:22px;height:22px}
.i-txt b{display:block;font-size:14.5px} .i-q{color:var(--soft2);font-size:12.5px} .i-q em{font-style:normal} .i-q .falta{color:var(--rosa)}
.i-usd{font-weight:700;white-space:nowrap}
.items .i-edit,.items .i-x{background:transparent;border:1px solid var(--rule);color:var(--soft2);border-radius:8px;width:30px;height:30px;padding:0;font-size:14px;transition:border-color var(--m-150),color var(--m-150)} .items .i-edit:hover,.items .i-x:hover{border-color:#fff;color:#fff}
.items li.out{opacity:0;transform:translate3d(-8px,0,0);transition:opacity var(--m-150) var(--ease-in),transform var(--m-150) var(--ease-in)}
.vacio{color:var(--soft2);padding:26px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap} .vacio p{margin:0} .vacio .btn{background:#fff;color:var(--navy)}
.buckets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.bucket{background:var(--navy2);border:1px solid var(--rule);border-radius:14px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:4px}
.bucket .k{font-family:var(--rotulo);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft2)} .bucket b{font-family:var(--display);font-size:18px;letter-spacing:-.01em;white-space:nowrap} .bucket .s{font-size:12px;color:var(--soft2)}
.bucket.b-user b{color:#fff} .bucket.b-uso b{color:var(--cyan)} .bucket.b-inc b{color:var(--teal)} .bucket.b-base b{color:var(--rosa)}
.total-box{margin-top:18px;padding:18px 20px;border-radius:16px;background:#fff;color:var(--navy);display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.total-box .k{display:block;color:var(--muted);font-size:12.5px} .total-box .cifra{font-family:var(--display);font-weight:800;font-size:38px;letter-spacing:-.02em;line-height:1} .total-box .anual{color:var(--grey);font-size:13.5px}
.carrito .nota{color:var(--soft2);font-size:12.5px;margin:14px 0 0}
.panel{background:var(--navy2);border:1px solid var(--rule);border-radius:var(--r);padding:22px}
.panel h3{margin:0;font-size:18px} .panel .rot{color:var(--cyan)} .panel .p-d{color:var(--soft);font-size:13px;margin:6px 0 14px}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 16px}
.campos label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--soft2)}
.campos input,.campos select{background:var(--navy);color:#fff;border:1px solid var(--rule);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px}
.prog{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--rule)} .prog > div:last-child{min-width:0}
.prog .talla,.f-panel .prog .talla{width:56px;min-width:56px;height:40px;border-radius:10px;display:grid;place-items:center;font-family:var(--rotulo);font-weight:700;font-size:13px;line-height:1;-webkit-text-stroke:0;background:rgba(255,255,255,.08);color:var(--soft2);transition:background-color var(--m-200),color var(--m-200)} .prog .talla.ok{background:var(--cyan);color:var(--navy);-webkit-text-stroke:0}
.prog .talla.pop{animation:tick .3s var(--ease-out)}
.prog .n{font-weight:700;font-size:13.5px} .prog .d{color:var(--soft2);font-size:12.5px;margin-top:2px} .prog .inv{color:var(--cyan);font-size:12.5px;margin-top:4px} .prog-sin{opacity:.55}
.inv-box{margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(1,223,202,.1);border:1px solid rgba(1,223,202,.3);display:flex;justify-content:space-between;align-items:baseline;gap:10px} .inv-box .k{font-size:12.5px;color:var(--soft)} .inv-box b{font-family:var(--display);font-size:20px;color:var(--cyan)}
.checkout{margin-top:16px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.checkout .btn.primario{background:var(--rosa);color:var(--navy);display:inline-flex;gap:12px;align-items:center;padding:16px 22px;font-size:16px;border-radius:14px} .checkout .btn.primario .num{opacity:.85}
.checkout .volver{color:var(--soft2);font-size:13.5px}
@media (max-width:980px){.carrito .grid{grid-template-columns:1fr}.buckets{grid-template-columns:repeat(2,minmax(0,1fr))}} @media (max-width:560px){.campos{grid-template-columns:1fr}.items li{grid-template-columns:34px 1fr auto;gap:8px}.items .i-usd{grid-column:2;font-size:13px}}
/* ── ficha ── */
dialog.ficha{overflow:auto;overscroll-behavior:contain;transform:scale(.96);opacity:0;transition:transform var(--m-200) var(--ease-out),opacity var(--m-200) var(--ease-out)}
dialog.ficha[open]{transform:none;opacity:1;animation:ficha-in var(--m-200) var(--ease-out)} @keyframes ficha-in{from{transform:scale(.96);opacity:0}}
dialog.ficha.saliendo{transform:scale(.97);opacity:0;transition-duration:var(--m-150);transition-timing-function:var(--ease-in)}
dialog.ficha::backdrop{background:rgba(10,42,70,.55);animation:bd-in var(--m-200) ease-out} @keyframes bd-in{from{opacity:0}}
.f-cab{background:linear-gradient(to bottom,#F3F8FF,#fff)}
.f-cab .eyebrow{display:flex;gap:6px}
.f-cab h2{font-size:clamp(24px,3vw,34px);margin:10px 0 6px;letter-spacing:-.02em} .f-t{margin:0;color:var(--grey);font-size:15px;line-height:1.45}
.f-apps{display:flex;align-items:center;gap:8px;margin-top:14px} .f-apps .f-ico{width:46px;height:46px;border-radius:12px;background:#fff;border:1px solid var(--line2);display:grid;place-items:center} .f-apps .f-ico img{width:28px;height:28px} .f-apps .mini{width:22px;height:22px}
.f-cifras{display:flex;gap:10px;margin-top:14px} .f-cifras .cifra{background:#fff;border:1px solid var(--line2);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:3px} .f-cifras .k{font-size:11.5px;color:var(--muted)} .f-cifras .v b{font-family:var(--display);font-size:18px;color:var(--navy)} .f-cifras .v span{display:block;color:var(--muted);font-size:12px}
.f-lista{margin:0;padding-left:18px;color:var(--ink);font-size:14.5px;line-height:1.55} .f-lista li{margin:0 0 10px}
.f-req{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--ice2)} .f-req h4{margin:0 0 4px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--azul)} .f-req p{margin:0;font-size:13.5px} .f-nota{color:var(--muted);font-size:13px;margin:8px 0 0}
.f-d{color:var(--grey);font-size:13.5px;margin:0 0 12px}
.ej{display:flex;flex-direction:column;gap:10px}
.ej-rol{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--grey)} .e-ico{width:34px;height:34px;border-radius:9px;background:var(--ice2);display:grid;place-items:center} .e-ico img{width:20px;height:20px}
.ej-paso{border:1px solid var(--line2);border-radius:14px;padding:14px 16px} .ej-paso .e-k{display:block;font-family:var(--rotulo);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px} .ej-paso p{margin:0;font-size:14.5px;line-height:1.5}
.ej-prompt{background:#F3F8FF;border-color:#D6E6FF} .ej-prompt .e-k{color:var(--azul)} .ej-prompt p{font-style:italic;color:var(--navy)}
.ej-res{background:var(--ice2);border-color:#C8F2EC} .ej-res .e-k{color:#0B7F73}
.f-campos{display:flex;flex-direction:column;gap:6px} .f-campos label{display:grid;grid-template-columns:120px 1fr 80px;gap:12px;align-items:center;font-size:13.5px;color:var(--grey);margin:0;border:0;padding:6px 0}
.f-campos label.f-var,.f-campos label:has(select){grid-template-columns:120px 1fr} .f-campos select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.f-campos input[type=range]{width:100%;accent-color:var(--azul)} .f-campos .v{text-align:right;font-weight:700;color:var(--navy)}
.f-total{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px} .f-total div{background:var(--navy);color:#fff;border-radius:14px;padding:12px 16px} .f-total .k{display:block;font-size:12px;color:var(--soft2)} .f-total b{font-family:var(--display);font-size:24px;letter-spacing:-.01em} .f-total b.tick{animation:tick .3s var(--ease-out);display:inline-block}
.f-falta{margin:10px 0 0;color:#B4451C;font-size:13px}
.f-panel[data-panel=prog] .prog{border-top-color:var(--line2)} .f-panel[data-panel=prog] .prog .talla{background:var(--ice2);color:var(--muted)} .f-panel[data-panel=prog] .prog .talla.ok{background:var(--azul);color:#fff} .f-panel[data-panel=prog] .prog .d{color:var(--grey)} .f-panel[data-panel=prog] .prog .inv{color:var(--azul2)}
.f-pie{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 32px 22px;border-top:1px solid var(--line2);flex-wrap:wrap} .f-pie .fuente{color:var(--muted);font-size:12px}
#ficha-add.en{background:var(--navy)}
@media (prefers-reduced-motion:reduce){dialog.ficha,dialog.ficha[open],dialog.ficha::backdrop{animation:none;transition:none;transform:none;opacity:1}}
/* ── solicitud ── */
.solicitud{padding:80px 0;background:#fff}
.resumen ul{list-style:none;margin:10px 0;padding:0} .resumen li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line2);font-size:13.5px} .resumen li small{display:block;color:var(--muted);font-size:12px}
.r-total{display:flex;justify-content:space-between;font-weight:700;margin:10px 0 0} .r-base,.r-org{color:var(--grey);font-size:13.5px;margin:0 0 6px} .r-sin,.r-prog{color:var(--muted);font-size:13px}
/* ── add-to-basket morph ── */
.vuelo{position:fixed;z-index:200;width:40px;height:40px;border-radius:12px;background:#fff;box-shadow:0 10px 30px -10px rgba(10,42,70,.6);display:grid;place-items:center;pointer-events:none} .vuelo img{width:26px;height:26px}

.prog-cab{display:flex;gap:10px;align-items:flex-start;margin-top:6px} .ms-prog{width:18px;height:18px;margin-top:2px;flex:none}
.f-incluido{margin:10px 0 0;color:#0B7F73;font-size:13px}

.f-campos label.f-term{grid-template-columns:120px 1fr} .f-term-nota{color:var(--muted);font-size:12.5px;margin:4px 0 0}
.campos label.ancho{grid-column:1/-1}
.f-campos input[type=range]:disabled{opacity:.45}
.total-box .periodo{text-align:right} .total-box .periodo .k{display:block;color:var(--muted);font-size:12.5px} .total-box .periodo b{font-family:var(--display);font-weight:800;font-size:24px;color:var(--azul);letter-spacing:-.01em}
.i-usd{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15} .i-usd small{font-weight:500;color:var(--soft2);font-size:11.5px}
.prog-box{margin-top:12px;padding:16px 18px;border-radius:16px;background:rgba(1,223,202,.08);border:1px solid rgba(1,223,202,.3)} .prog-box[hidden]{display:none}
.pb-cab{display:flex;align-items:center;gap:10px} .pb-cab .ms-mini{width:16px;height:16px} .pb-cab .k{flex:1;font-family:var(--rotulo);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan)} .pb-cab b{font-family:var(--display);font-size:24px;color:var(--cyan);letter-spacing:-.01em}
.pb-para{margin:8px 0 0;color:#fff;font-size:13.5px;line-height:1.5} .pb-para b{color:var(--cyan);font-weight:700} .pb-nota{margin:6px 0 0;color:var(--soft2);font-size:12px}
.r-per b{color:var(--azul)}
/* ── el mapa de gobierno ── */
.mapa{padding:80px 0;background:#fff}
.g-pos{margin:0 0 22px}
.g-pos-in{display:grid;grid-template-columns:18px 1fr 1.1fr;gap:16px;align-items:start;border:1px solid var(--line2);border-radius:var(--r);padding:18px 20px;background:#fff;border-left:6px solid var(--zc,var(--line))}
.g-pos-in.g-vacia{grid-template-columns:18px 1fr;align-items:center;color:var(--muted)} .g-pos-in.g-vacia p{margin:0}
.g-dot{width:14px;height:14px;border-radius:50%;background:var(--zc,var(--line));margin-top:5px;box-shadow:0 0 0 0 var(--zc);animation:ping2 2.4s ease-out infinite} @keyframes ping2{0%{box-shadow:0 0 0 0 var(--zc,transparent)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.g-vacia .g-dot{animation:none}
.g-pos-in .k{display:block;font-family:var(--rotulo);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)} .g-pos-in b{font-family:var(--display);font-size:24px;letter-spacing:-.01em;color:var(--navy)} .g-pos-in p{margin:6px 0 0;color:var(--grey);font-size:14px;line-height:1.5}
.g-pos-gob ul{margin:6px 0 10px;padding-left:18px;color:var(--ink);font-size:13.5px;line-height:1.5} .g-pos-gob li{margin:0 0 4px} .g-ok{color:#0B7F73;font-weight:700;font-size:13.5px} .g-pos-gob .btn{padding:10px 14px;font-size:13.5px}
.g-mapa{display:flex;flex-direction:column;gap:10px}
.g-zonas{display:grid;grid-template-columns:2fr 2fr 2fr;gap:6px}
.g-zona{height:30px;border-radius:8px;display:grid;place-items:center;font-family:var(--rotulo);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);background:color-mix(in srgb,var(--zc) 28%,#fff);transition:background-color var(--m-300) var(--ease-out),box-shadow var(--m-300)}
.g-zona.on{background:var(--zc);box-shadow:0 10px 24px -14px var(--zc)} .g-zona.z-roja.on{color:var(--navy)}
.g-est{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.g-e{text-align:left;display:flex;flex-direction:column;gap:5px;background:#fff;border:1.5px solid var(--line2);border-radius:14px;padding:14px 12px 12px;color:var(--navy);min-height:170px;transition:border-color var(--m-200) var(--ease-out),transform .5s var(--ease-out),box-shadow .5s var(--ease-out);position:relative;overflow:hidden}
.g-e::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--zc);opacity:.55}
.g-e .g-ico{width:40px;height:40px;border-radius:10px;background:var(--ice2);display:grid;place-items:center;margin-bottom:2px} .g-e .g-ico img{width:24px;height:24px}
.g-e b{font-size:14px;line-height:1.2} .g-e small{color:var(--muted);font-size:11.5px;line-height:1.35;flex:1} .g-e .g-n{font-family:var(--rotulo);font-size:11px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.g-e.on{border-color:var(--zc)} .g-e.on::before{opacity:1} .g-e.on .g-n{color:var(--navy)} .g-e.on .g-ico{box-shadow:0 0 0 2px var(--zc)}
.g-e.sel{border-color:var(--navy);box-shadow:0 18px 40px -26px rgba(10,42,70,.5)}
@media (hover:hover) and (pointer:fine){.g-e:hover{transform:translate3d(0,-2px,0);border-color:var(--borde2)}}
.g-modelo{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.g-m{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;font-weight:700;font-size:13.5px;color:var(--navy)} .g-m-user{background:#E3F0FF} .g-m-it{background:#E9E4FA}
.g-m-ico{width:28px;height:28px;border-radius:8px;background:#fff;display:grid;place-items:center} .g-m-ico img{width:18px;height:18px}
.g-niveles{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding-top:10px}
.g-rampa{position:absolute;left:0;right:0;top:10px;bottom:34px;background:linear-gradient(to top right,transparent 49.8%,#F4FBFE 50%);border-radius:10px;z-index:0}
.g-nivel{position:relative;z-index:1;padding:14px 12px 12px;display:flex;flex-direction:column;gap:6px;min-height:118px;justify-content:flex-end}
.g-nv{font-family:var(--rotulo);font-size:12px;letter-spacing:.08em;color:var(--azul)} .g-nivel p{margin:0;color:var(--grey);font-size:13px;line-height:1.4}
.g-eje{grid-column:1/-1;display:flex;align-items:center;gap:10px;color:var(--muted);font-family:var(--rotulo);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding-top:6px} .g-eje i{flex:1;height:2px;background:linear-gradient(90deg,var(--line2),var(--azul));position:relative} .g-eje i::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:8px solid var(--azul)}
.g-detalle{margin-top:12px;border:1px solid var(--line2);border-radius:var(--r);background:#fff;overflow:hidden;opacity:0;transform:translate3d(0,8px,0);transition:opacity var(--m-200) var(--ease-out),transform var(--m-200) var(--ease-out)} .g-detalle.in{opacity:1;transform:none} .g-detalle[hidden]{display:none}
.g-d-cab{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:18px 20px;background:color-mix(in srgb,var(--zc) 14%,#fff);border-bottom:1px solid var(--line2)}
.g-d-cab .g-ico{width:48px;height:48px;border-radius:12px;background:#fff;display:grid;place-items:center} .g-d-cab .g-ico img{width:28px;height:28px}
.g-d-zona{font-family:var(--rotulo);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)} .g-d-cab h3{margin:2px 0 0;font-size:20px} .g-d-cab p{margin:2px 0 0;color:var(--grey);font-size:13.5px}
.g-d-cab .cerrar{position:static;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:18px}
.g-d-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:18px 20px 20px}
.g-d-col dl{margin:0;display:grid;grid-template-columns:120px 1fr;gap:8px 12px;font-size:13.5px} .g-d-col dt{font-family:var(--rotulo);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:2px} .g-d-col dd{margin:0;color:var(--ink);line-height:1.45}
.g-d-col h4{margin:16px 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--azul)} .g-d-col > h4:first-child{margin-top:0}
.g-gob{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5;color:var(--ink)} .g-gob li{margin:0 0 4px}
.g-cps{list-style:none;margin:0;padding:0} .g-cps li{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line2)} .g-cps li.en{background:linear-gradient(90deg,#F3F8FF,transparent)}
.g-cps .c-ico{width:40px;height:40px} .g-cps .c-ico img{width:24px;height:24px} .g-cps b{font-size:13.5px;display:block} .g-cps small .num{font-size:13px} .g-cps small span{display:none}
.g-cp-btns{display:flex;gap:6px} .g-cp-btns .btn{padding:7px 10px;font-size:12px}
.g-fuente{margin:14px 0 0;color:var(--muted);font-size:12px}
@media (max-width:980px){.g-pos-in{grid-template-columns:18px 1fr}.g-pos-gob{grid-column:2}.g-est{grid-template-columns:repeat(3,minmax(0,1fr))}.g-e{min-height:0}.g-zonas{grid-template-columns:1fr 1fr 1fr}.g-niveles{grid-template-columns:repeat(2,minmax(0,1fr))}.g-rampa{display:none}.g-d-grid{grid-template-columns:1fr}}
@media (max-width:560px){.g-est{grid-template-columns:repeat(2,minmax(0,1fr))}.g-modelo{grid-template-columns:1fr}.g-cps li{grid-template-columns:40px 1fr}.g-cp-btns{grid-column:2}}
@media (prefers-reduced-motion:reduce){.g-dot{animation:none}.g-detalle{transition:none;opacity:1;transform:none}}
