/* ===========================================
   HERO
   =========================================== */
.hero {
  position: relative;
  background: var(--teal);
  padding-top: var(--nav-height);
  padding-bottom: var(--hero-pad-bottom);
  overflow: hidden;
}
.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.4) brightness(0.5);
}
.hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(11, 48, 48, 0.65) 0%, rgba(11, 48, 48, 0.3) 60%, rgba(11, 48, 48, 0.55) 100%);
}
.hero-inner {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: var(--hero-inner-pad-y) 48px;
  position: relative;
  z-index: 1;
  min-height: var(--hero-min-height);
  display: flex;
  align-items: center;
}
.hero-text {
  max-width: 820px;
}
.hero-text > * {
  opacity: 0;
  transform: translateY(20px);
}
.hero-text.visible > * {
  animation: fadeUp 0.7s var(--ease-out) forwards;
}
.hero-text.visible > *:nth-child(1) { animation-delay: 0s; }
.hero-text.visible > *:nth-child(2) { animation-delay: 0.1s; }
.hero-text.visible > *:nth-child(3) { animation-delay: 0.2s; }
@keyframes fadeUp {
  to { opacity: 1; transform: translateY(0); }
}
.hero h1 {
  font-family: var(--font-heading);
  font-size: clamp(40px, 5.5vw, 76px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--white);
}
.hero-your {
  color: var(--white);
  opacity: 0;
  position: absolute;
  pointer-events: none;
}
.hero-your.in-flow {
  position: static;
}
.hero-your.visible {
  opacity: 1;
  transition: opacity 0.6s ease;
}
.hero-slide {
  display: inline-block;
  will-change: transform;
}
.hero-cycling {
  color: var(--orange);
  transition: opacity 0.4s ease;
}
.hero-sub {
  font-size: 20px;
  line-height: 1.65;
  color: rgba(255,255,255,0.7);
  margin-top: 24px;
  max-width: 560px;
}
/* ===========================================
   AWARDS
   =========================================== */
@media (max-width: 768px) {
  .hero-inner {
    padding: 67px 24px;
    min-height: 266px;
  }
  .hero { padding-bottom: 42px; }
  .hero h1 { font-size: clamp(28px, 8vw, 40px); }
}
