/* ---- Hero ------------------------------------------------------------------ */
.hero {
  position: relative;
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(48px, calc(48px + (120 - 48) * ((100vw - 375px) / (1440 - 375))), 120px);
  padding: clamp(90px, calc(90px + (0) * 1), 100px) clamp(16px, calc(16px + (0) * 1), 16px) clamp(40px, calc(40px + (0) * 1), 40px);
  overflow: hidden;
  text-align: center;
  transition: min-height .5s cubic-bezier(.16,1,.3,1);
}
.hero__bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: -2;
}
.hero__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.75);
  z-index: -1;
}
.hero__main { display: flex; flex-direction: column; align-items: center; gap: clamp(28px, calc(28px + (53 - 28) * ((100vw - 375px) / (1440 - 375))), 53px); max-width: 640px; width: 100%; }
.hero__copy { display: flex; flex-direction: column; align-items: center; gap: clamp(16px, calc(16px + (34 - 16) * ((100vw - 375px) / (1440 - 375))), 34px); color: var(--color-white); }
.hero__title { font-weight: 700; line-height: 1.32; font-size: clamp(26px, calc(26px + (48 - 26) * ((100vw - 375px) / (1440 - 375))), 48px); }
.hero__title em { font-style: normal; color: var(--color-skyblue); }
.hero__desc { font-weight: 500; line-height: 1.5; font-size: clamp(15px, calc(15px + (24 - 15) * ((100vw - 375px) / (1440 - 375))), 24px); }

.hero__stats { display: flex; align-items: center; justify-content: center; gap: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (1440 - 375))), 20px); width: 100%; flex-wrap: wrap; }
.hero__stat { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--color-white); width: clamp(96px, calc(96px + (288 - 96) * ((100vw - 375px) / (1440 - 375))), 288px); }
.hero__stat-label { font-weight: 500; font-size: clamp(12px, calc(12px + (20 - 12) * ((100vw - 375px) / (1440 - 375))), 20px); white-space: nowrap; }
.hero__stat-value { font-weight: 700; font-size: clamp(24px, calc(24px + (48 - 24) * ((100vw - 375px) / (1440 - 375))), 48px); white-space: nowrap; }
.hero__stat-value em { font-style: normal; }
.hero__stat-num { color: #E9C776; }
.hero__divider { width: 1px; align-self: stretch; background: rgba(255,255,255,.35); }

@media (max-width: 767px) {
  .hero { gap: clamp(48px, calc(95px + (120 - 48) * ((100vw - 375px) / (1440 - 375))), 120px); }
}

.scroll-cue {
  position: absolute;
  bottom: clamp(16px, calc(16px + (32 - 16) * ((100vw - 375px) / (1440 - 375))), 32px);
  left: 50%; transform: translateX(-50%);
  color: var(--color-white);
  opacity: .8;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  font-size: 12px;
  animation: heroBounce 1.8s ease-in-out infinite;
}
@keyframes heroBounce { 0%,100%{ transform: translateX(-50%) translateY(0);} 50%{ transform: translateX(-50%) translateY(8px);} }
