/* Readability 34: type sizes are independent of browser zoom and video resolution. */
:root {
  --text-body: 1rem;
  --text-lead: 1.25rem;
  --text-control: .875rem;
  --text-label: .8125rem;
  --text-caption: .75rem;
}
.chapter-copy { width: min(780px, 70vw); }
.intro, #products .intro { width: min(650px, 100%); padding: 26px 30px; }
.intro p, .intro .home-lines { font-size: var(--text-body); line-height: 1.65; }
.intro .lead { font-size: var(--text-lead); line-height: 1.45; }
.home-lines span { white-space: normal; }
.eyebrow { font-size: var(--text-caption); letter-spacing: .12em; }
.header .top-nav a { font-size: var(--text-control); height: 38px; padding: 0 18px; }
.header-wordmark > small { font-size: .625rem; }
.pill, .text-link, .contact-form .pill, .dialog-top .pill {
  font-size: var(--text-control); line-height: 1.4;
}
.pill { min-height: 40px; padding: 9px 19px; }
.header .header-cta { padding: 8px 18px; }
.nav-label { font-size: var(--text-label); }
.work-index dt { font-size: var(--text-label); }
.work-index dd { font-size: var(--text-control); }
.work-index > div { gap: 18px; padding: 10px 0; }
.capability-list span, .intro .product-footnote { font-size: var(--text-caption); }
.scene-note { font-size: var(--text-caption); max-width: 360px; }
.note-index { font-size: .6875rem; }
.bottom-bar, .copyright-line { font-size: .6875rem; }
.contact-layout { width: min(780px, 76vw); }
.contact-blurb { font-size: var(--text-body); line-height: 1.65; }
.contact-form label { font-size: var(--text-control); }
.contact input, .contact textarea { font-size: var(--text-body); line-height: 1.5; }
.form-bottom p, .form-status { font-size: var(--text-label); }
.company-footer-link, .company-footer-link .text-link { font-size: var(--text-label); }
.site-footer, .footer-company p { font-size: var(--text-control); }
.site-footer h3 { font-size: var(--text-label); }
.footer-name { font-size: 1.5rem; }
.footer-bottom, .footer-bottom .text-link { font-size: var(--text-caption); }
dialog p, .work-details p { font-size: var(--text-body); }
dialog h3 { font-size: var(--text-lead); }
.work-category { font-size: var(--text-caption); }
.monitor-flow { flex-wrap: wrap; }
.monitor-flow span { font-size: var(--text-label); }
#load-status { font-size: var(--text-caption); }

/* Compact desktop composition retains readable text, using space around it. */
@media (min-width: 901px) and (min-height: 701px) and (max-height: 850px) {
  .chapter { padding-top: 95px; padding-bottom: 65px; }
  .chapter h1, .chapter h2 { font-size: clamp(38px, 4.5vw, 72px); margin-bottom: 18px; }
  .chapter .eyebrow { margin-bottom: 14px; }
  .intro, #products .intro { padding: 20px 26px; }
  .intro p { margin-bottom: 10px; }
  .actions { margin-top: 16px; }
  .work-index { margin-top: 12px; }
  .work-index > div { padding: 7px 0; }
  .contact { padding-top: 88px; padding-bottom: 35px; }
  .contact h2 { font-size: 48px; margin-bottom: 10px; }
  .contact-blurb { margin: 8px 0 14px; }
  .contact-form { padding: 18px 24px; }
  .contact input, .contact textarea { padding: 8px 12px; }
  .contact textarea { min-height: 72px; height: 72px; }
  .scene-note { display: none; }
}
@media (min-width: 1700px) {
  .intro, #products .intro { width: min(700px, 100%); }
  .intro p, .intro .home-lines { font-size: 1.125rem; }
  .intro .lead { font-size: 1.5rem; }
}
@media (max-width: 1100px) and (min-width: 901px) {
  .header .top-nav a { padding: 0 12px; }
  .header .header-cta { display: none; }
  .scene-note { display: none; }
}
@media (max-width: 900px), (max-height: 700px), (prefers-reduced-motion: reduce) {
  .chapter-copy, .contact-layout { width: 100%; }
  .intro, #products .intro { width: 100%; padding: 24px; }
  .intro p, .intro .home-lines { font-size: var(--text-body); }
  .intro .lead { font-size: var(--text-lead); }
  .header .top-nav { max-width: calc(100vw - 20px); }
  .header .top-nav a { font-size: var(--text-label); padding: 0 12px; height: 38px; }
  .header-wordmark > small { font-size: .625rem; }
  .work-index > div { display: block; }
  .work-index dt { white-space: normal; }
  .contact-form { padding: 22px 20px; }
  .contact-blurb { font-size: var(--text-body); }
  .contact .form-bottom { flex-direction: column; align-items: flex-start; gap: 16px; }
  .form-bottom p { font-size: var(--text-label); }
  .footer-main { grid-template-columns: 1fr; }
  .bottom-bar > .copyright-line { font-size: .625rem; }
  .scene-note { display: none; }
}
@media (max-width: 400px) {
  .header .top-nav a { padding: 0 9px; font-size: .75rem; }
  .chapter { padding-left: 20px; padding-right: 48px; }
  .intro, #products .intro, .contact-form { padding: 20px 18px; }
  .eyebrow { letter-spacing: .08em; }
  dialog[open] { width: calc(100vw - 20px); }
  .dialog-top { gap: 10px; }
  .dialog-top .eyebrow { letter-spacing: .06em; }
}
