/* Hero crossfade slideshow + scroll reveals (v2 polish) */
.hero-slides{position:relative;height:500px;border-radius:28px;overflow:hidden;background:var(--navy-deep);isolation:isolate}
.hero-slides .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;border-radius:0;opacity:0;transform:scale(1.02);transition:opacity 1.6s ease-in-out}
.hero-slides .hero-slide.is-active{opacity:1;z-index:1;animation:roostZoom 7.5s ease-out forwards}
@keyframes roostZoom{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.hero-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(18,32,51,0) 45%,rgba(18,32,51,.35) 100%)}
.hero-dots{position:absolute;left:1.1rem;bottom:1.2rem;z-index:3;display:flex;gap:6px}
.hero-dots span{width:8px;height:8px;border-radius:99px;background:rgba(255,255,255,.55);transition:width .5s ease,background .5s ease}
.hero-dots span.on{width:26px;background:#fff}
.hero-aside{z-index:4;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hero-copy{animation:roostRise .9s cubic-bezier(.2,.7,.2,1) both}
.hero-copy .eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}
@keyframes roostRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
@media (max-width:640px){.hero-slides{height:380px;border-radius:22px}.hero-dots{top:1rem;bottom:auto}}
@media (prefers-reduced-motion:reduce){
 .hero-slides .hero-slide{transition:none;animation:none!important;transform:none}
 .hero-copy{animation:none}.js .reveal{opacity:1;transform:none;transition:none}}
/* v4 services list */
.services-lead{margin:.6rem 0 0;font-size:1.1rem;font-weight:500;color:var(--navy)}
.services{list-style:none;margin:0 0 2.6rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.services li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.05rem 1.1rem;font-weight:600;color:var(--navy);line-height:1.3;display:flex;align-items:center;min-height:72px}
.services li:first-child{grid-column:span 2;background:var(--navy);color:#fff;border-color:var(--navy)}
.services li:last-child{grid-column:span 2}
@media (max-width:900px){.services{grid-template-columns:repeat(2,1fr)}}
.services li:first-child,.services li:last-child{grid-column:auto}
.section-head:has(.services-lead){margin-bottom:1.8rem}
