/* Helion Power — composiciones de página y componentes del sitio.
   El sistema base (tipografía, color, botones, movimiento) vive en helion-system.css. */
[hidden]{display:none !important}

/* ---------- Estructura general ---------- */
.hp{min-height:100vh;position:relative}
main:focus{outline:none}
.sec{position:relative}
.bp-light{background-color:#F3F5F7;background-image:linear-gradient(rgba(31,111,209,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(31,111,209,.07) 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}
.bp-dark{background-color:#0B1016;background-image:linear-gradient(rgba(74,158,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(74,158,255,.07) 1px,transparent 1px);background-size:40px 40px}
[id]{scroll-margin-top:24px}

/* ---------- Cabecera y navegación (v4) ----------
   Arriba: barra abierta sobre la portada. Al bajar: se acopla como una regleta flotante
   con indicador de sección activa (se desliza) y progreso de lectura en el borde inferior. */
.site-header{position:relative;z-index:40;background:var(--hp-void);min-height:96px}
.site-header--overlay{position:absolute;top:0;left:0;right:0;background:transparent}
.nav-shell{position:relative}
.site-header__bar{position:relative;z-index:2;height:96px;display:flex;align-items:center;justify-content:space-between;gap:32px;transition:height 420ms var(--ease-spring),padding 420ms var(--ease-spring)}
.site-logo{position:relative;z-index:2;display:flex;align-items:center;gap:12px;flex:none}
.menu-btn{position:relative;z-index:2}
.site-nav{position:relative;display:flex;align-items:center;gap:48px}
.site-nav__list{display:flex;gap:32px}
.nav-ind{position:absolute;left:0;top:calc(50% + 17px);width:100px;height:2px;background:var(--hp-amber);transform-origin:0 50%;transform:translateX(var(--x,0)) scaleX(var(--w,0));opacity:0;pointer-events:none;transition:transform 560ms var(--ease-spring),opacity 240ms var(--ease-out)}
.nav-ind.is-on{opacity:1}
.nav-cta{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:15px;font-weight:600;color:var(--hp-paper);white-space:nowrap;transition:background-color 220ms var(--ease-out),color 220ms var(--ease-out),padding 420ms var(--ease-spring)}
.hp .nav-cta:hover{color:var(--hp-paper)}
.nav-progress{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:rgba(243,245,247,.55);transform-origin:0 50%;transform:scaleX(var(--p,0));opacity:0;transition:opacity 240ms var(--ease-out)}
/* Estado acoplado */
@keyframes dock-in{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}
.site-header.is-docked .nav-shell{position:fixed;top:12px;left:16px;right:16px;max-width:1180px;margin:0 auto;background:rgba(9,12,16,.9);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(243,245,247,.1);animation:dock-in 520ms var(--ease-spring) backwards}
.site-header.is-docked .site-header__bar{height:60px;max-width:none;padding:0 8px 0 20px}
.site-header.is-docked .nav-ind{top:calc(50% + 14px)}
.site-header.is-docked .nav-progress{opacity:1}
.site-header.is-docked .nav-cta{min-height:44px;padding:0 18px;gap:0;background:linear-gradient(225deg,transparent 0 9px,var(--hp-amber) 9.5px);color:var(--hp-void)}
.site-header.is-docked .nav-cta .cond{display:none}
.hp .site-header.is-docked .nav-cta:hover{color:var(--hp-void);background:linear-gradient(225deg,transparent 0 9px,#FF9040 9.5px)}
.site-header.is-docked .logo-word{font-size:13px}
.nav-cta[aria-current]{color:var(--hp-amber)}
.text-link{color:inherit;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;transition:text-decoration-color 160ms var(--ease-out)}
.hp .text-link:hover{text-decoration-color:var(--hp-amber-ink)}
.menu-btn__bars{position:relative;width:20px;height:12px;display:block}
.menu-btn__bars span{position:absolute;left:0;width:20px;height:1.5px;background:currentColor;transition:transform 420ms var(--ease-spring),top 420ms var(--ease-spring)}
.menu-btn__bars span:first-child{top:0}.menu-btn__bars span:last-child{top:10.5px}
.site-header.is-open .menu-btn__bars span:first-child{top:5.25px;transform:rotate(45deg)}
.site-header.is-open .menu-btn__bars span:last-child{top:5.25px;transform:rotate(-45deg)}

/* ---------- Home ---------- */
.sol-title{display:inline-block;transition:color 280ms var(--ease-out),transform 640ms var(--ease-out)}
.sol-row:hover .sol-title,.sol-row:focus-visible .sol-title{color:var(--hp-amber);transform:translateX(8px)}
.sol-item{display:flex;flex-direction:column;gap:4px}
.est-input:focus-visible{outline:2px solid var(--hp-blue-ink);outline-offset:4px}
.seg{display:grid;grid-template-columns:1fr 1fr;background:#EDEFF2;padding:4px;gap:4px}
.seg button{min-height:44px;border:0;cursor:pointer;font:500 15px/1 var(--hp-font);background:transparent;color:#3D4550;transition:background-color 280ms var(--ease-out),color 280ms var(--ease-out)}
.seg button[aria-pressed="true"]{background:#0D1116;color:#F3F5F7}
.est-results dd{transition:opacity 160ms var(--ease-out)}

/* ---------- BESS ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.split-text{padding:104px 64px 120px max(56px,calc((100cqi - 1360px)/2 + 56px))}

/* ---------- Contacto ---------- */
.form-card{background:#FFFFFF;color:var(--hp-ink);padding:48px}
.form-card fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
.form-card legend{font-size:20px;font-weight:600;letter-spacing:-.01em;margin-bottom:4px;padding:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.field{display:flex;flex-direction:column;gap:8px}
.field label,.field .field-label{font-size:15px;font-weight:500;color:var(--hp-ink)}
.field .opt{font-weight:400;color:var(--hp-text-2)}
.field input[type="text"],.field input[type="email"],.field input[type="tel"],.field select,.field textarea{width:100%;min-height:52px;padding:12px 14px;border:1px solid #AEB6C0;border-radius:2px;background:#FFFFFF;color:var(--hp-ink);font:400 16px/1.4 var(--hp-font);transition:border-color 160ms var(--ease-out),box-shadow 160ms var(--ease-out)}
.field textarea{min-height:140px;resize:vertical}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230D1116' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--hp-blue-ink);outline-offset:2px;border-color:var(--hp-blue-ink)}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#B42318;box-shadow:inset 0 0 0 1px #B42318}
.field-error{font-size:14px;color:#B42318;font-weight:500}
.field-error:empty{display:none}
.choices{display:flex;flex-wrap:wrap;gap:10px}
.choice{position:relative}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice label{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid #AEB6C0;border-radius:2px;font-size:15px;font-weight:500;cursor:pointer;transition:background-color 160ms var(--ease-out),border-color 160ms var(--ease-out),color 160ms var(--ease-out)}
.choice input:checked + label{background:#0D1116;border-color:#0D1116;color:#F3F5F7}
.choice input:focus-visible + label{outline:2px solid var(--hp-blue-ink);outline-offset:2px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--hp-text-2)}
.consent input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:#0D1116}
.consent a,.prose a,.form-note a{color:var(--hp-blue-ink);text-decoration:underline;text-underline-offset:3px}
.hp-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.form-status{padding:20px 22px;font-size:16px;line-height:1.5}
.form-status:empty{display:none}
.form-status[data-type="error"]{background:#FDECEA;color:#7A1D14}
.form-status[data-type="success"]{background:#E8F3EC;color:#14532D}
.form-status h3{font-size:18px;font-weight:600;margin:0 0 4px}
.form-done{display:none}
.form-done:target,.form-done.is-visible{display:block}
.contact-list{display:flex;flex-direction:column;gap:20px}
.contact-list dt{font-size:14px;font-weight:500;color:var(--hp-text-2-dark)}
.contact-list dd{font-size:18px;font-weight:500}
.contact-list a:hover{color:var(--hp-amber)}

/* ---------- Páginas legales ---------- */
.prose{max-width:72ch}
.prose h2{font-size:clamp(22px,2cqi,28px);line-height:1.2;letter-spacing:-.015em;font-weight:500;margin:56px 0 16px}
.prose h3{font-size:19px;font-weight:600;margin:32px 0 10px}
.prose p,.prose li{font-size:17px;line-height:1.65;color:#2B323B}
.prose p + p{margin-top:14px}
.prose ul,.prose ol{margin:12px 0 0;padding-left:22px;list-style:disc}
.prose ol{list-style:decimal}
.prose li + li{margin-top:8px}
.prose strong{color:var(--hp-ink)}
.notice{background:#FFF3E8;color:#5A2A07;padding:20px 24px;font-size:16px;line-height:1.55;max-width:72ch}
.notice strong{color:#5A2A07}
.pending{background:#FFE2CC;color:#5A2A07;padding:0 4px;border-radius:2px;font-weight:600}
.toc{display:flex;flex-direction:column;gap:10px;font-size:15px}
.toc a{color:var(--hp-text-2)}
.toc a:hover{color:var(--hp-ink)}

/* ---------- Footer ---------- */
.site-footer{background:var(--hp-void);padding:96px 0 48px}
.foot{row-gap:48px}
.foot__brand{grid-column:1 / 5;display:flex;flex-direction:column;gap:16px}
.foot__brand .site-logo{margin-bottom:6px}
.foot__brand .logo-word{font-size:17px}
.foot__desc{font-size:15px;max-width:34ch}
.foot__col{display:flex;flex-direction:column;gap:14px;font-size:15px}
.foot__col ul{display:flex;flex-direction:column;gap:12px}
.foot__col a:hover{color:var(--hp-amber)}
.foot__title{font-size:14px;font-weight:500;color:#8F98A4;line-height:1.45}
.foot .foot__col:nth-child(2){grid-column:6 / 8}
.foot .foot__col:nth-child(3){grid-column:8 / 11}
.foot .foot__col:nth-child(4){grid-column:11 / 13}
.foot-bottom{margin-top:96px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-size:14px;color:#8F98A4}

/* ---------- 404 ---------- */
.notfound{min-height:72vh;display:flex;align-items:center}

/* ---------- Sin JavaScript: el menú se muestra completo ---------- */
.no-js .menu-btn{display:none !important}

/* ---------- Pantallas estrechas (contenedor ≤ 980px) ---------- */

/* =====================================================================
   ECOSISTEMA — evolución del circuito de la web publicada:
   fuentes → BESS → Helion Intelligence (EMS, elemento central) → consumo,
   con una capa de gestión (azul discontinuo) y la capa contractual PPA.
   ===================================================================== */
.eco-sec{background:#0B0F14}
/* Doble bisel: bandeja exterior + placa interior (contenedores principales) */
.bezel{padding:6px;border-radius:6px;border:1px solid rgba(13,17,22,.08);background:rgba(13,17,22,.03)}
.bezel--dark{border-color:rgba(243,245,247,.07);background:rgba(243,245,247,.02)}
.bezel > *{border-radius:3px}
.eco{position:relative;margin-top:0;border:1px solid rgba(243,245,247,.08);box-shadow:inset 0 1px 0 rgba(243,245,247,.05);padding:56px 40px 0;background-color:#0B0F14;background-image:linear-gradient(rgba(74,158,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(74,158,255,.05) 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px;overflow:hidden}
/* Marcas de registro en las esquinas de la placa (plano técnico) */
.reg{position:absolute;width:13px;height:13px;pointer-events:none}
.reg::before,.reg::after{content:'';position:absolute;background:#5B6675}
.reg::before{left:6px;top:0;width:1px;height:13px}.reg::after{top:6px;left:0;width:13px;height:1px}
.reg--tl{top:14px;left:14px}.reg--tr{top:14px;right:14px}.reg--bl{bottom:14px;left:14px}.reg--br{bottom:14px;right:14px}
.eco-svg{display:block;width:100%;height:auto;overflow:visible}
.eco-svg--tall{display:none}
.eco-svg text{font-family:var(--hp-font)}
.eco-t0{font-size:19px;font-weight:600;fill:#F3F5F7;letter-spacing:-.01em}
.eco-t1{font-size:15px;font-weight:600;fill:#F3F5F7}
.eco-t2{font-size:14px;font-weight:500;fill:#9AA4B1}
.eco-t3{font-size:13px;font-weight:500;fill:#7FBBFF}
.eco-ppa-t{font-size:14px;font-weight:500;fill:#BAC2CC}
.eco-strong{fill:#F3F5F7;font-weight:600}
.eco-n,.eco-ppa,.eco-c,.eco-pulses{transition:opacity 280ms var(--ease-out)}
.eco-ring{transform-box:fill-box;transform-origin:center}
.is-static .eco-pulses{display:none}
.hp .eco-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;margin-top:24px;font-size:14px;color:#9AA4B1}
.eco-legend li{display:flex;align-items:center;gap:10px}
.eco-legend-note{margin-left:auto}
.hp .eco-keys{display:grid;grid-template-columns:251fr 242fr 247fr 246fr 214fr;gap:1px;margin:40px 0 0;background:#1E2733;border-top:1px solid #1E2733}
.eco-keys li{position:relative;padding:24px 24px 32px;background:#0B0F14;transition:background-color 280ms var(--ease-out)}
.eco-keys li::before{content:'';position:absolute;left:24px;top:-1px;width:32px;height:2px;background:var(--k,#F3F5F7);transition:width 420ms var(--ease-spring)}
.eco-keys li:hover{background:#0E141B}
.eco-keys li:hover::before{width:64px}
.eco-keys [data-k="solar"],.eco-keys [data-k="bess"]{--k:#FF7A1A}
.eco-keys [data-k="ems"]{--k:#4A9EFF}
.eco-keys [data-k="ppa"]{--k:#8892A0}
.eco-keys h3{font-size:16px;font-weight:600;line-height:1.35;color:#F3F5F7}
.hp .eco-keys p{margin-top:8px;font-size:15px;line-height:1.55;color:#BAC2CC}
.eco-key-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:rgba(243,245,247,.45);transition:text-decoration-color 160ms var(--ease-out)}
.hp .eco-key-link:hover{color:inherit;text-decoration-color:var(--hp-amber)}
.eco--compact{padding:48px 40px 40px}
.eco-flow-m{display:none}
.eco-dot{width:10px;height:10px;border-radius:50%;background:var(--k);flex:none;position:relative;z-index:1;box-shadow:0 0 0 4px #0B0F14}
/* Relación leyenda ↔ diagrama: al señalar una disciplina se destaca su nodo */
.eco:has(.eco-keys li:hover) .eco-n,.eco:has(.eco-keys li:hover) .eco-ppa{opacity:.28}
.eco:has(.eco-keys [data-k="solar"]:hover) [data-k="solar"],.eco:has(.eco-keys [data-k="bess"]:hover) [data-k="bess"],.eco:has(.eco-keys [data-k="ems"]:hover) [data-k="ems"],.eco:has(.eco-keys [data-k="ppa"]:hover) [data-k="ppa"],.eco:has(.eco-keys [data-k="carga"]:hover) [data-k="carga"]{opacity:1}
/* Entrada */
@keyframes eco-ring{0%{transform:scale(.94);opacity:.45}70%{transform:scale(1.14);opacity:0}100%{transform:scale(1.14);opacity:0}}
.hp-motion .eco-ring{animation:eco-ring 3.2s var(--ease-out) 2s infinite}
.hp-motion .eco-w{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 900ms var(--ease-wipe)}
.hp-motion [data-inview] .eco-w{stroke-dashoffset:0}
.hp-motion .ew1{transition-delay:250ms}.hp-motion .ew2{transition-delay:350ms}.hp-motion .ew3{transition-delay:750ms}.hp-motion .ew4{transition-delay:1150ms}
.hp-motion .eco-n,.hp-motion .eco-c,.hp-motion .eco-ppa,.hp-motion .eco-pulses{opacity:0;transition:opacity 640ms var(--ease-out)}
.hp-motion [data-inview] .eco-n,.hp-motion [data-inview] .eco-c,.hp-motion [data-inview] .eco-ppa,.hp-motion [data-inview] .eco-pulses{opacity:1}
.hp-motion .eco-n2{transition-delay:100ms}.hp-motion .eco-n3{transition-delay:550ms}.hp-motion .eco-core{transition-delay:950ms}.hp-motion .eco-n5{transition-delay:1350ms}
.hp-motion .eco-c{transition-delay:1600ms}.hp-motion .eco-ppa{transition-delay:1850ms}.hp-motion .eco-pulses{transition-delay:1700ms}
.hp-motion [data-settled] .eco-n,.hp-motion [data-settled] .eco-c,.hp-motion [data-settled] .eco-ppa{transition-delay:0ms;transition-duration:280ms}

/* =====================================================================
   PROCESO (método) — una sola línea de progreso continua, sin numeración
   ===================================================================== */
.hp .proc{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto auto;gap:0 40px;margin-top:64px;padding-top:48px}
.proc::before,.proc::after{content:'';position:absolute;left:0;right:0;top:7px;height:2px}
.proc::before{background:repeating-linear-gradient(90deg,#9AA4B1 0 6px,transparent 6px 12px)}
.proc::after{right:calc((100% - 120px) / 4);background:var(--hp-amber);transform-origin:left center}
.proc-step{position:relative;display:grid;grid-row:span 3;grid-template-rows:subgrid;align-content:start}
.proc-step::before{content:'';position:absolute;left:0;top:-48px;width:16px;height:16px;border-radius:1px;border:2px solid var(--hp-amber);background:var(--hp-amber);box-sizing:border-box;transition:background-color 400ms var(--ease-out),border-color 400ms var(--ease-out)}
.proc-t{font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.015em}
.hp .proc-p{margin-top:12px;font-size:16px;line-height:1.6;color:var(--hp-text-2);max-width:34ch}
.hp .proc-o{margin-top:16px;font-size:14px;line-height:1.5;font-weight:600;color:var(--hp-ink);max-width:34ch}
.hp .proc-list{margin-top:16px;display:flex;flex-direction:column;gap:10px;max-width:34ch}
.proc-list li{font-size:15px;line-height:1.55;color:var(--hp-text-2)}
.proc-list strong{color:var(--hp-ink);font-weight:600}
.hp-motion .proc::after{transform:scaleX(0);transition:transform 2000ms var(--ease-wipe) 300ms}
.hp-motion .proc[data-inview]::after{transform:scaleX(1)}
.hp-motion .proc-step::before{background:#EDEFF2;border-color:#9AA4B1}
.hp-motion .proc[data-inview] .proc-step::before{background:var(--hp-amber);border-color:var(--hp-amber)}
.hp-motion .proc .proc-step:nth-child(1)::before{transition-delay:300ms}
.hp-motion .proc .proc-step:nth-child(2)::before{transition-delay:850ms}
.hp-motion .proc .proc-step:nth-child(3)::before{transition-delay:1400ms}
.hp-motion .proc .proc-step:nth-child(4)::before{transition-delay:1950ms}
/* La operación no termina: su marcador emite un pulso lento */
@keyframes proc-pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.4);opacity:0}}
.proc-step:last-child::after{content:'';position:absolute;left:0;top:-48px;width:16px;height:16px;border-radius:1px;border:1px solid var(--hp-amber);opacity:0;pointer-events:none}
.hp-motion .proc[data-inview] .proc-step:last-child::after{animation:proc-pulse 2.8s var(--ease-out) 2.6s infinite}

/* =====================================================================
   CIFRAS — una sola retícula: etiqueta, cifra (tabular) y unidad menor
   ===================================================================== */
.metrics{display:grid;gap:1px;background:#E1E5EA;border:1px solid #E1E5EA}
.metrics--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.metrics--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.metric{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:96px;padding:16px 18px 18px;background:#FFFFFF}
.metric dt{font-size:13px;font-weight:500;line-height:1.4;color:var(--hp-text-2)}
.metric dd{font-family:var(--hp-tech);font-size:30px;font-weight:600;line-height:1;letter-spacing:-.02em;white-space:nowrap;color:var(--hp-ink);font-variant-numeric:tabular-nums}
.metric .u{font-family:var(--hp-font);font-size:13px;font-weight:500;letter-spacing:0;color:var(--hp-text-2)}
.metric--key{box-shadow:inset 3px 0 0 var(--hp-amber)}
.metric--key dd{color:var(--hp-amber-ink)}
.metric-note{font-size:14px;line-height:1.5;color:var(--hp-text-2)}
.metrics--dark{background:#2C3846;border-color:#2C3846}
.metrics--dark .metric{background:#12171F;min-height:112px;padding:20px 22px 22px}
.metrics--dark .metric dt,.metrics--dark .metric .u,.metrics--dark .metric-note{color:#BAC2CC}
.metrics--dark .metric dd{color:#F3F5F7;font-size:34px}
.est-panel .btn-primary{width:100%}
.est-input{font-family:var(--hp-tech);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
/* Glosario de indicadores financieros: tabla de definición, no tarjetas */
.terms{display:flex;flex-direction:column}
.terms div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 24px;padding:18px 0;border-top:1px solid #2C3846;align-items:baseline}
.terms div:last-child{border-bottom:1px solid #2C3846}
.terms dt{font-family:var(--hp-tech);font-size:18px;font-weight:600;color:#F3F5F7;letter-spacing:.02em}
.terms dd{font-size:16px;line-height:1.55;color:#BAC2CC}
.light .sol-row:hover .sol-title,.light .sol-row:focus-visible .sol-title{color:var(--hp-amber-ink)}


/* =====================================================================
   ECOSISTEMA v4 — diagrama explorable + inspector (asimétrico)
   ===================================================================== */
.eco-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);margin-top:72px;border:1px solid rgba(243,245,247,.1);background:#0B0F14}
.eco-canvas{position:relative;padding:56px 44px 28px;border-right:1px solid rgba(243,245,247,.1);background-image:linear-gradient(rgba(74,158,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(74,158,255,.05) 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}
.eco-plot{position:relative}
.eco-hit{position:absolute;width:var(--s,72px);height:var(--s,72px);transform:translate(-50%,-50%);padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;--bc:#F3F5F7;
  background-image:linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc)),linear-gradient(var(--bc),var(--bc));
  background-size:12px 1.5px,1.5px 12px,12px 1.5px,1.5px 12px,12px 1.5px,1.5px 12px,12px 1.5px,1.5px 12px;
  background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-repeat:no-repeat;opacity:0;transition:opacity 240ms var(--ease-out),transform 420ms var(--ease-spring)}
.eco-hit--wide{width:58%;height:48px}
.eco-hit:hover{opacity:.45}
.hp .eco-hit:focus-visible{outline:none;opacity:.9}
.eco-hit[aria-pressed="true"]{--bc:var(--hp-amber);opacity:1}
.eco-stage.has-sel .eco-n,.eco-stage.has-sel .eco-ppa,.eco-stage.has-sel [data-links]{opacity:.2;transition:opacity 360ms var(--ease-out)}
.eco-stage.has-sel .is-lit{opacity:1}
.eco-insp{display:flex;flex-direction:column;gap:32px;padding:36px 30px 32px}
.eco-index{display:flex;flex-direction:column;border-top:1px solid #1E2733}
.eco-idx{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0;border:0;border-bottom:1px solid #1E2733;border-radius:0;background:none;color:#8F99A6;font-family:var(--hp-font);font-size:15px;font-weight:500;text-align:left;cursor:pointer;transition:color 200ms var(--ease-out)}
.eco-idx::after{content:'';flex:none;width:8px;height:8px;box-sizing:border-box;border:1.5px solid currentColor;transition:background-color 200ms var(--ease-out),border-color 200ms var(--ease-out),transform 420ms var(--ease-spring)}
.hp .eco-idx:hover{color:#F3F5F7}
.eco-idx[aria-pressed="true"]{color:#F3F5F7}
.eco-idx[aria-pressed="true"]::after{background:var(--hp-amber);border-color:var(--hp-amber);transform:rotate(45deg)}
.eco-panel{animation:eco-panel-in 480ms var(--ease-spring) both}
@keyframes eco-panel-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.eco-panel + .eco-panel{margin-top:32px}
.js .eco-panel + .eco-panel{margin-top:0}
.hp .eco-panel__sub{font-size:13px;font-weight:500;color:#7FBBFF}
.hp .eco-panel__t{margin-top:6px;font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.015em;color:#F3F5F7}
.hp .eco-panel__p{margin-top:12px;font-size:15px;line-height:1.6;color:#BAC2CC}
.eco-rel{margin-top:22px}
.eco-rel__l{display:block;font-size:13px;color:#7C8794}
.eco-rel__c{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.eco-chip{padding:7px 10px;border:1px solid #2C3846;border-radius:0;background:none;color:#DDE2E8;font-family:var(--hp-font);font-size:13px;font-weight:500;cursor:pointer;transition:border-color 200ms var(--ease-out),color 200ms var(--ease-out)}
.hp .eco-chip:hover{border-color:var(--hp-amber);color:#F3F5F7}
.eco-panel .link-arrow{margin-top:18px;color:#F3F5F7}
.no-js .eco-index,.no-js .eco-hit,.no-js .eco-rel{display:none}


/* =====================================================================
   MÉTODO v4 — un recorrido continuo: la línea se energiza con el scroll
   y cada fase se activa cuando la corriente llega a ella.
   ===================================================================== */
.flow{--fp:1;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto 160px auto;column-gap:40px;margin-top:96px}
.flow-line{grid-column:1 / -1;grid-row:2;width:100%;height:160px;overflow:visible}
.flow-base{fill:none;stroke:#C3CAD3;stroke-width:2}
.flow-fill{fill:none;stroke:var(--hp-amber);stroke-width:3;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:calc(1 - var(--fp))}
.flow-tail{fill:none;stroke:#9AA4B1;stroke-width:1.5;stroke-dasharray:4 6}
.flow-ongoing{grid-column:4;grid-row:2;justify-self:end;align-self:start;margin-top:48px;font-size:13px;font-weight:500;color:#5B6675}
.flow-steps{display:contents}
.flow-step{position:relative;grid-column:var(--c);max-width:320px;transition:opacity 480ms var(--ease-out)}
.flow-step--up{grid-row:1;align-self:end;padding-bottom:30px}
.flow-step--down{grid-row:3;align-self:start;padding-top:30px}
.flow-step::after{content:'';position:absolute;left:14px;width:1px;background:#9AA4B1}
.flow-step--up::after{bottom:0;height:22px}
.flow-step--down::after{top:0;height:22px}
.flow-dot{position:absolute;left:7px;width:16px;height:16px;box-sizing:border-box;border:2px solid #9AA4B1;background:#EDEFF2;transition:background-color 400ms var(--ease-out),border-color 400ms var(--ease-out),transform 520ms var(--ease-spring)}
.flow-step--up .flow-dot{bottom:-30px;transform:translateY(50%)}
.flow-step--down .flow-dot{top:-30px;transform:translateY(-50%)}
.flow-step.is-reached .flow-dot,.flow:not(.is-live) .flow-dot{background:var(--hp-amber);border-color:var(--hp-amber)}
.flow-step.is-reached::after,.flow:not(.is-live) .flow-step::after{background:var(--hp-amber)}
.flow.is-live .flow-step:not(.is-reached){opacity:.42}
.flow-step--up:hover .flow-dot{transform:translateY(50%) rotate(45deg)}
.flow-step--down:hover .flow-dot{transform:translateY(-50%) rotate(45deg)}
.hp .flow-t{font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.015em}
.hp .flow-p{margin-top:10px;font-size:16px;line-height:1.6;color:var(--hp-text-2);max-width:34ch}
.hp .flow-r{margin-top:14px;font-size:14px;line-height:1.5;font-weight:600;color:var(--hp-ink);max-width:34ch}
.flow-step:last-child .flow-dot::after{content:'';position:absolute;inset:-2px;border:1px solid var(--hp-amber);opacity:0;pointer-events:none}
.hp-motion .flow-step.is-reached:last-child .flow-dot::after{animation:proc-pulse 2.8s var(--ease-out) .8s infinite}


/* =====================================================================
   SOLUCIONES — alcance real por modalidad de ejecución + sectores
   ===================================================================== */
.svc-photo__tag{position:absolute;left:0;bottom:0;display:flex;align-items:center;gap:14px;padding:20px 26px;background:#090C10;font-size:17px;font-weight:500}
.svc-groups{display:flex;flex-direction:column;gap:48px}
.hp .svc-label{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--hp-ink)}
.mod{flex:none;width:12px;height:12px;box-sizing:border-box}
.mod--own{background:var(--hp-amber)}
.mod--ally{border:2px solid var(--hp-amber)}
.mod--dev{border:1.5px dashed #5B6675}
.hp .svc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin-top:16px}
.svc{padding:16px 0 18px;border-top:1px solid #D5DAE0}
.svc-group--dev .svc-list{grid-template-columns:minmax(0,1fr)}
.hp .svc-t{font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.hp .svc-d{margin-top:6px;font-size:15px;line-height:1.55;color:var(--hp-text-2)}
.svc-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:rgba(13,17,22,.35);transition:text-decoration-color 200ms var(--ease-out)}
.hp .svc-link:hover{color:inherit;text-decoration-color:var(--hp-amber-ink)}
.svc-group--dev .svc-t{color:#3D4550}
.sectors{margin-top:128px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px 64px;align-items:start}
.sectors__intro{grid-column:1;grid-row:1 / span 2;display:flex;flex-direction:column;gap:16px;max-width:30ch}
.sectors__tabs{grid-column:2;display:flex;flex-wrap:wrap;gap:4px 24px;border-bottom:1px solid #D5DAE0}
.sec-tab{position:relative;min-height:44px;padding:0;border:0;border-radius:0;background:none;color:#5B6675;font-family:var(--hp-font);font-size:15px;font-weight:500;cursor:pointer;transition:color 200ms var(--ease-out)}
.sec-tab::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--hp-amber);transform:scaleX(0);transform-origin:left;transition:transform 420ms var(--ease-spring)}
.hp .sec-tab:hover,.sec-tab[aria-pressed="true"]{color:var(--hp-ink)}
.sec-tab[aria-pressed="true"]::after{transform:scaleX(1)}
.sectors__panels{grid-column:2}
.hp .sec-panel__t{margin:0}
.sec-panel{animation:eco-panel-in 480ms var(--ease-spring) both}
.sec-panel + .sec-panel{margin-top:48px}
.js .sec-panel + .sec-panel{margin-top:0}
.sec-panel__head{display:flex;flex-direction:column;gap:6px}
.hp .sec-panel__t{font-size:28px;font-weight:600;line-height:1.15;letter-spacing:-.02em}
.hp .sec-panel__sub{font-size:16px;font-weight:500;color:#9C4209}
.sec-panel__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:28px}
.hp .sec-panel__k{font-size:14px;font-weight:600;color:var(--hp-ink)}
.hp .sec-panel__p{margin-top:8px;font-size:16px;line-height:1.6;color:var(--hp-text-2)}
.hp .sec-panel__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.sec-panel__tags li{padding:6px 10px;border:1px solid #C3CAD3;font-size:13px;font-weight:500;color:var(--hp-ink)}
.no-js .sectors__tabs{display:none}


/* =====================================================================
   PREGUNTAS FRECUENTES — acordeón nativo (funciona sin JavaScript)
   ===================================================================== */
.faq{border-top:1px solid #1E2733}
.faq-i{border-bottom:1px solid #1E2733}
.faq-i summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:18px 0;cursor:pointer;list-style:none;font-size:18px;font-weight:500;line-height:1.35;color:#F3F5F7;transition:color 200ms var(--ease-out)}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary:hover{color:#FFFFFF}
.hp .faq-i summary:focus-visible{outline:2px solid var(--hp-blue);outline-offset:4px}
.faq-x{position:relative;flex:none;width:16px;height:16px}
.faq-x::before,.faq-x::after{content:'';position:absolute;left:0;top:7px;width:16px;height:1.5px;background:currentColor;transition:transform 420ms var(--ease-spring),background-color 200ms var(--ease-out)}
.faq-x::after{transform:rotate(90deg)}
.faq-i[open] .faq-x::before{transform:rotate(45deg);background:var(--hp-amber)}
.faq-i[open] .faq-x::after{transform:rotate(135deg);background:var(--hp-amber)}
.hp .faq-i p{max-width:62ch;padding:0 40px 28px 0;font-size:16px;line-height:1.65;color:#BAC2CC}
.faq-i[open] p{animation:eco-panel-in 420ms var(--ease-spring) both}


/* =====================================================================
   CONTACTO v5 — diagnóstico (oscuro) + solicitud en dos pasos (claro)
   ===================================================================== */
.cx{background:#F3F5F7;color:var(--hp-ink);overflow-anchor:none}
.cx-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:calc(100vh - 96px)}

/* ---- panel izquierdo */
.cx-info{position:relative;overflow:hidden;color:var(--hp-paper);background:#090C10;padding:88px clamp(32px,4.5cqi,80px) 96px max(56px,calc((100cqi - 1360px) / 2 + 56px))}
.cx-info::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(74,158,255,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(74,158,255,.075) 1px,transparent 1px),linear-gradient(rgba(74,158,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(74,158,255,.032) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;background-position:-1px -1px;-webkit-mask-image:linear-gradient(160deg,#000 0%,rgba(0,0,0,.55) 45%,transparent 92%);mask-image:linear-gradient(160deg,#000 0%,rgba(0,0,0,.55) 45%,transparent 92%)}
.cx-reg{position:absolute;width:15px;height:15px;pointer-events:none}
.cx-reg::before,.cx-reg::after{content:'';position:absolute;background:var(--hp-amber)}
.cx-reg::before{left:7px;top:0;width:1px;height:15px}
.cx-reg::after{top:7px;left:0;height:1px;width:15px}
.cx-reg--tl{top:24px;left:24px}
.cx-reg--br{right:24px;bottom:24px}
.cx-reg--br::before,.cx-reg--br::after{background:#2C3846}
.cx-info__in{position:sticky;top:104px;max-width:520px}
.hp .cx-kicker{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:#BAC2CC}
.cx-kicker::before{content:'';width:28px;height:2px;background:var(--hp-amber)}
.cx-kicker__sep{width:4px;height:4px;background:#5B6675}
.hp .cx-title{margin-top:28px;font-size:clamp(38px,3.6cqi,56px);font-weight:500;line-height:1.02;letter-spacing:-.035em;color:#8D98A5}
.cx-title .l--accent{color:#F3F5F7}
.hp .cx-lead{margin-top:28px;max-width:44ch;font-size:18px;line-height:1.6;color:#BAC2CC}
.hp .cx-h2{margin-top:64px;padding-top:28px;border-top:1px solid #1E2733;font-size:14px;font-weight:600;color:#8D98A5}
.hp .cx-seq{margin-top:24px;display:flex;flex-direction:column}
.cx-seq li{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);padding-bottom:26px}
.cx-seq li:last-child{padding-bottom:0}
.cx-seq li:not(:last-child)::before{content:'';position:absolute;left:9px;top:26px;bottom:6px;width:1px;background:linear-gradient(#FF7A1A,#2C3846)}
.cx-seq__n{font-family:var(--hp-tech);font-size:14px;font-weight:600;line-height:22px;color:var(--hp-amber);font-variant-numeric:tabular-nums}
.hp .cx-seq h3{font-size:17px;font-weight:600;line-height:1.3;color:#F3F5F7}
.hp .cx-seq p{margin-top:4px;font-size:15px;line-height:1.55;color:#BAC2CC}
.hp .cx-direct{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin-top:56px;padding-top:28px;border-top:1px solid #1E2733}
.cx-direct dt{font-size:13px;font-weight:500;color:#8D98A5}
.hp .cx-direct dd{margin-top:4px;font-size:16px;font-weight:500;overflow-wrap:anywhere}
.cx-direct a{color:var(--hp-paper)}
.hp .cx-direct a:hover{color:var(--hp-amber)}

/* ---- panel derecho */
.cx-form{padding:80px max(56px,calc((100cqi - 1360px) / 2 + 56px)) 112px clamp(32px,4.5cqi,88px)}
.cx-form__in{max-width:680px}
.dx-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 24px}
.hp .dx-title{font-size:22px;font-weight:600;letter-spacing:-.015em}
.hp .dx-prog{display:flex;gap:24px}
.dx-prog__i{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:#5B6675;transition:color 240ms var(--ease-out)}
.dx-prog__n{display:grid;place-items:center;width:26px;height:26px;box-sizing:border-box;border:1px solid #B5BDC7;font-family:var(--hp-tech);font-size:13px;font-weight:600;color:#5B6675;transition:background-color 240ms var(--ease-out),border-color 240ms var(--ease-out),color 240ms var(--ease-out)}
.dx-prog__i[aria-current="step"]{color:var(--hp-ink);font-weight:600}
.dx-prog__i[aria-current="step"] .dx-prog__n{background:var(--hp-ink);border-color:var(--hp-ink);color:#F3F5F7}
.dx-prog__i.is-done .dx-prog__n{background:var(--hp-amber);border-color:var(--hp-amber);color:var(--hp-ink)}
.dx-bar{grid-column:1 / -1;position:relative;height:2px;background:#D5DAE0}
.dx-bar span{position:absolute;inset:0;background:var(--hp-amber);transform-origin:left center;transform:scaleX(var(--dx-p,.5));transition:transform 700ms var(--ease-spring)}
.dx:not(.is-stepped) .dx-prog,.dx:not(.is-stepped) [data-next],.dx:not(.is-stepped) [data-back],.dx:not(.is-stepped) .dx-sum,.dx:not(.is-stepped) .dx-count{display:none}
.dx:not(.is-stepped) .dx-bar,.dx:not(.is-stepped) .dx-nav--1{display:none}
.dx:not(.is-stepped) .dx-head{padding-bottom:20px;border-bottom:1px solid #D5DAE0}
.dx:not(.is-stepped) .dx-step + .dx-step{margin-top:48px}
.dx.is-stepped .dx-step:not(.is-active){display:none}
.dx-step{padding-top:36px}
.dx-step.is-entering{animation:dx-in 560ms var(--ease-spring) both}
.dx-step.is-entering[data-dir="back"]{animation-name:dx-in-back}
@keyframes dx-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes dx-in-back{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}

.dx-fs{margin:0;padding:0;border:0;min-width:0}
.dx-q{display:block;width:100%;padding:0;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.01em;color:var(--hp-ink)}
.dx-q:focus{outline:none}
.dx-q:focus-visible{outline:2px solid var(--hp-blue-ink);outline-offset:4px}
.dx-q__n{display:block;margin-bottom:6px;font-family:var(--hp-tech);font-size:13px;font-weight:600;letter-spacing:0;color:#9C4209}
.hp .dx-q--sub{margin-top:40px;padding-top:28px;border-top:1px solid #DCE1E7;font-size:17px}
.req{color:#9C4209}
.opt-tag{margin-left:6px;font-size:13px;font-weight:500;color:#5B6675}
.hp .dx-help{margin-top:6px;font-size:14px;line-height:1.5;color:#5B6675}
.dx-help--row{display:flex;justify-content:space-between;gap:16px}
.dx-chars{flex:none;font-family:var(--hp-tech);font-size:12px;font-variant-numeric:tabular-nums}
.dx-chars.is-near{color:#9C4209}

/* opciones de solución */
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.opt{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 22px;align-items:center;gap:16px;min-height:88px;padding:16px 18px 16px 16px;border:1px solid #DCE1E7;border-radius:4px;background:#FFFFFF;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color 220ms var(--ease-out),background-color 220ms var(--ease-out),transform 420ms var(--ease-spring)}
.opt::before{content:'';position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;border-radius:4px 0 0 4px;background:var(--hp-amber);transform:scaleY(0);transform-origin:center;transition:transform 420ms var(--ease-spring)}
.opt input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.opt__ic{display:grid;place-items:center;width:48px;height:48px;border-radius:3px;background:#EEF1F4;color:#3D4550;transition:background-color 260ms var(--ease-out),color 260ms var(--ease-out)}
.opt__tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.opt__t{font-size:16px;font-weight:600;line-height:1.25;color:var(--hp-ink)}
.opt__d{font-size:14px;line-height:1.4;color:#5B6675}
.opt__st{position:relative;width:22px;height:22px;box-sizing:border-box;border:1.5px solid #B5BDC7;border-radius:50%;transition:background-color 220ms var(--ease-out),border-color 220ms var(--ease-out)}
.opt__st::after{content:'';position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid var(--hp-ink);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform 320ms var(--ease-spring)}
.opt--gen{grid-column:1 / -1;min-height:76px;border-style:dashed;border-color:#B5BDC7;background:transparent}
.opt--gen .opt__ic{background:transparent;border:1px solid #DCE1E7}
.opt:hover{border-color:#8D98A5}
.opt:hover .opt__ic{background:#E4E8EC}
.opt--gen:hover .opt__ic{background:transparent}
.opt:hover .opt__st{border-color:#5B6675}
.opt:active{transform:scale(.99)}
.opt:has(input:checked){border-color:var(--hp-ink);border-style:solid;background:#FFFFFF}
.opt.is-on{border-color:var(--hp-ink);border-style:solid;background:#FFFFFF}
.opt.is-on::before,.opt:has(input:checked)::before{transform:scaleY(1)}
.opt.is-on .opt__ic,.opt:has(input:checked) .opt__ic{background:var(--hp-ink);border-color:var(--hp-ink);color:var(--hp-amber)}
.opt.is-on .opt__st,.opt:has(input:checked) .opt__st{background:var(--hp-amber);border-color:var(--hp-amber)}
.opt.is-on .opt__st::after,.opt:has(input:checked) .opt__st::after{transform:rotate(45deg) scale(1)}
.opt:has(input:focus-visible){outline:2px solid var(--hp-blue-ink);outline-offset:2px}
.opts.is-invalid .opt{border-color:#B42318;border-style:solid}

/* detalle opcional por solución */
.dx-detail{margin-top:24px;padding:20px 22px 22px;border-radius:4px;background:#E9EDF1}
.dx.is-stepped .dx-detail:not(.has-any){display:none}
.dx-detail.has-any{animation:dx-fade 420ms var(--ease-out) both}
@keyframes dx-fade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.hp .dx-detail__h{font-size:15px;font-weight:600;color:var(--hp-ink)}
.dx-detail__h span{display:block;margin-top:2px;font-size:14px;font-weight:400;color:#5B6675}
.dq{margin:16px 0 0;padding:16px 0 0;border:0;border-top:1px solid #D2D8DF;min-width:0}
.dx.is-stepped .dq:not(.is-on),.dx.is-stepped .dq-gen:not(.is-on){display:none}
.dq legend{float:left;width:100%;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:0;font-size:15px;font-weight:600;color:var(--hp-ink)}
.dq__k{font-family:var(--hp-tech);font-size:13px;color:#9C4209}
.chips{clear:both;display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #C3CAD3;border-radius:3px;background:#FFFFFF;font-size:14px;font-weight:500;color:var(--hp-ink);transition:background-color 200ms var(--ease-out),border-color 200ms var(--ease-out),color 200ms var(--ease-out)}
.chip span::before{content:'';width:0;height:6px;background:var(--hp-amber);transition:width 320ms var(--ease-spring)}
.chip:hover span{border-color:var(--hp-ink)}
.chip input:checked + span{background:var(--hp-ink);border-color:var(--hp-ink);color:#F3F5F7}
.chip input:checked + span::before{width:6px}
.chip input:focus-visible + span{outline:2px solid var(--hp-blue-ink);outline-offset:2px}
.hp .dq-gen{margin-top:16px;padding-top:16px;border-top:1px solid #D2D8DF;font-size:15px;line-height:1.55;color:#3D4550}

/* barra de navegación del paso */
.dx-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid #DCE1E7}
.dx-nav--1{justify-content:flex-end}
.hp .dx-count{margin-right:auto;font-size:14px;color:#5B6675}
.dx-count strong{font-weight:600;color:var(--hp-ink)}

/* botones del formulario */
.fbtn{--plate:#0E2238;display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:0 24px;border:0;border-radius:0;background:none;color:var(--hp-ink);font-family:var(--hp-font);font-size:15px;font-weight:600;line-height:1.2;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:--plate 220ms var(--ease-out),color 200ms var(--ease-out),transform 420ms var(--ease-spring)}
.fbtn__ic{flex:none;transition:transform 420ms var(--ease-spring)}
.fbtn--next{min-width:200px;background:linear-gradient(225deg,transparent 0 11px,var(--plate) 11.5px);color:#F3F5F7}
.hp .fbtn--next:hover{--plate:#183A5E;color:#FFFFFF}
.fbtn--next:hover .fbtn__ic,.fbtn--next:focus-visible .fbtn__ic{transform:translateX(4px)}
.fbtn--next:active{--plate:#0A1828;transform:scale(.98)}
.fbtn--back{justify-content:flex-start;padding:0 14px 0 2px}
.hp .fbtn--back:hover{color:var(--hp-blue-ink)}
.fbtn--back:hover .fbtn__ic,.fbtn--back:focus-visible .fbtn__ic{transform:translateX(-4px)}
.fbtn--back:active{transform:scale(.98)}
.fbtn[disabled]{opacity:.45;cursor:not-allowed}
.fbtn-link{min-height:44px;margin-left:auto;padding:0 2px;border:0;background:none;font-family:var(--hp-font);font-size:14px;font-weight:600;color:#17589F;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.fbtn-link:hover{color:var(--hp-ink)}

/* resumen del paso 1 dentro del paso 2 */
.dx-sum{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-bottom:32px;padding:6px 8px 6px 16px;border-left:3px solid var(--hp-amber);background:#E9EDF1}
.dx-sum__k{font-size:13px;color:#5B6675}
.dx-sum__v{font-size:15px;font-weight:600;color:var(--hp-ink)}

/* campos */
.dx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;margin-top:22px}
.fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.fld--area{grid-column:1 / -1}
.fld label{font-size:14px;font-weight:600;color:var(--hp-ink)}
.fld__ctl{position:relative;display:block}
.fld input,.fld select,.fld textarea{display:block;width:100%;height:52px;margin:0;padding:0 44px 0 14px;border:1px solid #B5BDC7;border-radius:3px;background:#FFFFFF;color:var(--hp-ink);font:500 16px/1.4 var(--hp-font);transition:border-color 180ms var(--ease-out),box-shadow 180ms var(--ease-out),background-color 180ms var(--ease-out)}
.fld textarea{height:auto;min-height:128px;padding:12px 14px;resize:vertical;line-height:1.55}
.fld input::placeholder,.fld textarea::placeholder{color:#8D98A5;font-weight:400}
.fld select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230D1116' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.fld input:hover,.fld select:hover,.fld textarea:hover{border-color:#5B6675}
.hp .fld input:focus,.hp .fld select:focus,.hp .fld textarea:focus{outline:none;border-color:var(--hp-blue-ink);box-shadow:0 0 0 3px rgba(31,111,209,.16)}
.fld__mk{position:absolute;right:14px;top:18px;width:16px;height:16px;background:no-repeat center/16px 16px;opacity:0;transform:scale(.6);transition:opacity 200ms var(--ease-out),transform 320ms var(--ease-spring);pointer-events:none}
.fld[data-state="valid"] .fld__mk{opacity:1;transform:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%231C7A4B' stroke-width='2'/%3E%3C/svg%3E")}
.fld[data-state="valid"] input{border-color:#7FB79A}
.fld[data-state="error"] .fld__mk{opacity:1;transform:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='%23B42318'/%3E%3Cpath d='M8 4v5' stroke='%23fff' stroke-width='1.8'/%3E%3Ccircle cx='8' cy='11.6' r='1.1' fill='%23fff'/%3E%3C/svg%3E")}
.fld [aria-invalid="true"]{border-color:#B42318 !important;background-color:#FFF9F8}
.hp .fld [aria-invalid="true"]:focus{box-shadow:0 0 0 3px rgba(180,35,24,.14)}
.fld input:disabled,.fld select:disabled,.fld textarea:disabled{background-color:#EEF1F4;border-color:#D5DAE0;color:#7C8794;cursor:not-allowed}
.fld:has(:disabled) label{color:#7C8794}
.fld .field-error{display:flex;gap:6px;font-size:14px;line-height:1.4}
.dx-grid--op{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.dx-grid--op .fld:first-child{grid-column:1}

.dx-consent{margin-top:36px;padding:18px 18px 18px 16px;border-radius:4px;background:#E9EDF1}
.dx-consent label{font-size:14px;font-weight:400;line-height:1.6;color:#3D4550}
.dx-consent input{accent-color:var(--hp-ink)}
.hp .dx-consent a{color:#17589F}
.dx-consent:has([aria-invalid="true"]){background:#FDF1EF}
#consentimiento-error{margin-top:8px}
.dx .form-status{margin-top:20px;border-radius:3px}
.dx-step[data-step="2"] .dx-nav{margin-top:24px}
.cx-submit{min-width:260px}
.btn-spin{width:10px;height:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin 700ms linear infinite}
@keyframes btn-spin{to{transform:rotate(360deg)}}
.dx.is-busy .fld,.dx.is-busy .dx-consent{transition:opacity 200ms}

/* resultado */
.cx-result{padding:8px 0 0}
.cx-result__mark{display:block;width:20px;height:20px;background:var(--hp-amber);transform:rotate(45deg);margin:8px 0 28px 4px}
.cx-result[data-type="error"] .cx-result__mark{background:transparent;border:2px solid #B42318}
.hp .cx-result h2{font-size:clamp(28px,2.6cqi,40px);font-weight:500;line-height:1.1;letter-spacing:-.025em}
.hp .cx-result p{margin-top:16px;max-width:46ch;font-size:17px;line-height:1.6;color:var(--hp-text-2)}
.cx-result .link-arrow{margin-top:24px}

@media (prefers-reduced-motion: reduce){
  .dx-step.is-entering,.dx-detail.has-any{animation:none}
  .dx-bar span,.opt,.opt::before,.opt__st::after,.chip span::before{transition:none}
}

@container (max-width: 980px){
  .cx-grid{grid-template-columns:minmax(0,1fr);min-height:0}
  .cx-info{padding:64px 20px 56px}
  .cx-info__in{position:static;max-width:none}
  .hp .cx-h2{margin-top:44px}
  .hp .cx-direct{margin-top:40px}
  .cx-reg--br{display:none}
  .cx-form{padding:48px 20px 96px}
  .cx-form__in{max-width:none}
  .svc-wrap > *{grid-column:1 / -1 !important}
  .svc-photo .photo{height:380px !important}
  .svc-groups{margin-top:48px}
  .sectors{grid-template-columns:minmax(0,1fr);margin-top:96px}
  .sectors__intro,.sectors__tabs,.sectors__panels{grid-column:1;grid-row:auto;max-width:none}
  .sectors__tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:24px}
  .sec-tab{flex:none;white-space:nowrap}
  .eco-stage{grid-template-columns:minmax(0,1fr)}
  .eco-canvas{border-right:0;border-bottom:1px solid rgba(243,245,247,.1)}
  .eco-index{flex-direction:row;overflow-x:auto;gap:8px;border-top:0;scrollbar-width:none}
  .eco-idx{flex:none;min-height:40px;padding:0 14px;border:1px solid #2C3846;white-space:nowrap}
  .eco-idx::after{display:none}
  .eco-idx[aria-pressed="true"]{border-color:var(--hp-amber)}
  .site-header,.site-header__bar{min-height:76px;height:76px}
  .js .site-nav{display:none}
  .js .site-header.is-open .nav-shell{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--hp-void)}
  .js .site-header.is-open .site-nav{display:flex;position:fixed;inset:0;z-index:1;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:40px;padding:112px 24px 40px;background:var(--hp-void);overflow-y:auto}
  .js .site-header.is-open .site-nav__list{flex-direction:column;gap:0;border-top:1px solid #1E2733}
  .js .site-header.is-open .site-nav__list li{border-bottom:1px solid #1E2733}
  .js .site-header.is-open .navlink{display:flex;align-items:center;justify-content:space-between;font-size:28px;font-weight:500;padding:18px 0;letter-spacing:-.015em}
  .js .site-header.is-open .navlink.is-active{color:var(--hp-amber)}
  .js .site-header.is-open .nav-ind{display:none}
  .js .site-header.is-open .nav-cta{justify-content:space-between;min-height:56px;padding:0 20px;background:linear-gradient(225deg,transparent 0 11px,var(--hp-amber) 11.5px);color:var(--hp-void)}
  .js .site-header.is-open .nav-cta .cond{display:none}
  .site-header.is-docked .nav-shell{top:8px;left:8px;right:8px}
  .site-header.is-docked .site-header__bar{height:56px;min-height:56px;padding:0 4px 0 16px}
  .site-header.is-open{background:transparent}
  .no-js .site-header__bar{height:auto;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}
  .no-js .site-nav,.no-js .site-nav__list{flex-wrap:wrap;gap:16px 24px}
  .sec{padding-top:88px !important;padding-bottom:88px !important}
  .hero{min-height:720px !important;padding-top:120px}
  .photo-xl{height:420px !important}
  .sol-list{padding-left:0 !important}
  .mosaic{grid-template-columns:minmax(0,1fr) !important}
  .mosaic-main{height:560px !important}
  .mosaic-side{height:260px !important}
  .mosaic-copy{left:20px !important;right:20px !important;bottom:32px !important}
  .ph-flow{gap:96px !important}
  .ph{row-gap:28px !important}
  .ph-media{height:400px !important;margin-top:0 !important;grid-row:auto !important}
  .ph-text{order:2;padding:0 !important}
  .ph-panel{grid-row:auto !important;order:2;margin:-64px 24px 0 0 !important;padding:32px 28px 36px !important}
  .trust{grid-template-columns:minmax(0,1fr) !important}
  .trust-photo{min-height:420px !important}
  .est-panel{padding:28px 22px !important}
  .est-input{font-size:30px !important}
  .dg-hint{display:none !important}
  .mt-lg{margin-top:56px !important}
  .head-link{justify-self:start !important}
  .split{grid-template-columns:minmax(0,1fr) !important}
  .split-photo{min-height:380px !important}
  .split-text{padding:56px 20px 72px !important}
  .grid3,.grid2,.grid4{grid-template-columns:minmax(0,1fr) !important}
  .grid4{grid-template-columns:1fr 1fr !important}
  .flow{flex-direction:column !important;align-items:stretch !important}
  .flow-arrow{transform:rotate(90deg);align-self:center}
  .flow-panel{padding:24px !important}
  .head{flex-direction:column;align-items:flex-start !important}
  .phase-row{grid-template-columns:minmax(0,1fr) !important}
  .form-card{padding:28px 20px}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .foot{grid-template-columns:1fr 1fr !important;row-gap:40px !important}
  .foot>*{grid-column:auto !important}
  .foot__brand{grid-column:1 / -1 !important}
  .foot-bottom{flex-direction:column}
}
.dg-mobile{display:none}
@container (max-width: 820px){
  .flow{grid-template-columns:minmax(0,1fr);grid-template-rows:none;row-gap:44px;margin-top:64px;padding-left:44px}
  .flow::before,.flow::after{content:'';position:absolute;left:7px;top:8px;bottom:8px;width:2px}
  .flow::before{background:#C3CAD3}
  .flow::after{background:var(--hp-amber);transform-origin:center top;transform:scaleY(var(--fp))}
  .flow-line,.flow-ongoing{display:none}
  .flow-step{grid-row:auto !important;grid-column:auto;padding:0 !important;max-width:none}
  .flow-step::after{display:none}
  .flow-step .flow-dot,.flow-step--up .flow-dot,.flow-step--down .flow-dot{left:-44px;top:4px;bottom:auto;transform:none}
  .flow-step--up:hover .flow-dot,.flow-step--down:hover .flow-dot{transform:rotate(45deg)}
  .eco-canvas{padding:40px 16px 24px}
  .eco-hit{display:none}
  .eco-insp{padding:24px 20px 28px;gap:24px}
  .eco{padding:40px 20px 0}
  .eco--compact{padding:40px 20px 32px}
  .hp .eco-keys{margin:32px -20px 0}
  .eco-keys li{padding:20px 20px 28px}
  .eco-keys li::before{left:20px}
  .hp .eco-flow-m{display:flex;flex-direction:column;gap:22px;position:relative;padding-left:2px}
  .eco-flow-m li{position:relative;display:flex;align-items:center;gap:16px;font-size:16px;font-weight:600;color:#F3F5F7}
  .eco-flow-m li:not(:nth-last-child(-n+2))::after{content:'';position:absolute;left:4px;top:50%;height:calc(100% + 22px);width:2px;background:#FF7A1A}
  .hp .eco-flow-m .eco-flow-ctrl{margin-top:8px;padding-top:20px;border-top:1px dashed #4A9EFF;font-weight:500;color:#BAC2CC;align-items:flex-start}
  .eco-flow-ctrl .eco-dot{margin-top:6px}
  .eco-svg--wide{display:none}
  .eco-svg--tall{display:block;max-width:420px;margin:0 auto}
  .hp .eco-keys{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eco-keys li:last-child{grid-column:1 / -1}
  .eco-legend{justify-content:center}
  .hp .eco-legend .eco-legend-note{margin-left:0;width:100%;justify-content:center}
  .hp .proc{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;padding-top:0;padding-left:0}
  .proc::before,.proc::after{display:none}
  .proc-step{padding-top:28px;border-top:2px solid var(--hp-amber);grid-row:auto;display:block}
  .proc-step::before,.proc-step:last-child::after{display:none}
  .metrics--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width: 640px){
  .dx-head{grid-template-columns:minmax(0,1fr)}
  .hp .dx-prog{gap:20px}
  .opts,.dx-grid,.dx-grid--op{grid-template-columns:minmax(0,1fr)}
  .opt{grid-template-columns:44px minmax(0,1fr) 22px;gap:14px;min-height:80px;padding:14px 16px 14px 14px}
  .opt__ic{width:44px;height:44px}
  .dx-detail{padding:18px 16px 20px}
  .dx-nav{flex-direction:column-reverse;align-items:stretch}
  .dx-nav--1{flex-direction:column}
  .hp .dx-count{margin:0;text-align:center}
  .fbtn--next,.cx-submit{width:100%;min-width:0}
  .fbtn--back{justify-content:center}
  .dx-sum{padding-right:4px}
  .faq-i summary{font-size:16px;min-height:64px}
  .hp .faq-i p{padding-right:0}
  .hp .svc-list{grid-template-columns:minmax(0,1fr)}
  .sec-panel__cols{grid-template-columns:minmax(0,1fr);gap:20px}
  .hp .eco-keys{grid-template-columns:minmax(0,1fr)}
  .hp .proc{grid-template-columns:minmax(0,1fr);gap:40px;padding-left:40px}
  .proc::before,.proc::after{display:block;left:7px;right:auto;top:8px;bottom:8px;width:2px;height:auto}
  .hp-motion .proc::after{transform:scaleY(0);transform-origin:center top}
  .hp-motion .proc[data-inview]::after{transform:scaleY(1)}
  .proc-step{padding-top:0;border-top:0;grid-row:auto;display:block}
  .proc::after{bottom:8px;right:auto}
  .proc::before{background:repeating-linear-gradient(180deg,#9AA4B1 0 6px,transparent 6px 12px)}
  .proc-step::before,.proc-step:last-child::after{display:block;left:-40px;top:4px}
  .metric dd,.metrics--dark .metric dd{font-size:26px}
  .terms div{grid-template-columns:72px minmax(0,1fr)}

  .dg-desktop{display:none}
  .dg-mobile{display:flex}
}
@container (max-width: 480px){
  .hero-cta{flex-direction:column;align-items:stretch !important}
  .hero-cta > a,.est-panel .btn-primary{width:100%}
  .foot{grid-template-columns:minmax(0,1fr) !important}
}

/* =====================================================================
   BESS · FUNCIONES — perfiles ilustrativos con cursor temporal
   ===================================================================== */
.hp .bx-intro{max-width:44ch;font-weight:400}
.bx-wrap{margin-top:64px}
.bx-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}
.bx-tab{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:14px;padding:22px 4px 22px 0;border:0;background:none;text-align:left;cursor:pointer;font-family:var(--hp-font);color:#5B6675;-webkit-tap-highlight-color:transparent}
.bx-tab::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:#C3CAD3}
.bx-tab__bar{position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--hp-amber);transform:scaleX(0);transform-origin:left center;transition:transform 520ms var(--ease-spring)}
.bx-tab__ic{display:grid;place-items:center;width:40px;height:40px;border:1px solid #C3CAD3;border-radius:3px;color:#3D4550;transition:background-color 260ms var(--ease-out),border-color 260ms var(--ease-out),color 260ms var(--ease-out)}
.bx-tab__tx{display:flex;flex-direction:column;gap:4px}
.bx-tab__t{font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--hp-ink);transition:color 200ms var(--ease-out)}
.bx-tab__d{font-size:14px;line-height:1.45}
.bx-tab:hover .bx-tab__bar{transform:scaleX(.18)}
.bx-tab:hover .bx-tab__ic{border-color:var(--hp-ink)}
.bx-tab[aria-selected="true"] .bx-tab__bar{transform:scaleX(1)}
.bx-tab[aria-selected="true"] .bx-tab__ic{background:var(--hp-ink);border-color:var(--hp-ink);color:var(--hp-amber)}
.bx-tab[aria-selected="true"]{color:#3D4550}
.bx-tab:focus-visible{outline:2px solid var(--hp-blue-ink);outline-offset:2px}
.bx:not(.is-live) .bx-tabs{display:none}
.bx:not(.is-live) .bx-panel + .bx-panel{margin-top:96px}

.bx-panel{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px;margin-top:40px;align-items:start}
.bx-panel.is-entering .bx-copy{animation:bx-in 560ms var(--ease-spring) both}
.bx-panel.is-entering .bx-fig{animation:bx-in 640ms var(--ease-spring) 60ms both}
@keyframes bx-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hp .bx-h{font-size:clamp(26px,2.3cqi,34px);font-weight:500;line-height:1.15;letter-spacing:-.02em}
.hp .bx-p{margin-top:14px;font-size:16px;line-height:1.6;color:#3D4550}
.hp .bx-ph{position:relative;margin-top:32px;padding:0;display:flex;flex-direction:column}
.bx-ph li{position:relative;padding:12px 0 12px 22px;border-top:1px solid #DCE1E7;transition:color 260ms var(--ease-out)}
.bx-ph li:last-child{border-bottom:1px solid #DCE1E7}
.bx-ph li::before{content:'';position:absolute;left:0;top:18px;width:7px;height:7px;box-sizing:border-box;border:1.5px solid #9AA4B1;transform:rotate(45deg);transition:background-color 260ms var(--ease-out),border-color 260ms var(--ease-out)}
.bx-ph__t{display:flex;align-items:baseline;gap:10px;font-size:15px;font-weight:600;color:var(--hp-ink)}
.bx-ph__h{font-family:var(--hp-tech);font-size:13px;font-weight:600;color:#5B6675;font-variant-numeric:tabular-nums}
.bx-ph__d{display:block;margin-top:2px;font-size:14px;line-height:1.5;color:#5B6675}
.bx.is-live .bx-ph li{color:#7C8794}
.bx.is-live .bx-ph li .bx-ph__t{color:#5B6675}
.bx.is-live .bx-ph li .bx-ph__d{display:none}
.bx.is-live .bx-ph li.is-past::before{background:#9AA4B1}
.bx.is-live .bx-ph li.is-now .bx-ph__t{color:var(--hp-ink)}
.bx.is-live .bx-ph li.is-now::before{background:var(--hp-amber);border-color:var(--hp-amber)}
.bx.is-live .bx-ph li.is-now .bx-ph__d{display:block;animation:bx-fade 360ms var(--ease-out) both}
.bx.is-live .bx-ph li.is-now .bx-ph__h{color:#9C4209}
@keyframes bx-fade{from{opacity:0}to{opacity:1}}

.hp .bx-fig{margin:0;padding:18px 20px 20px;border-radius:4px;background:#0B0F14;color:#F3F5F7}
.bx-fig__top{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;min-height:28px}
.bx-tag{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#8D98A5}
.bx-tag::before{content:'';width:8px;height:8px;box-sizing:border-box;border:1.5px solid #8D98A5}
.bx-read{display:flex;align-items:baseline;gap:12px;min-width:0}
.bx-read__t{font-family:var(--hp-tech);font-size:15px;font-weight:600;color:#F3F5F7;font-variant-numeric:tabular-nums}
.bx-read__s{font-size:14px;font-weight:500;color:#FFB27A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bx:not(.is-live) .bx-read{display:none}
.bx-plot{margin-top:6px;cursor:crosshair;touch-action:pan-y}
.bx-svg{display:block;width:100%;height:auto;font-family:var(--hp-font);overflow:visible}
.bx-svg--tall{display:none}
.bx-tick{font-size:12px;fill:#8D98A5;font-variant-numeric:tabular-nums}
.bx-lab{font-size:13px;font-weight:600;fill:#F3F5F7}
.bx-lab--alert{fill:#FF8A8E}
.bx-lab--blue{fill:#4A9EFF}
.bx-lab--sun{fill:#FFB27A}
.bx.is-live .bx-dim{opacity:.26;transition:opacity 300ms}
.bx:not(.is-live) .bx-live,.bx:not(.is-live) .bx-cursor{display:none}
.bx-ctl{display:grid;grid-template-columns:6.84% minmax(0,1fr);align-items:center;margin-top:10px;padding-right:calc(2.63% - 6px)}
.bx-ctl .bx-range{margin-left:-6px;width:calc(100% + 12px)}
.bx:not(.is-live) .bx-ctl{display:none}
.bx-play{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #2C3846;border-radius:3px;background:transparent;color:#F3F5F7;cursor:pointer;transition:border-color 200ms var(--ease-out),background-color 200ms var(--ease-out)}
.bx-play:hover{border-color:#F3F5F7}
.bx-play .i-play{display:none}
.bx.is-paused .bx-play .i-play{display:block}
.bx.is-paused .bx-play .i-pause{display:none}
.bx-play:focus-visible,.bx-range:focus-visible{outline:2px solid #4A9EFF;outline-offset:2px}
.bx-range{width:100%;height:24px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}
.bx-range::-webkit-slider-runnable-track{height:2px;background:#2C3846}
.bx-range::-moz-range-track{height:2px;background:#2C3846}
.bx-range::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-5px;background:#FF7A1A;border:0;border-radius:0;transform:rotate(45deg)}
.bx-range::-moz-range-thumb{width:12px;height:12px;background:#FF7A1A;border:0;border-radius:0;transform:rotate(45deg)}
.bx-cap{margin-top:16px;padding-top:14px;border-top:1px solid #1E2733}
.hp .bx-key{display:flex;flex-wrap:wrap;gap:8px 20px}
.bx-key li{display:flex;align-items:center;gap:8px;font-size:13px;color:#BAC2CC}
.sw{display:inline-block;flex:none;width:14px;height:10px}
.sw--line{height:2px;background:#F3F5F7}
.sw--dash{height:0;border-top:1.5px dashed #BAC2CC}
.sw--grid{background:#253244;box-shadow:inset 0 0 0 1px #3A4A5E}
.sw--bess{background:#FF7A1A}
.sw--charge{background:rgba(74,158,255,.7)}
.sw--direct{background:#FFB27A}
.sw--sun{height:2px;background:#FFB27A}
.hp .bx-note{margin-top:10px;font-size:13px;line-height:1.5;color:#8D98A5}
@media (prefers-reduced-motion: reduce){
  .bx-panel.is-entering .bx-copy,.bx-panel.is-entering .bx-fig{animation:none}
  .bx-tab__bar{transition:none}
}
@container (max-width: 980px){
  .bx-panel{grid-template-columns:minmax(0,1fr);gap:28px}
  .hp .bx-fig{order:-1}
  .bx-tabs{gap:0 20px}
}
@container (max-width: 640px){
  .bx-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px}
  .bx-tab{grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 0}
  .bx-tab__ic{width:36px;height:36px}
  .bx-tab__t{font-size:15px}
  .bx-tab__d{display:none}
  .hp .bx-fig{margin:0 -20px;padding:16px 14px 18px;border-radius:0}
  .bx-ctl{grid-template-columns:40px minmax(0,1fr);padding-right:0}
  .bx-ctl .bx-range{margin-left:0;width:100%}
  .bx-svg--wide{display:none}
  .bx-svg--tall{display:block}
  .bx-read{width:100%}
}

/* =====================================================================
   ESTIMADOR v5 — cadena de cálculo + panel de resultados
   ===================================================================== */
.est{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-areas:'head panel' 'chain panel';grid-template-rows:auto 1fr;gap:0 clamp(40px,6cqi,112px);align-items:start}
.est-l{grid-area:head}
.est-r{grid-area:panel}
.est-c{grid-area:chain}
.hp .est-title{font-size:clamp(30px,3.2cqi,46px)}
.hp .est-lead{margin-top:22px;max-width:40ch}
.chain{margin-top:56px;padding-top:24px;border-top:1px solid #C3CAD3}
.hp .chain__h{font-size:15px;font-weight:600;color:var(--hp-ink)}
.hp .chain__list{position:relative;margin-top:20px;padding:0}
.chain__list::before{content:'';position:absolute;left:5px;top:10px;bottom:22px;width:1px;background:linear-gradient(#9AA4B1,#FF7A1A)}
.chain__i{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;padding:0 0 18px 28px}
.chain__n{position:absolute;left:0;top:5px;width:11px;height:11px;box-sizing:border-box;border:1.5px solid #5B6675;background:#F3F5F7}
.chain__i--key .chain__n{background:var(--hp-amber);border-color:var(--hp-amber);transform:rotate(45deg)}
.chain__k{font-size:15px;font-weight:600;color:var(--hp-ink)}
.chain__op{grid-row:2;font-family:var(--hp-tech);font-size:13px;color:#5B6675}
.chain__v{grid-row:1 / span 2;grid-column:2;align-self:center;font-family:var(--hp-tech);font-size:17px;font-weight:600;color:var(--hp-ink);white-space:nowrap}
.chain__i--key .chain__v{color:#9C4209}
.chain__v.is-tick{animation:est-tick 600ms var(--ease-out)}
@keyframes est-tick{from{color:var(--hp-blue-ink)}}
.hp .chain__note{margin-top:6px;max-width:52ch;font-size:13px;line-height:1.55;color:#5B6675}
.chain__note a{color:#17589F;text-decoration:underline;text-underline-offset:3px}

.hp .est-panel{display:flex;flex-direction:column;gap:28px;padding:32px;border:1px solid #DCE1E7;border-radius:4px;background:#FFFFFF}
.seg2{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:3px;background:#EEF1F4}
.seg2::before{content:'';position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:2px;background:var(--hp-ink);transition:transform 480ms var(--ease-spring)}
.seg2[data-active="kwh"]::before{transform:translateX(100%)}
.seg2 button{position:relative;min-height:42px;border:0;background:transparent;cursor:pointer;font:600 14px/1 var(--hp-font);color:#3D4550;transition:color 260ms var(--ease-out)}
.seg2 button[aria-pressed="true"]{color:#F3F5F7}
.seg2 button:not([aria-pressed="true"]):hover{color:var(--hp-ink)}
.seg2 button:focus-visible{outline:2px solid var(--hp-blue-ink);outline-offset:2px}
.no-js .seg2 button[aria-pressed="true"]{background:var(--hp-ink)}
.no-js .seg2::before{display:none}
.est-field{display:flex;flex-direction:column;gap:8px}
.est-field__l{font-size:14px;font-weight:600;color:var(--hp-ink)}
.est-field__box{position:relative;display:flex;align-items:baseline;gap:12px;padding:4px 0 10px;border-bottom:1.5px solid #9AA4B1;transition:border-color 200ms var(--ease-out)}
.est-field__box::after{content:'';position:absolute;left:0;right:0;bottom:-1.5px;height:2px;background:var(--hp-amber);transform:scaleX(0);transform-origin:left center;transition:transform 480ms var(--ease-spring)}
.est-field__box:hover{border-bottom-color:var(--hp-ink)}
.est-field__box:focus-within::after{transform:scaleX(1)}
.est-field__u{font-size:16px;font-weight:600;color:#5B6675}
.hp .est-input{flex:1;min-width:0;padding:0;border:0;background:transparent;color:var(--hp-ink);font-family:var(--hp-tech);font-size:40px;font-weight:600;line-height:1.1;letter-spacing:-.02em}
.hp .est-input:focus,.hp .est-input:focus-visible{outline:none}
.hp .est-field__h{font-size:13px;color:#5B6675}
.est-out{display:flex;flex-direction:column;gap:0;border-radius:3px;overflow:hidden}
.est-hero{position:relative;padding:22px 24px 20px;background:#0B0F14;color:#F3F5F7}
.est-hero::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--hp-amber)}
.hp .est-hero__k{font-size:14px;font-weight:500;color:#BAC2CC}
.hp .est-hero__v{margin-top:8px;font-family:var(--hp-tech);font-size:clamp(34px,3.2cqi,46px);font-weight:600;line-height:1;letter-spacing:-.025em;white-space:nowrap}
.est-hero__v .u{font-family:var(--hp-font);font-size:17px;font-weight:500;letter-spacing:0;color:#BAC2CC}
.hp .est-hero__s{margin-top:10px;font-size:14px;color:#BAC2CC}
.est-hero__s .t-num{color:#F3F5F7;font-weight:600}
.hp .est-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#F3F5F7}
.est-row > div{padding:16px 18px 18px;border-right:1px solid #DCE1E7}
.est-row > div:last-child{border-right:0}
.est-row dt{font-size:13px;font-weight:500;color:#5B6675}
.hp .est-row dd{margin-top:8px;font-family:var(--hp-tech);font-size:24px;font-weight:600;line-height:1;white-space:nowrap;color:var(--hp-ink);letter-spacing:-.02em}
.est-row .u{font-family:var(--hp-font);font-size:13px;font-weight:500;letter-spacing:0;color:#5B6675}
.est-row__key dd{color:#9C4209}
.hp .est-chart{margin:0}
.est-chart__cap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;font-size:14px;font-weight:600;color:var(--hp-ink)}
.est-chart__n{font-size:13px;font-weight:400;color:#5B6675}
.est-chart__svg{display:block;width:100%;height:auto;margin-top:12px;overflow:visible;font-family:var(--hp-font)}
.est-tick{font-size:11.5px;fill:#5B6675}
.est-lab{font-size:12px;font-weight:600;fill:#0D1116}
.est-lab--key{fill:#9C4209}
.est-bar{transform-box:fill-box;transform-origin:bottom;animation:est-bar 520ms var(--ease-spring) both}
@keyframes est-bar{from{transform:scaleY(0)}}
.no-js .est-chart{display:none}
.est-cta{width:100%}
@media (prefers-reduced-motion: reduce){.est-bar,.chain__v.is-tick{animation:none}.seg2::before,.est-field__box::after{transition:none}}
@container (max-width: 980px){
  .est{grid-template-columns:minmax(0,1fr);grid-template-areas:'head' 'panel' 'chain';row-gap:40px}
  .chain{margin-top:0}
}
@container (max-width: 640px){
  .hp .est-panel{padding:22px 18px}
  .hp .est-input{font-size:32px}
  .hp .est-row{grid-template-columns:1fr 1fr}
  .est-row > div:nth-child(2){border-right:0}
  .est-row__key{grid-column:1 / -1;border-top:1px solid #DCE1E7}
  .chain__i{grid-template-columns:minmax(0,1fr)}
  .chain__v{grid-row:auto;grid-column:1;margin-top:4px;font-size:16px}
}

/* =====================================================================
   SOLUCIONES v5 — imagen protagonista + tres modalidades con lenguaje propio
   ===================================================================== */
.sx{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,4cqi,72px);margin-top:80px;align-items:start}
.hp .sx-hero{position:sticky;top:104px;display:block;height:min(640px,calc(100vh - 140px));min-height:540px;border-radius:4px;overflow:hidden;color:#F3F5F7;background:#090C10;isolation:isolate}
.sx-hero picture,.sx-hero__img{position:absolute;inset:0;width:100%;height:100%}
.sx-hero__img{object-fit:cover;object-position:62% 82%}
.sx-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,12,16,.15) 0%,rgba(9,12,16,0) 30%,rgba(9,12,16,.55) 58%,rgba(9,12,16,.94) 100%)}
.sx-reg{position:absolute;width:14px;height:14px;z-index:2}
.sx-reg::before,.sx-reg::after{content:'';position:absolute;background:#F3F5F7;opacity:.75}
.sx-reg::before{left:0;top:0;width:14px;height:1.5px}
.sx-reg::after{left:0;top:0;width:1.5px;height:14px}
.sx-reg--tl{top:20px;left:20px}
.sx-reg--tr{top:20px;right:20px;transform:scaleX(-1)}
.sx-hero__plate{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:14px;padding:32px 32px 30px}
.sx-hero__mod{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:#D3D9E0}
.sx-hero__t{font-size:clamp(30px,2.8cqi,40px);font-weight:500;line-height:1.05;letter-spacing:-.025em}
.sx-hero__fn{display:flex;flex-wrap:wrap;gap:0;margin-top:4px;border-top:1px solid rgba(243,245,247,.22)}
.sx-hero__fn span{flex:1 1 auto;padding:12px 16px 0 0;font-size:14px;font-weight:500;color:#D3D9E0}
.sx-hero__fn span + span{padding-left:16px;border-left:1px solid rgba(243,245,247,.22)}
.sx-hero__go{display:inline-flex;align-items:center;gap:14px;margin-top:10px;font-size:15px;font-weight:600;color:var(--hp-amber)}
.sx-hero:hover .cond::before{transform:scaleX(1);opacity:1}
.sx-hero:hover .cond::after{transform:translateX(0);background:currentColor}
.sx-hero:focus-visible{outline:2px solid var(--hp-blue-ink);outline-offset:4px}

.sx-mods{display:flex;flex-direction:column;gap:20px}
.sx-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;row-gap:2px}
.hp .sx-h{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--hp-ink)}
.hp .sx-head__n{grid-column:2;font-size:14px;color:#5B6675}
.sx-ic{flex:none;color:#3D4550;transition:color 220ms var(--ease-out),transform 420ms var(--ease-spring)}
.hp .sx-t{margin:0;font-size:16px;font-weight:600;line-height:1.3;letter-spacing:-.01em;color:var(--hp-ink)}
.hp .sx-d{font-size:14.5px;line-height:1.55;color:#3D4550}

/* propias: placa sólida, tabla de capacidades */
.sx-own{padding:26px 28px 10px;border-radius:4px;background:#FFFFFF;box-shadow:inset 3px 0 0 var(--hp-amber)}
.hp .sx-own__list{margin-top:18px}
.sx-own__i{display:grid;grid-template-columns:22px minmax(0,13fr) minmax(0,17fr);align-items:start;gap:16px;padding:16px 0 16px;border-top:1px solid #E6EAEE;transition:background-color 220ms var(--ease-out)}
.sx-own__i .sx-ic{margin-top:-1px}
.sx-own__i:hover .sx-ic{color:#C2510A;transform:translateX(2px)}

/* con aliados: sin placa, conexiones discontinuas */
.sx-ally{padding:26px 28px 24px;border:1px dashed #B5BDC7;border-radius:4px}
.hp .sx-ally__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;margin-top:22px}
.sx-ally__i{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;row-gap:4px}
.sx-ally__ic{grid-row:1 / span 2;position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid #C3CAD3;border-radius:3px;background:#F3F5F7}
.sx-ally__ic::after{content:'';position:absolute;right:-5px;bottom:-5px;width:9px;height:9px;box-sizing:border-box;border:1.5px solid var(--hp-amber);background:#F3F5F7}
.sx-ally__i .sx-d{grid-column:2}
.sx-ally__i:hover .sx-ally__ic{border-color:var(--hp-ink)}
.sx-link{display:inline-flex;align-items:center;gap:8px;color:var(--hp-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:rgba(13,17,22,.3)}
.hp .sx-link:hover{color:var(--hp-ink);text-decoration-color:var(--hp-amber-ink)}
.sx-link:hover .arr{transform:translateX(3px)}

/* en desarrollo: franja atenuada */
.sx-dev{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start;padding:20px 28px;border-radius:4px;background:repeating-linear-gradient(135deg,transparent 0 7px,rgba(91,102,117,.07) 7px 8px)}
.sx-dev__ic{display:grid;place-items:center;width:40px;height:40px;border:1px dashed #9AA4B1;border-radius:3px}
.sx-dev__ic .sx-ic{color:#5B6675}
.sx-dev .sx-h{font-size:15px}
.hp .sx-dev .sx-d{margin-top:4px}
.sx-dev strong{color:var(--hp-ink);font-weight:600}
@container (max-width: 980px){
  .sx{grid-template-columns:minmax(0,1fr);margin-top:56px}
  .hp .sx-hero{position:relative;top:auto;height:540px;min-height:0}
}
@container (max-width: 640px){
  .hp .sx-hero{height:500px;margin:0 -20px;border-radius:0}
  .sx-hero__plate{padding:24px 20px}
  .sx-hero__fn span{flex:1 1 100%;padding:10px 0 0 !important;border-left:0 !important}
  .sx-own,.sx-ally,.sx-dev{padding-left:18px;padding-right:18px}
  .sx-own__i{grid-template-columns:22px minmax(0,1fr);row-gap:4px}
  .sx-own__i .sx-d{grid-column:2}
  .hp .sx-ally__list{grid-template-columns:minmax(0,1fr)}
  .hp .sx-head__n{grid-column:1 / -1}
}

/* =====================================================================
   SECTORES v5 — selector con esquema de instalación y mapa de soluciones
   ===================================================================== */
.ix{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px clamp(40px,5cqi,88px);margin-top:128px;padding-top:56px;border-top:1px solid #C3CAD3}
.hp .ix-h{font-size:clamp(24px,2.1cqi,30px);font-weight:500;line-height:1.2;letter-spacing:-.02em}
.hp .ix-lead{margin-top:14px;font-size:15px;line-height:1.6;color:#3D4550}
.ix-tabs{display:flex;flex-direction:column;margin-top:28px;border-top:1px solid #DCE1E7}
.ix-tab{position:relative;display:flex;align-items:center;gap:14px;min-height:48px;padding:0;border:0;border-bottom:1px solid #DCE1E7;background:none;cursor:pointer;text-align:left;font-family:var(--hp-font);-webkit-tap-highlight-color:transparent}
.ix-tab__n{flex:none;width:22px;font-family:var(--hp-tech);font-size:12px;font-weight:600;color:#5B6675;font-variant-numeric:tabular-nums;transition:color 220ms var(--ease-out)}
.ix-tab__t{font-size:16px;font-weight:500;color:#3D4550;transition:color 220ms var(--ease-out),transform 420ms var(--ease-spring)}
.ix-tab::after{content:'';flex:1;height:1px;margin-left:8px;background:var(--hp-amber);transform:scaleX(0);transform-origin:left center;transition:transform 560ms var(--ease-spring)}
.ix-tab:hover .ix-tab__t{color:var(--hp-ink);transform:translateX(3px)}
.ix-tab[aria-selected="true"] .ix-tab__t{color:var(--hp-ink);font-weight:600;transform:translateX(3px)}
.ix-tab[aria-selected="true"] .ix-tab__n{color:#9C4209}
.ix-tab[aria-selected="true"]::after{transform:scaleX(1)}
.ix-tab:focus-visible{outline:2px solid var(--hp-blue-ink);outline-offset:2px}
.ix:not(.is-live) .ix-tabs{display:none}
.ix:not(.is-live) .ix-panel + .ix-panel{margin-top:64px}
.ix-panel{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);grid-template-areas:'vis copy' 'map map';gap:28px 36px}
.ix-vis{grid-area:vis;position:relative;padding:40px 18px 14px;border-radius:4px;background:#0B0F14}
.ix-vis__tag{position:absolute;left:18px;top:14px;font-size:12.5px;font-weight:500;color:#8D98A5}
.ix-svg{display:block;width:100%;height:auto}
.ix-svg .ln{stroke:#C9D1DA;stroke-width:1.4}
.ix-svg .ln.e{stroke:var(--hp-amber);stroke-width:1.8}
.ix-panel.is-entering .ln{stroke-dasharray:1;animation:ix-draw 1200ms var(--ease-out) both}
.ix-panel.is-entering .ln.e{animation-delay:380ms}
.hp-motion .ix:not([data-inview]) .ln{stroke-dasharray:1;stroke-dashoffset:1}
.hp-motion .ix[data-inview] .ix-panel:not(.is-entering) .ln{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1400ms var(--ease-out)}
@keyframes ix-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.ix-copy{grid-area:copy;align-self:center}
.hp .ix-t{margin:0;font-size:clamp(26px,2.3cqi,32px);font-weight:500;line-height:1.1;letter-spacing:-.02em}
.hp .ix-sub{margin-top:8px;font-size:15px;font-weight:600;color:#9C4209}
.ix-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:24px}
.hp .ix-k{font-size:13px;font-weight:600;color:#5B6675}
.hp .ix-p{margin-top:4px;font-size:15px;line-height:1.6;color:#3D4550}
.ix-map{grid-area:map;padding-top:20px;border-top:1px solid #DCE1E7}
.hp .ix-rail{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ix-sol{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px dashed #C3CAD3;border-radius:3px;font-size:14px;font-weight:500;color:#5B6675;transition:background-color 320ms var(--ease-out),border-color 320ms var(--ease-out),color 320ms var(--ease-out)}
.ix-sol.is-on{border:1px solid var(--hp-ink);background:var(--hp-ink);color:#F3F5F7}
.ix-sol.is-on::before{content:'';width:6px;height:6px;background:var(--hp-amber)}
.ix-panel.is-entering .ix-copy{animation:bx-in 560ms var(--ease-spring) both}
.ix-panel.is-entering .ix-sol.is-on{animation:ix-pop 520ms var(--ease-spring) both}
.ix-panel.is-entering .ix-sol.is-on:nth-child(n+3){animation-delay:60ms}
.ix-panel.is-entering .ix-sol.is-on:nth-child(n+5){animation-delay:120ms}
.ix-panel.is-entering .ix-sol.is-on:nth-child(n+7){animation-delay:180ms}
@keyframes ix-pop{from{background:transparent;color:#5B6675;border-color:#C3CAD3}}
@media (prefers-reduced-motion: reduce){
  .ix-panel.is-entering .ln,.ix-panel.is-entering .ix-copy,.ix-panel.is-entering .ix-sol.is-on{animation:none}
  .hp-motion .ix:not([data-inview]) .ln{stroke-dashoffset:0}
}
@container (max-width: 980px){
  .ix{grid-template-columns:minmax(0,1fr);margin-top:96px}
  .ix-tabs{flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:20px;border-top:0;border-bottom:1px solid #DCE1E7}
  .ix-tab{flex:none;border-bottom:0;min-height:48px}
  .ix-tab::after{position:absolute;left:0;right:0;bottom:-1px;margin:0;height:2px}
  .ix-tab__n{display:none}
  .ix-tab[aria-selected="true"] .ix-tab__t,.ix-tab:hover .ix-tab__t{transform:none}
}
@container (max-width: 640px){
  .ix-panel{grid-template-columns:minmax(0,1fr);grid-template-areas:'vis' 'copy' 'map'}
}

/* =====================================================================
   WHATSAPP — botón flotante (todas las páginas salvo contacto)
   ===================================================================== */
.wa-fab{--plate:#0B0F14;position:fixed;right:20px;bottom:calc(20px + var(--hp-banner,0px));z-index:40;display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 20px 0 16px;background:linear-gradient(225deg,transparent 0 10px,var(--plate) 10.5px);color:#F3F5F7;font-family:var(--hp-font);font-size:15px;font-weight:600;text-decoration:none;box-shadow:0 0 0 1px rgba(243,245,247,.08);-webkit-tap-highlight-color:transparent;transition:--plate 220ms var(--ease-out),transform 420ms var(--ease-spring);animation:wa-in 600ms var(--ease-out) 1200ms both}
.hp .wa-fab,.hp .wa-fab:hover{color:#F3F5F7}
.wa-fab:hover{--plate:#1A2330}
.wa-fab:active{transform:scale(.97)}
.wa-fab:focus-visible{outline:2px solid #4A9EFF;outline-offset:3px}
.wa-fab__ic{flex:none;color:#25D366;transition:transform 420ms var(--ease-spring)}
.wa-fab:hover .wa-fab__ic{transform:rotate(-8deg)}
.hp:has(.site-header.is-open) .wa-fab{display:none}
@keyframes wa-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.wa-fab{animation:none}}
@media print{.wa-fab{display:none}}
@container (max-width: 640px){
  .wa-fab{right:14px;bottom:calc(14px + var(--hp-banner,0px));width:54px;height:54px;min-height:0;padding:0;justify-content:center}
  .wa-fab__t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}
