/* Expressive motion system: foreground, background, scroll and interactions. */
.hero-copy{align-items:flex-start;text-align:left;padding-left:var(--pad);width:78%}.hero-copy h1{font-size:clamp(58px,6.5vw,108px)}.hero-description{max-width:620px}.hero-copy .round-link{text-align:left}.scene-shade{background:linear-gradient(90deg,#071322d9,#07132275 57%,#07132215),linear-gradient(0deg,#071322,transparent 35%)}
.signal-scene{position:absolute;inset:0;pointer-events:none;overflow:hidden}.signal-card{position:absolute;right:7%;top:26%;width:185px;padding:17px 20px;border:1px solid #b5e8ff75;border-radius:12px;background:linear-gradient(120deg,#8ddaff20,#183d5f50);backdrop-filter:blur(7px);box-shadow:0 0 40px #2bb8f82a,inset 0 0 15px #a0dbff10;color:#d6f1ff;animation:signal-float 5s ease-in-out infinite;transform:perspective(700px) rotateY(-18deg) rotateZ(5deg)}.signal-card:nth-child(2){top:47%;right:3%;animation-delay:-1.7s;animation-duration:6s;transform:perspective(700px) rotateY(-20deg) rotateZ(-5deg)}.signal-card:nth-child(3){top:68%;right:10%;animation-delay:-3.5s;animation-duration:7s}.signal-card small{display:block;font-size:10px;letter-spacing:.18em;color:#9cd9fa;margin-bottom:10px}.signal-card strong{font-size:22px;font-weight:500}.signal-bars{display:flex;gap:4px;align-items:end;height:26px;margin-top:12px}.signal-bars i{display:block;width:13px;height:40%;background:#7accf4;animation:bar-wave 1.8s ease-in-out infinite alternate}.signal-bars i:nth-child(2){height:70%;animation-delay:-.3s}.signal-bars i:nth-child(3){height:55%;animation-delay:-.8s}.signal-bars i:nth-child(4){height:100%;animation-delay:-1.2s}.signal-line{height:3px;width:100%;background:#9cd9fa30;margin-top:14px;position:relative;overflow:hidden}.signal-line:after{content:'';position:absolute;inset:0;width:35%;background:#b6edff;animation:signal-pass 2.5s ease-in-out infinite}.signal-dots{display:flex;gap:9px;margin-top:16px}.signal-dots i{width:8px;height:8px;background:#aceaff;border-radius:50%;animation:signal-dot 1.5s infinite}.signal-dots i:nth-child(2){animation-delay:.2s}.signal-dots i:nth-child(3){animation-delay:.4s}.hero-scan{position:absolute;top:10%;bottom:8%;left:-30%;width:20%;background:linear-gradient(90deg,transparent,#92dbff12,transparent);transform:skewX(-20deg);animation:hero-scan 9s linear infinite;pointer-events:none}.hero-copy h1 em{background:linear-gradient(90deg,#fff,#83c9ff,#fff,#7cbdf7);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:title-color 7s ease-in-out infinite}
.motion-section{position:relative;isolation:isolate;overflow:clip}.motion-section>.motion-backdrop{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.motion-mesh{position:absolute;inset:-60%;background:conic-gradient(from 30deg at 50% 50%,transparent 0deg,#4383b8a0 55deg,transparent 110deg,#35617e80 200deg,transparent 280deg,#487cce60 340deg,transparent 360deg);filter:blur(65px);animation:mesh-turn 22s linear infinite;opacity:.55}.solutions .motion-mesh,.connections .motion-mesh{background:conic-gradient(from 30deg,transparent,#a7c9eb90,transparent,#b7c8dc90,transparent);filter:blur(55px);opacity:.8}.contact .motion-mesh{opacity:.8;animation-duration:16s}.motion-contours{position:absolute;inset:0;width:100%;height:100%;opacity:.3}.motion-contours path{fill:none;stroke:#9bcafa;stroke-width:1;stroke-dasharray:160 25;animation:contour-travel 15s linear infinite}.solutions .motion-contours path,.connections .motion-contours path{stroke:#6c95be;stroke-width:1.2}.motion-contours path:nth-child(2n){animation-direction:reverse;opacity:.65}.motion-section:not(.motion-visible) .motion-mesh,.motion-section:not(.motion-visible) .motion-contours path{animation-play-state:paused}
.word-ribbon{padding:28px 0;box-shadow:0 20px 50px #0002}.word-ribbon>div{animation-duration:19s;font-size:clamp(35px,4.5vw,68px)}.word-ribbon{rotate:var(--ribbon-rotate,-2deg)}.service-list details{transition:background .4s,padding .4s,border-color .4s}.service-list details[open]{background:#ffffff60;padding-inline:20px;border-color:#6e98c0}.service-list summary{transition:translate .4s,color .3s}.service-list summary:hover{translate:8px 0}.service-list details[open] .expand{color:#29407b}.service-list .service-body{overflow:hidden}.orbit-art{width:220px;height:180px}.orbit-ring{border-width:2px;animation-duration:7s}.orbit-art>span{animation:arrow-drift 3s ease-in-out infinite}.journey-card b{display:block;animation:journey-symbol 9s ease-in-out infinite}.journey-card:nth-child(2) b{animation:spin 15s linear infinite}.journey-card:nth-child(4) b{animation-duration:5s}.journey-card{transition:box-shadow .4s,border-color .4s}.journey-card:hover{box-shadow:inset 0 0 40px #a7d5fa25;border-color:#bad8f6}.client-grid>div{position:relative;overflow:hidden}.client-grid>div:before{content:'';position:absolute;inset:-100% -70%;background:linear-gradient(110deg,transparent 40%,#bbd6f245,transparent 60%);translate:-30% 0;transition:translate .7s}.client-grid>div:hover:before{translate:30% 0}.client-grid>div:hover{background:#f0f6fc}.about-image{overflow:visible;isolation:isolate}.about-image:before{content:'';position:absolute;inset:-15px;border:1px solid #88bafa50;z-index:-1;animation:photo-frame 7s ease-in-out infinite}.about-image img{border-radius:2px}.contact-heading em{display:inline-block;animation:contact-word 6s ease-in-out infinite}.contact-arrow{animation:cta-orbit 5s ease-in-out infinite}.nav-talk,.send-button,.text-link{transition:translate .3s,background .3s,box-shadow .3s}.nav-talk:hover{background:#b6d4ff20;box-shadow:0 0 25px #a6d3ff30}.send-button span{display:inline-block;transition:transform .3s}.send-button:hover span{transform:translate(5px,-5px)}
@keyframes signal-float{50%{translate:0 -22px;rotate:-4deg}}@keyframes bar-wave{to{scale:1 .3;transform-origin:bottom;opacity:.6}}@keyframes signal-pass{from{translate:-105% 0}to{translate:400% 0}}@keyframes signal-dot{0%,70%,100%{opacity:.3;scale:1}35%{opacity:1;scale:1.35}}@keyframes hero-scan{to{left:130%}}@keyframes title-color{50%{background-position:100% 0}}@keyframes mesh-turn{to{rotate:360deg}}@keyframes contour-travel{to{stroke-dashoffset:-740}}@keyframes arrow-drift{50%{translate:9px -9px;rotate:8deg}}@keyframes journey-symbol{50%{rotate:35deg;scale:1.18}}@keyframes photo-frame{50%{rotate:3deg;scale:1.03;border-color:#a9d3ffb0}}@keyframes contact-word{50%{translate:12px 0;color:#c7dfff}}@keyframes cta-orbit{50%{rotate:-12deg;box-shadow:0 0 50px #a9d4ff30}}
@media(max-width:1000px){.signal-card{width:150px;right:4%;padding:13px;top:25%}.signal-card strong{font-size:18px}.signal-card:nth-child(2){right:2%;top:50%}.signal-card:nth-child(3){right:5%;top:73%}.hero-copy{width:85%}.hero-copy h1{font-size:7vw}.hero-description{max-width:540px}}
@media(max-width:760px){.hero-copy{width:100%;align-items:center;text-align:center;padding-inline:20px}.hero-copy h1{font-size:clamp(42px,10.2vw,78px)}.hero-description{font-size:21px;max-width:330px}.hero-copy .eyebrow{margin-bottom:20px}.signal-card{width:110px;padding:9px;top:15%;right:8%;opacity:.65}.signal-card small{font-size:7px;margin-bottom:4px}.signal-card strong{font-size:13px}.signal-bars{height:16px;margin-top:5px}.signal-bars i{width:8px}.signal-card:nth-child(2){top:76%;right:4%}.signal-card:nth-child(3){top:80%;left:5%;right:auto}.signal-line{margin-top:8px}.signal-dots{margin-top:8px}.signal-dots i{width:5px;height:5px}.motion-mesh{filter:blur(45px);opacity:.4}.motion-contours{opacity:.23}.service-list details[open]{padding-inline:12px}.word-ribbon{padding:22px 0}.about-image:before{inset:-9px}}
@media(prefers-reduced-motion:reduce){.signal-scene,.hero-scan{display:none}.motion-mesh,.motion-contours{animation:none!important}.hero-copy h1 em{background:none;color:#bfdbff}.word-ribbon{rotate:0deg}.contact-heading em{translate:none!important}}
