/* The workbench sets the scene. Content and controls stay readable without motion. */
.hero-cinematic{background:#080e16;isolation:isolate}
.hero-cinematic .hero-inner{min-height:clamp(710px,54vw,940px);padding-block:76px 130px;display:flex;align-items:center}
.hero-cinematic .hero-copy{padding:0;max-width:610px}
.hero-scene,.hero-art,.hero-scene picture,.hero-scene img,.hero-energy,.hero-shade{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-scene{overflow:hidden;pointer-events:none}
.hero-art{transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) scale(1.035);transform-origin:65% 60%}
.hero-scene img{object-fit:cover;object-position:50% 50%}
.hero-energy{overflow:hidden;pointer-events:none}
.hero-screen-flicker,.hero-spark,.hero-gimbal-rig,.hero-gimbal-glitch,.hero-smoke-wisp{opacity:0}
.hero-spark{transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 3px #9be4ff)}
.hero-gimbal-motion,.hero-smoke-wisp{transform-box:view-box;transform-origin:0 0}
.motion-ready .hero-energy.gimbal-ready .hero-gimbal-rig{opacity:1}
.hero-shade{pointer-events:none;background:linear-gradient(90deg,#07101bf2 0%,#07101bc9 24%,#07101b45 46%,transparent 68%),linear-gradient(0deg,#060b14f0 0%,transparent 26%,#060b1433 100%)}
.hero-cinematic .eyebrow{font-size:10px;letter-spacing:.14em;color:#c0d6ed;gap:11px;margin-bottom:28px}
.hero-live-dot{width:6px;height:6px;border-radius:50%;background:#89d8ff;box-shadow:0 0 14px #63c8f980}
.hero-cinematic h1{font-size:clamp(72px,7.4vw,112px);line-height:1.025;letter-spacing:-.065em;font-weight:750}
.hero-cinematic h1>.hero-title-line{display:block;color:#fff;overflow:hidden;padding-block:3px 7px;margin-bottom:-7px}
.hero-cinematic .hero-title-line>span{display:block;color:inherit;transform-origin:left bottom}
.hero-cinematic h1>.hero-title-accent{color:#9edbff}
.hero-cinematic .hero-description{font-size:16px;line-height:1.8;max-width:490px;margin:27px 0 30px;color:#e1e9f3}
.hero-description>span{color:#b5c2d2}
.hero-cinematic .button{min-height:55px;font-size:12px;padding-inline:24px}
.hero-cinematic .button--primary{box-shadow:0 5px 25px #0057ee3b,inset 0 1px 0 #ffffff40}
.hero-cinematic .button--outline{background:#0b152650;border-color:#bbd6f449;backdrop-filter:blur(8px)}
.hero-cinematic .hero-contact-link{font-size:12px;margin-top:21px;color:#d8e6f5}
.hero-cinematic .hero-footnote{font-size:10px;color:#a6b7ca;margin-top:25px}
.hero-bottom{position:absolute;left:0;right:0;bottom:27px;display:flex;align-items:center;justify-content:space-between;gap:25px;z-index:3}
.hero-explore{display:inline-flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.03em;color:#c2d3e6}
.explore-line{width:40px;height:1px;background:linear-gradient(90deg,#78caff,#78caff30);transform-origin:left center}
.hero-art-controls{display:flex;align-items:center;gap:20px}
.hero-art-caption{font-size:9px;letter-spacing:.02em;color:#94a4b8}
.hero-motion-toggle{display:none;align-items:center;justify-content:center;gap:6px;padding:8px 11px;border:1px solid #ffffff29;border-radius:30px;color:#d4e2f3;background:#0b1526a6;backdrop-filter:blur(9px);font:inherit;font-size:9px;cursor:pointer;min-height:34px}
.js .hero-motion-toggle{display:inline-flex}.hero-motion-toggle[hidden]{display:none!important}
.hero-motion-toggle>svg{width:16px;height:16px}.hero-motion-toggle .play-symbol{display:none}.hero-motion-toggle[aria-pressed=true] .play-symbol{display:block}.hero-motion-toggle[aria-pressed=true] .pause-symbol{display:none}
.hero-motion-toggle:hover{border-color:#8fcaff;background:#172b46}.hero-motion-toggle:focus-visible{outline:2px solid #9fdfff;outline-offset:4px}
.hero-device-bar{background:#101a27;border-top:1px solid #ffffff0c;border-bottom:1px solid #1a2a3e;color:#c2d0e1}
.hero-device-bar>.container{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.hero-device-bar a{display:flex;align-items:center;justify-content:center;gap:11px;padding:22px 10px;font-size:11px;border-right:1px solid #ffffff0b;transition:background .25s,color .25s;min-width:0}
.hero-device-bar a:first-child{border-left:1px solid #ffffff0b}.hero-device-bar a>.icon:first-child{width:20px;height:20px;color:#83baff;flex-shrink:0}.hero-device-bar a>.icon:last-child{width:12px;height:12px;opacity:.4;flex-shrink:0}
.hero-device-bar a:hover,.hero-device-bar a:focus-visible{color:#fff;background:#1b304c}
.hero-device-bar a:hover>.icon:last-child{opacity:1;transform:translate(2px,-2px)}
/* Short transitions give the controls the same care as the main composition. */
.button>.icon,.text-link>.icon,.hero-contact-link>.icon,.hero-device-bar .icon{transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .3s}
.button:hover>.icon,.text-link:hover>.icon,.hero-contact-link:hover>.icon{transform:translateX(3px)}
.button:active{translate:0 1px}.service-card-image{isolation:isolate}
.motion-ready .service-card-image:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(300px circle at var(--glow-x,50%) var(--glow-y,50%),#bbddff30,transparent 70%);opacity:0;transition:opacity .35s}
.motion-ready .service-card:hover .service-card-image:after{opacity:1}
.motion-ready .service-card:hover .service-card-image img{transform:translate3d(var(--card-x,0px),var(--card-y,0px),0) scale(1.055)}
.motion-ready .mobile-menu[open] nav>a{animation:menu-arrive .45s cubic-bezier(.2,.7,.2,1) both}
.motion-ready .mobile-menu[open] nav>a:nth-child(2){animation-delay:30ms}.motion-ready .mobile-menu[open] nav>a:nth-child(3){animation-delay:60ms}.motion-ready .mobile-menu[open] nav>a:nth-child(4){animation-delay:90ms}.motion-ready .mobile-menu[open] nav>a:nth-child(n+5){animation-delay:120ms}
.motion-ready .nav-dropdown[open] .mega-menu{animation:menu-arrive .24s cubic-bezier(.2,.7,.2,1)}
@keyframes menu-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(min-width:1800px){.hero-cinematic .hero-copy{max-width:640px}.hero-cinematic h1{font-size:120px}.hero-cinematic .hero-description{font-size:18px;max-width:560px}}
@media(max-width:1250px) and (min-width:761px){.hero-cinematic .hero-copy{max-width:530px}.hero-cinematic h1{font-size:83px}.hero-cinematic .hero-description{font-size:14px;max-width:420px}.hero-device-bar a{font-size:10px;gap:7px}.hero-device-bar a>.icon:last-child{display:none}.hero-shade{background:linear-gradient(90deg,#07101bf5,#07101bba 37%,#07101b10 72%),linear-gradient(0deg,#060b14ed,transparent 30%)}}
@media(max-width:1000px) and (min-width:761px){.hero-cinematic .hero-inner{min-height:700px}.hero-cinematic h1{font-size:77px}.hero-cinematic .hero-copy{max-width:480px}.hero-device-bar a{font-size:10px;gap:8px;flex-direction:column;padding-block:17px}.hero-art-caption{font-size:8px}}
@media(max-width:760px){
 .hero-cinematic .hero-inner{display:block;min-height:0;padding-top:43px;padding-bottom:calc(clamp(310px,94vw,490px) + 26px)}
 .hero-cinematic .hero-copy{max-width:100%;padding:0}
 .hero-cinematic .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:20px;gap:8px}
 .hero-cinematic h1{font-size:clamp(59px,14.4vw,90px);line-height:1.04;letter-spacing:-.067em}
 .hero-cinematic .hero-description{font-size:12px;line-height:1.85;margin:22px 0 23px;max-width:400px}
 .hero-cinematic .hero-description br{display:none}.hero-description>span{display:block;margin-top:5px}
 .hero-cinematic .button-row{gap:10px}.hero-cinematic .button{min-height:50px;font-size:11px;padding-inline:17px;gap:17px}
 .hero-cinematic .hero-contact-link{font-size:11px;margin-top:20px}.hero-cinematic .hero-footnote{font-size:9px;margin-top:20px}
 .hero-scene{top:auto;bottom:0;height:clamp(350px,103vw,530px)}
 .hero-scene img{object-position:100% 50%}.hero-art{transform-origin:right center}
 .hero-shade{background:linear-gradient(0deg,#070e18d9 0%,transparent 16%,transparent 37%,#080e16 49%);z-index:1}
 .hero-cinematic .hero-inner{z-index:2}
 .hero-bottom{bottom:16px;gap:12px}.hero-explore{font-size:8px;gap:7px}.explore-line{width:18px}.hero-explore>span:last-child{display:none}
 .hero-art-controls{gap:0}.hero-art-caption{position:absolute;right:0;bottom:44px;font-size:8px;color:#adbacb}.hero-motion-toggle{font-size:8px;min-height:33px;padding:7px 9px}
 .hero-device-bar>.container{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.hero-device-bar a{font-size:10px;gap:7px;padding:16px 8px;border-bottom:1px solid #ffffff0b;min-height:57px}.hero-device-bar a>.icon:first-child{width:17px;height:17px}.hero-device-bar a>.icon:last-child{display:none}.hero-device-bar a:first-child{border-left:0}
}
@media(max-width:380px){.hero-cinematic h1{font-size:55px}.hero-cinematic .hero-description{font-size:11px}.hero-cinematic .button{font-size:10px;padding-inline:14px;gap:10px}.hero-cinematic .hero-contact-link{font-size:10px}.hero-cinematic .eyebrow{font-size:7px}.hero-device-bar a{font-size:9px;gap:5px}.hero-device-bar a>.icon:first-child{width:15px;height:15px}}
@media(prefers-reduced-motion:reduce){.hero-art{transform:none!important}.hero-screen-flicker,.hero-spark,.hero-gimbal-rig,.hero-gimbal-glitch,.hero-smoke-wisp{opacity:0!important}.hero-motion-toggle{display:none!important}.button>.icon,.text-link>.icon,.hero-contact-link>.icon,.hero-device-bar .icon{transition:none!important;transform:none!important}.service-card-image:after{display:none!important}.service-card-image img{transform:none!important}.mobile-menu nav>a,.mega-menu{animation:none!important}}
@media print{.hero-energy,.hero-motion-toggle{display:none!important}}
