/* Esther Story Typography Unified
   Safer version: matches Story page readability without oversized broken titles.
   Applies to subpages only. Homepage excluded by not linking this file to index.html. */

.esther-subpage main,
.esther-subpage main * {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Keep fixed-header pages from sliding under the nav */
.esther-subpage main,
.esther-subpage .tech-page-main,
.esther-subpage .legal-page-main,
.esther-subpage .guided-main {
  padding-top: 138px !important;
}

/* Hero titles: Story-style, but not absurdly tall */
.esther-subpage main h1,
.esther-subpage .tech-page-hero h1,
.esther-subpage .legal-hero h1,
.esther-subpage .contact-review-hero h1,
.esther-subpage .case-study-copy-panel h1,
.esther-subpage .tech-clean-copy-panel h1 {
  color: #ffffff !important;
  font-weight: 650 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.05 !important;
  text-transform: none !important;
  font-size: clamp(3rem, 4.2vw, 5.8rem) !important;
}

/* Guided Access retired/legacy page safety */
.esther-subpage.guided-access-page main h1,
.esther-subpage.guided-access-page .guided-hero h1 {
  font-size: clamp(2.8rem, 4vw, 5rem) !important;
  line-height: 1.06 !important;
  max-width: 900px !important;
}

/* Section titles */
.esther-subpage main h2,
.esther-subpage .tech-section h2,
.esther-subpage .legal-document h2,
.esther-subpage .contact-review-form h2,
.esther-subpage .guided-form h2,
.esther-subpage .guided-output h2 {
  color: #ffffff !important;
  font-weight: 650 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  font-size: clamp(2rem, 2.55vw, 3.4rem) !important;
}

/* Card titles */
.esther-subpage main h3,
.esther-subpage .tech-card h3,
.esther-subpage .tech-wide-card h3,
.esther-subpage .tech-contact-card h3,
.esther-subpage .case-architecture-grid h3 {
  color: #ffffff !important;
  font-weight: 650 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.16 !important;
  text-transform: none !important;
}

/* Paragraphs: match Story page readable tone */
.esther-subpage main p:not(.tech-kicker):not(.legal-kicker):not(.guided-kicker):not(.story-v2-kicker):not(.esther-footer-copy):not(.esther-footer-status),
.esther-subpage main li,
.esther-subpage .legal-document p,
.esther-subpage .tech-section p,
.esther-subpage .contact-review-form p,
.esther-subpage .case-study-copy-panel p:not(.tech-kicker),
.esther-subpage .tech-clean-copy-panel p:not(.tech-clean-kicker) {
  color: rgba(226, 232, 240, 0.94) !important;
  font-size: clamp(1.08rem, 0.72vw, 1.2rem) !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* Hero paragraphs */
.esther-subpage .tech-page-hero p:not(.tech-kicker),
.esther-subpage .legal-hero p:not(.legal-kicker),
.esther-subpage .contact-review-hero p:not(.tech-kicker),
.esther-subpage .guided-hero p:not(.guided-kicker),
.esther-subpage .case-study-copy-panel p:not(.tech-kicker),
.esther-subpage .tech-clean-copy-panel p:not(.tech-clean-kicker) {
  max-width: 900px !important;
  font-size: clamp(1.12rem, 0.82vw, 1.26rem) !important;
  line-height: 1.72 !important;
}

/* Labels / kickers */
.esther-subpage .tech-kicker,
.esther-subpage .legal-kicker,
.esther-subpage .guided-kicker,
.esther-subpage .story-v2-kicker,
.esther-subpage .story-v2-section-label,
.esther-subpage .story-card-label {
  color: rgb(34, 211, 238) !important;
  font-size: 0.86rem !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Footer text stays smaller */
.esther-subpage .esther-global-footer p,
.esther-subpage .esther-global-footer a,
.esther-subpage .esther-footer-bottom p,
.esther-subpage .esther-footer-status {
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
}

/* Mobile */
@media (max-width: 900px) {
  .esther-subpage main,
  .esther-subpage .tech-page-main,
  .esther-subpage .legal-page-main,
  .esther-subpage .guided-main {
    padding-top: 106px !important;
  }

  .esther-subpage main h1,
  .esther-subpage .tech-page-hero h1,
  .esther-subpage .legal-hero h1,
  .esther-subpage .contact-review-hero h1,
  .esther-subpage .guided-hero h1,
  .esther-subpage .case-study-copy-panel h1,
  .esther-subpage .tech-clean-copy-panel h1 {
    font-size: clamp(2.55rem, 10vw, 4.5rem) !important;
    line-height: 1.06 !important;
  }

  .esther-subpage main h2,
  .esther-subpage .tech-section h2,
  .esther-subpage .legal-document h2,
  .esther-subpage .contact-review-form h2 {
    font-size: clamp(1.9rem, 7.5vw, 3rem) !important;
  }

  .esther-subpage main p:not(.tech-kicker):not(.legal-kicker):not(.guided-kicker):not(.story-v2-kicker),
  .esther-subpage main li {
    font-size: 1.02rem !important;
    line-height: 1.68 !important;
  }
}
