/* Readable content scale. H1/H2 and miniature illustration text keep their original sizes. */
:root {
  --text-body: 1rem;
  --text-ui: .9375rem;
  --text-note: .875rem;
  --text-small: .8125rem;
  --text-caption: .75rem;
  --text-secondary: #605b65;
}

.desktop-nav a { font-size: var(--text-ui); }
.language-switch, .language-switch :is(button, a) { font-size: var(--text-small); }
.header-cta { font-size: var(--text-note); }
.mobile-nav a { font-size: 1.0625rem; }
.eyebrow, .control-intro .eyebrow, .about-section .eyebrow,
.product-kicker .eyebrow { font-size: var(--text-caption); letter-spacing: 1.3px; }
.button, .hero-buttons .button, .text-link, .hero-buttons .text-link,
.product-hero .button, .product-cta .button, .form-bottom .button {
  font-size: var(--text-ui);
}
.button { max-width: 100%; }
.hero-buttons { flex-wrap: wrap; }
.hero-description { font-size: var(--text-body); }
.hero-notes { font-size: var(--text-small); flex-wrap: wrap; }
.principles-strip .container, .principles-strip .container > span:first-child {
  font-size: var(--text-note);
}
.section-heading > p, .product-page .section-heading > p,
.section-description, .development .section-description, .contact .section-description,
.product-description, .capabilities p, .control-detail p, .steps p,
.about-lead + p, .product-intro, .product-purpose p, .detailed-features p,
.audience-grid p, .audience-card-copy p, .product-focus p,
.availability-list p, .faq-grid details p, .product-cta p,
.module-explanation p, .visual-steps p, .privacy-page p, .privacy-page li {
  font-size: var(--text-body);
  line-height: 1.75;
}
.product-card, .feature-group, .related-card { min-width: 0; }
.product-category { font-size: var(--text-caption); letter-spacing: 1px; color: var(--text-secondary); }
.product-tagline { font-size: var(--text-ui); min-height: 3.2em; }
.product-description { min-height: 7em; }
.feature-list { font-size: var(--text-ui); line-height: 1.7; }
.feature-list li::before { font-size: var(--text-small); }
.product-footer { flex-wrap: wrap; gap: 8px 16px; padding-block: 15px; }
.status-label { font-size: var(--text-caption); color: var(--text-secondary); max-width: 180px; }
.status-development { color: var(--purple); }
.product-link { font-size: var(--text-note); }
.products-footnote {
  font-size: var(--text-ui);
  line-height: 1.75;
  color: var(--text-secondary);
  align-items: flex-start;
  text-align: left;
}
.products-footnote svg { margin-top: 5px; }
.technology > span { font-size: var(--text-caption); color: var(--text-secondary); letter-spacing: 1px; }
.technology strong { font-size: var(--text-body); }
.cap-number, .detail-number { font-size: var(--text-caption); color: #766180; }
.control-detail h3 { font-size: 1.0625rem; }
.contact-location { font-size: var(--text-note); }
label { font-size: var(--text-note); line-height: 1.6; }
label small { font-size: var(--text-small); color: var(--text-secondary); }
input, textarea, select { font-size: var(--text-body); min-height: 46px; }
input::placeholder, textarea::placeholder { color: #756d7b; }
.consent { font-size: var(--text-small); line-height: 1.7; }
.consent input { width: 17px; height: 17px; min-height: 0; margin-top: 3px; }
.form-bottom { flex-wrap: wrap; gap: 16px; }
.form-bottom > span { font-size: var(--text-small); color: var(--text-secondary); max-width: 220px; }
#form-status, .contact-verification p, .contact-verification button { font-size: var(--text-note); }
.footer-top > p, .back-top, .footer-bottom { font-size: var(--text-small); }
.footer-bottom { color: var(--text-secondary); flex-wrap: wrap; }
.breadcrumb { font-size: var(--text-small); }
.product-state { font-size: var(--text-small); white-space: normal; }
.product-name-row { flex-wrap: wrap; }
.product-anchor-nav a { font-size: var(--text-note); }
.product-anchor-nav .container { min-height: 64px; }
.scope-panel-title { font-size: var(--text-caption); }
.scope-panel-body p { font-size: var(--text-ui); }
.development-notice strong { font-size: var(--text-body); }
.development-notice p { font-size: var(--text-ui); line-height: 1.75; }
.feature-group-lead { font-size: var(--text-body); line-height: 1.75; min-height: 5.25em; }
.feature-group-points li { font-size: var(--text-ui); line-height: 1.7; color: var(--text-secondary); }
.feature-group-outcome > span { font-size: var(--text-caption); color: #766180; }
.feature-group-outcome p { font-size: var(--text-ui); line-height: 1.75; }
.feature-group-details summary { font-size: var(--text-note); }
.module-explanation h4 { font-size: 1.0625rem; }
.faq-grid summary { font-size: var(--text-body); }
.related-card p { font-size: var(--text-ui); line-height: 1.7; }
.product-illustration figcaption, .section-illustration figcaption,
.faq-illustration figcaption, .scope-diagram figcaption,
.audience-scene figcaption, .books-modes-illustration > figcaption {
  font-size: var(--text-caption);
  line-height: 1.7;
  color: var(--text-secondary);
}
.section-visual-kicker { font-size: var(--text-caption); color: #766180; }
.scope-stages-3 .scope-stage-copy p, .scope-stage-copy p,
.scope-diagram-note > p { font-size: var(--text-ui); line-height: 1.75; color: var(--text-secondary); }
.scope-diagram-heading > p { font-size: var(--text-body); }
.books-mode-controls button { font-size: var(--text-note); color: #70577e; }
.faq-question-chip, .faq-next-step { font-size: var(--text-note); color: #70577e; }

@media (min-width: 701px) and (max-width: 1100px) {
  .product-grid, .feature-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .control-detail { grid-template-columns: 1fr; gap: 24px; }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .principles-strip .container { flex-wrap: wrap; padding-block: 20px; }
}
@media (max-width: 1150px) and (min-width: 951px) {
  .header-inner { gap: 18px; }
  .desktop-nav { gap: 18px; }
  .header-actions { gap: 16px; }
}
@media (max-width: 900px) {
  .feature-group-lead, .feature-group-points, .feature-group-outcome { min-height: 0; }
}
@media (max-width: 700px) {
  .product-tagline, .product-description { min-height: 0; }
  .hero-buttons { gap: 16px 22px; }
  .hero-notes { gap: 12px 20px; }
  .principles-strip .container { grid-template-columns: 1fr; }
  .product-footer { flex-direction: row; justify-content: space-between; align-items: center; }
  .footer-top { flex-wrap: wrap; gap: 16px 24px; }
  .footer-top > p { flex-basis: 100%; }
  .footer-top .back-top { margin-left: 0; }
}
@media (max-width: 600px) {
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .scope-stage { grid-template-columns: 68px minmax(0, 1fr); }
  .scope-stage-copy { min-width: 0; }
  .books-mode-controls { grid-template-columns: 1fr; }
  .visual-steps { grid-template-columns: 1fr; }
  .visual-steps article .step-scene::after { display: none; }
}
@media (max-width: 360px) {
  .scope-stage { grid-template-columns: 1fr; gap: 14px; }
  .scope-stage-art { justify-self: start; }
  .product-footer { align-items: flex-start; flex-direction: column; }
}
