:root{--ep-cyan:#4edff5;--ep-blue:#3478f6;--ep-green:#79d88c;--ep-ink:#03090e;--ep-paper:#edf6f7;--ep-muted:#91a5ab;--ep-line:rgba(147,195,207,.16)}
body.editorial-platform{background:var(--ep-ink);color:var(--ep-paper)}
.editorial-platform .topbar{background:rgba(3,9,14,.88);backdrop-filter:blur(18px)}
.editorial-platform .eyebrow{color:var(--ep-cyan);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.18em}

/* La portada convierte la arquitectura en una historia visible, no en un diagrama decorativo. */
.editorial-hero{position:relative;min-height:100svh;display:grid;align-items:center;isolation:isolate;overflow:hidden;padding:clamp(138px,17vh,188px) 0 clamp(76px,9vh,110px);border-bottom:1px solid var(--ep-line);background:radial-gradient(circle at 73% 42%,rgba(52,120,246,.17),transparent 29%),radial-gradient(circle at 18% 82%,rgba(78,223,245,.07),transparent 23%),var(--ep-ink)}
.editorial-hero:before{content:"";position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(78,223,245,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(78,223,245,.045) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle at 72% 48%,#000,transparent 68%);opacity:.85}
.editorial-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,var(--ep-ink) 0,rgba(3,9,14,.93) 35%,transparent 68%),linear-gradient(0deg,var(--ep-ink),transparent 27%,transparent 78%,rgba(3,9,14,.78));pointer-events:none}
.editorial-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(430px,.94fr);gap:clamp(52px,6vw,100px);align-items:center}
.editorial-hero-copy h1{max-width:1020px;margin:20px 0 0;font-size:clamp(58px,7.25vw,112px);font-weight:350;line-height:.83;letter-spacing:-.075em}
.editorial-hero-copy h1 span,.editorial-hero-copy h1 em,.editorial-hero-copy h1 strong{display:block}
.editorial-hero-copy h1 span{font-size:.57em;line-height:1.04;letter-spacing:-.055em}
.editorial-hero-copy h1 em{width:max-content;max-width:100%;margin:.08em 0;color:transparent;font-size:.92em;font-style:normal;font-weight:560;-webkit-text-stroke:1px rgba(237,246,247,.64);text-shadow:0 0 34px rgba(78,223,245,.08)}
.editorial-hero-copy h1 strong{color:#afbec3;font-size:.68em;font-weight:330;line-height:1.05}
.editorial-hero-copy .hero-lead{max-width:620px;margin:30px 0 0;color:#a9b9be;font-size:clamp(15px,1.35vw,19px);line-height:1.6}
.editorial-hero-copy .actions{margin-top:30px}

.live-flow{position:relative;width:100%;aspect-ratio:1.08;border:1px solid rgba(78,223,245,.2);border-radius:50%;background:radial-gradient(circle,rgba(52,120,246,.13),transparent 46%);box-shadow:inset 0 0 80px rgba(52,120,246,.055),0 0 70px rgba(78,223,245,.045);animation:ep-breathe 6s ease-in-out infinite}
.live-flow:before,.live-flow:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.live-flow:before{inset:13%;border:1px solid rgba(121,216,140,.16)}
.live-flow:after{inset:-2px;background:conic-gradient(from 20deg,transparent 0 66%,rgba(78,223,245,.18) 72%,var(--ep-cyan) 76%,var(--ep-green) 79%,transparent 86%);mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0);filter:drop-shadow(0 0 11px rgba(78,223,245,.8));animation:ep-orbit 9s linear infinite}
.live-flow svg{position:absolute;z-index:1;inset:9%;width:82%;height:82%;overflow:visible}
.flow-path{fill:none;stroke:rgba(135,190,204,.22);stroke-width:1.25;vector-effect:non-scaling-stroke}
.flow-path.primary{stroke:url(#flow-gradient);stroke-width:1.7}
.flow-particle{fill:var(--ep-cyan);filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 9px var(--ep-cyan))}
.flow-particle.green{fill:var(--ep-green);filter:drop-shadow(0 0 6px var(--ep-green))}
.flow-core{position:absolute;z-index:3;left:50%;top:50%;width:clamp(112px,9.5vw,154px);aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(78,223,245,.38);border-radius:50%;background:rgba(3,12,18,.9);box-shadow:0 0 0 13px rgba(78,223,245,.03),0 0 44px rgba(52,120,246,.2);transform:translate(-50%,-50%)}
.flow-core img{width:58%;height:auto;filter:drop-shadow(0 0 12px rgba(78,223,245,.28))}
.flow-node{position:absolute;z-index:4;min-width:116px;padding:10px 12px;border:1px solid rgba(128,170,180,.2);background:rgba(3,11,17,.88);color:#789198;font:700 8px var(--mono);letter-spacing:.12em;text-align:center;text-transform:uppercase;transition:border-color .4s,color .4s,box-shadow .4s,transform .4s}
.flow-node:before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;border-radius:50%;background:#526970;vertical-align:1px;transition:background .4s,box-shadow .4s}
.flow-node.is-active{border-color:rgba(78,223,245,.62);color:#d6e7ea;box-shadow:0 0 24px rgba(78,223,245,.12);transform:translateY(-2px)}
.flow-node.is-active:before{background:var(--ep-cyan);box-shadow:0 0 12px var(--ep-cyan)}
.flow-node--a{left:2%;top:19%}.flow-node--b{left:-2%;bottom:20%}.flow-node--c{right:0;top:17%}.flow-node--d{right:-2%;bottom:20%}
.flow-caption{position:absolute;z-index:4;left:50%;bottom:6%;width:max-content;max-width:90%;transform:translateX(-50%);color:#58727b;font:700 8px var(--mono);letter-spacing:.18em;text-align:center;text-transform:uppercase}

/* Narrativa compartida con Research: tesis amplias, contraste de contorno y lectura vertical. */
.editorial-platform .section-heading.compact{max-width:1120px}
.editorial-platform .section-heading.compact h2{max-width:1050px;font-size:clamp(46px,6.2vw,92px);font-weight:350;line-height:.94;letter-spacing:-.06em}
.editorial-platform .section-heading.compact>p:last-child{max-width:720px;color:#a5b6bb;font-size:17px;line-height:1.65}
.editorial-platform .page-intro h2{font-size:clamp(48px,5.8vw,88px);line-height:.94}
.editorial-platform .statement p{font-size:clamp(44px,6vw,90px);line-height:1.02}

/* Las prioridades dejan de parecer catálogo y se leen como un sistema conectado. */
.editorial-platform .business-grid{display:block;margin-top:64px;border-top:1px solid var(--ep-line)}
.editorial-platform .business-card{position:relative;min-height:0;display:grid;grid-template-columns:52px minmax(250px,.85fr) 1.15fr;gap:clamp(24px,4vw,68px);align-items:start;padding:34px 0;border:0;border-bottom:1px solid var(--ep-line);background:transparent;overflow:hidden}
.editorial-platform .business-card:before{content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:linear-gradient(90deg,var(--ep-cyan),var(--ep-green),transparent);box-shadow:0 0 14px var(--ep-cyan);transition:width .6s ease}
.editorial-platform .business-card:hover{transform:none;background:linear-gradient(90deg,rgba(78,223,245,.035),transparent)}
.editorial-platform .business-card:hover:before{width:72%}
.editorial-platform .business-card small{grid-column:1;color:var(--ep-cyan);font-size:clamp(15px,1.15vw,19px);letter-spacing:-.02em}
.editorial-platform .business-card h3{grid-column:2;margin:0;font-size:clamp(25px,2.4vw,37px);font-weight:390;line-height:1.05}
.editorial-platform .business-card p{grid-column:3;margin:2px 0 0;color:#9fb0b5;font-size:15px;line-height:1.55}
.editorial-platform .business-card a{grid-column:3;margin-top:8px;color:var(--ep-cyan);font-size:11px}

/* Tecnología: cada capa recibe y entrega contexto a la siguiente. */
.editorial-technology .technology-stack{position:relative;background:linear-gradient(145deg,#061219,#03090e 58%)}
.editorial-technology .technology-stack-grid{position:relative;display:block;margin-top:72px;border:0;border-top:1px solid var(--ep-line);background:transparent}
.editorial-technology .technology-stack-grid:before{content:"";position:absolute;left:39px;top:38px;bottom:38px;width:1px;background:linear-gradient(var(--ep-cyan),var(--ep-blue),var(--ep-green));box-shadow:0 0 18px rgba(78,223,245,.34)}
.editorial-technology .technology-stack-grid article{position:relative;min-height:0;display:grid;grid-template-columns:80px minmax(260px,.74fr) 1fr;gap:clamp(24px,4vw,62px);padding:34px 0;border-bottom:1px solid var(--ep-line);background:transparent;overflow:visible;transform:none}
.editorial-technology .technology-stack-grid article:after{content:"";position:absolute;left:34px;top:42px;width:11px;aspect-ratio:1;border:2px solid var(--ep-paper);border-radius:50%;background:var(--ep-cyan);box-shadow:0 0 8px #fff,0 0 20px var(--ep-cyan);animation:ep-node 3.2s ease-in-out infinite}
.editorial-technology .technology-stack-grid article:nth-child(2n):after{animation-delay:.55s}.editorial-technology .technology-stack-grid article:nth-child(3n):after{animation-delay:1.1s}
.editorial-technology .technology-stack-index{display:block;padding:0;border:0}.editorial-technology .technology-stack-index span{display:none}.editorial-technology .technology-stack-index small{display:block;color:var(--ep-cyan);font-size:9px;text-align:left}
.editorial-technology .technology-stack-grid h3{margin:0;font-size:clamp(26px,2.6vw,40px);font-weight:390;line-height:1.05}
.editorial-technology .technology-stack-grid p{grid-column:3;min-height:0;margin:0;color:#9cadb2;font-size:14px;line-height:1.55}
.editorial-technology .technology-stack-grid ul{grid-column:3;display:flex;gap:7px;margin:15px 0 0;padding:0}
.editorial-technology .technology-stack-grid li{padding:7px 10px;border-color:rgba(78,223,245,.2);background:rgba(78,223,245,.035)}
.editorial-technology .technology-stack-note{border-left:1px solid var(--ep-green);padding-left:28px}

/* Icono + descriptor: reconocimiento rápido sin sacrificar precisión técnica. */
.editorial-technology .technology-stack-grid li.tech-token{min-height:42px;display:inline-flex;align-items:center;gap:9px;padding:8px 12px 8px 9px;border-radius:10px;background:linear-gradient(135deg,rgba(78,223,245,.07),rgba(52,120,246,.025));color:#c2d2d6;transition:border-color .25s,background .25s,transform .25s,box-shadow .25s}
.editorial-technology .technology-stack-grid li.tech-token:hover{border-color:rgba(78,223,245,.52);background:rgba(78,223,245,.095);box-shadow:0 8px 26px rgba(0,0,0,.24),inset 0 0 24px rgba(78,223,245,.035);transform:translateY(-2px)}
.tech-token svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:var(--ep-cyan);stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(78,223,245,.25))}
.tech-token[data-tech-kind="satellite"] svg,.tech-token[data-tech-kind="shield"] svg,.tech-token[data-tech-kind="lock"] svg,.tech-token[data-tech-kind="key"] svg{stroke:var(--ep-green);filter:drop-shadow(0 0 5px rgba(121,216,140,.25))}
.tech-token[data-tech-kind="database"] svg,.tech-token[data-tech-kind="vector"] svg,.tech-token[data-tech-kind="components"] svg,.tech-token[data-tech-kind="cube"] svg{stroke:#6f9fff;filter:drop-shadow(0 0 5px rgba(52,120,246,.32))}
.tech-token[data-tech-kind="canbus"] svg,.tech-token[data-tech-kind="vehiclebus"] svg,.tech-token[data-tech-kind="fieldbus"] svg{stroke:var(--ep-green);filter:drop-shadow(0 0 5px rgba(121,216,140,.28))}

/* Soluciones: las pruebas reales conservan protagonismo y el flujo operacional sigue vivo. */
.editorial-solutions .solution-showcase{background:linear-gradient(155deg,#03090e,#07151c)}
.editorial-solutions .solution-media-grid{gap:1px;padding:1px;background:var(--ep-line)}
.editorial-solutions .solution-media{border:0}
.editorial-solutions .solution-gallery-thesis{font-size:clamp(34px,4.3vw,64px);line-height:1.08;letter-spacing:-.045em}
.editorial-solutions .operational-cycle-line i{box-shadow:0 0 8px #fff,0 0 26px var(--ep-cyan)}

@keyframes ep-orbit{to{transform:rotate(1turn)}}
@keyframes ep-breathe{0%,100%{opacity:.78;transform:scale(.985)}50%{opacity:1;transform:scale(1.015)}}
@keyframes ep-node{0%,100%{opacity:.42;box-shadow:0 0 5px #fff,0 0 10px var(--ep-cyan)}50%{opacity:1;box-shadow:0 0 8px #fff,0 0 26px var(--ep-cyan)}}

@media(max-width:980px){.editorial-hero{min-height:1060px;align-items:start;padding-top:150px}.editorial-hero:after{background:linear-gradient(180deg,var(--ep-ink) 0,rgba(3,9,14,.72) 45%,var(--ep-ink) 88%)}.editorial-hero-grid{grid-template-columns:1fr}.live-flow{width:min(700px,88vw);margin:-20px auto 0}.editorial-platform .business-card{grid-template-columns:45px 1fr}.editorial-platform .business-card p,.editorial-platform .business-card a{grid-column:2}.editorial-technology .technology-stack-grid article{grid-template-columns:70px 1fr}.editorial-technology .technology-stack-grid p,.editorial-technology .technology-stack-grid ul{grid-column:2}}
@media(max-width:620px){.editorial-hero{min-height:890px;padding:126px 0 62px}.editorial-hero-grid{gap:44px}.editorial-hero-copy h1{font-size:clamp(49px,14.5vw,70px)}.editorial-hero-copy h1 em{white-space:normal;-webkit-text-stroke-width:.8px}.editorial-hero-copy .actions{gap:10px}.live-flow{width:118vw;margin-left:-20vw;opacity:.75}.flow-node{min-width:94px;padding:8px;font-size:7px}.flow-node--a,.flow-node--b{left:13%}.flow-node--c,.flow-node--d{right:13%}.flow-caption{display:none}.editorial-platform .business-card{grid-template-columns:30px 1fr;gap:15px;padding:26px 0}.editorial-platform .business-card h3{font-size:25px}.editorial-platform .business-card p{font-size:14px}.editorial-technology .technology-stack-grid:before{left:14px}.editorial-technology .technology-stack-grid article{grid-template-columns:36px 1fr;gap:14px;padding:28px 0}.editorial-technology .technology-stack-grid article:after{left:9px;top:35px}.editorial-technology .technology-stack-grid h3{font-size:26px}.editorial-technology .technology-stack-note{padding-left:18px}}
@media(prefers-reduced-motion:reduce){.live-flow,.live-flow:after,.editorial-technology .technology-stack-grid article:after{animation:none}.flow-particle{display:none}}

/* Segunda pasada: escala del home, transiciones de escena y lenguajes visuales distintos. */
.editorial-hero-copy h1{font-size:clamp(57px,6.7vw,108px);line-height:.91;letter-spacing:-.068em}
.editorial-solutions .live-flow{aspect-ratio:1;animation:none}
.orbit-tracer{position:absolute;z-index:5;inset:-2px;border-radius:50%;pointer-events:none;animation:ep-orbit 6.8s linear infinite}
.orbit-tracer:before{content:"";position:absolute;left:50%;top:5px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:var(--ep-cyan);box-shadow:0 0 8px #fff,0 0 22px 8px rgba(78,223,245,.7),0 0 48px 16px rgba(52,120,246,.32);transform:translate(-50%,-50%)}

/* El movimiento de entrada y salida comunica que la escena sigue activa fuera del encuadre. */
.editorial-motion-ready .editorial-hero-copy>*{opacity:0;transform:translate3d(-34px,18px,0);transition:opacity .62s ease,transform .82s cubic-bezier(.2,.8,.2,1)}
.editorial-motion-ready .editorial-hero-copy>:nth-child(2){transition-delay:.08s}.editorial-motion-ready .editorial-hero-copy>:nth-child(3){transition-delay:.16s}.editorial-motion-ready .editorial-hero-copy>:nth-child(4){transition-delay:.24s}
.editorial-motion-ready .editorial-hero :is(.live-flow,.terrain-network,.protocol-constellation,.solution-journey,.perceptron-blueprint){opacity:0;transform:translate3d(48px,0,0) scale(.94);transition:opacity .78s .12s ease,transform 1s .12s cubic-bezier(.2,.8,.2,1)}
.editorial-motion-ready .editorial-hero.is-in-view .editorial-hero-copy>*,.editorial-motion-ready .editorial-hero.is-in-view :is(.live-flow,.terrain-network,.protocol-constellation,.solution-journey,.perceptron-blueprint){opacity:1;transform:none}
.editorial-motion-ready .editorial-hero.is-out-view .editorial-hero-copy>*{transition-delay:0s;transform:translate3d(-28px,-18px,0)}
.editorial-motion-ready .editorial-hero.is-out-view :is(.live-flow,.terrain-network,.protocol-constellation,.solution-journey,.perceptron-blueprint){transition-delay:0s;transform:translate3d(42px,-16px,0) scale(.965)}
.editorial-page-leaving .editorial-hero{opacity:0;transform:scale(.985);transition:opacity .34s ease,transform .42s ease}

/* Tecnología abandona el aro: el terreno y su topología son ahora el protagonista. */
.editorial-hero--technology{background:radial-gradient(circle at 76% 43%,rgba(52,120,246,.19),transparent 30%),radial-gradient(circle at 55% 82%,rgba(121,216,140,.07),transparent 24%),#03090e}
.editorial-hero--technology:before{background-image:linear-gradient(rgba(78,223,245,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(78,223,245,.04) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,transparent 34%,#000 64%,transparent 100%);transform:perspective(760px) rotateX(61deg) translateY(29%);transform-origin:center bottom}
.terrain-network{position:relative;width:100%;aspect-ratio:1.14;overflow:hidden;border:1px solid rgba(137,188,201,.17);background:radial-gradient(circle at 74% 24%,rgba(52,120,246,.19),transparent 19%),linear-gradient(145deg,rgba(9,27,36,.72),rgba(3,9,14,.4));box-shadow:inset 0 0 90px rgba(52,120,246,.05),0 35px 90px rgba(0,0,0,.28);clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)}
.terrain-network:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(78,223,245,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(78,223,245,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(0deg,#000,transparent 82%);transform:perspective(540px) rotateX(54deg) scale(1.35) translateY(18%);transform-origin:center bottom}
.terrain-network:after{content:"TOPOLOGÍA ACTIVA · TERRENO / BORDE / NÚCLEO";position:absolute;left:28px;top:24px;color:#5e7982;font:700 8px var(--mono);letter-spacing:.16em}
.terrain-network svg{position:absolute;z-index:1;inset:2%;width:96%;height:96%;overflow:visible}
.terrain-contours path{fill:none;stroke:rgba(121,216,140,.16);stroke-width:1.25}
.mesh-links path{fill:none;stroke:url(#terrain-link);stroke-width:1.25;stroke-dasharray:5 7;filter:url(#terrain-glow);animation:ep-dash 18s linear infinite}
.mesh-links path:nth-child(2){opacity:.45;animation-direction:reverse}.mesh-links path:nth-child(3){opacity:.35;animation-duration:24s}.mesh-links path:nth-child(4){opacity:.28}
.uplink{fill:none;stroke:rgba(121,216,140,.75);stroke-width:1.7;stroke-dasharray:4 6;filter:url(#terrain-glow);animation:ep-dash 10s linear infinite}
.terrain-points circle{fill:#07131a;stroke:var(--ep-cyan);stroke-width:2;filter:url(#terrain-glow);animation:ep-terrain-node 3.5s ease-in-out infinite}
.terrain-points circle:nth-child(2n){animation-delay:.6s}.terrain-points .core-point{fill:var(--ep-green);stroke:#fff}
.terrain-pulse{fill:#fff;stroke:var(--ep-cyan);stroke-width:2;filter:url(#terrain-glow)}.terrain-pulse.green{stroke:var(--ep-green)}
.terrain-node{position:absolute;z-index:3;padding:8px 10px;border-left:1px solid rgba(78,223,245,.34);background:rgba(3,10,15,.78);color:#789198;font:700 7px var(--mono);letter-spacing:.1em;text-transform:uppercase;transition:.35s}
.terrain-node:before{content:"";display:inline-block;width:5px;height:5px;margin-right:7px;border-radius:50%;background:#526970;transition:.35s}
.terrain-node.is-active{border-color:var(--ep-cyan);color:#d8e7ea;box-shadow:0 9px 25px rgba(0,0,0,.28)}
.terrain-node.is-active:before{background:var(--ep-cyan);box-shadow:0 0 12px var(--ep-cyan)}
.terrain-node--person{left:4%;top:57%}.terrain-node--asset{left:24%;top:41%}.terrain-node--sensor{left:40%;top:61%}.terrain-node--camera{left:57%;top:34%}.terrain-node--gateway{right:8%;top:51%}.terrain-node--core{right:3%;top:14%;border-color:rgba(121,216,140,.5)}
.terrain-legend{position:absolute;z-index:3;left:28px;right:28px;bottom:22px;display:flex;gap:18px;padding-top:14px;border-top:1px solid var(--ep-line);color:#637c84;font:700 7px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.terrain-legend span{display:flex;align-items:center;gap:7px}.terrain-legend i{width:17px;height:1px;background:var(--ep-cyan);box-shadow:0 0 8px var(--ep-cyan)}.terrain-legend span:nth-child(2) i{background:var(--ep-green)}.terrain-legend span:nth-child(3) i{background:var(--ep-blue)}

/* Hero Tecnología: una máquina visual de interoperabilidad, abierta y sin marco. */
.protocol-constellation{position:relative;width:100%;aspect-ratio:1.1;isolation:isolate}
.protocol-constellation:before{content:"";position:absolute;z-index:-2;left:50%;top:50%;width:72%;aspect-ratio:1;border:1px solid rgba(78,223,245,.16);border-radius:50%;background:radial-gradient(circle,rgba(52,120,246,.17),rgba(3,9,14,.18) 43%,transparent 66%);box-shadow:0 0 0 5vw rgba(52,120,246,.018),inset 0 0 90px rgba(78,223,245,.045);transform:translate(-50%,-50%)}
.protocol-constellation:after{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:72%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 10deg,transparent 0 69%,rgba(78,223,245,.16) 73%,var(--ep-cyan) 77%,var(--ep-green) 79%,transparent 84%);mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0);filter:drop-shadow(0 0 13px rgba(78,223,245,.75));transform:translate(-50%,-50%);animation:protocol-orbit 9s linear infinite}
.protocol-constellation>svg{position:absolute;z-index:0;inset:0;width:100%;height:100%;overflow:visible}
.protocol-routes path{fill:none;stroke:url(#protocol-gradient);stroke-width:1.15;stroke-dasharray:4 8;opacity:.42;filter:url(#protocol-glow);animation:ep-dash 15s linear infinite}
.protocol-routes path:nth-child(2n){animation-direction:reverse}.protocol-routes path.output{stroke-width:1.7;opacity:.7}
.protocol-pulse{fill:#fff;stroke:var(--ep-cyan);stroke-width:2;filter:url(#protocol-glow)}.protocol-pulse.green{stroke:var(--ep-green)}
.protocol-core{position:absolute;z-index:4;left:50%;top:50%;width:clamp(166px,14vw,220px);aspect-ratio:1;display:grid;place-items:center;align-content:center;gap:11px;border:1px solid rgba(78,223,245,.42);border-radius:50%;background:radial-gradient(circle at 50% 38%,#0b2632,#05131b 62%,#03090e);box-shadow:0 0 0 14px rgba(78,223,245,.035),0 0 60px rgba(52,120,246,.28),inset 0 0 50px rgba(78,223,245,.08);transform:translate(-50%,-50%)}
.protocol-core:before,.protocol-core:after{content:"";position:absolute;border-radius:50%}.protocol-core:before{inset:-14%;border:1px solid rgba(78,223,245,.14)}.protocol-core:after{inset:-29%;border:1px solid rgba(121,216,140,.1)}
.protocol-core i{position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(transparent 0 72%,var(--ep-cyan) 79%,transparent 86%);mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0);animation:protocol-orbit 5.8s linear infinite}
.protocol-core img{position:relative;z-index:1;width:57%;filter:drop-shadow(0 0 12px rgba(78,223,245,.35))}
.protocol-core small,.protocol-core strong{position:relative;z-index:1;font-family:var(--mono);letter-spacing:.12em;text-align:center}.protocol-core small{color:var(--ep-cyan);font-size:7px}.protocol-core strong{color:#789198;font-size:7px;font-weight:650}
.protocol-node{position:absolute;z-index:5;min-width:126px;display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(128,180,192,.2);background:rgba(3,11,17,.9);color:#81979e;font:700 7px var(--mono);letter-spacing:.09em;text-transform:uppercase;transition:border-color .4s,background .4s,color .4s,box-shadow .4s,transform .4s}
.protocol-node svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:var(--ep-cyan);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.protocol-node em{font-style:normal}
.protocol-node.is-active{border-color:rgba(78,223,245,.66);background:rgba(7,28,37,.96);color:#e0edef;box-shadow:0 0 24px rgba(78,223,245,.16);transform:translateY(-2px)}
.protocol-node--can{left:0;top:13%}.protocol-node--profinet{left:-3%;top:33%}.protocol-node--mesh{left:-3%;bottom:31%}.protocol-node--vision{left:0;bottom:11%}.protocol-node--api{right:0;top:19%}.protocol-node--edge{right:-3%;top:47%}.protocol-node--decision{right:0;bottom:17%}
.protocol-side-label{position:absolute;margin:0;color:#4e6871;font:700 7px var(--mono);letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl}.protocol-side-label--input{left:-22px;top:3%}.protocol-side-label--output{right:-22px;top:3%}
.protocol-thesis{position:absolute;left:50%;bottom:1%;display:flex;align-items:center;gap:11px;white-space:nowrap;color:#607981;font:700 7px var(--mono);letter-spacing:.14em;transform:translateX(-50%)}.protocol-thesis i{color:var(--ep-cyan);font-style:normal}
@keyframes protocol-orbit{to{rotate:1turn}}

/* Topologías traducidas a una propuesta comercial legible. */
.signal-topologies{background:radial-gradient(circle at 82% 26%,rgba(52,120,246,.11),transparent 24%),#041017}
.topology-system{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:clamp(48px,7vw,110px);margin-top:72px}
.topology-system ol{position:relative;margin:0;padding:0;border-top:1px solid var(--ep-line);list-style:none}
.topology-system ol:before{content:"";position:absolute;left:29px;top:29px;bottom:29px;width:1px;background:linear-gradient(var(--ep-cyan),var(--ep-blue),var(--ep-green));box-shadow:0 0 13px rgba(78,223,245,.35)}
.topology-system li{position:relative;display:grid;grid-template-columns:72px 1fr minmax(180px,.56fr);gap:24px;align-items:start;padding:29px 0;border-bottom:1px solid var(--ep-line)}
.topology-system li>span{position:relative;z-index:1;width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(78,223,245,.42);border-radius:50%;background:#041017;color:var(--ep-cyan);font:700 18px var(--mono);letter-spacing:-.04em;box-shadow:0 0 0 7px #041017}
.topology-system small{color:var(--ep-cyan);font:700 8px var(--mono);letter-spacing:.14em}.topology-system h3{margin:8px 0 7px;font-size:clamp(22px,2vw,31px);font-weight:400;letter-spacing:-.035em}.topology-system li p{margin:0;color:#8fa3a9;font-size:13px;line-height:1.55}.topology-system li>b{align-self:center;color:#6f8991;font:600 8px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.topology-techs{align-self:center;display:flex;flex-wrap:wrap;gap:7px}
.topology-techs span{display:inline-flex;align-items:center;gap:6px;min-height:31px;padding:6px 8px;border:1px solid rgba(78,223,245,.16);border-radius:8px;background:rgba(78,223,245,.03);color:#8299a0;transition:border-color .25s,background .25s,color .25s,transform .25s}
.topology-techs span:hover{border-color:rgba(78,223,245,.42);background:rgba(78,223,245,.075);color:#c7d7da;transform:translateY(-1px)}
.topology-techs svg,.signal-spectrum svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:var(--ep-cyan);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(78,223,245,.22))}
.topology-techs em{font:650 7px var(--mono);font-style:normal;letter-spacing:.07em;text-transform:uppercase}
.topology-techs span[data-tech-kind="vehiclebus"] svg,.topology-techs span[data-tech-kind="fieldbus"] svg,.topology-techs span[data-tech-kind="canbus"] svg{stroke:var(--ep-green)}
.topology-system aside{align-self:start;position:sticky;top:115px;padding:28px;border:1px solid rgba(78,223,245,.2);background:rgba(4,16,23,.82);box-shadow:inset 0 0 70px rgba(52,120,246,.06)}
.signal-spectrum{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:24px 0 30px;padding:1px;background:var(--ep-line)}
.signal-spectrum span{padding:13px;background:#06151c;color:#a4b5ba;font:650 8px var(--mono);letter-spacing:.1em;text-transform:uppercase}.signal-spectrum i{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--ep-cyan);box-shadow:0 0 9px rgba(78,223,245,.7)}
.signal-spectrum span:has(svg){display:flex;align-items:center;gap:9px}.signal-spectrum span:has(svg) svg{width:18px;height:18px;flex-basis:18px}
.signal-spectrum span[data-tech-kind="realtime"] svg,.signal-spectrum span[data-tech-kind="key"] svg{stroke:var(--ep-green)}
.signal-spectrum span:nth-child(2n) i{background:var(--ep-green)}.signal-spectrum span:nth-child(3n) i{background:var(--ep-blue)}
.topology-system aside>p:not(.eyebrow){color:#9bafb4;font-size:16px;line-height:1.6}.topology-system aside strong{color:#dce8ea;font-weight:450}.topology-system aside>a{display:inline-block;margin-top:18px;color:var(--ep-cyan);font-size:11px}

@keyframes ep-dash{to{stroke-dashoffset:-180}}
@keyframes ep-terrain-node{0%,100%{opacity:.58}50%{opacity:1}}

@media(max-width:980px){.terrain-network,.protocol-constellation{width:min(760px,94vw);margin:-16px auto 0}.topology-system{grid-template-columns:1fr}.topology-system aside{position:relative;top:auto}}
@media(max-width:620px){.editorial-hero-copy h1{font-size:clamp(50px,15vw,72px)}.orbit-tracer{inset:-2px}.terrain-network{width:112vw;margin-left:-14vw;aspect-ratio:.95;clip-path:none}.terrain-network:after{left:18px;top:18px}.terrain-node{font-size:6px;padding:6px}.terrain-node--person{left:3%;top:59%}.terrain-node--asset{left:21%;top:42%}.terrain-node--sensor{left:38%;top:63%}.terrain-node--camera{left:55%;top:35%}.terrain-node--gateway{right:4%;top:52%}.terrain-node--core{right:2%;top:16%}.terrain-legend{left:18px;right:18px;gap:9px;flex-wrap:wrap}.protocol-constellation{width:122vw;margin-left:-22vw;aspect-ratio:1}.protocol-core{width:145px}.protocol-node{min-width:101px;padding:7px 8px;font-size:6px}.protocol-node svg{width:14px;height:14px;flex-basis:14px}.protocol-node--can,.protocol-node--vision{left:4%}.protocol-node--profinet,.protocol-node--mesh{left:1%}.protocol-node--api,.protocol-node--decision{right:3%}.protocol-node--edge{right:0}.protocol-side-label{display:none}.protocol-thesis{bottom:-2%;font-size:6px}.topology-system li{grid-template-columns:42px 1fr;gap:14px}.topology-system li>b,.topology-techs{grid-column:2}.topology-system ol:before{left:18px}.editorial-technology .technology-stack-grid li.tech-token{min-height:38px;padding:7px 10px 7px 8px}.tech-token svg{width:18px;height:18px;flex-basis:18px}}
@media(prefers-reduced-motion:reduce){.orbit-tracer,.mesh-links path,.uplink,.terrain-points circle,.protocol-constellation:after,.protocol-core i,.protocol-routes path,.journey-core i,.perceptron-blueprint:after,.blueprint-tag i{animation:none}.terrain-pulse,.protocol-pulse,.journey-particle{display:none}.editorial-motion-ready .editorial-hero-copy>*,.editorial-motion-ready .editorial-hero :is(.live-flow,.terrain-network,.protocol-constellation,.solution-journey,.perceptron-blueprint){opacity:1;transform:none;transition:none}.editorial-page-leaving .editorial-hero{opacity:1;transform:none;transition:none}}

/* Numeración transversal: jerarquía editorial visible en cada página. */
.editorial-platform .cycle-stage-head span{width:52px;height:52px;font-size:clamp(24px,1.8vw,34px)}
@media(max-width:620px){.topology-system li{grid-template-columns:54px 1fr}.topology-system li>span{width:48px;height:48px;font-size:16px}.topology-system ol:before{left:24px}.editorial-platform .cycle-stage-head span{width:46px;height:46px;font-size:23px}}

/* Soluciones: una prioridad entra, el contexto la conecta y una respuesta sale. */
.editorial-hero--solutions{background:radial-gradient(circle at 77% 45%,rgba(52,120,246,.15),transparent 29%),radial-gradient(circle at 86% 76%,rgba(121,216,140,.055),transparent 24%),#03090e}
.solution-journey{position:relative;width:100%;min-height:510px;border:1px solid rgba(137,188,201,.2);background:linear-gradient(145deg,rgba(8,24,32,.84),rgba(3,9,14,.72));box-shadow:0 30px 90px rgba(0,0,0,.3),inset 0 0 75px rgba(52,120,246,.035);overflow:hidden;isolation:isolate}
.solution-journey:before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(78,223,245,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(78,223,245,.045) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(135deg,#000,transparent 75%)}
.solution-journey>header{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;border-bottom:1px solid var(--ep-line)}
.solution-journey>header p,.solution-journey>header span{margin:0;color:var(--ep-cyan);font:700 8px var(--mono);letter-spacing:.18em}
.solution-journey>header span{font-size:12px;letter-spacing:.08em}
.solution-journey-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--ep-line)}
.solution-journey-tabs button{position:relative;min-height:54px;padding:0 7px;border:0;border-right:1px solid var(--ep-line);background:transparent;color:#72888f;font:700 8px var(--mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:color .3s,background .3s}
.solution-journey-tabs button:last-child{border-right:0}.solution-journey-tabs button:hover,.solution-journey-tabs button:focus-visible{color:#dce9eb;background:rgba(78,223,245,.045);outline:none}
.solution-journey-tabs button:after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--ep-cyan),var(--ep-green));box-shadow:0 0 13px var(--ep-cyan);transition:right .42s ease}
.solution-journey-tabs button.is-active{color:#e7f3f4;background:rgba(52,120,246,.07)}.solution-journey-tabs button.is-active:after{right:0}
.solution-journey-stage{position:relative;height:238px;margin:0 18px}
.solution-journey-stage>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.journey-line{fill:none;stroke:rgba(127,173,184,.2);stroke-width:1.2;stroke-dasharray:4 6;vector-effect:non-scaling-stroke}.journey-line--out{stroke:url(#journey-gradient);stroke-width:1.5}
.journey-particle{fill:var(--ep-cyan);filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 10px var(--ep-cyan))}.journey-particle--out{fill:var(--ep-green);filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 12px var(--ep-green))}
.journey-point{position:absolute;z-index:2;top:50%;width:30%;transform:translateY(-50%);transition:opacity .22s,transform .32s ease}.journey-input{left:1%;text-align:left}.journey-output{right:0;text-align:right}
.journey-point small,.journey-core small{display:block;color:#648089;font:700 7px var(--mono);letter-spacing:.14em;text-transform:uppercase}.journey-point strong{display:block;margin-top:8px;color:#d9e6e8;font-size:clamp(16px,1.32vw,21px);font-weight:390;line-height:1.15;letter-spacing:-.025em}
.journey-output small{color:var(--ep-green)}.journey-output strong{color:#edf7f2}
.journey-core{position:absolute;z-index:3;left:50%;top:50%;width:116px;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(78,223,245,.42);border-radius:50%;background:rgba(3,12,18,.94);box-shadow:0 0 0 10px rgba(78,223,245,.025),0 0 40px rgba(52,120,246,.2);transform:translate(-50%,-50%)}
.journey-core:before{content:"";position:absolute;inset:-10px;border:1px solid rgba(121,216,140,.12);border-radius:50%}.journey-core i{position:absolute;inset:-2px;border-radius:50%;animation:ep-orbit 5.8s linear infinite}.journey-core i:after{content:"";position:absolute;left:50%;top:0;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:var(--ep-cyan);box-shadow:0 0 7px #fff,0 0 17px var(--ep-cyan);transform:translate(-50%,-50%)}
.journey-core img{width:59%;height:auto;filter:drop-shadow(0 0 10px rgba(78,223,245,.25))}.journey-core small{position:absolute;left:50%;bottom:-30px;width:max-content;color:#6e8991;transform:translateX(-50%)}
.solution-journey-copy{min-height:58px;margin:0;padding:0 24px;color:#9fb1b6;font-size:13px;line-height:1.55;transition:opacity .2s,transform .3s ease}
.solution-journey.is-switching .journey-point,.solution-journey.is-switching .solution-journey-copy{opacity:0;transform:translateY(calc(-50% + 7px))}.solution-journey.is-switching .solution-journey-copy{transform:translateY(7px)}
.solution-journey-next{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 24px;border-top:1px solid var(--ep-line);color:#ddecf0;text-decoration:none;font-size:13px;font-weight:650;transition:color .3s,background .3s}.solution-journey-next b{display:grid;width:36px;aspect-ratio:1;place-items:center;border:1px solid rgba(78,223,245,.35);border-radius:50%;color:var(--ep-cyan);font-size:17px;transition:transform .3s,box-shadow .3s}.solution-journey-next:hover{color:#fff;background:rgba(78,223,245,.045)}.solution-journey-next:hover b{box-shadow:0 0 20px rgba(78,223,245,.23);transform:translateY(4px)}

@media(max-width:980px){.solution-journey{width:min(760px,94vw);margin:-10px auto 0}.solution-journey-stage{height:250px}.solution-journey-copy{font-size:14px}}
@media(max-width:620px){.editorial-hero--solutions{min-height:1100px}.solution-journey{width:100%;min-height:530px;margin:0}.solution-journey>header{padding:17px}.solution-journey-tabs{grid-template-columns:repeat(2,1fr)}.solution-journey-tabs button{min-height:43px}.solution-journey-tabs button:nth-child(2){border-right:0}.solution-journey-tabs button:nth-child(-n+2){border-bottom:1px solid var(--ep-line)}.solution-journey-stage{height:252px;margin:0 12px}.solution-journey-stage>svg{display:none}.journey-core{width:91px}.journey-core small{bottom:-25px;font-size:6px}.journey-point{top:48%;width:31%}.journey-point strong{font-size:14px}.journey-point small{font-size:6px;line-height:1.3}.solution-journey-copy{min-height:81px;padding:0 18px;font-size:12px}.solution-journey-next{min-height:58px;padding:0 18px;font-size:12px}}

/* Blueprint Perceptron: las señales dejan de ser una lista y se fusionan en una lectura de terreno. */
.perceptron-blueprint{position:relative;width:112%;aspect-ratio:1.12;margin:0 0 0 -8%;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 52% 48%,rgba(13,55,82,.23),transparent 67%)}
.perceptron-blueprint:before{content:"";position:absolute;z-index:-1;inset:5% 0 8%;background-image:linear-gradient(rgba(78,223,245,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(78,223,245,.055) 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(ellipse at 53% 48%,#000 10%,transparent 70%)}
.perceptron-blueprint:after{content:"";position:absolute;z-index:2;left:-30%;top:8%;width:26%;height:74%;background:linear-gradient(90deg,transparent,rgba(78,223,245,.08),rgba(255,255,255,.13),transparent);filter:blur(4px);transform:skewX(-8deg);animation:blueprint-scan 7s 1.2s ease-in-out infinite;pointer-events:none}
.perceptron-blueprint>img{position:absolute;z-index:0;left:-7%;top:3%;width:114%;height:86%;object-fit:contain;opacity:.91;filter:saturate(.82) contrast(1.08) brightness(.92) drop-shadow(0 0 22px rgba(52,120,246,.16));mix-blend-mode:screen;mask-image:radial-gradient(ellipse 73% 70% at 51% 48%,#000 45%,rgba(0,0,0,.9) 62%,transparent 100%)}
.blueprint-heading{position:absolute;z-index:4;left:4%;right:3%;top:1%;display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid rgba(78,223,245,.16)}
.blueprint-heading span,.blueprint-heading b{color:var(--ep-cyan);font:700 8px var(--mono);letter-spacing:.15em}.blueprint-heading b{color:#607b84;font-size:6px;font-weight:600}
.blueprint-tag{position:absolute;z-index:4;display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid rgba(78,223,245,.2);background:rgba(3,12,18,.78);color:#9db2b8;font:700 6px var(--mono);letter-spacing:.12em;backdrop-filter:blur(5px)}
.blueprint-tag i{width:5px;height:5px;border-radius:50%;background:var(--ep-cyan);box-shadow:0 0 8px var(--ep-cyan);animation:blueprint-node 2.8s ease-in-out infinite}.blueprint-tag--vision{left:1%;top:19%}.blueprint-tag--vibration{left:0;top:41%}.blueprint-tag--audio{left:2%;top:61%}.blueprint-tag--position{right:12%;top:13%}.blueprint-tag--telemetry{left:9%;bottom:17%}.blueprint-tag--position i,.blueprint-tag--telemetry i{background:var(--ep-green);box-shadow:0 0 8px var(--ep-green)}
.perceptron-blueprint figcaption{position:absolute;z-index:5;left:4%;right:3%;bottom:1%;display:grid;grid-template-columns:1fr auto;gap:6px 24px;padding:15px 0 0;border-top:1px solid rgba(78,223,245,.2)}
.perceptron-blueprint figcaption small,.perceptron-blueprint figcaption span{color:#648089;font:700 7px var(--mono);letter-spacing:.13em}.perceptron-blueprint figcaption strong{grid-row:2;max-width:430px;color:#dbe9eb;font-size:clamp(16px,1.35vw,22px);font-weight:390;line-height:1.17;letter-spacing:-.025em}.perceptron-blueprint figcaption span{grid-column:2;grid-row:1/3;align-self:end;color:var(--ep-green);font-size:6px;white-space:nowrap}

/* Entrada del home aplicada a los dos relatos editoriales del hero. */
@media(prefers-reduced-motion:no-preference){.editorial-solutions .editorial-hero-copy>*,.editorial-technology .editorial-hero-copy>*{animation:editorial-home-enter .85s cubic-bezier(.2,.8,.2,1) backwards}.editorial-solutions .editorial-hero-copy>:nth-child(2),.editorial-technology .editorial-hero-copy>:nth-child(2){animation-delay:.1s}.editorial-solutions .editorial-hero-copy>:nth-child(3),.editorial-technology .editorial-hero-copy>:nth-child(3){animation-delay:.2s}.editorial-solutions .editorial-hero-copy>:nth-child(4),.editorial-technology .editorial-hero-copy>:nth-child(4){animation-delay:.3s}.editorial-solutions .solution-journey,.editorial-technology .perceptron-blueprint{animation:editorial-visual-enter 1.1s .25s cubic-bezier(.2,.8,.2,1) backwards}}
@keyframes editorial-home-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes editorial-visual-enter{from{opacity:0;transform:translateX(35px) scale(.97)}to{opacity:1;transform:none}}
@keyframes blueprint-scan{0%,18%{left:-30%;opacity:0}35%{opacity:1}72%,100%{left:112%;opacity:0}}
@keyframes blueprint-node{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}

@media(max-width:980px){.perceptron-blueprint{width:min(840px,100vw);margin:-10px auto 0;aspect-ratio:1.3}.perceptron-blueprint>img{height:91%}}
@media(max-width:620px){.editorial-hero--technology{min-height:1050px}.perceptron-blueprint{width:118vw;margin-left:-15vw;aspect-ratio:.98}.perceptron-blueprint>img{left:-12%;top:7%;width:124%;height:80%}.blueprint-heading{left:13%;right:10%;top:2%}.blueprint-heading b{display:none}.blueprint-tag{font-size:5px}.blueprint-tag--vision{left:10%}.blueprint-tag--vibration{left:8%;top:38%}.blueprint-tag--audio{left:9%;top:58%}.blueprint-tag--position{right:13%}.blueprint-tag--telemetry{left:16%;bottom:20%}.perceptron-blueprint figcaption{left:13%;right:10%;bottom:2%;grid-template-columns:1fr}.perceptron-blueprint figcaption strong{font-size:16px}.perceptron-blueprint figcaption span{display:none}}

/* Profundidad v2: recorte vertical sobre una atmósfera RY2, no una lámina rectangular. */
.editorial-hero--technology{background:radial-gradient(ellipse 48% 52% at 79% 43%,rgba(52,120,246,.2),transparent 62%),radial-gradient(ellipse 30% 34% at 91% 72%,rgba(121,216,140,.095),transparent 67%),radial-gradient(ellipse 34% 30% at 55% 82%,rgba(78,223,245,.075),transparent 72%),linear-gradient(128deg,#03090e 0%,#06131b 55%,#02070b 100%)}
.editorial-hero--technology:before{inset:-22% -9% -27% 36%;background-image:linear-gradient(rgba(78,223,245,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(78,223,245,.1) 1px,transparent 1px),linear-gradient(rgba(121,216,140,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(52,120,246,.04) 1px,transparent 1px);background-size:48px 48px,48px 48px,192px 192px,192px 192px;mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%);opacity:.72;transform:perspective(860px) rotateX(57deg) rotateZ(-4deg) translateY(27%);transform-origin:center bottom}
.editorial-hero--technology:after{background:linear-gradient(90deg,#03090e 0%,rgba(3,9,14,.96) 30%,rgba(3,9,14,.56) 49%,transparent 69%),linear-gradient(180deg,rgba(3,9,14,.76),transparent 20%,transparent 77%,rgba(3,9,14,.9)),radial-gradient(ellipse at 76% 45%,transparent 0 31%,rgba(3,9,14,.16) 68%,rgba(3,9,14,.74) 100%)}
.editorial-hero--technology .editorial-hero-grid{grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr);gap:clamp(44px,5vw,88px)}
.perceptron-blueprint{width:108%;height:clamp(690px,76svh,850px);aspect-ratio:auto;margin:0 0 0 -5%;overflow:visible;background:radial-gradient(circle at 56% 73%,rgba(78,223,245,.105),transparent 25%),radial-gradient(circle at 64% 43%,rgba(52,120,246,.105),transparent 38%),radial-gradient(circle at 45% 28%,rgba(121,216,140,.045),transparent 24%)}
.perceptron-blueprint:before{z-index:-1;inset:13% -3% 5%;background-image:linear-gradient(rgba(78,223,245,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(78,223,245,.075) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse 68% 68% at 55% 58%,#000 16%,transparent 74%);opacity:.9;transform:perspective(620px) rotateX(64deg) translateY(25%) scale(1.2);transform-origin:center bottom}
.perceptron-blueprint:after{left:-22%;top:7%;width:17%;height:83%;background:linear-gradient(90deg,transparent,rgba(78,223,245,.055),rgba(255,255,255,.11),rgba(121,216,140,.04),transparent);filter:blur(7px);transform:skewX(-7deg)}
.perceptron-blueprint>img{left:50%;top:2.5%;width:auto;height:91%;object-fit:contain;opacity:.96;filter:saturate(.9) contrast(1.06) brightness(.93) drop-shadow(0 24px 35px rgba(0,0,0,.4)) drop-shadow(0 0 26px rgba(52,120,246,.14));mix-blend-mode:normal;mask-image:none;transform:translateX(-50%)}
.blueprint-heading{left:6%;right:4%;top:0}.blueprint-heading span{color:#65e7f7;text-shadow:0 0 13px rgba(78,223,245,.28)}
.blueprint-tag{border-color:rgba(78,223,245,.26);background:rgba(3,12,18,.7);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.blueprint-tag--vision{left:3%;top:16%}.blueprint-tag--vibration{left:5%;top:36%}.blueprint-tag--audio{left:3%;top:57%}.blueprint-tag--position{right:4%;top:13%}.blueprint-tag--telemetry{left:7%;bottom:16%}
.perceptron-blueprint figcaption{left:6%;right:4%;bottom:0;background:linear-gradient(90deg,rgba(3,9,14,.68),rgba(3,9,14,.2),transparent);backdrop-filter:blur(2px)}

@media(max-width:1100px) and (min-width:981px){.editorial-hero--technology .editorial-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr);gap:30px}.perceptron-blueprint{width:104%;margin-left:-2%}.blueprint-tag--position{right:1%}}
@media(max-width:980px){.editorial-hero--technology{min-height:1550px}.editorial-hero--technology:before{inset:30% -20% -25% 12%;opacity:.56}.editorial-hero--technology .editorial-hero-grid{grid-template-columns:1fr}.perceptron-blueprint{width:min(780px,96vw);height:min(900px,92svh);margin:0 auto}.perceptron-blueprint>img{height:92%}}
@media(max-width:620px){.editorial-hero--technology{min-height:1280px;background:radial-gradient(ellipse at 65% 61%,rgba(52,120,246,.17),transparent 54%),radial-gradient(ellipse at 88% 82%,rgba(121,216,140,.08),transparent 38%),linear-gradient(145deg,#03090e,#07141c 58%,#02070b)}.editorial-hero--technology:before{inset:34% -55% -20% -20%;background-size:38px 38px,38px 38px,152px 152px,152px 152px;opacity:.56}.perceptron-blueprint{width:112vw;height:670px;margin-left:-10vw}.perceptron-blueprint>img{left:52%;top:3%;width:auto;height:91%}.blueprint-heading{left:9%;right:7%;top:0}.blueprint-tag--vision{left:7%;top:17%}.blueprint-tag--vibration{left:8%;top:36%}.blueprint-tag--audio{left:7%;top:56%}.blueprint-tag--position{right:7%;top:14%}.blueprint-tag--telemetry{left:12%;bottom:17%}.perceptron-blueprint figcaption{left:9%;right:7%;bottom:0}}

/* Dibujo técnico monocromo: sólo estructura, señal y proyección. */
.editorial-hero--technology{background:radial-gradient(ellipse 47% 53% at 79% 45%,rgba(237,246,247,.055),transparent 64%),radial-gradient(ellipse 31% 28% at 92% 76%,rgba(148,166,173,.035),transparent 68%),linear-gradient(128deg,#03090e 0%,#071119 57%,#02070b 100%)}
.editorial-hero--technology:before{background-image:linear-gradient(rgba(237,246,247,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(237,246,247,.065) 1px,transparent 1px),linear-gradient(rgba(237,246,247,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(237,246,247,.024) 1px,transparent 1px);opacity:.55}
.perceptron-blueprint{background:radial-gradient(circle at 57% 72%,rgba(237,246,247,.04),transparent 27%),radial-gradient(circle at 61% 39%,rgba(237,246,247,.026),transparent 38%)}
.perceptron-blueprint:before{background-image:linear-gradient(rgba(237,246,247,.052) 1px,transparent 1px),linear-gradient(90deg,rgba(237,246,247,.052) 1px,transparent 1px);opacity:.62}
.perceptron-blueprint:after{background:linear-gradient(90deg,transparent,rgba(237,246,247,.035),rgba(255,255,255,.085),transparent)}
.perceptron-blueprint>img{opacity:.94;filter:drop-shadow(0 22px 34px rgba(0,0,0,.38)) drop-shadow(0 0 12px rgba(255,255,255,.045))}
.blueprint-heading{border-color:rgba(237,246,247,.16)}.blueprint-heading span{color:#edf6f7;text-shadow:none}.blueprint-heading b{color:#73858b}
.blueprint-tag{border-color:rgba(237,246,247,.22);background:rgba(3,10,15,.76);color:#b9c6c9;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.blueprint-tag i,.blueprint-tag--position i,.blueprint-tag--telemetry i{background:#edf6f7;box-shadow:0 0 8px rgba(237,246,247,.55)}
.perceptron-blueprint figcaption{border-color:rgba(237,246,247,.18)}.perceptron-blueprint figcaption small,.perceptron-blueprint figcaption span{color:#7e9096}.perceptron-blueprint figcaption span{color:#aab8bc}
@media(max-width:620px){.editorial-hero--technology{background:radial-gradient(ellipse at 67% 62%,rgba(237,246,247,.05),transparent 55%),linear-gradient(145deg,#03090e,#071119 58%,#02070b)}}

/* Blueprint horizontal cromático: señal → fusión → lectura operacional. */
.editorial-hero--technology{background:radial-gradient(ellipse 46% 46% at 78% 44%,rgba(52,120,246,.125),transparent 66%),radial-gradient(ellipse 28% 28% at 91% 72%,rgba(78,223,245,.055),transparent 70%),linear-gradient(128deg,#03090e 0%,#06131b 57%,#02070b 100%)}
.editorial-hero--technology:before{inset:-20% -10% -28% 39%;background-image:linear-gradient(rgba(78,223,245,.058) 1px,transparent 1px),linear-gradient(90deg,rgba(78,223,245,.058) 1px,transparent 1px),linear-gradient(rgba(52,120,246,.023) 1px,transparent 1px),linear-gradient(90deg,rgba(52,120,246,.023) 1px,transparent 1px);background-size:48px 48px,48px 48px,192px 192px,192px 192px;opacity:.54}
.perceptron-blueprint{width:116%;height:clamp(570px,64svh,720px);aspect-ratio:auto;margin-left:-9%;overflow:visible;background:radial-gradient(ellipse 57% 45% at 55% 48%,rgba(52,120,246,.095),transparent 68%),radial-gradient(ellipse 42% 33% at 78% 57%,rgba(78,223,245,.045),transparent 72%)}
.perceptron-blueprint:before{inset:10% 0 10%;background-image:linear-gradient(rgba(78,223,245,.052) 1px,transparent 1px),linear-gradient(90deg,rgba(78,223,245,.052) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse 72% 64% at 56% 50%,#000 8%,transparent 76%);opacity:.7;transform:perspective(720px) rotateX(61deg) translateY(24%) scale(1.13)}
.perceptron-blueprint:after{left:-25%;top:11%;width:18%;height:70%;background:linear-gradient(90deg,transparent,rgba(78,223,245,.04),rgba(52,120,246,.11),rgba(255,255,255,.075),transparent);filter:blur(6px)}
.perceptron-blueprint>img{left:50%;top:8%;width:113%;height:78%;object-fit:contain;opacity:.98;filter:drop-shadow(0 20px 30px rgba(0,0,0,.32)) drop-shadow(0 0 18px rgba(52,120,246,.13));mix-blend-mode:normal;mask-image:none;transform:translateX(-50%)}
.blueprint-heading{left:5%;right:3%;top:1%;border-color:rgba(78,223,245,.19)}.blueprint-heading span{color:#65e7f7;text-shadow:0 0 13px rgba(78,223,245,.25)}.blueprint-heading b{color:#617d8a}
.blueprint-tag{border-color:rgba(78,223,245,.25);background:rgba(3,12,18,.76);color:#a8c0c7;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.blueprint-tag i{background:var(--ep-cyan);box-shadow:0 0 9px var(--ep-cyan)}.blueprint-tag--position i,.blueprint-tag--telemetry i{background:var(--ep-blue);box-shadow:0 0 9px var(--ep-blue)}
.blueprint-tag--vision{left:1%;top:18%}.blueprint-tag--vibration{left:0;top:39%}.blueprint-tag--audio{left:1%;top:60%}.blueprint-tag--position{right:8%;top:14%}.blueprint-tag--telemetry{left:5%;bottom:17%}
.perceptron-blueprint figcaption{left:5%;right:3%;bottom:0;border-color:rgba(78,223,245,.19);background:linear-gradient(90deg,rgba(3,9,14,.62),rgba(3,9,14,.16),transparent)}.perceptron-blueprint figcaption small{color:#64838c}.perceptron-blueprint figcaption span{color:#65a8ff}
@media(max-width:1100px) and (min-width:981px){.perceptron-blueprint{width:110%;height:610px;margin-left:-5%}}
@media(max-width:980px){.editorial-hero--technology{min-height:1280px}.editorial-hero--technology:before{inset:32% -20% -22% 8%}.perceptron-blueprint{width:min(880px,100vw);height:650px;margin:0 auto}.perceptron-blueprint>img{top:8%;width:112%;height:78%}}
@media(max-width:620px){.editorial-hero--technology{min-height:1120px;background:radial-gradient(ellipse at 66% 64%,rgba(52,120,246,.13),transparent 58%),linear-gradient(145deg,#03090e,#07131b 58%,#02070b)}.editorial-hero--technology:before{inset:37% -62% -17% -24%;opacity:.48}.perceptron-blueprint{width:126vw;height:520px;margin-left:-19vw}.perceptron-blueprint>img{left:50%;top:10%;width:119%;height:75%}.blueprint-heading{left:12%;right:8%}.blueprint-tag--vision{left:8%;top:18%}.blueprint-tag--vibration{left:7%;top:39%}.blueprint-tag--audio{left:8%;top:59%}.blueprint-tag--position{right:8%;top:15%}.blueprint-tag--telemetry{left:13%;bottom:18%}.perceptron-blueprint figcaption{left:12%;right:8%}}

/* Vitalidad del ecosistema: pulso contextual localizado, sin barrido horizontal. */
.perceptron-blueprint:after{left:51%;top:48%;width:25%;height:auto;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(116,225,255,.17) 0,rgba(52,120,246,.095) 24%,rgba(52,120,246,.025) 48%,transparent 72%);filter:blur(5px);transform:translate(-50%,-50%) scale(.9);opacity:.28;mix-blend-mode:screen;animation:ecosystem-core-breathe 4.6s ease-in-out infinite}
.perceptron-blueprint>img{transform-origin:50% 49%;animation:ecosystem-diagram-breathe 6.4s ease-in-out infinite}
@keyframes ecosystem-core-breathe{0%,100%{opacity:.2;transform:translate(-50%,-50%) scale(.82)}50%{opacity:.48;transform:translate(-50%,-50%) scale(1.12)}}
@keyframes ecosystem-diagram-breathe{0%,100%{opacity:.94;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.006)}}
@media(prefers-reduced-motion:reduce){.perceptron-blueprint:after,.perceptron-blueprint>img{animation:none}}

/* Soluciones abiertas: un recorrido, no una tarjeta administrativa. */
.editorial-hero--solutions{background:radial-gradient(ellipse 46% 48% at 78% 42%,rgba(52,120,246,.22),transparent 67%),radial-gradient(ellipse 28% 32% at 91% 72%,rgba(121,216,140,.075),transparent 70%),radial-gradient(ellipse 28% 30% at 56% 83%,rgba(78,223,245,.075),transparent 72%),linear-gradient(128deg,#03090e 0%,#06131b 58%,#02070b 100%)}
.editorial-hero--solutions:before{inset:-18% -9% -25% 35%;background-image:linear-gradient(rgba(78,223,245,.062) 1px,transparent 1px),linear-gradient(90deg,rgba(78,223,245,.062) 1px,transparent 1px),linear-gradient(rgba(52,120,246,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(52,120,246,.025) 1px,transparent 1px);background-size:48px 48px,48px 48px,192px 192px,192px 192px;mask-image:radial-gradient(ellipse 62% 68% at 55% 54%,#000 10%,transparent 78%);opacity:.68;transform:perspective(820px) rotateX(58deg) rotateZ(-5deg) translateY(28%);transform-origin:center bottom}
.editorial-hero--solutions:after{background:linear-gradient(90deg,#03090e 0%,rgba(3,9,14,.96) 27%,rgba(3,9,14,.5) 48%,transparent 70%),linear-gradient(180deg,rgba(3,9,14,.75),transparent 20%,transparent 78%,rgba(3,9,14,.92))}
.editorial-hero--solutions .editorial-hero-grid{grid-template-columns:minmax(0,.82fr) minmax(570px,1.18fr);gap:clamp(30px,4vw,70px)}
.solution-journey{width:112%;min-height:590px;margin-left:-5%;border:0;background:transparent;box-shadow:none;overflow:visible;isolation:isolate}
.solution-journey:before{inset:11% -2% 12%;border-radius:50%;background:radial-gradient(ellipse at 53% 48%,rgba(52,120,246,.12),rgba(78,223,245,.045) 34%,transparent 69%);mask-image:none;opacity:.9;transform:rotate(-5deg);animation:journey-aura-breathe 6.8s ease-in-out infinite}
.solution-journey>header{padding:0 5% 14px;border-bottom:1px solid rgba(78,223,245,.17)}
.solution-journey>header p{font-size:9px}.solution-journey>header span{display:grid;width:50px;aspect-ratio:1;place-items:center;border:1px solid rgba(78,223,245,.28);border-radius:50%;background:rgba(3,12,18,.58);box-shadow:0 0 24px rgba(52,120,246,.1);font-size:9px}
.solution-journey-tabs{display:flex;gap:8px;padding:18px 5% 0;border:0}
.solution-journey-tabs button{flex:1;min-height:38px;padding:0 15px;border:1px solid rgba(137,188,201,.18);border-radius:999px;background:rgba(3,12,18,.44);color:#78939a;transition:color .3s,border-color .3s,background .3s,box-shadow .3s,transform .3s}
.solution-journey-tabs button:last-child{border-right:1px solid rgba(137,188,201,.18)}.solution-journey-tabs button:hover,.solution-journey-tabs button:focus-visible{border-color:rgba(78,223,245,.42);background:rgba(78,223,245,.055);transform:translateY(-2px)}
.solution-journey-tabs button:after{left:14px;right:auto;bottom:50%;width:5px;height:5px;border-radius:50%;background:var(--ep-cyan);box-shadow:0 0 11px var(--ep-cyan);opacity:0;transform:translateY(50%) scale(.5);transition:opacity .3s,transform .3s}
.solution-journey-tabs button.is-active{border-color:rgba(78,223,245,.48);background:linear-gradient(90deg,rgba(78,223,245,.11),rgba(52,120,246,.075));box-shadow:0 10px 30px rgba(0,0,0,.22),inset 0 0 20px rgba(78,223,245,.035);transform:translateY(-2px)}.solution-journey-tabs button.is-active:after{right:auto;opacity:1;transform:translateY(50%) scale(1)}
.solution-journey-stage{height:320px;margin:2px 1% 0}
.solution-journey-stage>svg{filter:drop-shadow(0 0 10px rgba(52,120,246,.2))}.journey-line{stroke-width:1.35}.journey-line--in{stroke:rgba(78,223,245,.32)}.journey-line--out{stroke-width:1.8}
.journey-point{width:31%}.journey-input{left:2%;top:65%}.journey-output{right:-1%;top:37%}.journey-point strong{font-size:clamp(17px,1.4vw,23px)}
.journey-core{top:48%;width:138px;border-color:rgba(78,223,245,.54);background:radial-gradient(circle,rgba(11,34,48,.96),rgba(3,12,18,.94) 69%);box-shadow:0 0 0 12px rgba(78,223,245,.025),0 0 62px rgba(52,120,246,.28)}
.journey-core:before{inset:-17px;border-color:rgba(78,223,245,.15)}.journey-core:after{content:"";position:absolute;inset:-34px;border:1px solid rgba(121,216,140,.085);border-radius:50%;animation:journey-core-pulse 4.2s ease-in-out infinite}.journey-core i{animation-duration:5.2s}
.solution-journey-copy{width:73%;min-height:0;margin:0 5%;padding:0 0 0 17px;border-left:1px solid rgba(78,223,245,.5);color:#a9bcc1;font-size:14px;line-height:1.6}
.solution-journey-next{width:max-content;min-height:54px;gap:28px;margin:21px 5% 0 auto;padding:0 9px 0 22px;border:1px solid rgba(78,223,245,.3);border-radius:999px;background:linear-gradient(90deg,rgba(78,223,245,.08),rgba(52,120,246,.055));box-shadow:0 15px 34px rgba(0,0,0,.2)}.solution-journey-next b{width:36px;border-color:rgba(78,223,245,.4)}.solution-journey-next:hover{border-color:rgba(78,223,245,.55);background:rgba(78,223,245,.105);box-shadow:0 16px 38px rgba(0,0,0,.25),0 0 28px rgba(78,223,245,.08)}
@keyframes journey-aura-breathe{0%,100%{opacity:.62;transform:rotate(-5deg) scale(.96)}50%{opacity:1;transform:rotate(-3deg) scale(1.025)}}
@keyframes journey-core-pulse{0%,100%{opacity:.3;transform:scale(.91)}50%{opacity:.85;transform:scale(1.08)}}
@media(max-width:1150px) and (min-width:981px){.editorial-hero--solutions .editorial-hero-grid{grid-template-columns:minmax(0,.8fr) minmax(500px,1.2fr);gap:25px}.solution-journey{width:108%;margin-left:-3%}}
@media(max-width:980px){.editorial-hero--solutions{min-height:1360px}.editorial-hero--solutions:before{inset:32% -24% -22% 8%;opacity:.58}.editorial-hero--solutions .editorial-hero-grid{grid-template-columns:1fr}.solution-journey{width:min(880px,98vw);min-height:600px;margin:0 auto}.solution-journey-stage{height:320px}}
@media(max-width:620px){.editorial-hero--solutions{min-height:1320px}.editorial-hero--solutions:before{inset:39% -65% -15% -20%;opacity:.5}.solution-journey{width:112vw;min-height:620px;margin-left:-8vw}.solution-journey>header{padding:0 7% 12px}.solution-journey>header span{width:42px}.solution-journey-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:15px 7% 0}.solution-journey-tabs button{min-height:38px;border:1px solid rgba(137,188,201,.18)}.solution-journey-tabs button:nth-child(-n+2){border-bottom:1px solid rgba(137,188,201,.18)}.solution-journey-stage{height:300px;margin:0}.solution-journey-stage>svg{display:block;opacity:.72}.journey-input{left:7%;top:67%}.journey-output{right:6%;top:38%}.journey-core{width:94px}.journey-point{width:31%}.journey-point strong{font-size:13px}.journey-point small{font-size:5px}.solution-journey-copy{width:86%;margin:0 7%;padding-left:13px;font-size:12px}.solution-journey-next{margin:18px 7% 0 auto;font-size:11px}}
@media(prefers-reduced-motion:reduce){.solution-journey:before,.journey-core:after{animation:none}}

/* Primer viewport completo y transmisión visible en el ecosistema. */
@media(min-width:981px){.editorial-hero--solutions,.editorial-hero--technology{min-height:calc(100svh - 96px);align-items:start;padding-top:clamp(134px,14.5vh,150px);padding-bottom:34px}.editorial-hero--solutions .editorial-hero-grid,.editorial-hero--technology .editorial-hero-grid{align-items:start}}
.ecosystem-transmission{position:absolute;z-index:1;left:50%;top:8%;width:113%;height:78%;overflow:visible;pointer-events:none;transform:translateX(-50%)}
.transmission-particle{fill:#e8fcff;filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 10px var(--ep-cyan)) drop-shadow(0 0 18px var(--ep-blue))}.transmission-particle--decision{fill:#baf7c5;filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 11px var(--ep-green))}
.transmission-core-ring{fill:none;stroke:var(--ep-cyan);stroke-width:2;filter:drop-shadow(0 0 8px var(--ep-blue))}
@media(min-width:981px) and (max-height:860px){.editorial-hero--solutions,.editorial-hero--technology{padding-top:118px;padding-bottom:24px}.solution-journey{min-height:505px}.solution-journey-stage{height:255px}.solution-journey-copy{font-size:13px}.solution-journey-next{margin-top:14px}.perceptron-blueprint{height:520px}.editorial-hero--solutions .editorial-hero-copy h1,.editorial-hero--technology .editorial-hero-copy h1{font-size:clamp(52px,6vw,88px)}.editorial-hero--solutions .hero-lead,.editorial-hero--technology .hero-lead{margin-top:22px}}
@media(max-width:980px){.ecosystem-transmission{top:8%;width:112%;height:78%}}
@media(max-width:620px){.ecosystem-transmission{top:10%;width:119%;height:75%}}
@media(prefers-reduced-motion:reduce){.transmission-particle,.transmission-core-ring{display:none}}

/* La señal de Soluciones también avanza por el recorrido. */
.journey-line--in,.journey-line--out{animation:solution-signal-flow 7.5s linear infinite}.journey-line--out{animation-duration:6.2s;animation-direction:reverse}.solution-journey-tabs button.is-active:after{animation:solution-active-pulse 2.2s ease-in-out infinite}
@keyframes solution-signal-flow{to{stroke-dashoffset:-52}}
@keyframes solution-active-pulse{0%,100%{opacity:.55;box-shadow:0 0 7px var(--ep-cyan);transform:translateY(50%) scale(.78)}50%{opacity:1;box-shadow:0 0 15px var(--ep-cyan);transform:translateY(50%) scale(1.18)}}
@media(prefers-reduced-motion:reduce){.journey-line--in,.journey-line--out,.solution-journey-tabs button.is-active:after{animation:none}}

/* Aire de cierre para Soluciones respecto del scroll del navegador. */
@media(min-width:981px){.editorial-hero--solutions .solution-journey{width:108%;margin-left:-7%}.editorial-hero--solutions .journey-output{right:3%}.editorial-hero--solutions .solution-journey-next{margin-right:8%}}

/* Soluciones: un paisaje operacional muestra dónde se crea valor, no otro diagrama abstracto. */
.solution-landscape{position:relative;width:110%;height:clamp(590px,63svh,680px);min-height:0;margin:0 0 0 -8%;border:0;background:transparent;box-shadow:none;overflow:visible;isolation:isolate}
.solution-landscape:before{content:"";position:absolute;z-index:-2;inset:9% -4% 16%;border-radius:50%;background:radial-gradient(ellipse at 54% 52%,rgba(52,120,246,.15),rgba(78,223,245,.045) 42%,transparent 72%);mask-image:none;opacity:.9;transform:none;animation:landscape-aura 7s ease-in-out infinite}
.solution-landscape:after{content:"";position:absolute;z-index:-3;inset:17% -2% 13%;background-image:linear-gradient(rgba(78,223,245,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(78,223,245,.055) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 68% 70% at 56% 54%,#000,transparent 84%);opacity:.46;transform:perspective(700px) rotateX(61deg) translateY(22%);transform-origin:center bottom;pointer-events:none}
.solution-landscape>.solution-landscape-heading{position:absolute;z-index:6;left:4%;right:4%;top:0;display:flex;align-items:center;justify-content:space-between;padding:0 0 13px;border-bottom:1px solid rgba(78,223,245,.2)}
.solution-landscape>.solution-landscape-heading p,.solution-landscape>.solution-landscape-heading span{margin:0;color:var(--ep-cyan);font:700 8px var(--mono);letter-spacing:.18em}
.solution-landscape>.solution-landscape-heading span{display:block;width:auto;aspect-ratio:auto;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:9px;letter-spacing:.09em}
.solution-landscape>.solution-journey-tabs{position:absolute;z-index:7;left:4%;right:4%;top:7%;display:flex;gap:8px;padding:0;border:0}
.solution-landscape>.solution-journey-tabs button{flex:1;min-height:38px;padding:0 13px;border:1px solid rgba(137,188,201,.19);border-radius:999px;background:rgba(3,12,18,.5);color:#78939a;font-size:8px;backdrop-filter:blur(6px)}
.solution-landscape>.solution-journey-tabs button:last-child{border-right:1px solid rgba(137,188,201,.19)}
.solution-landscape>.solution-journey-tabs button.is-active{border-color:rgba(78,223,245,.55);background:linear-gradient(90deg,rgba(78,223,245,.13),rgba(52,120,246,.1));box-shadow:0 0 26px rgba(52,120,246,.12),inset 0 0 18px rgba(78,223,245,.04)}
.solution-landscape-stage{position:absolute;z-index:2;left:-4%;right:-3%;top:13%;height:62%}
.solution-landscape-stage>img,.solution-landscape-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 28px rgba(0,0,0,.32)) drop-shadow(0 0 16px rgba(52,120,246,.12))}
.solution-landscape-stage>img{animation:landscape-breathe 7.5s ease-in-out infinite}
.solution-landscape-overlay{z-index:2;overflow:visible;pointer-events:none;filter:none}
.solution-route-particles circle{fill:#f1fdff;filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 10px var(--ep-cyan)) drop-shadow(0 0 18px var(--ep-blue))}
.solution-route-particles circle.is-green{fill:#c7fbd1;filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 12px var(--ep-green))}
.solution-zone{opacity:.14;transition:opacity .55s ease;filter:drop-shadow(0 0 10px rgba(78,223,245,.42))}
.solution-zone-halo{fill:rgba(52,120,246,.05);stroke:var(--ep-cyan);stroke-width:2;stroke-dasharray:7 7;transform-box:fill-box;transform-origin:center;animation:solution-zone-ring 3.4s linear infinite}
.solution-zone-core{fill:#fff;stroke:var(--ep-cyan);stroke-width:3;filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 15px var(--ep-cyan));transform-box:fill-box;transform-origin:center;animation:solution-zone-core 2.2s ease-in-out infinite}
.solution-landscape[data-active="0"] .solution-zone--0,.solution-landscape[data-active="1"] .solution-zone--1,.solution-landscape[data-active="2"] .solution-zone--2,.solution-landscape[data-active="3"] .solution-zone--3{opacity:1}
.solution-landscape>figcaption{position:absolute;z-index:6;left:4%;right:4%;bottom:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(220px,.95fr) auto;gap:clamp(18px,2.2vw,34px);align-items:center;min-height:112px;padding:18px 0 0;border-top:1px solid rgba(78,223,245,.2)}
.solution-landscape-readout{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;transition:opacity .2s,transform .3s ease}
.solution-landscape-readout div:last-child{text-align:right}.solution-landscape-readout small{display:block;margin-bottom:7px;color:#68818a;font:700 7px var(--mono);letter-spacing:.14em}.solution-landscape-readout strong{display:block;color:#dce8eb;font-size:clamp(13px,1.2vw,17px);font-weight:450;line-height:1.2}.solution-landscape-readout i{color:var(--ep-cyan);font-size:18px;font-style:normal;filter:drop-shadow(0 0 8px rgba(78,223,245,.6))}
.solution-landscape .solution-journey-copy{width:auto;min-height:0;margin:0;padding:0 0 0 16px;border-left:1px solid rgba(78,223,245,.42);color:#9fb2b7;font-size:12px;line-height:1.55}
.solution-landscape>figcaption>span{align-self:end;padding-bottom:5px;color:#66818a;font:700 7px var(--mono);letter-spacing:.14em;white-space:nowrap}
.solution-landscape.is-switching .solution-landscape-readout,.solution-landscape.is-switching .solution-journey-copy{opacity:0;transform:translateY(7px)}
@keyframes landscape-aura{0%,100%{opacity:.65;transform:scale(.975)}50%{opacity:1;transform:scale(1.02)}}
@keyframes landscape-breathe{0%,100%{opacity:.86;transform:translateY(2px)}50%{opacity:1;transform:translateY(-3px)}}
@keyframes solution-zone-ring{0%{transform:scale(.72) rotate(0);opacity:.2}45%{opacity:1}100%{transform:scale(1.35) rotate(90deg);opacity:0}}
@keyframes solution-zone-core{0%,100%{transform:scale(.76);opacity:.65}50%{transform:scale(1.12);opacity:1}}
@media(min-width:981px) and (max-height:860px){.solution-landscape{height:520px}.solution-landscape-stage{top:14%;height:61%}.solution-landscape>figcaption{min-height:94px;padding-top:13px}.solution-landscape .solution-journey-copy{font-size:11px}}
@media(max-width:1150px) and (min-width:981px){.solution-landscape{width:108%;margin-left:-5%}.solution-landscape>figcaption{grid-template-columns:1fr 1fr}.solution-landscape>figcaption>span{display:none}}
@media(max-width:980px){.editorial-hero--solutions{min-height:1320px}.solution-landscape{width:min(900px,98vw);height:650px;min-height:0;margin:0 auto}.solution-landscape-stage{left:-5%;right:-5%;top:13%;height:64%}}
@media(max-width:620px){.editorial-hero--solutions{min-height:1250px}.solution-landscape{width:112vw;height:640px;min-height:0;margin-left:-8vw}.solution-landscape>.solution-landscape-heading{left:7%;right:7%}.solution-landscape>.solution-journey-tabs{left:7%;right:7%;top:7%;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.solution-landscape>.solution-journey-tabs button{min-height:36px}.solution-landscape-stage{left:-11%;right:-11%;top:17%;height:54%}.solution-landscape>figcaption{left:7%;right:7%;grid-template-columns:1fr;gap:12px;min-height:170px;padding-top:15px}.solution-landscape-readout strong{font-size:12px}.solution-landscape .solution-journey-copy{padding-left:12px;font-size:11px}.solution-landscape>figcaption>span{display:none}}
@media(prefers-reduced-motion:reduce){.solution-landscape:before,.solution-landscape-stage>img,.solution-zone-halo,.solution-zone-core{animation:none}.solution-route-particles{display:none}}
.edge-hook{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;max-width:760px;margin-top:30px;padding:19px 22px;border:1px solid rgba(78,223,245,.25);background:linear-gradient(90deg,rgba(78,223,245,.08),rgba(52,120,246,.045));transition:border-color .25s,background .25s,transform .25s}.edge-hook:before{content:"";position:absolute;left:-1px;top:20%;bottom:20%;width:2px;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}.edge-hook small{color:var(--cyan);font:700 8px var(--mono);letter-spacing:.15em}.edge-hook strong{color:#e1edef;font-size:17px;font-weight:430;letter-spacing:-.02em}.edge-hook span{color:var(--cyan);font:700 10px var(--mono);white-space:nowrap}.edge-hook:hover{transform:translateY(-2px);border-color:rgba(78,223,245,.55);background:linear-gradient(90deg,rgba(78,223,245,.13),rgba(52,120,246,.07))}@media(max-width:650px){.edge-hook{grid-template-columns:1fr auto;gap:8px 16px;padding:18px}.edge-hook small{grid-column:1/-1}.edge-hook strong{font-size:15px}}
.authority-mini-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.authority-mini-nav a{padding:9px 13px;border:1px solid rgba(151,207,220,.16);border-radius:999px;color:#879aa0;font:700 8px var(--mono);letter-spacing:.08em;transition:color .2s,border-color .2s,background .2s}.authority-mini-nav a:hover{color:var(--cyan);border-color:rgba(78,223,245,.38);background:rgba(78,223,245,.06)}

/* Lenguaje visual sobrio: movimiento de señal sobre una lámina técnica, sin neón. */
.editorial-hero--solutions {
  background:
    radial-gradient(ellipse 44% 43% at 79% 44%, rgba(88, 129, 148, .055), transparent 70%),
    linear-gradient(128deg, #03090e 0%, #071119 58%, #02070b 100%);
}

.editorial-hero--solutions::before {
  background-image:
    linear-gradient(rgba(157, 190, 201, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157, 190, 201, .045) 1px, transparent 1px),
    linear-gradient(rgba(157, 190, 201, .018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157, 190, 201, .018) 1px, transparent 1px);
  opacity: .5;
}

.solution-landscape::before {
  background: radial-gradient(ellipse at 54% 52%, rgba(99, 142, 158, .045), transparent 70%);
  opacity: .5;
  animation: none;
}

.solution-landscape::after {
  background-image:
    linear-gradient(rgba(157, 190, 201, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157, 190, 201, .04) 1px, transparent 1px);
  opacity: .36;
}

.solution-landscape > .solution-journey-tabs button,
.solution-landscape > .solution-journey-tabs button.is-active {
  box-shadow: none;
  backdrop-filter: none;
}

.solution-landscape > .solution-journey-tabs button.is-active {
  border-color: rgba(126, 173, 187, .48);
  background: rgba(91, 126, 139, .1);
}

.solution-landscape > .solution-journey-tabs button::after,
.solution-landscape > .solution-journey-tabs button.is-active::after {
  box-shadow: none;
  animation: none;
}

.solution-landscape-stage > img {
  opacity: .76;
  filter: saturate(.42) contrast(.96) brightness(.76);
  animation: none;
}

.solution-route-particles circle,
.solution-route-particles circle.is-green {
  fill: #8ab6c0;
  opacity: .74;
  filter: none;
}

.solution-route-particles circle.is-green {
  fill: #91aa98;
}

.solution-zone {
  filter: none;
}

.solution-zone-halo {
  fill: rgba(87, 123, 136, .025);
  stroke: rgba(132, 177, 190, .66);
  stroke-width: 1.25;
  animation: blueprint-zone-ring 8s linear infinite;
}

.solution-zone-core {
  fill: #91b8c1;
  stroke: #071119;
  stroke-width: 2;
  filter: none;
  animation: blueprint-zone-core 4.8s ease-in-out infinite;
}

.solution-landscape-readout i {
  color: #86aeb8;
  filter: none;
}

@keyframes blueprint-zone-ring {
  0% { opacity: .35; transform: rotate(0deg) scale(.96); }
  50% { opacity: .62; transform: rotate(45deg) scale(1.03); }
  100% { opacity: .35; transform: rotate(90deg) scale(.96); }
}

@keyframes blueprint-zone-core {
  0%, 100% { opacity: .58; transform: scale(.9); }
  50% { opacity: .86; transform: scale(1); }
}

.editorial-hero--technology {
  background:
    radial-gradient(ellipse 45% 44% at 79% 44%, rgba(91, 129, 143, .05), transparent 69%),
    linear-gradient(128deg, #03090e 0%, #071119 57%, #02070b 100%);
}

.editorial-hero--technology::before {
  background-image:
    linear-gradient(rgba(157, 190, 201, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157, 190, 201, .045) 1px, transparent 1px),
    linear-gradient(rgba(157, 190, 201, .018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157, 190, 201, .018) 1px, transparent 1px);
  opacity: .46;
}

.perceptron-blueprint {
  background: radial-gradient(ellipse 56% 44% at 55% 49%, rgba(94, 132, 145, .04), transparent 70%);
}

.perceptron-blueprint::before {
  background-image:
    linear-gradient(rgba(157, 190, 201, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157, 190, 201, .04) 1px, transparent 1px);
  opacity: .48;
}

.perceptron-blueprint::after {
  display: none;
  animation: none;
}

.perceptron-blueprint > img {
  opacity: .76;
  filter: saturate(.38) contrast(.94) brightness(.74);
  animation: none;
}

.blueprint-heading span {
  color: #a5c0c7;
  text-shadow: none;
}

.blueprint-tag {
  border-color: rgba(157, 190, 201, .22);
  background: rgba(3, 12, 18, .78);
  color: #91a7ad;
  box-shadow: none;
}

.blueprint-tag i,
.blueprint-tag--position i,
.blueprint-tag--telemetry i {
  background: #8fb8c1;
  box-shadow: none;
  animation: none;
}

.transmission-particle,
.transmission-particle--decision {
  fill: #90b5bd;
  opacity: .72;
  filter: none;
}

.transmission-particle--decision {
  fill: #91a995;
}

.transmission-core-ring {
  stroke: #86aeb8;
  stroke-width: 1.25;
  filter: none;
}

@media (max-width: 620px) {
  .editorial-hero--solutions,
  .editorial-hero--technology {
    background: linear-gradient(145deg, #03090e, #071119 58%, #02070b);
  }
}

@media (prefers-reduced-motion: reduce) {
  .solution-zone-halo,
  .solution-zone-core {
    animation: none;
  }
}

/* Sin ciclos pesados: se conserva solo la entrada inicial definida arriba. */
.solution-landscape-overlay,
.ecosystem-transmission {
  display: none;
}

.solution-landscape-stage > img,
.perceptron-blueprint > img,
.solution-landscape::before,
.perceptron-blueprint::after,
.blueprint-tag i {
  animation: none;
}

/* Whiteprint técnico: estructura blanca translúcida y señal en movimiento. */
.editorial-hero--solutions,
.editorial-hero--technology {
  background: linear-gradient(128deg, #03090e 0%, #07131d 58%, #02070b 100%);
}

.solution-landscape-stage > img,
.perceptron-blueprint > img {
  opacity: .62;
  filter: none;
  mix-blend-mode: normal;
}

.solution-landscape,
.solution-landscape-stage,
.perceptron-blueprint {
  background: transparent;
}

.solution-landscape::before,
.solution-landscape::after,
.perceptron-blueprint::before,
.perceptron-blueprint::after {
  display: none;
  background: none;
}

.solution-landscape-overlay,
.ecosystem-transmission {
  display: block;
}

.solution-route-particles circle,
.solution-route-particles circle.is-green,
.transmission-particle,
.transmission-particle--decision {
  fill: rgba(237, 246, 247, .82);
  opacity: .78;
  filter: none;
}

.transmission-core-ring {
  stroke: rgba(237, 246, 247, .5);
  stroke-width: 1;
  filter: none;
}

.solution-zone {
  filter: none;
}

.solution-zone-halo {
  fill: transparent;
  stroke: rgba(237, 246, 247, .46);
  stroke-width: 1;
}

.solution-zone-core {
  fill: rgba(237, 246, 247, .82);
  stroke: #07131d;
  filter: none;
}

.blueprint-heading span,
.solution-landscape > .solution-landscape-heading p,
.solution-landscape > .solution-landscape-heading span {
  color: #c2d0d4;
  text-shadow: none;
}

.blueprint-tag {
  border-color: rgba(237, 246, 247, .2);
  color: #a9b7bb;
  background: rgba(3, 10, 15, .72);
}

.blueprint-tag i,
.blueprint-tag--position i,
.blueprint-tag--telemetry i {
  background: rgba(237, 246, 247, .76);
  box-shadow: none;
}

@media (max-width: 620px) {
  .solution-landscape-stage > img,
  .perceptron-blueprint > img {
    opacity: .48;
  }
}

@media (prefers-reduced-motion: reduce) {
  .solution-route-particles,
  .transmission-particle,
  .transmission-core-ring {
    display: none;
  }
}
