/* Final media layers and restrained section rhythm. */
.hero-stage,.motion-section{position:relative;isolation:isolate;overflow:hidden}.motion-background{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.motion-section>.container{position:relative;z-index:1}.motion-background::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#142d48bb,#19355080);z-index:3}.hero-background::after{background:linear-gradient(90deg,#11253ba0,#16354b40)}.background-video,.motion-poster{position:absolute;width:100%;height:calc(100% + 28px);left:0;top:-14px;object-fit:cover;transform:translateY(var(--parallax,0px));opacity:.5}.background-video{opacity:0;transition:opacity .5s}.background-video.playing{opacity:.55}.network-fallback{position:absolute;inset:-20px;background:radial-gradient(ellipse at 80% 35%,#6897b555,transparent 60%),repeating-linear-gradient(0deg,transparent 0 79px,#aacde40b 80px),repeating-linear-gradient(90deg,transparent 0 79px,#aacde40b 80px);transform:translateY(var(--parallax,0px))}.network-fallback i{position:absolute;left:8%;top:30%;width:80%;height:1px;background:linear-gradient(90deg,transparent,#a5c7e07a,transparent);transform:rotate(-12deg)}.network-fallback i:nth-child(2){top:65%;transform:rotate(8deg)}.network-fallback i:nth-child(3){top:80%;width:60%;left:25%;transform:rotate(-5deg)}.network-fallback i::after{content:'';position:absolute;left:0;top:-2px;width:45px;height:4px;border-radius:50%;background:linear-gradient(90deg,transparent,#b8d5ef);animation:data-flow 10s linear infinite}.network-fallback i:nth-child(2)::after{animation-delay:-3s}.network-fallback i:nth-child(3)::after{animation-delay:-6s}.hero-official-logo{width:85%;height:130px;object-fit:contain}.footer-official-logo{width:240px;max-width:100%;height:80px;object-fit:contain;object-position:left center}.official-logo{height:64px;width:250px;max-width:100%;object-position:left center}.hero{min-height:630px;padding-block:55px}.portfolio-home{background:linear-gradient(130deg,#142840,#1a3550);color:#edf2f7}.portfolio-home .section-heading .eyebrow{color:#b4c7d9}.portfolio-home .section-heading .text-link{color:var(--gold)}.portfolio-home .case-card{background:#203b55;border-color:#69849e4d}.portfolio-home .case-copy .eyebrow{color:#b3c9dc}.portfolio-home .case-copy p{color:#c2d0de}.portfolio-home .case-copy .text-link{color:var(--gold)}.closing-cta{background:linear-gradient(110deg,#e8e6dc,#d1dce2);color:#203950}.closing-cta .eyebrow{color:#586b7d}.closing-cta .button{border-color:#b69c6d}.motion-toggle{position:fixed;right:18px;bottom:14px;z-index:30;background:#122b45ef;border:1px solid #8ba4bd66;min-height:38px;color:#d2dfed;box-shadow:0 5px 15px #09172530}.service-group,.case-study{scroll-margin-top:100px}.contact-card dt{font-size:.8rem}.footer-grid{position:relative;z-index:1}footer{position:relative;overflow:hidden;padding-bottom:35px}footer::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.35;background:repeating-linear-gradient(35deg,transparent 0 120px,#9ebcda10 121px,transparent 122px),radial-gradient(circle at 90% 60%,#6d97b930,transparent 50%)}.reveal-arrive{animation:reveal-arrive .65s ease both;animation-delay:var(--reveal-delay,0ms)}
@keyframes data-flow{from{left:0;opacity:0}10%,80%{opacity:.75}to{left:95%;opacity:0}}@keyframes reveal-arrive{from{opacity:.65;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.hero{min-height:0;padding-block:50px 55px}.background-video{display:none}.official-logo{width:230px;height:55px}.service-group,.case-study{scroll-margin-top:95px}}
@media(max-width:600px){.hero{padding-block:45px 55px}.hero .lead{margin-bottom:12px}.brand-system{height:345px}.brand-plaque{height:190px;width:170px}.label-infra{top:165px}.hero-official-logo{height:100px}.official-logo{width:210px;height:48px}.brand{max-width:calc(100% - 76px)}.brand small{white-space:normal}.motion-toggle{font-size:.7rem;right:10px;bottom:10px;padding:8px 10px}.closing-cta .button{width:100%}}
@media(prefers-reduced-motion:reduce){.network-fallback,.background-video,.motion-poster{transform:none!important}.network-fallback i::after,.reveal-arrive{animation:none!important}.background-video{display:none}}

/* Preserve the complete official PNG lockup and its native proportions. */
.brand .official-logo{display:block;width:auto;height:72px;max-width:220px;object-fit:contain;object-position:center}
.footer-official-logo{display:block;width:220px;height:auto;max-width:100%;object-fit:contain}
.hero-official-logo{display:block;width:88%;height:auto;max-height:150px;object-fit:contain}
.brand-plaque:has(.hero-official-logo){transform:translate(-50%,-50%);background:linear-gradient(135deg,#29465f,#132a43)}
.brand-plaque:has(.hero-official-logo) small{margin-top:20px}
@media(max-width:900px){.brand .official-logo{height:58px;max-width:190px}.nav-wrap{padding-block:10px}}
@media(max-width:600px){.brand .official-logo{height:58px;max-width:170px}.footer-official-logo{width:210px}.hero-official-logo{width:92%;max-height:125px}}
/* Keep the floating labels clear of the complete official lockup. */
.brand-system:has(.hero-official-logo) .label-infra{top:70%}
@media(max-width:600px){.brand-system:has(.hero-official-logo){height:400px}.brand-system:has(.hero-official-logo) .label-infra{top:260px}.brand-system:has(.hero-official-logo) .label-cloud{bottom:0}.brand-system:has(.hero-official-logo) .system-caption{display:none}}
