/* Shared full-bleed hero slider for the corporate page and the landing. */
.hero--carousel{display:block;position:relative;min-height:0;overflow:hidden;background:#1c2633}
.hero--carousel .hero-stage{display:grid;min-height:720px}
.hero--carousel .hero-slide{grid-area:1/1;position:relative;isolation:isolate;display:flex;align-items:center;min-height:720px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s ease}
.hero--carousel .hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.hero--carousel .hero-media{position:absolute;inset:0 0 0 32%;z-index:0;overflow:hidden;background:#38495b}
.hero--carousel .hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 47%;display:block}
.hero--carousel .hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#1c2633 0%,#1c2633 21%,#1c2633ee 39%,#1c2633b8 57%,#1c26335e 78%,#1c263326 100%)}
.hero--carousel .hero-copy{position:relative;z-index:2;display:block;align-self:auto;width:min(64%,940px);padding:85px 42px 145px max(34px,calc((100vw - var(--max))/2));background:none}
.hero--carousel .hero-copy h1,.hero--carousel .hero-copy h2{font-size:clamp(3.15rem,4.65vw,5.3rem);line-height:1.07;max-width:780px;margin:0 0 27px;letter-spacing:-.052em;text-wrap:balance}
.hero--carousel .hero-copy .lead{max-width:585px;margin-bottom:31px;color:#e0e8f1}
.hero--carousel .hero-kicker{color:#c6dcf7}
.hero--carousel .hero-slide-label{position:absolute;z-index:2;right:max(28px,calc((100vw - var(--max))/2));bottom:50px;color:#fff;text-shadow:0 2px 12px #102238ab;letter-spacing:.1em;font-size:.71rem;font-weight:800;text-align:right;max-width:280px}
.hero--carousel .hero-slide-label span{display:block;color:#b2d3f7;margin-bottom:5px}
.hero--carousel .hero-controls{position:absolute;z-index:5;bottom:33px;left:max(34px,calc((100vw - var(--max))/2));color:#fff}
.hero-controls-inner{display:flex;align-items:center;gap:24px}
.hero-dots,.hero-transport{display:flex;align-items:center;gap:7px}
.hero-dot{appearance:none;border:0;background:none;color:#c9d7e9;padding:8px 1px;display:flex;align-items:center;gap:7px;cursor:pointer;font:700 .72rem Manrope,Arial,sans-serif;letter-spacing:.04em}
.hero-dot i{display:block;width:34px;height:2px;background:#c7d6e566;transition:background .2s,width .2s}
.hero-dot.is-active{color:#fff}
.hero-dot.is-active i{width:43px;background:#9ac7fa}
.hero-control{width:34px;height:34px;border-radius:50%;border:1px solid #d7e6f477;color:#fff;background:#2033496b;display:grid;place-items:center;line-height:1;font-size:1.08rem;cursor:pointer;transition:background .2s,transform .2s}
.hero-control:hover{background:#4b6dbf;transform:translateY(-2px)}
.hero-pause{font-size:.95rem}
.hero--carousel.hero--landing{background:#eef5fa;color:#1d2b39}
.hero--carousel.hero--landing .hero-overlay{background:linear-gradient(90deg,#f1f7fb 0%,#f1f7fb 23%,#f1f7fbf0 42%,#f1f7fbc4 58%,#f1f7fb45 80%,#f1f7fb16 100%)}
.hero--carousel.hero--landing .hero-copy{background:none;color:#1d2b39;width:min(65%,965px)}
.hero--carousel.hero--landing .hero-copy h1,.hero--carousel.hero--landing .hero-copy h2{font-size:clamp(2.9rem,3.75vw,4.55rem);line-height:1.1;max-width:790px}
.hero--carousel.hero--landing .hero-copy .lead{color:#41576a;max-width:610px}
.hero--carousel.hero--landing .hero-kicker{color:#4266a5}
.hero--carousel.hero--landing .hero-slide-label{color:#263a50;text-shadow:none}
.hero--carousel.hero--landing .hero-slide-label span{color:#4b6dbf}
.hero--carousel.hero--landing .hero-controls{color:#274362}
.hero--carousel.hero--landing .hero-dot{color:#526985}
.hero--carousel.hero--landing .hero-dot.is-active{color:#244872}
.hero--carousel.hero--landing .hero-dot i{background:#7f9cba77}
.hero--carousel.hero--landing .hero-dot.is-active i{background:#4b6dbf}
.hero--carousel.hero--landing .hero-control{color:#2b4c71;border-color:#9db5cd;background:#ffffffba}
.hero--carousel.hero--landing .hero-control:hover{background:#d9e8f5}

@media(max-width:1120px){
  .hero--carousel .hero-copy{padding-left:clamp(30px,5vw,65px);width:69%}
  .hero--carousel .hero-controls{left:clamp(30px,5vw,65px)}
  .hero--carousel.hero--landing .hero-copy{width:70%}
}
@media(max-width:850px){
  .hero--carousel .hero-stage,.hero--carousel .hero-slide{min-height:800px}
  .hero--carousel .hero-slide{align-items:flex-start}
  .hero--carousel .hero-media{inset:0}
  .hero--carousel .hero-media img{object-position:center 45%}
  .hero--carousel .hero-overlay{background:linear-gradient(180deg,#1c2633ee 0%,#1c2633e4 47%,#1c2633cb 72%,#1c263390 100%)}
  .hero--carousel.hero--landing .hero-overlay{background:linear-gradient(180deg,#f1f7fbf9 0%,#f1f7fbf2 48%,#f1f7fbe2 72%,#f1f7fbaa 100%)}
  .hero--carousel .hero-copy,.hero--carousel.hero--landing .hero-copy{width:100%;padding:69px max(26px,calc((100vw - 700px)/2)) 146px}
  .hero--carousel .hero-copy h1,.hero--carousel .hero-copy h2{font-size:clamp(3rem,7vw,4.5rem)}
  .hero--carousel.hero--landing .hero-copy h1,.hero--carousel.hero--landing .hero-copy h2{font-size:clamp(2.8rem,6.2vw,4.1rem)}
  .hero--carousel .hero-controls{left:max(26px,calc((100vw - 700px)/2));bottom:28px}
  .hero--carousel .hero-slide-label{right:28px;bottom:92px}
}
@media(max-width:540px){
  .hero--carousel .hero-stage,.hero--carousel .hero-slide{min-height:780px}
  .hero--carousel .hero-copy,.hero--carousel.hero--landing .hero-copy{padding:58px 20px 151px}
  .hero--carousel .hero-copy h1,.hero--carousel .hero-copy h2{font-size:clamp(2.5rem,10.4vw,3.5rem);margin-bottom:21px;overflow-wrap:break-word}
  .hero--carousel.hero--landing .hero-copy h1,.hero--carousel.hero--landing .hero-copy h2{font-size:clamp(2.18rem,8.7vw,3.35rem)}
  .hero--carousel .hero-copy .lead{font-size:1.03rem;margin-bottom:24px}
  .hero--carousel .hero-kicker{font-size:.63rem;margin-bottom:22px}
  .hero--carousel .hero-slide-label{display:none}
  .hero--carousel .hero-controls{left:20px;right:20px;bottom:27px}
  .hero-controls-inner{width:100%;justify-content:space-between;gap:11px}
  .hero-dot i{width:20px}
  .hero-dot.is-active i{width:25px}
  .hero-dots,.hero-transport{gap:4px}
  .hero-control{width:30px;height:30px;font-size:.95rem}
}
@media(prefers-reduced-motion:reduce){
  .hero--carousel .hero-slide,.hero-dot i,.hero-control{transition:none}
}
@media(max-width:360px){
  .hero--carousel.hero--landing .hero-copy h1{font-size:1.9rem}
}
