/* Shared full-bleed page hero (every page except the homepage) */
.cs-eyebrow{font-family:'DM Sans';font-size:.8rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#43a1c5;margin:0 0 18px;display:inline-flex;align-items:center;gap:12px}
.cs-eyebrow::before{content:"";width:34px;height:2px;background:linear-gradient(90deg,#43a1c5,#434ac5)}

.cs-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:#111}
.cs-hero-media{position:absolute;inset:-140px 0 0 0}
.cs-hero-img{width:100%;height:100%;object-fit:cover;animation:cs-kenburns 22s ease-out both}
.cs-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,17,.82) 0%,rgba(17,17,17,.55) 45%,rgba(17,17,17,.1) 75%),linear-gradient(180deg,rgba(17,17,17,.6) 0%,rgba(17,17,17,.25) 30%,rgba(17,17,17,.4) 70%,#111 100%)}
/* top padding clears the overlaid header so content centres in the visible space */
.cs-hero-inner{position:relative;width:100%;padding-top:180px;padding-bottom:110px}
.cs-hero-title{margin:0 0 22px;max-width:16ch;line-height:1;text-wrap:balance}
.cs-hero-title--long{font-size:clamp(2.4rem,5vw,4.2rem);max-width:22ch}
.cs-hero-lede{font-size:1.2rem;line-height:1.6;max-width:56ch;color:rgba(255,255,255,.82);margin:0 0 34px}
.cs-hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.cs-scroll-cue{position:absolute;left:50%;bottom:28px;width:26px;height:42px;margin-left:-13px;border:2px solid rgba(255,255,255,.55);border-radius:14px}
.cs-scroll-cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#43a1c5;animation:cs-cue 1.8s ease-in-out infinite}
@keyframes cs-kenburns{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes cs-cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* CTA */
.cs-cta{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:64px}
.cs-cta-media{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:4/3}
.cs-cta-media::after{content:"";position:absolute;inset:auto -1px -1px auto;width:38%;height:10px;background:linear-gradient(90deg,#43a1c5,#434ac5)}
.cs-cta-media img{width:100%;height:100%;object-fit:cover;display:block}
.cs-cta-body h2{max-width:16ch}


@media (max-width:959px){
.cs-cta{grid-template-columns:1fr;gap:36px}
.cs-hero-inner{padding-top:140px;padding-bottom:100px}
.cs-hero-lede{font-size:1.05rem}
}
@media (prefers-reduced-motion:reduce){
.cs-hero-img,.cs-scroll-cue span{animation:none}
}
