/* Homepage reading scale. Keep the existing typefaces and display hierarchy;
   give labels, controls, and supporting copy enough room to read at any width. */
body { font-size: 1.0625rem; }
.eyebrow, .micro, .hero .hero-copy .eyebrow,
.feature-copy .eyebrow, .sec-head .eyebrow, .closing-section .eyebrow {
  font-size: .875rem;
  letter-spacing: .075em;
  line-height: 1.6;
}
.status-dot { flex-shrink: 0; }
.nav-links a { font-size: 1rem; font-weight: 500; }
.nav-inner { gap: 28px; }
.nav-links { gap: 24px; }
.button, .btn, .button-small, .nav-cta, .hero .button {
  font-size: .9375rem;
  min-height: 48px;
}
.text-link, .text-button, .film-download, .mobile-disclosure-toggle,
.trust-details .text-link { font-size: 1rem; }
.hero .hero-description {
  font-size: 1.0625rem;
  line-height: 1.75;
  max-width: 32rem;
  margin-bottom: 24px;
}
.hero-copy { column-gap: 48px; margin-bottom: 48px; }
.hero .button { padding: 13px 20px; }
.demo-heading { grid-template-columns: 1fr; gap: 16px; }
.demo-label { font-size: .875rem; letter-spacing: .075em; margin: 0; }
.demo-tabs button { font-size: 1rem; min-height: 52px; gap: 10px; }
.demo-tabs button > span { font-size: .75rem; }
#demoCaption { font-size: 1rem; line-height: 1.6; }
#demoDescription, .demo-transcript, .demo-dialog > p { font-size: .875rem; }
.demo-count, .demo-time { font-size: .8125rem; }
.demo-message { font-size: .9375rem; }
.demo-transcript summary { min-height: 44px; }
.capability-strip > .container { flex-wrap: wrap; justify-content: center; gap: 16px 32px; font-size: .9375rem; }
.section-heading > p { max-width: 24rem; font-size: 1.0625rem; line-height: 1.75; }
.feature-tabs button { font-size: 1rem; gap: 12px; }
.feature-tabs button span { font-size: .75rem; opacity: 1; color: var(--faint); }
.feature-copy > p:not(.eyebrow), .film-layout p:not(.eyebrow),
.role-detail > p:not(.eyebrow), .guide-promo-layout > div > p:not(.eyebrow) {
  font-size: 1.0625rem;
  line-height: 1.75;
}
.check-list, .feature-copy .check-list, .role-controls li, .trust-grid p,
.trust-details p, .learning-paths p, .step p, .price-note, .price-list,
.lic-doc p, .lic-doc li { font-size: 1rem; line-height: 1.75; }
.section-note, .boundary-note p, .film-caption, .feature-image .micro,
.zoom-label, .site-footer p, .site-footer nav, .footer-bottom,
.footer-bottom .text-button, .lic-dl, .film-options, .film-transcript,
.trust-topic, .trust-action { font-size: .875rem; line-height: 1.7; }
.feature-number, .film-duration, .role-icon, .learning-paths > a > span:first-child,
.step .num, .trust-grid .micro { font-size: .8125rem; }
.page-rail a span, .trust-index, #featurePath { font-size: .875rem; }
.price-card .eyebrow { font-size: .875rem !important; }
.role-layer strong { font-size: 1.125rem; }
.role-layer small { font-size: .9375rem; }
.authority-connector span { font-size: .8125rem; letter-spacing: 0; }
.role-detail > p:not(.eyebrow), .role-controls, .boundary-note { max-width: 32rem; }
.role-controls li { padding-block: 13px; }
.boundary-note { padding: 20px; }
.lede { font-size: 1.0625rem !important; }
.lic-meta { font-size: .875rem !important; }
.lic-full summary { font-size: 1rem; flex-wrap: wrap; }
.film-chapters button { font-size: .875rem; }
.feature-image figcaption { flex-wrap: wrap; gap: 12px; }
.site-footer > .container { flex-wrap: wrap; }
.site-footer nav { flex-wrap: wrap; gap: 12px 24px; }

@media (max-width: 1180px) {
  .nav-cta { display: none; }
  .nav-actions { margin-left: auto; }
  .nav-inner { gap: 24px; }
  .nav-links { gap: 20px; }
  .feature-tabs { flex-wrap: wrap; }
  .feature-tabs button { flex: 1 1 25%; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 24px; }
  .section-heading > p { max-width: 40rem; }
}
@media (max-width: 760px) {
  .hero .hero-copy .eyebrow { font-size: .875rem; }
  .demo-tabs button { padding-inline: 8px; gap: 6px; }
  .hero-copy { margin-bottom: 36px; }
  .demo-story { align-items: flex-start; }
}
@media (max-width: 600px) {
  .nav-inner { gap: 12px; }
  .site-header .brand { flex-shrink: 0; }
  .hero .hero-copy .eyebrow { max-width: 24rem; align-items: flex-start; }
  .hero-copy .status-dot { margin-top: 8px; }
  .hero .hero-description { font-size: 1.0625rem; }
  .feature-picker label { font-size: .9375rem; }
  .role-layer { gap: 12px; }
  .role-icon { padding-right: 12px; }
  .role-layer strong { font-size: 1.0625rem; }
  .boundary-note { padding: 16px; }
  .film-caption { gap: 12px; }
  .film-actions { flex-wrap: wrap; }
  .demo-label { font-size: .875rem; }
  .demo-controls { flex-wrap: wrap; }
  .demo-time { white-space: nowrap; }
  .film-chapters { flex-wrap: wrap; }
  .film-chapters button { flex: 1 1 auto; }
}
@media (max-width: 480px) {
  .demo-tabs button > span { display: none; }
}
