/* Swiper and Anime.js enhance a readable static homepage after initialization. */
.motion-line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.motion-line-text{display:block;will-change:transform}
.motion-carousel .hero-slide-track{transition-timing-function:cubic-bezier(.22,.61,.36,1)}
.home-hero .hero-slider.swiper{position:absolute;inset:0;height:100%;margin:0}
.motion-carousel .hero-slide{width:100%;flex-shrink:0}
.motion-carousel .hero-pagination button::before{content:"";position:absolute;top:20px;left:0;right:0;height:3px;background:currentColor;transform:scaleX(0);transform-origin:left;z-index:1}
.motion-carousel .hero-pagination button[aria-pressed="true"]::before{transform:scaleX(var(--hero-progress,0))}
.motion-carousel .hero-pagination button[aria-pressed="true"]::after{height:2px;opacity:.35}
.scene-down{display:none}
.scene-mode{overflow:hidden}
.scene-mode #main{min-height:0}
.scene-mode .header{position:relative}
.scene-mode .home-scenes{height:calc(100vh - 79px);height:calc(100dvh - 79px);margin:0;overflow:hidden;overflow:clip}
.scene-mode .scene-track{transition-timing-function:cubic-bezier(.65,0,.35,1)}
.scene-mode .home-scene{height:100%;overflow:hidden;position:relative;background:#fff}
.scene-mode .scene-inner{height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#94a8b980 transparent}
.scene-mode #main .container{width:min(calc(100% - 264px),1280px)}
.scene-mode .home-hero{height:calc(100% - 82px);min-height:0;max-height:none}
.scene-mode .home-service-strip{height:82px}
.scene-mode .home-service-strip a{min-height:82px;padding-block:12px;font-size:18px}
.scene-mode .home-service-strip .strip-number{font-size:26px}
.scene-mode .home-hero .hero-content{padding-bottom:18px}
.scene-mode .hero-kicker{margin-bottom:20px;font-size:14px}
.scene-mode .home-hero h1,.scene-mode .home-hero h2{font-size:clamp(38px,3.5vw,60px);line-height:1.4;margin-bottom:23px}
.scene-mode .hero-description{font-size:17px;margin-bottom:26px}
.scene-mode .hero-controls{right:48px;bottom:22px}
.scene-mode .hero-scroll{display:none}
.scene-mode .home-brand-panel,.scene-mode .home-environment{min-height:100%;display:flex;align-items:center}
.scene-mode .home-brand-panel::after{background:linear-gradient(90deg,#072e4d99,#062b4b9e)}
.scene-mode .brand-panel-content{padding-block:44px;text-align:center}
.scene-mode .brand-panel-content>h2{font-size:clamp(30px,2.8vw,43px);letter-spacing:.04em;margin-bottom:20px}
.scene-mode .brand-intro{margin:0 auto;font-size:16px;max-width:700px}
.scene-mode .brand-disciplines{max-width:1020px;margin:50px auto 42px;gap:28px}
.scene-mode .brand-disciplines>div{padding-left:0;border:0}
.scene-mode .brand-disciplines strong{font-size:clamp(32px,3.4vw,56px);font-weight:400}
.scene-mode .brand-disciplines span{font-size:18px}
.scene-mode .brand-disciplines p{font-size:13px}
.scene-mode .home-section{min-height:100%;padding-block:36px 58px;display:flex;align-items:center}
.scene-mode .home-section>.container{margin-block:auto}
.scene-mode .home-section-heading{margin-bottom:24px;gap:24px}
.scene-mode .home-section-heading h2{font-size:32px}
.scene-mode .home-section-heading>p{font-size:14px;margin-left:0}
.scene-mode .home-eyebrow{font-size:11px;margin-bottom:8px}
.scene-mode .home-services-grid{gap:28px}
.scene-mode .home-services-section{padding-bottom:40px}
.scene-mode .service-card-image img{height:clamp(115px,19vh,205px)}
.scene-mode .service-card-body{padding:15px 18px 16px}
.scene-mode .home-service-card .card-index{margin-bottom:5px;font-size:10px}
.scene-mode.home-page #services .home-service-card h3{font-size:23px;margin-bottom:10px}
.scene-mode .home-service-card .service-card-body>p{font-size:14px;line-height:1.7;margin-bottom:8px}
.scene-mode.home-page #services .home-service-card .service-links a{min-height:34px;font-size:13px}
.scene-mode.home-page #services .card-bottom-link{min-height:34px;margin-top:9px;padding-top:7px}
.scene-mode .home-scenario-layout{gap:24px}
.scene-mode .scenario-feature,.scene-mode .scenario-feature-copy{min-height:380px}
.scene-mode .scenario-feature-copy{padding:28px}
.scene-mode .scenario-feature h3{font-size:26px}
.scene-mode .scenario-editorial-list .scenario-link{padding:17px 24px;min-height:112px}
.scene-mode .scenario-editorial-list h3{font-size:17px;margin:4px 0 7px}
.scene-mode .scenario-editorial-list p{font-size:13px;line-height:1.6}
.scene-mode .environment-content{padding-block:38px 55px}
.scene-mode .environment-content>h2{font-size:clamp(32px,3vw,45px);line-height:1.45;margin-bottom:20px}
.scene-mode .environment-content>p:not(.home-eyebrow){font-size:15px}
.scene-mode .environment-steps{gap:18px 32px;max-width:670px;margin:24px 0}
.scene-mode .environment-steps li{padding-top:10px}
.scene-mode .home-contact-section{padding-block:35px 25px}
.scene-mode .home-contact-section .cta-panel h2{font-size:27px}
.scene-mode .home-contact-section .home-contact-line{margin-top:18px;padding-top:16px}
.scene-mode .site-footer{padding-top:30px}
.scene-mode .footer-grid{gap:26px}
.scene-mode .footer-column>a{min-height:30px;font-size:12px}
.scene-mode .footer-brand strong{font-size:25px}
.scene-mode .footer-tel{font-size:21px}
.scene-mode .footer-bottom{margin-top:20px;padding-block:15px}
.scene-mode .home-section-nav{left:26px;top:50%;transform:translateY(-50%);border:0;border-radius:0;padding:0;gap:9px;background:none;color:#244f72;width:91px}
.scene-mode .home-section-nav[data-theme="dark"]{color:#fff}
.scene-mode .home-section-nav a{color:inherit;min-height:30px;gap:12px;opacity:.48;transition:opacity .4s}
.scene-mode .home-section-nav a:hover,.scene-mode .home-section-nav a:focus-visible,.scene-mode .home-section-nav a[aria-current="location"]{opacity:1}
.scene-mode .home-section-nav span{margin:0;width:3px;height:3px;border-radius:0;background:currentColor;transform:rotate(45deg);transition:transform .4s,width .4s,height .4s}
.scene-mode .home-section-nav a[aria-current="location"] span{width:7px;height:7px;background:currentColor}
.scene-mode .home-section-nav b{position:static;opacity:1;pointer-events:auto;background:none;border:0;padding:0;color:inherit;font-size:11px;letter-spacing:.04em;font-weight:400}
.scene-mode .scene-down{position:absolute;z-index:4;left:28px;bottom:26px;display:flex;flex-direction:column;align-items:center;gap:15px;color:#264c6d;font-size:10px;letter-spacing:.1em;line-height:1.4}
.scene-mode .scene-down>span{writing-mode:vertical-rl}
.scene-mode .scene-down>i{height:35px;width:1px;background:currentColor;position:relative;overflow:hidden;opacity:.7}
.scene-mode .scene-down>i::after{content:"";position:absolute;top:0;left:0;width:100%;height:35%;background:#fff;animation:scroll-cue 2s ease-in-out infinite}
.scene-mode .home-scene[data-section="home"] .scene-down,.scene-mode .home-scene[data-section="about"] .scene-down,.scene-mode .home-scene[data-section="process"] .scene-down{color:#fff}
.scene-mode[data-scene="home"]:has(.home-hero[data-theme="light"]) .home-scene[data-section="home"] .scene-down{color:#264c6d}
@keyframes scroll-cue{from{transform:translateY(-130%)}to{transform:translateY(350%)}}
@media(min-width:1101px) and (max-height:760px){.scene-mode .brand-disciplines{margin-block:34px}.scene-mode .brand-panel-content{padding-block:35px}.scene-mode .home-section{padding-top:28px}.scene-mode .home-section-heading{margin-bottom:18px}.scene-mode .environment-content>h2{font-size:34px}.scene-mode .environment-steps{gap:12px 24px;margin-block:20px}.scene-mode .scenario-feature,.scene-mode .scenario-feature-copy{min-height:350px}}
@media(prefers-reduced-motion:reduce){.motion-line-text{will-change:auto}.motion-carousel .hero-slide{transition-duration:0ms!important}.motion-carousel .hero-pagination button::before{animation:none}.motion-carousel .hero-pagination button[aria-pressed="true"]::after{opacity:1;height:3px}}
