.home-hero {
  position: relative;
  overflow: hidden;
  min-height: 700px;
  display: grid;
  align-items: center;
  padding: clamp(4rem, 9vw, 7rem) 0;
  background:
    radial-gradient(circle at 82% 22%, rgba(20, 155, 215, .28), transparent 28%),
    linear-gradient(135deg, #0b1822 0%, #10212f 55%, #123b52 100%);
  color: #ffffff;
}
.home-hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.home-hero h1 { max-width: 820px; margin: 0; font-size: clamp(3rem, 7.4vw, 6.5rem); line-height: .96; letter-spacing: -.055em; }
.home-hero__lead { max-width: 700px; margin: 1.4rem 0 0; color: #d9ecf5; font-size: clamp(1.12rem, 2.25vw, 1.4rem); }
.home-hero .site-button-row { margin-top: 1.8rem; }
.home-hero__identity { position: relative; min-height: 410px; display: grid; place-items: center; }
.home-hero__mark { position: relative; z-index: 2; width: min(76%, 310px); filter: drop-shadow(0 24px 38px rgba(0, 0, 0, .22)); }
.home-hero__caption { position: absolute; z-index: 3; right: 0; bottom: 0; max-width: 280px; padding: 1rem; border: 1px solid rgba(255, 255, 255, .2); border-radius: 12px; background: rgba(8, 23, 33, .78); color: #cdeaf6; font-weight: 800; backdrop-filter: blur(12px); }
.home-hero__caption strong { display: block; margin-bottom: .25rem; color: #ffffff; font-size: 1.15rem; }
.home-proof { position: relative; z-index: 2; margin-top: -2.4rem; }
.home-proof .site-credibility { box-shadow: var(--site-shadow-large); }

.home-audience-card { position: relative; overflow: hidden; min-height: 330px; display: flex; flex-direction: column; }
.home-audience-card .site-card__marker { position: relative; z-index: 1; }
.home-audience-card .site-button-row { margin-top: auto; padding-top: 1.5rem; }
.home-audience-list { display: grid; gap: .65rem; margin: 1.25rem 0 0; padding-left: 1.3rem; color: var(--site-colour-muted); }
.home-audience-list li { padding-left: .2rem; }
.home-audience-list li::marker { color: var(--site-colour-brand); }
.home-audience-card--families .home-audience-list li::marker { color: var(--site-colour-positive); }

.home-method-grid { counter-reset: method; }
.home-method-grid .site-card { box-shadow: none; }
.home-method-grid .site-card__marker { counter-increment: method; }
.home-method-grid .site-card__marker::before { content: "0" counter(method); }

.home-availability { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.home-availability__panel { padding: clamp(1.5rem, 4vw, 2.6rem); border-radius: var(--site-radius-large); background: var(--site-colour-ink); color: #ffffff; box-shadow: var(--site-shadow-large); }
.home-availability__panel h3 { margin: 0 0 1.2rem; font-size: 1.35rem; }
.home-availability__items { display: grid; gap: .8rem; }
.home-availability__item { padding: 1rem; border: 1px solid rgba(255, 255, 255, .17); border-radius: 10px; background: rgba(255, 255, 255, .07); }
.home-availability__item strong { display: block; color: #ffffff; }
.home-availability__item span { color: #c9dfe9; }

@media (max-width: 900px) {
  .home-hero { min-height: auto; }
  .home-hero__layout { grid-template-columns: 1fr; }
  .home-hero__identity { min-height: 300px; }
  .home-hero__mark { width: 190px; }
  .home-availability { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .home-hero__identity { min-height: 250px; }
  .home-hero__mark { width: 150px; }
  .home-hero__caption { max-width: 220px; font-size: .9rem; }
  .home-proof { margin-top: -1.2rem; }
}
