/* ChatGPT-style readable font override
   Clean system sans-serif. No futuristic text styling for body content. */

:root {
  --chatgpt-font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Apply clean readable font to the whole Esther site */
body,
main,
section,
article,
div,
p,
span,
li,
small,
a,
button,
input,
textarea,
select,
label,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--chatgpt-font) !important;
}

/* Paragraphs: readable, not bold */
p,
main p,
section p,
article p,
li,
small,
span {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.65 !important;
}

/* Headings: clean and strong, not sci-fi spaced out */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.08 !important;
}

/* Hero titles should stay elegant but readable */
.story-v3-copy-panel h1,
.story-v2-main h1,
.story-v2-main h2,
.story-v2-main h3,
.home-page main h1,
.home-page main h2,
.home-page main h3 {
  font-family: var(--chatgpt-font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.02 !important;
}

/* Section labels: readable but still branded */
.story-v2-kicker,
.story-v2-section-label,
.story-card-label,
.story-v3-copy-panel .story-v2-kicker,
.heading-futuristic,
.section-kicker {
  font-family: var(--chatgpt-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Buttons and nav: clean, not overly spaced */
.esther-global-nav a,
.esther-mobile-menu a,
.story-v2-btn,
.esther-terminal-btn,
button,
a {
  font-family: var(--chatgpt-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

/* Footer: consistent readable font */
.esther-global-footer,
.esther-global-footer * {
  font-family: var(--chatgpt-font) !important;
  letter-spacing: 0.02em !important;
}

.esther-footer-copy,
.esther-footer-col p,
.esther-footer-status {
  font-weight: 400 !important;
}

.esther-footer-col a,
.esther-footer-col h4 {
  font-weight: 700 !important;
}

/* Keep body text comfortable */
main p,
.story-v2-main p,
.home-page main p {
  font-size: 1rem !important;
  line-height: 1.68 !important;
}

/* Keep overlay text readable */
.story-v3-copy-panel p:not(.story-v2-kicker) {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
}

/* Slightly reduce extreme all-caps feeling */
.story-v3-copy-panel h1 {
  text-transform: none !important;
}

/* Final paragraph readability correction */
p,
main p,
section p,
article p,
li,
small {
  font-size: 1.12rem !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* Story page body text */
.story-v2-main p,
.story-v2-page p,
.story-v3-copy-panel p:not(.story-v2-kicker),
.story-v2-main li,
.story-v2-page li {
  font-size: 1.15rem !important;
  line-height: 1.72 !important;
}

/* Hero overlay paragraph */
.story-v3-copy-panel p:not(.story-v2-kicker) {
  font-size: 1.08rem !important;
  line-height: 1.65 !important;
  max-width: 430px !important;
}

/* Homepage body text */
.home-page main p:not(.heading-futuristic):not(.section-kicker),
.home-page .home-panel p:not(.heading-futuristic):not(.section-kicker),
.home-page .system-node p:not(.heading-futuristic):not(.section-kicker),
.home-page .metric-chip p:not(.heading-futuristic):not(.section-kicker) {
  font-size: 1.12rem !important;
  line-height: 1.7 !important;
}

/* Card descriptions */
.story-v2-module-row p,
.story-v2-founder-copy p,
.story-v2-origin p,
.story-v2-video p,
.story-v2-final-cta p {
  font-size: 1.16rem !important;
  line-height: 1.74 !important;
}

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

/* Mobile */
@media (max-width: 700px) {
  p,
  main p,
  section p,
  article p,
  li,
  small {
    font-size: 1rem !important;
    line-height: 1.68 !important;
  }

  .story-v3-copy-panel p:not(.story-v2-kicker) {
    font-size: 1rem !important;
  }
}
