/* Burbujas: tres recorridos independientes, acotados para preservar lectura y acceso. */
.hero .hero-copy>p:first-of-type{position:absolute;top:68px;left:var(--gutter);width:300px;max-width:300px;padding:23px 25px;background:linear-gradient(135deg,#1b465ce8,#0a293bed);border:1px solid #6a96a459;border-radius:27px;box-shadow:0 18px 32px -24px #0009;font-size:16px;line-height:1.75;color:#e4f2f7;margin:0;pointer-events:auto}
.hero .hero-actions{top:310px;left:calc(var(--gutter) + 25px);margin:0;pointer-events:auto}.hero .hero-actions .button{border-radius:100px;padding:20px 26px;box-shadow:0 18px 32px -24px #000a;background:linear-gradient(135deg,#bcfae8,#84dcd4);color:#103f42;gap:23px}
.hero .hero-note{display:block;position:absolute;top:430px;left:calc(var(--gutter) - 5px);width:255px;padding:19px 23px;border-radius:24px;background:linear-gradient(130deg,#daeaf1,#bfd6e1);color:#16394e;font-size:13px;line-height:1.65;box-shadow:0 18px 32px -24px #0009;margin:0!important;pointer-events:auto}
.floating-bubble{transform-origin:center;z-index:4}.hero-copy .bubble-description::after{content:"";position:absolute;right:24px;top:19px;width:6px;height:6px;border-radius:50%;background:#9ae5d3}.hero .hero-copy .bubble-description{padding-right:30px}
/* Cada escena tiene un fondo propio dentro del mundo del software. */
.scene-surface{position:relative;isolation:isolate}.scene-surface::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-position:center;background-size:cover;background-repeat:no-repeat}
.connection::before{background-image:linear-gradient(110deg,#edf6faf5 12%,#edf5f8d9 60%,#dfeff2e8),url('assets/integration-view.svg');background-position:center,85% 20%;background-size:cover,1100px auto}
.automation-vision::before{background-image:linear-gradient(120deg,#10293df5,#132f49e8),url('assets/systems-concept-canva.jpg')}.story::before{background-image:linear-gradient(100deg,#e5edf6fa 20%,#e5edf6e6 75%),url('assets/software-view.svg');background-position:center,right center;background-size:cover,900px auto}.solutions::before{background-image:linear-gradient(125deg,#f0f5f8f7 15%,#f0f5f8da 75%),url('assets/development-view.svg');background-size:cover,1400px auto}.demo-section::before{background-image:linear-gradient(115deg,#102d48ed,#242f54e8),url('assets/systems-concept-canva.jpg')}.method::before{background-image:linear-gradient(100deg,#eef4f8fa,#e5eef8e0),url('assets/integration-view.svg');background-size:cover,1300px auto}.about::before{background-image:linear-gradient(100deg,#dfeeeef7,#dfeeeeee),url('assets/network-overlay.svg')}.contact::before{background-image:linear-gradient(100deg,#eef5f8fa,#ecf3f8e6),url('assets/development-view.svg');background-position:center,90% 45%;background-size:cover,1100px auto}.intro-line{background:linear-gradient(100deg,#d9f0ea,#e0eaf7)}
h2 em{font-style:normal;color:#166f79}.connection h2{font-size:clamp(40px,4.6vw,66px)}.connection-heading{grid-template-columns:1.05fr 1fr;gap:10%}.connection-world{padding:30px 30px 25px;margin-top:50px;background:linear-gradient(130deg,#0d2b42,#132840 65%,#282c4e);border-radius:18px}.connection-caption{font-size:12px}.connection-caption>span:last-child{color:#b0c5d3}.connection-toggle{min-height:46px;background:#163f56;font-size:12px;gap:22px}.connection-toggle[aria-pressed=true]{background:#475065}.connection-toggle span{font-size:16px}.orchestration-viewport{overflow:auto;margin-top:12px}.orchestration{display:block;width:100%;height:auto;aspect-ratio:1160/590;stroke:none;min-width:900px}.orchestration text{stroke:none;font:600 16px Switzer,sans-serif;fill:#e7f3fa}.orchestration .orch-detail{font:12px Manrope,sans-serif;fill:#b4cbdb}.orch-node rect{fill:#15364c;stroke:#3a617a;stroke-width:1;transition:fill 500ms,stroke 500ms}.orch-node circle{fill:#597b92;transition:fill 500ms}.orch-node.active rect{fill:#185257;stroke:#92e2d4}.orch-node.active circle{fill:#a1f0de}.orch-node[data-flow-step="2"].active rect{fill:#343e6b;stroke:#93b0ef}.orch-node[data-flow-step="5"].active rect{fill:#443963;stroke:#bea5f2}.orch-route,.orch-pulse{fill:none;stroke:#355976;stroke-width:2}.orch-pulse{stroke:#a2eddb;stroke-width:3;stroke-dasharray:24 900;opacity:0}.orch-pulse.active{opacity:1;animation:route-pulse 3.6s linear infinite}.flow-paused .orch-pulse.active,.connection-world:not(.flow-visible) .orch-pulse.active{animation-play-state:paused}.flow-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:35px;align-items:start;margin-top:12px}.flow-story strong{font:600 19px/1.5 Switzer,sans-serif;color:#b1efdf;min-height:58px}.flow-story p{font-size:13px;line-height:1.8;color:#b8cfdf;margin:0;max-width:620px}.flow-progress{display:flex;gap:7px;margin-top:20px}.flow-progress span{height:3px;flex:1;background:#31536c;border-radius:2px}.flow-progress span.active{background:#98e4d5}@keyframes route-pulse{from{stroke-dashoffset:930}to{stroke-dashoffset:0}}
.automation-vision{padding-block:110px;color:#e5f0f7}.vision-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:12%;align-items:end;margin-bottom:45px}.vision-heading h2{font-size:clamp(39px,4.3vw,62px);line-height:1.1}.vision-heading p{color:#b9d2df;font-size:17px;line-height:1.85}.vision-image{position:relative;overflow:hidden;border-radius:15px;background:#0b1f30}.vision-image>img{display:block;width:100%;height:500px;object-fit:cover;object-position:50% 45%;filter:brightness(.83)}.vision-overlay{position:absolute;left:35px;right:35px;bottom:75px;display:flex;gap:18px;align-items:center}.vision-overlay span{padding:12px 18px;background:#0b283cf2;color:#d6eef3;border-radius:9px;font-size:12px;box-shadow:0 12px 30px -15px #0008;opacity:.7;transform:translateY(0)}.scene-visible .vision-overlay span{animation:result-arrive 9s ease-in-out infinite}.vision-overlay span:nth-child(2){animation-delay:2s}.vision-overlay span:nth-child(3){animation-delay:4s}.vision-image figcaption{padding:14px 25px;font-size:11px;color:#b9cfdf;background:#112d43;line-height:1.8}.challenge-principles{display:grid;grid-template-columns:1fr 1fr 1fr;gap:55px;margin-top:35px}.challenge-principles p{font-size:14px;line-height:1.9;color:#bad1de}.challenge-principles strong{display:block;color:#eff7fb;font:600 22px Switzer,sans-serif;margin-bottom:9px}.scene-visible .vision-image>img{animation:vision-pan 20s ease-in-out infinite alternate}
.story-heading h2{font-size:clamp(39px,4.5vw,64px)}.story-heading>p{max-width:450px}.story-stage{position:sticky}.scene-visible .record-event-dot{animation:context-pulse 4s ease-in-out infinite}.solution-panel figure{position:relative}.solution-panel figure::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#b8ecf414 49%,transparent 63%);transform:translateX(-100%)}.scene-visible .solution-panel figure::after{animation:screen-reflection 10s ease-in-out infinite}.scene-visible .solution-panel img{animation:software-depth 12s ease-in-out infinite alternate}.method-orbit circle{transform-box:fill-box;transform-origin:center}.scene-visible .method-orbit circle{animation:decision-pulse 6s ease-in-out infinite}.method-orbit circle:nth-of-type(2){animation-delay:1.5s}.method-orbit circle:nth-of-type(3){animation-delay:3s}.method-orbit circle:nth-of-type(4){animation-delay:4.5s}.about{grid-template-columns:1fr 1.1fr;gap:8%}.about-visual{overflow:hidden}.about figure img{width:100%;height:490px;object-fit:cover;object-position:53% center;border-radius:15px}.about figcaption{font-size:11px;line-height:1.8;color:#3e6870}.scene-visible .about-visual img{animation:collaboration-pan 18s ease-in-out infinite alternate}.contact h2{line-height:1.1}.method h2,.solutions h2{line-height:1.1}.contact-grid{gap:9%}
@keyframes result-arrive{0%,100%{opacity:.7;transform:translateY(0)}30%,65%{opacity:1;transform:translateY(-8px)}}@keyframes vision-pan{to{transform:scale(1.035) translateY(-4px)}}@keyframes context-pulse{50%{transform:scale(1.2);opacity:.6}}@keyframes screen-reflection{0%,30%{transform:translateX(-110%)}65%,100%{transform:translateX(110%)}}@keyframes software-depth{to{transform:scale(1.018) translateY(-3px)}}@keyframes decision-pulse{0%,35%,100%{opacity:.55;transform:scale(1)}15%{opacity:1;transform:scale(1.2)}}@keyframes collaboration-pan{to{transform:scale(1.025) translateX(-3px)}}
.scene-surface:not(.scene-visible) *,.motion-paused .scene-surface *{animation-play-state:paused!important}.motion-paused .scene-surface *::after{animation-play-state:paused!important}
@media(max-width:1200px){.hero .hero-copy>p:first-of-type{width:275px;max-width:275px;font-size:15px;padding:20px 23px;top:65px}.hero .hero-actions{top:300px;left:var(--gutter)}.hero .hero-note{top:405px;left:var(--gutter);width:250px}.vision-heading{gap:8%}.vision-image>img{height:430px}.challenge-principles{gap:30px}.about figure img{height:440px}}
@media(max-width:800px){.hero{min-height:1070px;padding-top:30px}.hero .hero-copy{width:100%;pointer-events:none}.hero .hero-copy>p:first-of-type{position:relative;inset:auto;width:300px;max-width:calc(100% - 10px);margin:25px 0 0;font-size:14px;line-height:1.75;padding:17px 21px;border-radius:23px}.hero .hero-actions{position:relative;inset:auto;margin:21px 0 0 10px;display:inline-flex}.hero .hero-actions .button{padding:17px 22px;font-size:12px}.hero .hero-note{position:relative;inset:auto;width:245px;max-width:calc(100% - 10px);margin:19px 0 0 0!important;padding:15px 20px;font-size:12px;line-height:1.6;border-radius:23px}.hero .brand-art{top:480px;bottom:100px;left:-8%;right:-8%}.hero h1{font-size:65px}.art-controls{bottom:17px}.connection h2{font-size:39px}.connection-heading{grid-template-columns:1fr;gap:25px}.connection-world{padding:22px 18px;margin-top:30px;border-radius:13px}.orchestration{min-width:960px}.orchestration-viewport{margin-inline:-4px}.connection-caption{font-size:11px;gap:12px}.connection-caption>span:last-child{max-width:130px}.flow-story{grid-template-columns:1fr;gap:12px;margin-top:18px}.flow-story strong{font-size:18px;min-height:52px}.flow-story p{font-size:12px;line-height:1.8}.flow-progress{margin-top:17px}.automation-vision{padding-block:70px}.vision-heading{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.vision-heading h2{font-size:37px}.vision-heading p{font-size:16px}.vision-image>img{height:330px;object-position:45% center}.vision-overlay{left:15px;right:15px;bottom:95px;gap:8px;flex-wrap:wrap}.vision-overlay span{font-size:11px;padding:9px 12px}.vision-image figcaption{font-size:11px;padding:13px 16px}.challenge-principles{grid-template-columns:1fr;gap:23px;margin-top:30px}.challenge-principles p{font-size:14px}.challenge-principles strong{font-size:21px}.about{grid-template-columns:1fr}.about figure img{height:340px}.about figcaption{font-size:11px}.story h2,.solutions h2,.method h2,.about h2{font-size:37px}.contact h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){.scene-surface *,.scene-surface *::after{animation:none!important}.floating-bubble{transform:none!important}.orch-pulse.active{stroke-dasharray:none;opacity:.6}.vision-overlay span{opacity:1}}
.effects-pause{position:fixed;right:22px;bottom:18px;z-index:35;display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 15px;border:1px solid #7293a6;background:#102e43;color:#e6f5fa;box-shadow:0 12px 25px -16px #0008;border-radius:100px;font:600 11px Manrope,sans-serif}.effects-pause svg{width:17px;height:17px}.effects-pause:hover{background:#1b5265}.effects-pause:focus-visible{outline:2px solid #5ce4be;outline-offset:4px}.motion-paused .scene-surface *::before,.scene-surface:not(.scene-visible) *::after{animation-play-state:paused!important}
@media(max-width:800px){.effects-pause{right:12px;bottom:12px;padding:9px 12px;font-size:11px}.footer{padding-bottom:90px}}
.header{background:#071b27}.effects-pause{left:22px;right:auto}.hero .hero-actions .button svg{color:#175254}
.connection::before{background-image:linear-gradient(110deg,#edf6faf7 10%,#edf5f8e8 60%,#dfeff2e8),url('assets/network-overlay.svg');background-size:cover,1450px auto;background-position:center,70% 25%}
.story::before{background-image:linear-gradient(100deg,#e5edf6fa 20%,#e5edf6e8 75%),url('assets/network-overlay.svg');background-size:cover,1300px auto;background-position:center,35% center}
.solutions::before{background-image:linear-gradient(125deg,#f0f5f8fa 15%,#f0f5f8e8 75%),url('assets/systems-concept-canva.jpg');background-size:cover,cover}
.method::before{background-image:linear-gradient(100deg,#eef4f8fa,#e5eef8ed),url('assets/network-overlay.svg');background-size:cover,1700px auto;background-position:center,80% center}
.contact::before{background-image:linear-gradient(100deg,#eef5f8fa,#e5eaf4eb),url('assets/network-overlay.svg');background-size:cover,1400px auto;background-position:center,25% center}
@media(max-width:800px){.effects-pause{left:12px;right:auto}}
/* Reserve space for floating copy above the headline even on short laptops. */
@media(min-width:801px){.hero{min-height:max(780px,calc(100svh - 112px))}}
