/* Parkland hero only. Preserve the shared site, form, offer, and photo assets. */
#hero {
  min-height: 0;
  padding: 54px 0 100px;
}

#hero .hero-copy { max-width: 580px; }
#hero .eyebrow { margin-bottom: 22px; font-size: .875rem; }

/* Deliberate line breaks keep the dash with the lesson count, not the sticker. */
#hero h1 {
  margin: 0 0 34px;
  font-size: clamp(2.65rem, 4.7vw, 4.5rem);
  line-height: 1.06;
  letter-spacing: -.02em;
  text-wrap: wrap;
}
#hero .hero-title-line { display: block; }
#hero h1 .hl-sticker { margin-top: .12em; }

/* Ben has his own short introduction. The guarantee no longer wraps around him. */
#hero .founder-intro {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 0 0 26px;
}
#hero .founder-intro img {
  flex: none;
  width: 88px;
  height: 88px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid #fff;
}
#hero .founder-intro p {
  min-width: 0;
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.55;
  text-wrap: pretty;
}
#hero .founder-intro strong { display: block; font-size: 1.25rem; margin-bottom: 4px; }
#hero .founder-intro span { display: block; }
#hero .founder-intro p,
#hero .founder-intro strong,
#hero .founder-guarantee,
#hero .founder-guarantee strong,
#hero .founder-terms { color: #fff; }

#hero .hero-assurance { margin: 0; }
#hero .founder-guarantee {
  margin: 0;
  font-size: 1.375rem;
  line-height: 1.5;
  text-wrap: pretty;
}
#hero .founder-terms {
  display: inline-block;
  margin-top: 6px;
  font-size: .875rem;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#hero .hero-actions { margin: 26px 0 0; }
#hero .hero-actions .btn { min-height: 60px; }
#hero .hero-trust { margin-top: 28px; padding: 12px 6px; }
#hero .hero-trust strong { font-size: .875rem; }

/* Hold enough blue behind the wider white copy; keep the pool image on the right. */
#hero .hero-scrim {
  background: linear-gradient(90deg, rgba(20,110,160,.97) 0%, rgba(20,110,160,.97) 49%, rgba(20,110,160,.6) 62%, rgba(20,110,160,0) 82%);
}
#hero :is(.founder-terms, .hero-actions a):focus-visible { outline-color: #fff; outline-offset: 5px; }

@media (min-width: 941px) and (max-width: 1240px) {
  #hero .hero-copy { max-width: 550px; }
  #hero .hero-scrim {
    background: linear-gradient(90deg, rgba(20,110,160,.97) 0%, rgba(20,110,160,.97) 56%, rgba(20,110,160,.55) 70%, rgba(20,110,160,0) 90%);
  }
}

/* Keep the main button in view on short laptops without squeezing the body copy. */
@media (min-width: 941px) and (max-height: 860px) {
  #hero { padding-top: 48px; padding-bottom: 80px; }
  #hero .eyebrow { margin-bottom: 16px; }
  #hero h1 { font-size: clamp(2.65rem, 4.4vw, 3.4rem); margin-bottom: 28px; }
  #hero .founder-intro { margin-bottom: 24px; }
  #hero .hero-actions { margin-top: 24px; }
}

@media (max-width: 940px) {
  #hero { padding: 40px 0 80px; }
  #hero .hero-copy { max-width: 580px; }
  #hero .hero-scrim {
    background: linear-gradient(180deg, rgba(20,110,160,.97) 0%, rgba(20,110,160,.97) 85%, rgba(20,110,160,.8) 100%);
  }
}

@media (max-width: 600px) {
  #hero { padding: 32px 0 72px; }
  #hero .hero-inner { padding-inline: 24px; }
  #hero .eyebrow { margin-bottom: 20px; }
  #hero h1 { font-size: clamp(2.3rem, 10.4vw, 3.5rem); margin-bottom: 30px; }
  #hero .founder-intro { gap: 16px; margin-bottom: 24px; }
  #hero .founder-intro img { width: 76px; height: 76px; }
  #hero .founder-intro p { font-size: 1rem; line-height: 1.5; }
  #hero .founder-intro strong { font-size: 1.125rem; }
  #hero .founder-guarantee { font-size: 1.125rem; line-height: 1.55; }
  #hero .hero-actions { margin-top: 24px; }
  #hero .hero-actions .btn { width: 100%; padding-inline: 18px; }
  #hero .hero-trust { margin-top: 24px; }
  #hero .hero-trust li { flex-direction: column; text-align: center; gap: 6px; padding-inline: 4px; }
  #hero .hero-trust strong { font-size: .875rem; line-height: 1.3; }
}

/* A narrow or enlarged-text layout gives the portrait and copy their own rows. */
@media (max-width: 350px) {
  #hero .founder-intro { flex-direction: column; align-items: flex-start; }
  #hero .hero-inner { padding-inline: 20px; }
  #hero h1 { font-size: 2.125rem; }
}
