/*
 * Shared text roles for the served build; do not rebuild the legacy src app.
 * Loaded after shell overrides, before paint. `html` deliberately gives these
 * scoped rules priority over both compiled CSS and the late Support stylesheet.
 * Never target generic p/h1/button elements: heroes, art, forms and chrome have
 * their own hierarchy. Keep font family, weight, colour and spacing in owners.
 */
:root {
  --zeen-type-body: 18px;
  --zeen-type-intro: 20px;
  --zeen-type-question: 20px;
  --zeen-type-title: clamp(32px, 2.4vw + 21.4px, 56px);
  --zeen-type-section: clamp(20px, 2.3vw, 26px);
}
@media (width < 768px) {
  :root {
    --zeen-type-body: 16px;
    --zeen-type-intro: 18px;
    --zeen-type-question: 18px;
  }
}

html .content-page__title,
html .terms__title,
html [class*="_finance_"] h1,
html .faqs h2 {
  font-size: var(--zeen-type-title);
  line-height: 1.12;
}

html .content-page__section > h2,
html .terms__section > h2,
html .support-page h2,
html .mcp-block h2,
html [class*="_finance__label_"],
html [class*="_finance__content_"] > div {
  font-size: var(--zeen-type-section);
  line-height: 1.2;
}

/* Legal lists explicitly include nested paragraphs/items, defeating the
 * compiled `.terms__section ul li` size rather than relying on inheritance. */
html .content-page__section > :not(h2),
html .content-page__section .content-page__sub,
html .content-page__section :is(p, li),
html .terms__section > :not(h2),
html .terms__section :is(p, li) {
  font-size: var(--zeen-type-body);
  line-height: 1.65;
}

html [class*="_finance__content_"] p,
html .finance_info__content > p:not(:last-of-type),
html .faqs [class*="_accordion__body_"],
html .mcp-acc [class*="_accordion__body_"],
html .support-page :is(dt, dd, .support-founder),
html .support-page aside > a,
html .mcp-body .mcp-text,
html .mcp-list p,
html .mcp-steps li > p,
html .mcp-steps__body > p,
html .mcp-opt__row p,
html .mcp-panel p:not(.mcp-help),
html .mcp-callout__body p,
html .mcp-toolrow p,
html .mcp-works__value,
html .mcp-ask__q,
html .mcp-teaser__text,
html .autonomous_finance__list-text,
html .autonomous_finance__old_way p,
html .zeen_works__step-description,
html .three_agents__info p,
html .three_agents__mobile-info p,
html .who-is-it-for__question-text,
html [class*="_sign_up__list_"] > div {
  font-size: var(--zeen-type-body);
  line-height: 1.5;
}

html .section__description,
html .who-is-it-for__description,
html .support-page .support-intro,
html [class*="_sign_up__description_m"] {
  font-size: var(--zeen-type-intro);
  line-height: 1.5;
}

html .faqs [class*="_accordion__title_"],
html .mcp-acc [class*="_accordion__title_"]:not(.mcp-acc__mono) {
  font-size: var(--zeen-type-question);
  line-height: 1.4;
}

/* These are hints, not prose, even inside an installation panel. */
html .mcp-panel .mcp-help { font-size: 14px; }
