/* Progressive motion: all content remains visible without JavaScript. */
header{position:sticky;top:0;transition:box-shadow .25s;background:rgba(255,255,255,.97);backdrop-filter:blur(16px)}body.has-scrolled header{box-shadow:0 8px 26px #0c242a12}.reading-progress{position:fixed;left:0;top:0;width:100%;height:3px;background:#97c956;transform:scaleX(0);transform-origin:left;z-index:90;pointer-events:none}.back-top{position:fixed;right:25px;bottom:25px;width:46px;height:46px;border:1px solid #567068;background:#102c32;color:#d0efaa;border-radius:50%;font-size:22px;z-index:20;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s}.back-top.is-visible{opacity:1;visibility:visible;transform:none}.back-top:hover{background:#274b40}.service-card{overflow:hidden;position:relative;transition:background .25s,box-shadow .25s}.service-photo{height:180px;margin:-28px -25px 25px;overflow:hidden;background:#dce5e4}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1),filter .7s;filter:saturate(.7)}.service-card:hover .service-photo img{transform:scale(1.065);filter:saturate(1)}.service-card .card-top{margin-bottom:28px}.service-card:hover{box-shadow:inset 0 -4px #a5cb76}.card-arrow,.card-link>span,.nav-cta>span,.venture-symbol>span,.sector-links>a>span,.directory-grid a>span{transition:transform .25s}.service-card:hover .card-arrow,.nav-cta:hover>span,.sector-links>a:hover>span,.directory-grid a:hover>span{transform:translate(3px,-3px)}.visual-hero{padding:0;display:grid;grid-template-columns:1.2fr 1fr;min-height:525px;overflow:hidden}.visual-hero-copy{padding:58px 8% 65px 9%}.visual-hero h1{font-size:clamp(38px,4.2vw,66px)}.visual-hero .breadcrumb{margin-bottom:28px}.visual-hero .eyebrow{font-size:11px;margin-bottom:24px}.visual-hero-copy>p{max-width:600px;font-size:17px;line-height:1.8;margin-top:25px}.visual-hero-photo{position:relative;min-height:450px;background:#23424a;overflow:hidden}.visual-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.83) saturate(.8)}.visual-hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#102c3266,transparent 50%)}.visual-hero-photo>span{position:absolute;bottom:32px;left:32px;z-index:1;color:white;font-size:11px;letter-spacing:2px}.image-interlude{position:relative;min-height:570px;background:#102c32;overflow:hidden;display:flex;align-items:center}.image-interlude>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.38) saturate(.65)}.interlude-copy{position:relative;padding:80px 5.5%;max-width:850px;color:#fff}.interlude-copy .eyebrow{color:#c7ef7d}.interlude-copy h2{font-size:clamp(35px,4vw,58px)}.interlude-copy p{max-width:550px;margin:25px 0;color:#d2dfde;font-size:17px}.interlude-note{position:absolute;bottom:28px;right:5.5%;font-size:10px;letter-spacing:2px;color:#cfdddd}.venture-cover{height:220px;position:relative;overflow:hidden;margin:24px 0}.venture-cover img{width:100%;height:100%;object-fit:cover;filter:brightness(.8) saturate(.7);transition:transform .7s}.venture-cover>span{position:absolute;left:20px;bottom:12px;font-size:45px;letter-spacing:-3px;color:white}.venture-card:hover .venture-cover img{transform:scale(1.055)}.venture-grid{align-items:stretch}.venture-card.foundation .venture-symbol{min-height:220px;align-items:center}.project-image,.about-panorama{position:relative;height:470px;background:#102c32;overflow:hidden}.project-image>img,.about-panorama>img{width:100%;height:100%;object-fit:cover;filter:brightness(.53) saturate(.7)}.project-image>div,.about-panorama>div{position:absolute;left:5.5%;bottom:55px;color:white}.project-image .eyebrow,.about-panorama .eyebrow{color:#d0eeae}.story-photo img{transition:transform 1s cubic-bezier(.2,.7,.3,1)}.photo-story:hover .story-photo img{transform:scale(1.035)}.needs-grid>a{transition:border-color .25s}.needs-grid>a:hover{border-color:#c7ef7d}.needs-grid>a h3{transition:color .25s}.needs-grid>a:hover h3{color:#c7ef7d}nav>a:not(.nav-cta){position:relative}nav>a:not(.nav-cta):after{content:'';position:absolute;left:0;bottom:-7px;height:1px;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}nav>a:not(.nav-cta):hover:after{transform:scaleX(1)}details[open]>p{animation:faq-in .3s ease-out}@keyframes faq-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.motion-ready .reveal-item{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal-item.is-revealed{opacity:1;transform:none}.hero-copy>.eyebrow{animation:hero-enter .65s both}.hero-copy>h1{animation:hero-enter .85s .1s both}.hero-copy>p{animation:hero-enter .85s .2s both}.hero-actions{animation:hero-enter .85s .3s both}.hero-image img{animation:hero-image-settle 3s ease-out both}.visual-hero-photo img{animation:hero-image-settle 2s ease-out both}@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes hero-image-settle{from{transform:scale(1.07)}to{transform:scale(1)}}}
@media(max-width:1100px){.visual-hero{grid-template-columns:1.1fr 1fr}.visual-hero-copy{padding:44px 8%}.visual-hero h1{font-size:43px}}@media(max-width:760px){.service-photo{height:155px;margin:-23px -20px 23px}.visual-hero{grid-template-columns:1fr}.visual-hero-copy{padding:38px 5.5% 42px}.visual-hero h1{font-size:42px}.visual-hero-photo{min-height:300px}.visual-hero-photo>span{bottom:23px;left:5.5%}.image-interlude{min-height:490px}.interlude-copy{padding:55px 5.5% 85px}.interlude-copy p{font-size:16px}.interlude-note{left:5.5%;font-size:9px}.venture-card.foundation .venture-symbol{min-height:120px}.project-image,.about-panorama{height:360px}.project-image>div,.about-panorama>div{bottom:35px}.back-top{width:42px;height:42px;bottom:18px;right:16px}.motion-ready .reveal-item{transition-delay:0ms}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal-item{opacity:1;transform:none}}
