.hero {
  min-height: clamp(620px, 86svh, 900px);
  position: relative;
  display: grid;
  place-items: center;
  color: #fff;
  overflow: hidden;
  background: #082b4f;
}
.hero__media { position: absolute; inset: 0; z-index: 0; }
.hero__media video, .hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,22,40,.72), rgba(3,22,40,.48) 36%, rgba(3,22,40,.80)); backdrop-filter: blur(1px); }
.hero__content { position: relative; z-index: 1; text-align: center; padding: calc(var(--header-h) + 4.2rem) 0 4.8rem; }
.hero__logo { display: none; }
.hero h1 { max-width: min(1180px, 96vw); margin: 0 auto; font-size: clamp(2.35rem, 4.45vw, 4.75rem); line-height: 1.02; letter-spacing: -.045em; animation: heroIn .9s .08s var(--ease) both; }
.hero h1 span { display: block; white-space: nowrap; }
.hero .lead { max-width: 760px; margin: 1.05rem auto 0; font-size: clamp(1.05rem, 1.5vw, 1.24rem); animation: heroIn .9s .16s var(--ease) both; }
.hero__actions { justify-content: center; margin-top: 1.35rem; animation: heroIn .9s .24s var(--ease) both; }
.hero__scroll { display: none !important; }
@media (max-width: 767px) {
  .hero { min-height: 620px; }
  .hero__content { padding: calc(var(--header-h) + 3rem) 0 3.2rem; }
  .hero h1 { max-width: 100%; font-size: clamp(2rem, 9vw, 3.2rem); }
  .hero h1 span { white-space: normal; }
  .hero .lead { max-width: 34ch; font-size: .98rem; }
  .hero__stats { grid-template-columns: 1fr; max-width: 340px; border-radius: 24px; }
  .hero__stats .counter { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .hero__stats .counter:last-child { border-bottom: 0; }
}
@keyframes heroIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes scrollDot { 0% { transform: translateY(0); opacity: 0; } 35% { opacity: 1; } 100% { transform: translateY(14px); opacity: 0; } }
.hero__stats {
  width: min(100%, 920px);
  margin: 2rem auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 28px;
  background: rgba(255,255,255,.13);
  box-shadow: 0 24px 60px rgba(0,0,0,.22);
  backdrop-filter: blur(14px);
  animation: heroIn .9s .32s var(--ease) both;
}
.hero__stats .counter {
  border-right: 1px solid rgba(255,255,255,.18);
  padding: 1.15rem 1rem;
}
.hero__stats .counter:last-child { border-right: 0; }
.hero__stats .counter:hover { background: rgba(255,255,255,.08); transform: none; }
.hero__stats .counter__number { color: #fff; font-size: clamp(1.8rem, 3vw, 2.75rem); }
.hero__stats .counter__label { color: rgba(255,255,255,.82); }


/* Mobile hero refinement */
@media (max-width: 767px) {
  .hero {
    min-height: auto;
    padding: 0;
  }
  .hero__content {
    width: min(100% - 32px, 680px);
    padding: calc(var(--header-h) + 2.2rem) 0 3.4rem;
  }
  .hero h1 {
    max-width: 10.8em;
    margin-inline: auto;
    font-size: clamp(2.2rem, 9.2vw, 3rem);
    line-height: 1.06;
    letter-spacing: -.04em;
  }
  .hero .lead {
    max-width: 32ch;
    margin-top: 1.05rem;
    font-size: clamp(1.02rem, 4.2vw, 1.18rem);
    line-height: 1.55;
  }
  .hero__actions {
    width: 100%;
    margin-top: 1.55rem;
  }
  .hero__actions .btn {
    width: 100%;
  }
  .hero__stats {
    width: min(100%, 640px);
    max-width: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1.85rem;
    border-radius: 28px;
    overflow: hidden;
  }
  .hero__stats .counter {
    min-width: 0;
    padding: 1rem .45rem 1.05rem;
    border-bottom: 0;
    border-right: 1px solid rgba(255,255,255,.18);
    display: grid;
    align-content: center;
    justify-items: center;
    text-align: center;
  }
  .hero__stats .counter:last-child {
    border-right: 0;
  }
  .hero__stats .counter__number {
    font-size: clamp(2rem, 10vw, 2.65rem);
    line-height: 1;
  }
  .hero__stats .counter__label {
    max-width: 7.4ch;
    margin-top: .5rem;
    font-size: clamp(.9rem, 3.8vw, 1.05rem);
    line-height: 1.2;
    text-align: center;
  }
}
@media (max-width: 360px) {
  .hero__content { width: min(100% - 24px, 680px); }
  .hero__stats .counter { padding-inline: .28rem; }
  .hero__stats .counter__number { font-size: 1.85rem; }
  .hero__stats .counter__label { font-size: .82rem; }
}
