/* hero carousel */
.hcar{position:relative;overflow:hidden;background:#0A0A0B;border-bottom:1px solid var(--line);min-height:clamp(520px,82vh,820px);display:grid}
.hslide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s ease;z-index:1}
.hslide.is-active{opacity:1;visibility:visible;z-index:2}
.hslide__img{position:absolute;inset:0;background-size:cover;background-position:center 46%;transform:scale(1.02)}
.hslide.is-active .hslide__img{animation:hkb 9s ease-out forwards}
@keyframes hkb{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.hslide__scrim{position:absolute;inset:0;background:linear-gradient(94deg,rgba(8,8,9,.94) 0%,rgba(8,8,9,.82) 34%,rgba(8,8,9,.34) 68%,rgba(8,8,9,.55) 100%)}
.hcar__stage{position:relative;z-index:5;max-width:var(--wrap);width:100%;margin:0 auto;padding:clamp(78px,9vw,124px) var(--gut) clamp(96px,10vw,132px);align-self:center;pointer-events:none}
.hcopy{position:absolute;left:var(--gut);right:var(--gut);max-width:640px;opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.3,1);pointer-events:none}
.hcopy.is-active{position:relative;left:0;right:0;opacity:1;transform:none;pointer-events:auto}
.hcopy .label{color:var(--accent)}
.hcopy .h1{max-width:19ch;margin-top:12px}
.hcopy .lead{max-width:34ch;margin-top:16px}
.hcopy .hero__cta{margin-top:30px}
.hcopy.is-active .label{animation:hrise .55s .05s ease both}
.hcopy.is-active .h1{animation:hrise .6s .12s ease both}
.hcopy.is-active .lead{animation:hrise .6s .22s ease both}
.hcopy.is-active .hero__cta{animation:hrise .6s .32s ease both}
@keyframes hrise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

.hcar__ui{position:absolute;z-index:6;left:0;right:0;bottom:0;pointer-events:none}
.hcar__ui-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut) clamp(22px,3vw,34px);display:flex;align-items:center;gap:18px}
.hdots{display:flex;gap:10px;pointer-events:auto}
.hdot{width:38px;height:3px;background:rgba(242,239,233,.28);border:0;padding:0;cursor:pointer;position:relative;overflow:hidden}
.hdot[aria-selected="true"]{background:rgba(242,239,233,.28)}
.hdot[aria-selected="true"]::after{content:'';position:absolute;inset:0;background:var(--accent);transform-origin:left;animation:hbar 6.5s linear forwards}
@keyframes hbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hcar.is-paused .hdot[aria-selected="true"]::after{animation-play-state:paused}
.harrows{margin-left:auto;display:flex;gap:8px;pointer-events:auto}
.harrow{width:44px;height:44px;border:1px solid rgba(242,239,233,.26);background:rgba(8,8,9,.4);color:var(--ink);border-radius:var(--r);cursor:pointer;font-size:17px;line-height:1;display:grid;place-content:center}
.harrow:hover{border-color:var(--accent);color:var(--accent)}
.hcount{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.08em}

.hcar__wedge{position:absolute;right:0;top:0;width:30%;height:26%;z-index:4;background:var(--accent);clip-path:polygon(30% 0,100% 0,100% 100%,0 0)}

@media (prefers-reduced-motion:reduce){
  .hslide,.hslide.is-active .hslide__img,.hcopy,.hcopy.is-active *{transition:none;animation:none}
  .hdot[aria-selected="true"]::after{animation:none;transform:scaleX(1)}
}
@media (max-width:1000px){
  .hcar{min-height:600px}
  .hslide__scrim{background:linear-gradient(180deg,rgba(8,8,9,.86) 0%,rgba(8,8,9,.5) 45%,rgba(8,8,9,.92) 100%)}
  .hcar__wedge{display:none}
  .hcopy{max-width:none}
}
@media (max-width:560px){
  .harrows{display:none}
  .hdot{width:26px}
}

/* slide 1: keep the airport sign clear by moving the copy to the right */
.hslide--right .hslide__scrim{background:linear-gradient(266deg,rgba(8,8,9,.95) 0%,rgba(8,8,9,.84) 32%,rgba(8,8,9,.30) 66%,rgba(8,8,9,.42) 100%)}
.hcopy--right{margin-left:auto;max-width:560px}
@media (max-width:1000px){
  .hslide--right .hslide__scrim{background:linear-gradient(180deg,rgba(8,8,9,.5) 0%,rgba(8,8,9,.34) 34%,rgba(8,8,9,.95) 100%)}
  .hcopy--right{margin-left:0;max-width:none}
}

@media (max-width:1000px){
  .hcar__stage{align-self:end;padding-bottom:clamp(104px,14vw,150px)}
  .hslide--right .hslide__img{background-position:64% 42%}
}

@media (max-width:1000px){
  .hcar{min-height:640px}
  .hslide--right .hslide__scrim{background:linear-gradient(180deg,rgba(8,8,9,.72) 0%,rgba(8,8,9,.42) 34%,rgba(8,8,9,.94) 100%)}
}
