/* Homepage carousel: one stable, centered message over rotating editorial photos. */
.home-hero{background:var(--white);border-bottom:1px solid var(--line);text-align:center}
.hero-carousel{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--white);min-height:650px;display:flex;flex-direction:column;justify-content:center;touch-action:pan-y}
.hero-carousel__slides,.hero-carousel__slide,.hero-carousel::after{position:absolute;inset:0}
.hero-carousel__slides{z-index:-2}
.hero-carousel__slide{opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s}
.hero-carousel__slide.is-active{opacity:1;visibility:visible}
.hero-carousel__slide img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.hero-carousel::after{content:"";z-index:-1;background:linear-gradient(180deg,rgba(8,21,38,.73),rgba(8,21,38,.68) 58%,rgba(8,21,38,.84));pointer-events:none}
.hero-carousel__content{width:min(940px,calc(100% - 192px));margin-inline:auto;padding:74px 0 30px;text-align:center}
.hero-carousel__content h1{max-width:880px;margin:0 auto 26px;color:white;font-size:clamp(40px,4.15vw,64px);line-height:1.08;letter-spacing:-.04em;text-wrap:balance}
.hero-carousel__content .lead{max-width:760px;margin:0 auto 30px;color:#edf2f8;font-size:19px;line-height:1.65;text-wrap:pretty}
.hero-carousel__content .search-form{max-width:620px;margin:0 auto 25px;text-align:center}
.hero-carousel__content .search-form input{text-align:center;padding-inline:38px}
.hero-carousel__content .actions{justify-content:center;gap:20px 28px;margin:0}
.hero-carousel__content .text-link{color:white;justify-content:center;text-align:center}
.hero-carousel__content .text-link:hover{color:#e4ebff}
.hero-carousel__content :focus-visible,.hero-carousel__controls :focus-visible{outline:3px solid white;outline-offset:4px}
.hero-carousel__controls{display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:14px auto 28px}
.hero-carousel__control,.hero-carousel__dot{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid #ffffff66;border-radius:50%;background:#10243c40;color:white;transition:background .18s,border-color .18s}
.hero-carousel__control:hover{background:#ffffff26;border-color:white}
.hero-carousel__control svg{width:20px;height:20px}
.hero-carousel__dots{display:flex;align-items:center;gap:0}
.hero-carousel__dot{width:34px;border:0;border-radius:0;background:transparent}
.hero-carousel__dot span{width:7px;height:7px;background:#ffffff70;border-radius:8px;transition:width .18s,background .18s}
.hero-carousel__dot[aria-current] span{width:24px;background:white}
.hero-carousel__dot:hover span{background:white}
.hero-carousel__playback{margin-left:8px;border-color:transparent}
.hero-carousel__play-icon{display:none}
.hero-carousel__playback.is-paused .hero-carousel__pause-icon{display:none}
.hero-carousel__playback.is-paused .hero-carousel__play-icon{display:block}
.home-hero .hero-proof{width:min(1100px,calc(100% - 192px));margin:0 auto;padding:25px 0;list-style:none;display:flex;justify-content:center;gap:24px;color:var(--muted);font-size:14px;line-height:1.5;text-align:center}
.home-hero .hero-proof li{flex:1;padding:0 16px;min-width:0}
.home-hero .hero-proof li+li{border-left:1px solid var(--line)}
@media(max-width:1100px){
 .hero-carousel{min-height:620px}
 .hero-carousel__content{width:calc(100% - 192px);padding-top:58px}
 .hero-carousel__content h1{font-size:48px}
 .hero-carousel__content .lead{font-size:18px}
}
@media(max-width:782px){
 .hero-carousel{min-height:0}
 .hero-carousel__content{width:calc(100% - 140px);padding:48px 0 24px}
 .hero-carousel__content h1{font-size:40px;margin-bottom:22px}
 .hero-carousel__content .lead{font-size:17px;margin-bottom:24px}
 .hero-carousel__content .actions{gap:20px;flex-direction:column}
 .home-hero .hero-proof{width:calc(100% - 140px);flex-direction:column;gap:12px;font-size:13px;padding:22px 0}
 .home-hero .hero-proof li{padding:0}
 .home-hero .hero-proof li+li{border:0}
}
@media(max-width:600px){
 .hero-carousel__content{padding-top:40px}
 .hero-carousel__content h1{font-size:clamp(28px,8.5vw,36px);line-height:1.13}
 .hero-carousel__content .lead{font-size:15px;line-height:1.65}
 .hero-carousel__content .search-form{flex-direction:column;gap:8px;margin-bottom:22px}
 .hero-carousel__content .search-form input{padding:13px 8px;font-size:16px;border-radius:4px;width:100%;height:48px;text-overflow:ellipsis}
 .hero-carousel__content .search-form input::placeholder{font-size:13px}
 .hero-carousel__content .search-form__icon{display:none}
 .hero-carousel__content .search-form .button{border-radius:4px;min-height:46px}
 .hero-carousel__content .actions>.button{width:100%;font-size:14px;padding:12px;gap:8px}
 .hero-carousel__content .text-link{font-size:14px;gap:8px}
 .hero-carousel__controls{gap:4px;margin:0 auto 24px}
 .hero-carousel__control{width:40px;height:44px}
 .hero-carousel__dot{width:28px}
 .hero-carousel__playback{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.hero-carousel__slide,.hero-carousel__dot span{transition:none}}
