/* Progressive motion: content and photographs remain visible without this JS. */
.finder-section{background:linear-gradient(115deg,#edf3f7,#f4f4fa 58%,#eef6f5)}
.finder-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}
.finder-tabs button{display:flex;align-items:center;gap:16px;text-align:left;min-height:68px;padding:18px 24px;border:1px solid #bacbd9;background:#ffffff94;color:var(--navy);font-size:20px;font-weight:590;position:relative;transition:background .28s,border-color .28s,color .28s}
.finder-tabs button>span:first-child{font-size:14px;opacity:.7}.finder-tabs button>span:last-child{margin-left:auto;font-size:22px;transition:transform .3s var(--ease)}
.finder-tabs button[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.finder-tabs button[aria-selected=true]>span:last-child{transform:rotate(45deg)}
.finder-tabs button:disabled{cursor:default}
.finder-stage{background:#fff;min-height:var(--finder-height,440px);border:1px solid #d7e2ea;box-shadow:0 18px 55px #173b6307}
.finder-panel{display:grid;grid-template-columns:1.12fr 1fr;min-height:var(--finder-height,440px)}
.finder-panel[hidden]{display:none}
.finder-copy{padding:42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.finder-kicker{font-size:14px;color:#4e7190;font-weight:545;letter-spacing:.015em;margin-bottom:18px}
.finder-copy h3{font-size:clamp(25px,2.2vw,32px);line-height:1.4;letter-spacing:-.045em;margin-bottom:15px}
.finder-copy>p{font-size:17px;color:var(--muted)}
.finder-copy ol{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:12px;font-size:16px}
.finder-copy li{display:flex;gap:14px;align-items:center}
.finder-copy li>span{font-size:13px;color:#6a849a;min-width:20px;font-variant-numeric:tabular-nums}
.finder-copy .button{margin-top:auto}
.finder-photo{position:relative;min-width:0;min-height:400px;margin:0;overflow:hidden;isolation:isolate}
.finder-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.finder-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#061d34b3);z-index:0;pointer-events:none}
.finder-photo figcaption{position:absolute;left:28px;right:28px;bottom:28px;z-index:1;color:white}
.finder-photo figcaption span{display:block;font-size:13px;letter-spacing:.08em;margin-bottom:8px}
.finder-photo figcaption b{font-size:22px;font-weight:590}
.reading-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,#173b63,#5295bb);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
html.motion-is-paused{scroll-behavior:auto}
.motion-control{min-height:44px;padding:11px 16px;font-size:14px;border-radius:4px;bottom:max(16px,env(safe-area-inset-bottom));right:18px;border-color:#c2d2df;background:#fffffff2;box-shadow:0 5px 22px #173b6314;backdrop-filter:blur(12px)}
.motion-control:disabled{cursor:default;color:#5e7285}
.motion-enhanced.motion-ready .reveal{opacity:1;transform:none;transition:none}
.motion-enhanced.motion-ready:not(.motion-paused) .reveal.seen{animation:content-arrive .8s var(--reveal-delay,0ms) var(--ease) backwards}
.motion-enhanced:not(.motion-paused) .motion-heading.scene-entered{animation:heading-arrive .85s var(--ease) backwards}
.motion-enhanced:not(.motion-paused) .motion-item.scene-entered{animation:content-arrive .7s var(--scene-delay,0ms) var(--ease) backwards}
.motion-photo{overflow:hidden}
.motion-enhanced:not(.motion-paused) .motion-photo.scene-entered>img{animation:photo-settle 1.4s var(--ease) backwards}
.motion-enhanced:not(.motion-paused) .motion-photo.scene-entered .photo-tag,
.motion-enhanced:not(.motion-paused) .motion-photo.scene-entered figcaption{animation:caption-arrive .75s .18s var(--ease) backwards}
.motion-enhanced:not(.motion-paused) .hero>img{scale:1.06;translate:0 var(--hero-shift,0px)}
.metric strong{position:relative}
.metric strong>.count-origin{color:transparent!important}
.count-overlay{position:absolute;pointer-events:none;white-space:nowrap;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit}
.timeline{position:relative}.timeline:after{content:'';position:absolute;top:-1px;left:0;width:100%;height:2px;background:#173b63;transform:scaleX(0);transform-origin:left}
.motion-enhanced:not(.motion-paused) .timeline.scene-entered:after{animation:rail-fill 1.7s var(--ease) forwards}
.motion-enhanced:not(.motion-paused) .timeline.scene-entered>div:before{animation:dot-arrive .55s var(--scene-delay,0ms) var(--ease) backwards}
.journey-line{position:relative}
.journey-line:before{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#173b63,#4f93b9);transform:scaleX(var(--journey-progress,0));transform-origin:left}
.journey-line li>span{display:grid;place-items:center;min-width:28px;height:28px;border:1px solid #b9cedf;border-radius:50%;font-size:13px;transition:color .3s,background .3s,border-color .3s}
.journey-line li.is-reached>span{background:#173b63;border-color:#173b63;color:#fff}
.motion-enhanced .step{position:relative;overflow:hidden}
.motion-enhanced .step:after{content:'';position:absolute;left:0;top:0;height:2px;width:100%;background:#4c86b1;transform:scaleX(0);transform-origin:left}
.motion-enhanced:not(.motion-paused) .step.seen:after{animation:rail-fill 1.1s .18s var(--ease) forwards}
.motion-enhanced:not(.motion-paused) .cta.scene-entered:after{animation:cta-word-in 1.8s var(--ease) backwards}
.faq summary{position:relative;padding-right:40px;list-style:none;transition:color .25s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';position:absolute;right:4px;top:0;font-size:27px;line-height:1.2;font-weight:400;color:#466d90;transition:transform .3s var(--ease)}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details[open] summary{color:var(--navy)}
@supports(interpolate-size:allow-keywords){
 .faq details{interpolate-size:allow-keywords}
 .faq details::details-content{block-size:0;overflow:clip;transition:block-size .35s var(--ease),content-visibility .35s allow-discrete}
 .faq details[open]::details-content{block-size:auto}
}
@media(hover:hover) and (pointer:fine){
 .service-card{transition:translate .35s var(--ease)}.service-card:hover{translate:0 -7px}
 .space-card img{transition:scale .8s var(--ease)}.space-card:hover img{scale:1.035}
 .button{position:relative;overflow:hidden;isolation:isolate}
 .button:before{content:'';position:absolute;inset:0;background:#ffffff14;translate:-101% 0;transition:translate .4s var(--ease);z-index:-1}
 .button:hover:before{translate:0 0}.link-arrow span{transition:translate .3s var(--ease)}.link-arrow:hover span{translate:4px -3px}
 .finder-tabs button:not([aria-selected=true]):hover{background:#fff;border-color:#789bb8}
 .faq summary:hover{color:#236eb2}
}
@keyframes content-arrive{from{opacity:.3;translate:0 24px}to{opacity:1;translate:0 0}}
@keyframes heading-arrive{from{opacity:.3;translate:0 24px;clip-path:inset(0 0 15%)}to{opacity:1;translate:0 0;clip-path:inset(0)}}
@keyframes photo-settle{from{scale:1.075}to{scale:1}}
@keyframes caption-arrive{from{opacity:.35;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes rail-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes dot-arrive{from{scale:0}to{scale:1}}
@keyframes cta-word-in{from{translate:50px 15px;opacity:0}to{translate:0 0;opacity:1}}
@media(max-width:1100px){
 .finder-copy{padding:30px}.finder-tabs button{padding:18px 20px}.finder-copy h3{font-size:27px}
 .journey-line li{gap:8px}.journey-line li:not(:last-child):after{right:8px}
}
@media(max-width:900px){
 .finder-panel{grid-template-columns:1fr 1fr}.finder-copy{padding:28px 24px}.finder-photo{min-height:440px}
 .finder-copy h3{font-size:26px}.timeline:after{display:none}
 .journey-line li{font-size:17px}.journey-line li:nth-child(2):after{display:none}
 .journey-line:before{display:none}
}
@media(max-width:650px){
 .finder-tabs{gap:8px;margin-bottom:16px}.finder-tabs button{min-height:58px;justify-content:center;font-size:17px;gap:7px;padding:14px 8px}
 .finder-tabs button>span:first-child{font-size:13px}.finder-tabs button>span:last-child{display:none}
 .finder-panel{grid-template-columns:1fr;grid-template-rows:auto 1fr}
 .finder-photo{grid-row:1;min-height:0;aspect-ratio:1.65}
 .finder-photo figcaption{left:20px;bottom:20px;right:20px}.finder-photo figcaption b{font-size:21px}
 .finder-copy{padding:27px 22px 30px}.finder-copy h3{font-size:26px}.finder-copy>p{font-size:17px}
 .finder-copy ol{margin:22px 0 26px}.finder-copy .button{font-size:16px}
 .motion-enhanced:not(.motion-paused) .hero>img{scale:1;translate:none}
 .motion-control{right:12px;bottom:max(12px,env(safe-area-inset-bottom));font-size:13px;padding:10px 12px}
 .journey-line li{font-size:15px;gap:7px}.journey-line li>span{min-width:24px;height:24px;font-size:13px}
 .journey-line li:not(:last-child):after{right:4px}
}
.motion-paused .hero>img{scale:1;translate:none}
.motion-paused .timeline:after,.motion-paused .step:after{transform:scaleX(1)}
.motion-paused .faq details::details-content{transition:none}
.motion-suspended *,.motion-suspended *:before,.motion-suspended *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
 .hero>img{scale:1!important;translate:none!important}.faq details::details-content{transition:none}
 .timeline:after,.step:after{transform:scaleX(1)}
}
