/* Readability only. No layout, no gutters, no grid.
   Site chrome and page copy. Mock UIs (app preview, yield cards, phone screens) stay as drawn. */

.eyebrow,
.film-copy .eyebrow,
.page-film .eyebrow,
.custody-presence .eyebrow,
.closing .eyebrow,
.page-film-foot,
.film-bottom > p,
.film-audiences a,
.footer-bottom,
.footer-col h2,
.ecosystem-note,
.yield-benefits,
.outcome-grid article > span,
.outcome-row > div > span,
.scenario-kicker,
.persona-value > span,
.scenario-audience,
.persona-copy > .scenario-audience,
.company-founder h2,
.boundary-role-label,
.boundary-role-index,
.workbench-output span,
.audit-card-top,
.audit-card-bottom,
.foundation-audit > span:first-child,
.foundation-date,
.foundation-standard span,
.foundation-protocols > span,
.sp-small-label,
.sp-tags span,
.company-stack article > span,
.ex-step-number,
.hero-caption,
.hero-bottom > p,
.hero-segments a {
  font-size: 13px;
}

.trust-facts p { font-size: 14px; }
.custody-points p { font-size: 15px; }
.outcome-row p { font-size: 15px; }
.product-copy .body-copy { font-size: 15px; }
.faq-list details p { font-size: 15px; }
.product-tabs button { font-size: 13px; min-height: 44px; }

.button:hover,
.button:focus-visible,
.nav-review:hover,
.nav-review:focus-visible,
.menu-toggle:hover,
.menu-toggle:focus-visible,
.nav-dropdown-toggle:hover,
.nav-dropdown-toggle:focus-visible {
  outline-offset: 3px;
}

.menu-toggle {
  min-width: 44px;
  min-height: 44px;
}

.sp-report-link {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.page-film .actions,
.page-film-content > .actions {
  position: relative;
  z-index: 3;
}

@media (max-width: 740px) {
  .film-copy .button,
  .page-film .button,
  .header-actions .button {
    font-size: 14px;
    min-height: 48px;
  }
  .film-audiences a,
  .page-film-foot {
    font-size: 13px;
  }
  .film-description,
  .page-film-content > p:not(.eyebrow) {
    font-size: 16px;
  }
  .lede {
    font-size: 16px;
  }
  .footer-col a {
    font-size: 14px;
    min-height: 44px;
  }
  .audit-card-top,
  .audit-card-bottom,
  .sp-small-label,
  .custody-points p,
  .trust-facts p {
    font-size: 13px;
  }
}

@media (max-width: 370px) {
  .film-copy .button,
  .page-film .button,
  .header-actions .button {
    font-size: 13px;
  }
  .film-audiences a,
  .page-film-foot {
    font-size: 12px;
  }
}

@media (max-width: 1024px) {
  .footer-col a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .footer-about .brand,
  .footer-about .text-link {
    min-height: 44px;
  }
  .product-tabs button {
    min-height: 44px;
  }
  .menu-toggle {
    min-height: 44px;
  }
}

@media (min-width: 1800px) {
  body { font-size: 17px; }
  .lede,
  .film-description,
  .page-film-content > p:not(.eyebrow) { font-size: 19px; }
  .eyebrow,
  .film-copy .eyebrow,
  .page-film .eyebrow,
  .closing .eyebrow { font-size: 12px; }
  .footer-col a { font-size: 14px; }
  .footer-bottom { font-size: 12px; }
  .film-audiences a { font-size: 13px; }
  .film-bottom > p { font-size: 14px; }
  .page-film-foot { font-size: 13px; }
}

@media (min-width: 2560px) {
  body { font-size: 18px; }
  .lede,
  .film-description,
  .page-film-content > p:not(.eyebrow) { font-size: 20px; }
  .section-heading { font-size: 62px; }
  .film-copy h1 { font-size: 120px; }
  .page-film h1 { font-size: 96px; }
  .footer-col a { font-size: 15px; }
  .film-audiences a { font-size: 14px; }
}
