/* Shared readability layer for React and standalone Coaching documents.
   Load after each page's existing stylesheets. */
:root {
  --readability-body-size: 1rem;
  --readability-body-leading: 1.65;
  --readability-compact-h1: clamp(1.9rem, 3.2vw, 2.65rem);
  --readability-compact-h2: clamp(1.55rem, 2.5vw, 2.1rem);
}
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/inter-latin.woff2") format("woff2");
}

body {
  font-family: Inter, "Segoe UI", sans-serif;
  font-size: var(--readability-body-size);
  line-height: var(--readability-body-leading);
}

main p,
main li,
main label,
main input,
main select,
main textarea,
.marketing-page p,
.marketing-page li {
  font-size: 1rem !important;
  line-height: var(--readability-body-leading) !important;
}

main h1,
.marketing-page h1 {
  font-size: var(--readability-compact-h1) !important;
  line-height: 1.16 !important;
  letter-spacing: -.035em !important;
}

main h2,
.marketing-page h2 {
  font-size: var(--readability-compact-h2) !important;
  line-height: 1.22 !important;
  letter-spacing: -.025em !important;
}

main h3,
.marketing-page h3 {
  font-size: 1.2rem !important;
  line-height: 1.3 !important;
}

.site-page-faqs { padding: clamp(40px, 6vw, 72px) 24px; background: #f5f7f4; color: #183047; }
.site-faq-inner { max-width: 900px; margin-inline: auto; }
.site-page-faqs h2 { font-size: var(--readability-compact-h2); line-height: 1.25; margin: 0 0 24px; }
.site-page-faqs details { padding: 18px 0; border-bottom: 1px solid #ced9d6; }
.site-page-faqs summary { cursor: pointer; font-size: 1rem; line-height: 1.5; font-weight: 600; }
.site-page-faqs p { margin: 12px 0 0; font-size: 1rem; line-height: 1.65; max-width: 75ch; }
.site-page-faqs summary:focus-visible { outline: 3px solid #1261a0; outline-offset: 4px; }

/* Reusable editorial crowd photograph hero; copy stays above the dark wash. */
.readability-crowd-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #182a35;
  background-image:
    linear-gradient(90deg, rgba(11, 24, 34, .88), rgba(11, 24, 34, .58)),
    url("/images/home/audience-hero.webp");
  background-position: center, center 56%;
  background-size: cover;
  color: #fff;
}

.readability-crowd-hero > * {
  position: relative;
  z-index: 1;
}
.readability-crowd-hero > .absolute { position: absolute; }
.about-hero.readability-crowd-hero .about-secondary-link {
  color: #fff !important;
}

.readability-crowd-hero h1,
.readability-crowd-hero h2 {
  color: #fff !important;
}

.readability-crowd-hero h1 *,
.readability-crowd-hero h2 * {
  color: inherit !important;
}

.readability-crowd-hero [data-testid="text-badge"] {
  color: #183047;
}

.readability-crowd-hero p {
  color: #edf2f3 !important;
}

.readability-crowd-hero a:not(.marketing-button):not(.about-button):not(.contact-button) {
  color: #fff;
}

.readability-crowd-hero :focus-visible {
  outline: 3px solid #f2cf76;
  outline-offset: 3px;
}

.about-hero.readability-crowd-hero,
.contact-hero.readability-crowd-hero {
  background-color: #182a35;
}

.about-hero.readability-crowd-hero h1,
.contact-hero.readability-crowd-hero h1 {
  color: #fff;
}

.about-hero.readability-crowd-hero .about-eyebrow,
.contact-hero.readability-crowd-hero .contact-eyebrow {
  color: #f2cf76;
}

.about-hero.readability-crowd-hero .about-hero-lede,
.contact-hero.readability-crowd-hero .contact-hero-intro {
  color: #edf2f3;
}

.about-hero.readability-crowd-hero::before,
.about-hero.readability-crowd-hero::after,
.contact-hero.readability-crowd-hero::before,
.contact-hero.readability-crowd-hero::after {
  display: none;
}

.coaching-partnership-page .marketing-hero.readability-crowd-hero {
  background-color: #182a35;
  background-image:
    linear-gradient(90deg, rgba(11, 24, 34, .88), rgba(11, 24, 34, .58)),
    url("/images/home/audience-hero.webp");
}

.coaching-partnership-page .marketing-hero.readability-crowd-hero .marketing-eyebrow {
  color: #f2cf76;
}

.coaching-partnership-page .marketing-hero.readability-crowd-hero .summary {
  color: #edf2f3;
}
.readability-crowd-hero .coaching-button-secondary {
  color: #fff !important;
  border-color: #d7e5ee;
}
.readability-crowd-hero .coaching-button-secondary:hover {
  background-color: #fff;
  color: #183047 !important;
}
.contact-hero.readability-crowd-hero .contact-hero-note p,
.about-hero.readability-crowd-hero .about-hero-note p {
  color: #183047 !important;
}
.readability-crowd-hero .contact-button-outline {
  background: #fff;
  color: #183047;
}

.business-scorecard .scorecard-hero.readability-crowd-hero {
  background-image: linear-gradient(90deg, rgba(11,24,34,.9), rgba(11,24,34,.7)), url("/images/home/audience-hero.webp");
}
.business-scorecard .readability-crowd-hero .scorecard-pillars,
.business-scorecard .readability-crowd-hero .hero-index {
  color: #183047;
}
.business-scorecard .readability-crowd-hero .scorecard-pillars { background: #f5f7f4; padding: 16px; }
.business-scorecard .readability-crowd-hero .hero-copy .eyebrow { color: #f2cf76; }

@media (max-width: 767px) {
  :root {
    --readability-compact-h1: clamp(1.8rem, 7vw, 2.25rem);
    --readability-compact-h2: clamp(1.45rem, 5.5vw, 1.85rem);
  }

  .readability-crowd-hero {
    background-image:
      linear-gradient(90deg, rgba(11, 24, 34, .9), rgba(11, 24, 34, .72)),
      url("/images/home/audience-hero.webp");
    background-position: center, 58% center;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
}
