/* Flight is bounded by the visible viewport rather than the expanding camera window. */
.window-flight{inset:0;left:0;top:0;width:100%;height:100%;transform:none;clip-path:none;display:block;overflow:visible;pointer-events:none}
.flight-pass{left:50%;top:clamp(30vh,calc(var(--wi-win-top,0px) + var(--wi-win-h,100vh)*.48),62vh);width:min(78vw,calc(var(--wi-win-w,240px)*.72));max-width:900px;height:auto;aspect-ratio:3/1;object-fit:contain;animation:flight-safe 6s ease-in-out infinite alternate;transform:translate(-50%,-50%)}
@keyframes flight-safe{from{transform:translate(-50%,-50%) translateY(-2px)}to{transform:translate(-50%,-50%) translateY(2px)}}
.portal-canvas:before{display:none!important;background:none!important}.portal-canvas{background:radial-gradient(ellipse at 50% 65%,#123c55,#071f32 78%)}
.portal-entry em,.portal-outro em{background:none!important;color:#edc977!important;-webkit-text-fill-color:#edc977!important}.portal-entry .title-letter,.portal-outro .title-letter{color:inherit;-webkit-text-fill-color:currentColor;opacity:1;filter:none}.portal-entry h2,.portal-outro h2{max-width:100%;font-size:clamp(32px,4.8vw,66px);overflow-wrap:normal}.portal-entry .title-word,.portal-outro .title-word{white-space:normal}.portal-entry,.portal-outro{padding:9% 5%}
/* A continuous body of water follows the service sequence into the portfolio. */
.solutions{padding-bottom:0;background:linear-gradient(#18588f,#206993 52%,#3999b0);isolation:isolate}.solutions .cloud-band{height:75px;margin-top:0}.services-sticky{background:radial-gradient(ellipse at 50% 15%,#b4f2ff15,transparent 70%)}.services-heading,.services-viewport,.services-navigation,.services-cue{position:relative;z-index:3}.services-viewport{padding-top:35px;padding-bottom:55px}.solution-card{transform:translateY(var(--swell-y,0px)) rotate(var(--swell-turn,0deg))!important;border-radius:38px 38px 30px 30px;background:linear-gradient(155deg,#dff7ff22,#63c7d91c 60%,#004b6e22);border-color:#d6f4fc7a;box-shadow:inset 0 2px 0 #ffffff70,inset 0 -12px 35px #167b9c19,0 30px 50px #003a581a;transition:opacity .35s,border-color .35s;backdrop-filter:blur(25px)}.solution-card.is-current{background:linear-gradient(140deg,#ecfcff28,#a4e6ef15 65%,#0a648b24);border-color:#dbf9ffb0;box-shadow:inset 0 2px 0 #ffffff88,0 28px 60px #00354f24}.solution-card:after{content:'';position:absolute;bottom:-18px;left:-25%;width:150%;height:45px;border-radius:50%;background:#b5f7ff19;box-shadow:0 -1px 0 #e6ffff55;animation:card-water 5s ease-in-out infinite alternate;pointer-events:none}.service-detail{z-index:1}.ocean-waves{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.ocean-waves svg{position:absolute;bottom:-5%;left:-25%;width:150%;height:39%;fill:#a9e6ed13;transform:translateX(calc(var(--ocean-shift,0)*-4%));animation:ocean-drift 9s ease-in-out infinite alternate}.ocean-waves svg:nth-child(2){bottom:-10%;fill:#baf6f21c;animation-duration:7s;animation-direction:alternate-reverse}.ocean-waves svg:nth-child(3){bottom:-15%;fill:#dffaf11c;animation-duration:11s}.ocean-spill{height:200px;margin-top:-1px;position:relative;background:#fff;overflow:hidden;z-index:2}.ocean-spill svg{width:110%;height:100%;position:absolute;left:-5%;top:0;fill:#3999b0;filter:drop-shadow(0 9px 0 #b5e1e253);animation:spill-flow 7s ease-in-out infinite alternate}
@keyframes ocean-drift{to{translate:5% 8%;scale:1.05 1.1}}@keyframes card-water{to{transform:translateX(10%) rotate(2deg)}}@keyframes spill-flow{to{transform:translateX(3%) scaleY(.78)}}
/* A bright, layered portfolio inspired by the supplied spatial cards. */
.cases.paper-section{background:#fff;padding:70px 0 90px;overflow:hidden;position:relative}.cases .section-heading{padding:0 32px;max-width:1260px;margin:0 auto 20px}.cases .section-heading>p{color:#697e88}.portfolio-stage{height:720px;position:relative;perspective:1700px;outline:none;touch-action:pan-y;background:radial-gradient(ellipse at 50% 80%,#c7d8df29,transparent 58%)}.cases-grid{display:block;position:absolute;inset:0;perspective:1700px;transform-style:preserve-3d}.case-card{position:absolute;left:50%;top:45px;width:390px;transform:translateX(calc(-50% + var(--portfolio-x,0px))) translateY(var(--portfolio-y,0px)) rotateY(var(--portfolio-angle,0deg)) scale(var(--portfolio-scale,1));transform-origin:center;opacity:var(--portfolio-opacity,0);z-index:var(--portfolio-z,1);transition:transform .7s cubic-bezier(.22,.8,.2,1),opacity .5s;will-change:transform}.case-open{display:block;width:100%;padding:9px 9px 24px;border:1px solid #d6e0e4;background:linear-gradient(140deg,#ffffffdd,#f1f6f8ee);border-radius:24px;overflow:hidden;box-shadow:0 28px 60px #17394c16,inset 0 1px 0 #fff;backdrop-filter:blur(20px);text-align:left}.case-card.is-active .case-open{border-color:#b8ced8;box-shadow:0 32px 65px #12324724,inset 0 1px 0 #fff}.case-art.case-gallery-cover{aspect-ratio:1.03;border-radius:16px;gap:3px;grid-template-rows:70% 30%}.case-text{padding:22px 18px 0!important}.case-text h3{font-size:39px;margin:9px 0 12px}.case-text .case-business{font-size:12px;line-height:1.7;margin-bottom:0}.case-text .case-work{display:none}.case-arrow{right:17px;top:50px;font-size:22px}.case-text>.eyebrow{font-size:7px;letter-spacing:.13em}.case-gallery-cover .case-seal{width:13%;right:3%;bottom:3%}.case-card:not(.is-active) .case-text{opacity:.65}.portfolio-nav{display:flex;align-items:center;justify-content:center;gap:28px;margin:-5px auto 24px;width:max-content;max-width:90%;padding:12px 18px;border:1px solid #dae3e7;border-radius:60px;background:#f7fafbe0;box-shadow:0 10px 30px #15364c08}.portfolio-nav button{border:1px solid #d6e1e6;width:38px;height:38px;border-radius:50%;color:#173d52;background:#fff;font-size:19px}.portfolio-current{display:flex;flex-direction:column;text-align:center;gap:5px;min-width:140px}.portfolio-name{font-size:12px;color:#15394c}.portfolio-count{font-size:8px;letter-spacing:.18em;color:#788c96}.portfolio-dots{display:flex;gap:9px;justify-content:center}.portfolio-dots button{width:6px;height:6px;background:#d2dde1;border-radius:50%;border:0;padding:0;transition:width .3s,background .3s}.portfolio-dots button[aria-current=true]{width:20px;border-radius:6px;background:#b68a3d}
@media(max-width:767px){.portal-entry h2,.portal-outro h2{font-size:clamp(27px,7.9vw,40px);line-height:1.08}.portal-entry .eyebrow,.portal-outro .eyebrow{font-size:6px;max-width:95%;margin-bottom:15px}.portal-entry,.portal-outro{padding:8% 6%}.flight-pass{width:min(76vw,calc(var(--wi-win-w,240px)*.7))}.services-heading{font-size:29px}.solution-card{border-radius:29px}.ocean-spill{height:125px}.cases.paper-section{padding-top:45px;padding-bottom:65px}.cases .section-heading{padding:0 24px;margin-bottom:5px}.cases .section-heading h2{font-size:57px}.cases .section-heading>p{font-size:11px;margin-top:20px}.portfolio-stage{height:620px}.case-card{width:min(79vw,340px);top:35px}.case-open{padding:7px 7px 20px;border-radius:22px}.case-art.case-gallery-cover{aspect-ratio:.91;grid-template-rows:68% 32%;border-radius:15px}.case-text{padding:18px 14px 0!important}.case-text h3{font-size:33px}.case-text .case-business{font-size:11px;max-width:28ch}.case-arrow{top:44px;right:12px}.portfolio-nav{gap:20px;margin-top:0}.portfolio-current{min-width:125px}.services-viewport{padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){.flight-pass,.ocean-waves svg,.ocean-spill svg,.solution-card:after{animation:none!important}.solution-card{transform:none!important}.portfolio-stage{height:auto;overflow-x:auto;padding:20px 24px 40px;perspective:none}.cases-grid{position:relative;inset:auto;display:flex;gap:20px;width:max-content;transform:none}.case-card{position:relative;left:auto;top:auto;transform:none;opacity:1;width:300px}.portfolio-nav,.portfolio-dots{display:none}}
.ocean-spill svg{transform-origin:top center}.case-card.is-active .case-open{background:linear-gradient(140deg,#ffffff,#f4f8fa)}.case-card.is-active h3 .title-letter{opacity:1;filter:none;transform:none;animation:none}.solution-card .service-detail{filter:none}.solution-card.is-current .service-detail p{font-weight:400}.portfolio-stage:focus-visible{outline:2px solid #b68a3d;outline-offset:-3px}
@media(prefers-reduced-motion:reduce){.case-card{visibility:visible!important}.case-card .case-open{background:#fff}.case-card .case-text{opacity:1}}
.cases.paper-section{overflow:clip}.portfolio-stage{overflow:clip}.case-card h3 .title-letter{opacity:1;filter:none;transform:none;animation:none}
@media(prefers-reduced-motion:reduce){.portfolio-stage{overflow-x:auto}}
