/* ===== Hero ===== */
.home-hero {
  position: relative;
  background: linear-gradient(140deg, var(--navy) 0%, var(--grad1) 45%, var(--grad2) 100%);
  color: #fff;
  overflow: hidden;
}

.home-hero-inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-8) var(--space-6) var(--space-7);
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: var(--space-6);
  align-items: center;
}

.home-hero-eyebrow { color: var(--g-bright); margin-bottom: var(--space-4); }

.home-hero-headline {
  font: 700 var(--text-hero)/1.08 var(--font-heading);
  margin: 0 0 var(--space-4);
}

.home-hero-subhead {
  font-size: var(--text-lg);
  color: rgba(255, 255, 255, 0.82);
  max-width: 540px;
  margin: 0 0 var(--space-6);
}

.home-hero-actions { display: flex; gap: var(--space-3); align-items: center; flex-wrap: wrap; }

.home-hero-image {
  aspect-ratio: 4 / 3;
  border-color: rgba(255, 255, 255, 0.3);
  background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.06) 0 10px, transparent 10px 20px);
  color: rgba(255, 255, 255, 0.65);
}

.home-ticker {
  position: relative;
  background: rgba(255, 255, 255, 0.08);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-3) var(--space-6);
  display: flex;
  gap: var(--space-3);
  align-items: center;
  font: 600 var(--text-sm) var(--font-heading);
  letter-spacing: 0.05em;
  color: var(--g-bright2);
}

.home-ticker-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold);
  flex: none;
}

/* ===== About ===== */
.home-about { background: #fff; }

.home-about-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-8) var(--space-6);
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--space-7);
  align-items: center;
}

.home-about-heading {
  font: 600 var(--text-3xl)/1.15 var(--font-heading);
  margin: var(--space-4) 0 var(--space-4);
}

.home-about-body { color: var(--ink2); max-width: 560px; margin: 0 0 var(--space-5); }

.home-about-actions { display: flex; gap: var(--space-4); align-items: center; flex-wrap: wrap; }

.home-about-link { font-weight: 600; }

.home-about-image {
  aspect-ratio: 4 / 3;
}

/* ===== Sites ===== */
.home-sites {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-8) var(--space-6);
}

.home-sites-heading { font: 600 var(--text-3xl)/1.15 var(--font-heading); margin: 0 0 var(--space-3); }
.home-sites-body { color: var(--ink2); max-width: 640px; margin: 0 0 var(--space-6); }

.home-sites-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}

.home-site-card { padding: 0; overflow: hidden; }

.home-site-card-image { aspect-ratio: 16 / 9; border-radius: 0; border: none; }

.home-site-card-body { padding: var(--space-5); }

.home-site-card-name { font: 600 var(--text-xl) var(--font-heading); margin-bottom: var(--space-2); }
.home-site-card-desc { font-size: var(--text-sm); color: var(--muted); margin: 0 0 var(--space-4); }

.home-site-card-actions { display: flex; gap: var(--space-3); align-items: center; flex-wrap: wrap; }
.home-site-card-lock { font: italic 400 var(--text-xs) var(--font-body); color: var(--faint); }

/* ===== Key dates ===== */
.home-dates { background: #fff; border-block: 1px solid rgba(14, 42, 82, 0.08); }

.home-dates-inner { max-width: 1200px; margin: 0 auto; padding: var(--space-8) var(--space-6); }

.home-dates-heading { font: 600 var(--text-3xl)/1.15 var(--font-heading); margin: 0 0 var(--space-6); }

.home-dates-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
}

.home-date-card { background: var(--bg); border-radius: var(--radius-md); padding: var(--space-5); }

.home-date-card-highlighted {
  background: linear-gradient(135deg, var(--navy), var(--grad4));
  color: #fff;
}

.home-date-card-number {
  font: 600 var(--text-xs) var(--font-heading);
  letter-spacing: var(--tracking-eyebrow);
  color: var(--green);
  margin-bottom: var(--space-3);
}

.home-date-card-highlighted .home-date-card-number { color: var(--g-bright); }

.home-date-card-label { font: 600 var(--text-lg) var(--font-heading); margin-bottom: var(--space-2); color: var(--navy); }
.home-date-card-highlighted .home-date-card-label { color: #fff; }

.home-date-card-value { font: 500 var(--text-md) var(--font-body); color: var(--muted); }
.home-date-card-highlighted .home-date-card-value { color: var(--gold2); }

.home-interim-dates {
  margin-top: var(--space-5);
  padding: var(--space-4) var(--space-5);
  background: var(--g-tint1);
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  color: var(--ink2);
  display: flex;
  gap: var(--space-3);
  align-items: baseline;
  flex-wrap: wrap;
}

.home-interim-dates strong { color: var(--green-deep); white-space: nowrap; }

.home-dates-link { margin-top: var(--space-4); }

/* ===== Prizes / Convened by ===== */
.home-prizes {
  background: linear-gradient(135deg, var(--navy), var(--grad3));
  color: #fff;
}

.home-prizes-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-8) var(--space-6);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-7);
  align-items: center;
}

.home-prizes-eyebrow { color: var(--g-bright); }

.home-prizes-heading { font: 600 var(--text-3xl)/1.2 var(--font-heading); margin: var(--space-4) 0 var(--space-4); }

.home-prizes-amount { color: var(--gold2); }

.home-prizes-body { color: rgba(255, 255, 255, 0.75); margin: 0 0 var(--space-6); }

.home-partners-label {
  font: 600 var(--text-xs) var(--font-heading);
  letter-spacing: var(--tracking-eyebrow);
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
  margin-bottom: var(--space-4);
}

.home-partners-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-3);
}

.home-partner-tile {
  aspect-ratio: 4 / 3;
  background: #fff;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-3);
}

.home-partner-tile img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* ===== Responsive ===== */
@media (max-width: 900px) {
  .home-hero-inner,
  .home-about-grid,
  .home-prizes-inner {
    grid-template-columns: 1fr;
  }
  .home-sites-grid { grid-template-columns: 1fr; }
  .home-dates-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
  .home-dates-grid,
  .home-partners-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
