/* Scoped to /personal-quote/ and /get-a-quote/ only. Do not link from other pages. */

/* Shrink the hero: less padding, smaller heading, tighter intro. */
.page-hero.hero-compact {
  padding-block: clamp(.65rem, 1.8vw, 1.05rem);
}
.page-hero.hero-compact h1 {
  font-size: clamp(1.4rem, 3vw, 1.85rem);
  margin: 0 0 .3rem;
  max-width: 36ch;
  line-height: 1.2;
}
.page-hero.hero-compact .lead,
.page-hero.hero-compact .lead p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.45;
}

#quote-form.section {
  padding-block: clamp(.65rem, 2vw, 1.1rem);
}
#quote-form + .section {
  padding-block: clamp(1rem, 2.5vw, 1.6rem);
}
#quote-form .form-card {
  padding: .75rem 1rem;
}
#quote-form .form-title {
  margin: 0 0 .4rem;
  font-size: 1.05rem;
}
#form-personal-quote {
  gap: .45rem;
}
#form-personal-quote .field {
  gap: .12rem;
  min-width: 0;
}
#form-personal-quote .field input,
#form-personal-quote .field textarea,
#form-personal-quote .field select {
  padding: .4rem .7rem;
  min-height: 40px;
  box-sizing: border-box;
  min-width: 0;
}
#form-personal-quote .field textarea {
  min-height: 72px;
}
#form-personal-quote .check-group {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .2rem .75rem;
}
#form-personal-quote .check-group legend {
  grid-column: 1 / -1;
  margin-bottom: .1rem;
}
#form-personal-quote .check-group .check {
  margin: 0;
  min-width: 0;
}
#form-personal-quote .turnstile-slot.is-challenge {
  margin: .15rem 0;
}

@media (min-width: 640px) {
  #form-personal-quote {
    grid-template-columns: 1fr 1fr;
    gap: .5rem .75rem;
  }
  #form-personal-quote .hp,
  #form-personal-quote .field:has(#form-personal-quote-email),
  #form-personal-quote .field:has(textarea),
  #form-personal-quote .check-group,
  #form-personal-quote .turnstile-slot,
  #form-personal-quote .form-note,
  #form-personal-quote .form-status,
  #form-personal-quote button[type="submit"] {
    grid-column: 1 / -1;
  }
  #form-personal-quote .check-group {
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  }
}
