/* ═══════════════════════════════════════════════
   HERO CAROUSEL
   ═══════════════════════════════════════════════ */
.hero{position:relative;height:100vh;min-height:580px;max-height:900px;overflow:hidden;background:var(--dark)}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease-in-out;pointer-events:none}
.hero__slide.act{opacity:1;pointer-events:auto}
.hero__slide-bg{position:absolute;inset:0}
.hero__slide-bg img,.hero__slide-bg .bgc{width:100%;height:100%;object-fit:cover}
.hero__slide.act .hero__slide-bg .bgc{animation:kenBurns 14s ease-out forwards}
@keyframes kenBurns{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero__slide-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.05) 35%,rgba(0,0,0,.55) 100%)}
.hero__content{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 20px}
.hero__eyebrow{font-family:var(--font-h);font-size:12px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px;opacity:0;transform:translateY(20px)}
.hero__slide.act .hero__eyebrow{animation:fadeUp .7s var(--ease) .3s forwards}
.hero__title{font-family:var(--font-h);font-size:clamp(32px,5.5vw,60px);font-weight:700;line-height:1.05;color:var(--white);letter-spacing:clamp(2px,.5vw,6px);text-transform:uppercase;margin-bottom:18px;max-width:700px;opacity:0;transform:translateY(28px)}
.hero__slide.act .hero__title{animation:fadeUp .8s var(--ease) .5s forwards}
.hero__desc{font-size:clamp(14px,1.4vw,17px);font-weight:300;line-height:1.8;color:rgba(255,255,255,.55);max-width:480px;margin-bottom:32px;opacity:0;transform:translateY(20px)}
.hero__slide.act .hero__desc{animation:fadeUp .8s var(--ease) .7s forwards}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;opacity:0;transform:translateY(18px)}
.hero__slide.act .hero__actions{animation:fadeUp .8s var(--ease) .9s forwards}
@keyframes fadeUp{to{opacity:1;transform:none}}
.hero__dots{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:20;display:flex;gap:8px}
.hero__dot{width:32px;height:3px;background:rgba(255,255,255,.25);border-radius:2px;padding:0;cursor:pointer;transition:all .4s}
.hero__dot.act{background:var(--white);width:48px}
.hero__arrow{position:absolute;top:50%;z-index:20;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:var(--white);transition:.3s}
.hero__arrow:hover{background:rgba(255,255,255,.18)}
.hero__arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.hero__arrow--prev{left:24px;transform:translateY(-50%)}
.hero__arrow--next{right:24px;transform:translateY(-50%)}

/* Marquee */
.marquee{background:var(--dark);color:var(--white);padding:11px 0;overflow:hidden;white-space:nowrap}
.marquee__track{display:inline-flex;animation:marqueeScroll 22s linear infinite}
.marquee__item{font-family:var(--font-h);font-size:11px;text-transform:uppercase;letter-spacing:5px;margin-right:56px;opacity:.4}
@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
