/* V17 candidate: scroll-linked editorial portrait and typography.
   The authentic portrait and all site content remain live, accessible HTML. */
.hero-scroll-track{position:relative;overflow-anchor:none}
.hero-scroll-stage{position:relative;isolation:isolate;background:var(--paper)}
.hero-scroll-active .hero-scroll-stage{position:sticky;top:var(--hero-header);height:var(--hero-height);overflow:clip;display:grid;align-items:center}
.home-page .hero-scroll-stage .hero{position:relative;z-index:2;width:min(1280px,calc(100% - 112px));display:grid;grid-template-columns:minmax(0,1.56fr) minmax(0,1.04fr);column-gap:0;align-items:center;padding-block:24px 34px;overflow:visible;perspective:none}
.home-page .hero-scroll-stage .hero-copy{grid-column:1;grid-row:1;position:relative;z-index:3;min-width:0}
.home-page .hero-scroll-stage .hero-portrait{grid-column:2;grid-row:1;justify-self:end;align-self:end;position:relative;width:min(42vw,580px,calc((100dvh - var(--header) - 50px)*.8));max-width:none;margin:0 -80px 0 0;background:transparent;border:0;border-radius:0;isolation:isolate;transform-origin:53% 58%;overflow:visible}
.home-page .hero-scroll-stage .hero-portrait::before{display:none}
.home-page .hero-scroll-stage .hero-portrait .portrait-window{position:relative;display:block;width:100%;aspect-ratio:4/5;overflow:visible;border:0;border-radius:0;background:transparent}
.home-page .hero-scroll-stage .hero-portrait .portrait-window img{position:relative;inset:auto;display:block;width:100%;max-width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:grayscale(1);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 83%,transparent 99%);mask-image:linear-gradient(to bottom,#000 0%,#000 83%,transparent 99%);transform:none!important;animation:none!important}
.home-page .hero-scroll-stage .hero-portrait figcaption{display:none}
.home-page .hero-scroll-stage .hero .eyebrow{max-width:none;margin:0 0 30px;color:#294be8;font-size:12px;letter-spacing:.15em;white-space:nowrap}
.home-page .hero-scroll-stage .hero h1{max-width:none;margin:0;color:#142139;font-size:clamp(50px,5.35vw,77px);line-height:1.065;letter-spacing:-.059em}
.home-page .hero-scroll-stage .hero-title-line{display:block;transform-origin:left center}
.home-page .hero-scroll-stage .hero h1 em{font-weight:400;color:#142139}
.home-page .hero-scroll-stage .hero-intro{max-width:61ch;margin-top:37px;color:#535b61;font-size:16px;line-height:1.68}
.home-page .hero-scroll-stage .hero-actions{margin-top:28px;gap:14px 25px}
.home-page .hero-scroll-stage .hero-clients{border-top:1px solid var(--line);margin-top:48px;padding-top:18px}
.home-page .hero-scroll-stage .hero-clients>p{margin:0 0 13px;color:var(--muted);font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.home-page .hero-scroll-stage .hero-clients ul{list-style:none;display:grid;grid-template-columns:1.2fr .86fr 1fr;gap:16px;margin:0;padding:0}
.home-page .hero-scroll-stage .hero-clients li{min-width:0;color:#2a3850;font-size:15px;font-weight:600;letter-spacing:-.025em;line-height:1.25}
.home-page .hero-scroll-stage .hero-clients li span{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:0;line-height:1.45}
.hero-scroll-stage .hero-motion-control{display:none!important}
.hero-scroll-hint{display:none;position:absolute;z-index:3;bottom:14px;left:50%;transform:translateX(-50%);align-items:center;gap:10px;color:var(--muted);font-size:11px;white-space:nowrap}
.hero-scroll-hint svg{width:12px;height:12px}
.hero-scroll-active .hero-scroll-hint{display:flex}
.hero-scroll-active .hero-portrait,.hero-scroll-active .hero-title-line,.hero-scroll-active .hero-intro,.hero-scroll-active .hero-clients{will-change:transform,opacity}
@media(min-width:1500px){.home-page .hero-scroll-stage .hero{padding-block:42px 54px}.home-page .hero-scroll-stage .hero h1{font-size:clamp(65px,4.3vw,73px)}}
@media(min-width:801px) and (max-height:760px){.home-page .hero-scroll-stage .hero{padding-block:12px 20px}}
@media(max-width:1100px){.home-page .hero-scroll-stage .hero{width:calc(100% - 64px);grid-template-columns:minmax(0,1.54fr) minmax(0,.96fr);gap:12px}.home-page .hero-scroll-stage .hero h1{font-size:clamp(39px,4.8vw,58px)}.home-page .hero-scroll-stage .hero-intro{font-size:15px;margin-top:27px}.home-page .hero-scroll-stage .hero-clients{margin-top:32px}}
@media(max-width:800px){.home-page .hero-scroll-stage .hero{width:calc(100% - 40px);grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:16px;padding-block:22px 42px}.home-page .hero-scroll-stage .hero h1{font-size:clamp(36px,5.1vw,46px)}.home-page .hero-scroll-stage .hero .eyebrow{margin-bottom:20px}.home-page .hero-scroll-stage .hero-intro{font-size:14px;margin-top:22px}.home-page .hero-scroll-stage .hero-actions{margin-top:20px}.home-page .hero-scroll-stage .hero-clients{margin-top:25px}.home-page .hero-scroll-stage .hero-clients li{font-size:12px}.home-page .hero-scroll-stage .hero-clients li span{font-size:9px}}
@media(max-width:600px){
 .hero-scroll-active .hero-scroll-stage{align-items:start}
 .home-page .hero-scroll-stage .hero{width:calc(100% - 36px);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);column-gap:7px;row-gap:0;align-content:center;align-items:start;margin-top:clamp(42px,8vh,72px);padding-block:16px 44px}
 .home-page .hero-scroll-stage .hero-copy{display:contents}
 .home-page .hero-scroll-stage .hero .eyebrow{grid-column:1;grid-row:1;align-self:end;max-width:18ch;margin:0 0 14px;font-size:10px;line-height:1.5;letter-spacing:.12em}
 .home-page .hero-scroll-stage .hero h1{grid-column:1;grid-row:2;position:relative;z-index:3;margin:0;font-size:clamp(30px,8.8vw,39px);line-height:1.06;letter-spacing:-.057em}
 .home-page .hero-scroll-stage .hero-title-line{white-space:normal}
 .home-page .hero-scroll-stage .hero-portrait{grid-column:2;grid-row:1/span 2;position:relative;z-index:2;inset:auto;width:min(54vw,220px);max-width:none;align-self:end;justify-self:end;margin:0 -18px 0 0}
 .home-page .hero-scroll-stage .hero-intro{grid-column:1/-1;grid-row:3;max-width:38ch;margin-top:20px;font-size:14px;line-height:1.6}
 .home-page .hero-scroll-stage .hero-actions{grid-column:1/-1;grid-row:4;margin-top:18px;gap:8px 16px}
 .home-page .hero-scroll-stage .hero-actions .button{min-height:48px;padding:12px 17px;font-size:12px}
 .home-page .hero-scroll-stage .hero-actions .text-link{font-size:12px}
 .home-page .hero-scroll-stage .hero-clients{grid-column:1/-1;grid-row:5;margin-top:25px;padding-top:14px}
 .home-page .hero-scroll-stage .hero-clients>p{margin-bottom:10px;font-size:9px}
 .home-page .hero-scroll-stage .hero-clients ul{grid-template-columns:1.1fr .9fr 1fr;gap:10px}
 .home-page .hero-scroll-stage .hero-clients li{font-size:12px;line-height:1.2}
 .home-page .hero-scroll-stage .hero-clients li span{margin-top:4px;font-size:8.5px;line-height:1.3}
 .hero-scroll-hint{bottom:8px;font-size:11px}
}
@media(max-width:360px){.home-page .hero-scroll-stage .hero{width:calc(100% - 30px);margin-top:30px;padding-block:12px 38px}.home-page .hero-scroll-stage .hero h1{font-size:clamp(28px,9vw,32px)}.home-page .hero-scroll-stage .hero-portrait{margin-right:-10px}.home-page .hero-scroll-stage .hero-intro{margin-top:17px;font-size:13px}.home-page .hero-scroll-stage .hero-clients{margin-top:18px}.home-page .hero-scroll-stage .hero-clients ul{grid-template-columns:1fr 1fr;gap:11px 12px}.home-page .hero-scroll-stage .hero-clients li{font-size:12px}.home-page .hero-scroll-stage .hero-clients li:last-child{grid-column:1/-1}.home-page .hero-scroll-stage .hero-clients li span{font-size:10px}}
.motion-reduced .hero-scroll-track{height:auto!important}
.motion-reduced .hero-scroll-stage{position:static!important;height:auto!important;display:block!important;overflow:visible!important}
.motion-reduced .hero-scroll-stage [style]{transform:none!important;opacity:1!important;color:inherit!important;clip-path:none!important}
.motion-reduced .hero-scroll-hint{display:none!important}
@media(prefers-reduced-motion:reduce){.hero-scroll-track{height:auto!important}.hero-scroll-stage{position:static!important;height:auto!important;display:block!important;overflow:visible!important}.hero-scroll-stage [style]{transform:none!important;opacity:1!important;color:inherit!important;clip-path:none!important}.hero-scroll-hint{display:none!important}}
@media print{.hero-scroll-track{height:auto!important}.hero-scroll-stage{position:static!important;height:auto!important;display:block!important;overflow:visible!important}.hero-scroll-stage [style]{transform:none!important;opacity:1!important;color:inherit!important;clip-path:none!important}.hero-scroll-hint{display:none!important}.hero-clients{break-inside:avoid}}
