/* Restrained motion; content stays visible without JavaScript. */
.topbar{transition:box-shadow .3s ease,background-color .3s ease}.topbar.is-scrolled{box-shadow:0 6px 24px #04142124;background:#071b2e}
.service-card,.detail .panel{transition:box-shadow .3s ease,border-color .3s ease}.text-link:after,.contact-link b{display:inline-block;transition:transform .25s ease}.nav-cta,.detail .cta{transition:background-color .25s ease,color .25s ease}
@media(hover:hover){.service-card:hover,.detail .panel:hover{border-color:#7b9bb4;box-shadow:0 10px 30px #071b2e0d}.text-link:hover:after,.contact-link:hover b{transform:translate(3px,-3px)}.nav-cta:hover,.detail .cta:hover{background:#24577e;color:#fff}}
.hero-image{overflow:hidden}.hero-signal{position:absolute;z-index:1;inset:0;pointer-events:none;overflow:hidden}.hero-signal:before,.hero-signal:after{content:"";position:absolute;width:140%;height:1px;left:-20%;top:27%;background:linear-gradient(90deg,transparent,#d4eeff99,transparent);transform:rotate(-30deg);transform-origin:center}.hero-signal:after{top:43%;opacity:.5}
@media(prefers-reduced-motion:no-preference){.hero-copy>div:first-child{animation:arrival .85s ease-out both}.hero-intro{animation:arrival .9s .15s ease-out both}.brief-card{animation:arrival 1s .25s ease-out both}.hero-signal:before{animation:signal-sweep 3.8s ease-out both}.hero-signal:after{animation:signal-sweep 4.6s ease-out both}@keyframes arrival{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes signal-sweep{from{opacity:0;transform:translateY(80px) rotate(-30deg)}35%{opacity:1}to{opacity:.28;transform:translateY(0) rotate(-30deg)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.hero-signal{display:none}}
