/* Information hierarchy: keep the agreed heading format and palette. */
.prices .section-heading{grid-template-columns:1fr auto;gap:0 40px;margin-bottom:40px}
.prices h2{font-size:clamp(48px,5vw,80px)}
.prices .section-lead{font-size:16px;font-weight:400}
.price-row{grid-template-columns:3fr 5fr 4fr;padding-block:32px;gap:32px}
.price-row h3{font-size:18px;font-weight:400}
.price-head{padding-block:14px;font-size:14px}
.price strong{font-size:clamp(64px,7.5vw,112px);letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.price span,.price-foot p{font-size:14px;color:#b5b7bc}
.price-row>p:last-child{font-size:18px}
.price-foot{margin-top:24px}.price-foot .text-link{font-size:16px}
.team-wide-photo img{object-position:56% 40%}
/* One progress value drives the photo reveal, rule and step number. */
.visit-photo{aspect-ratio:3/2;background:var(--ink)}
.visit-caption{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--ink);color:var(--paper);font-size:14px}
.visit-caption-count{font:700 18px/1 Oswald,sans-serif;white-space:nowrap}
.visit-steps h3{font-size:20px}
.visit-steps p{font-size:16px;margin-top:16px}
.news{padding-block:56px}
.news h2{font-size:clamp(48px,5vw,72px)}
.news .section-number{margin-bottom:16px}
.news .section-lead{font-size:16px;font-weight:400;margin-top:16px}
.news-row{grid-template-columns:auto 1fr;gap:24px;min-height:96px;padding-block:24px}
.news-category{grid-column:auto;font-size:14px}
.news-row h3{font-size:18px}
@media(hover:hover) and (pointer:fine){.news-row h3{transition:transform 320ms cubic-bezier(.22,1,.36,1)}.news-row:hover h3{transform:translateX(4px)}}
@media(min-width:1024px) and (min-height:700px) and (prefers-reduced-motion:no-preference){
 .visit-layout{grid-template-columns:1fr 1fr;gap:64px}
 .motion-ready .visit-photo{position:sticky;top:18svh;height:auto;aspect-ratio:3/2;padding-bottom:56px;box-sizing:content-box}
 .visit-photo .visit-scene{height:calc(100% - 56px);object-position:center}
 .visit-caption{height:56px;box-sizing:border-box}
 .motion-ready .visit-steps li{min-height:34svh;padding-block:40px}
 .motion-ready .visit-steps li::before{height:2px;transform:scaleX(var(--step-progress,0))}
 .motion-ready .visit-steps .step-number{font-size:64px;min-width:72px}
}
@media(max-width:1023px){
 .prices .section-heading{grid-template-columns:1fr}
 .prices .section-lead{margin-top:16px}
 .price-row{grid-template-columns:3fr 5fr 4fr;gap:24px}
 .visit-caption{display:none}
}
@media(max-width:767px){
 .prices h2{font-size:12.2vw}
 .prices .section-heading{margin-bottom:32px}
 .price-row{grid-template-columns:1fr auto;gap:16px;padding-block:24px}
 .price-row h3{font-size:16px}
 .price strong{font-size:64px}
 .price{gap:8px;flex-direction:column;align-items:flex-start;flex-wrap:nowrap}
 .price span{font-size:14px}
 .price-row>p:last-child{font-size:16px;align-self:end;line-height:1.6}
 .price-foot{gap:16px}
 .news{padding-block:40px}
 .news-layout{gap:24px}
 .news h2{font-size:48px}
 .news-row{grid-template-columns:1fr;gap:12px;min-height:104px;padding-block:20px}
 .news-row h3{font-size:18px}
 .visit-photo{aspect-ratio:3/2}
}
@media(prefers-reduced-motion:reduce){.visit-caption{display:none}.news-row h3{transition:none!important;transform:none!important}}
