/* Layout glue: questionnaire (top) + main.css marketing (below) */
main.questionnaire-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* Dark top block (headline + form): same language as .hero in main.css */
.header-and-questionnaire {
  position: relative;
  overflow: hidden;
  background-color: var(--dark, #08152b);
  background-image: radial-gradient(rgba(58, 173, 222, 0.26) 1px, transparent 1px);
  background-size: 26px 26px;
  background-attachment: fixed;
}
.header-and-questionnaire::after {
  content: "";
  position: absolute;
  width: 700px;
  height: 700px;
  top: -220px;
  left: -180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(58, 173, 222, 0.09) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}
.header-and-questionnaire .dot-grid {
  display: none;
}
.header-and-questionnaire .q-hero-intro,
.header-and-questionnaire .questionnaire-page {
  position: relative;
  z-index: 1;
}
.header-and-questionnaire .q-hero-intro {
  background: transparent;
}
.header-and-questionnaire .questionnaire-page {
  background: transparent;
}

/* Watermark (same as .hero .hero-watermark) — behind the form shell */
.header-and-questionnaire .questionnaire-page .hero-watermark--questionnaire {
  will-change: transform;
  position: absolute;
  right: -40px;
  bottom: -60px;
  width: 520px;
  height: 520px;
  max-width: 78vw;
  max-height: 78vw;
  aspect-ratio: 1;
  opacity: 0.04;
  pointer-events: none;
  z-index: 0;
  user-select: none;
}
.header-and-questionnaire .questionnaire-page .hero-watermark--questionnaire img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

/* Headline + proof above embed (light when not inside .header-and-questionnaire) */
.q-hero-intro {
  flex: 0 0 auto;
  width: 100%;
  padding: 40px 32px 0;
  box-sizing: border-box;
  background: var(--bg, #f7f8fc);
  position: relative;
  overflow: hidden;
}

.q-hero-intro__inner {
  width: min(1180px, 100%);
  margin: 0 auto 28px;
  text-align: center;
  position: relative;
  z-index: 1;
}

.q-hero-intro h1 {
  font-size: clamp(24px, 3.2vw, 44px);
  font-weight: 900;
  color: var(--text, #0d1e3a);
  line-height: 1.08;
  letter-spacing: -1.2px;
  margin: 0;
}

.q-hero-intro h1 .highlight {
  position: relative;
  display: inline-block;
  color: var(--text, #0d1e3a);
  z-index: 0;
}

.q-hero-intro h1 .highlight::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0px;
  height: 3px;
  border-radius: 2px;
  background: var(--teal, #3aadde);
  z-index: -1;
}

.q-hero-intro .hero-badge {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 16px;
}

/* Social proof: row of overlapping avatars + left-aligned text */
.q-hero-intro .hero-proof {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px 18px;
  margin-top: 20px;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.q-hero-intro .proof-avatars {
  display: flex;
  flex-direction: row;
  flex-shrink: 0;
  padding: 0 2px;
}
.q-hero-intro .proof-avatars span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid var(--bg, #f7f8fc);
  background: #e0e7f0;
  color: var(--navy, #0d2044);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  margin-left: -10px;
  box-sizing: border-box;
}
.q-hero-intro .proof-avatars span:first-child {
  margin-left: 0;
}
.q-hero-intro .proof-text {
  color: var(--muted, #64748b);
  font-size: 13px;
  line-height: 1.45;
  text-align: left;
  min-width: 0;
}
.q-hero-intro .proof-text strong {
  display: block;
  color: var(--text, #0d1e3a);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 2px;
}

/* Typographic overrides for dark .header-and-questionnaire (must follow generic .q-hero-intro rules) */
.header-and-questionnaire .q-hero-intro h1,
.header-and-questionnaire .q-hero-intro h1 .highlight {
  color: var(--white, #fff);
}
.header-and-questionnaire .q-hero-intro .proof-text {
  color: #94a3b8;
}
.header-and-questionnaire .q-hero-intro .proof-text strong {
  color: #e2e8f0;
  font-size: 14px;
  font-weight: 700;
}
.header-and-questionnaire .q-hero-intro .proof-avatars span {
  border: 2px solid var(--dark, #08152b);
  background: #1e3a5f;
  color: #7dd3fc;
  box-shadow: none;
}

.questionnaire-main .q-hero-intro + .questionnaire-page {
  padding-top: 12px;
}

@media (max-width: 640px) {
  .q-hero-intro {
    padding: 20px 16px 0;
  }
  .q-hero-intro .hero-badge {
    font-size: 9px;
    margin-bottom: 12px;
  }
}

/* Top block sizes to the shell and embed; no full-viewport min-height */
.questionnaire-main .questionnaire-page {
  min-height: auto;
  flex: 0 0 auto;
}

.questionnaire-landing-below {
  flex: 0 0 auto;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: var(--bg, #f7f8fc);
}

#hero,
#questionnaire-embed,
#coverage-highlights,
#coverage-faq,
#how-it-works,
#about {
  scroll-margin-top: 80px;
}

@media (max-width: 640px) {
  #hero,
  #questionnaire-embed,
  #coverage-highlights,
  #coverage-faq,
  #how-it-works,
  #about {
    scroll-margin-top: 64px;
  }
}
