/* Final typography layer shared by the main site, demos, and policy pages. */
:root { --read-copy: 1.0625rem; --read-muted: #cbd0c3; --read-label: #b8c2ae; }
@media (min-width: 1101px) { :root { --read-copy: 1.1875rem; } }
body { text-rendering: optimizeLegibility; }
.hero__content > p { font-size: clamp(1.125rem, 1.5vw, 1.375rem); line-height: 1.75; max-width: 54ch; color: #e0e4da; }
.site-nav { font-size: 1rem; gap: clamp(1rem, 1.8vw, 1.6rem); }
.button, .nav-cta, .pr-cta, .privacy-button { font-size: 1rem; line-height: 1.5; }
.eyebrow, .why__eyebrow, .closing__eyebrow, .sv-eyebrow span, .fs-label, .pr-label { font-size: .875rem; letter-spacing: .1em; color: var(--read-label); }
.hero__proof { width: min(100%, 49rem); background: rgba(12,13,11,.86); border-color: #434b3b; }
.hero__proof strong { font-size: 1rem; line-height: 1.5; }
.hero__proof small { font-size: .875rem; color: var(--read-muted); }
.why__copy, .why__reason p, .lead-demo__lede, .lead-demo__steps p, .sv-lede, .sv-body, .sv-inc-t, .fs-lede, .pr-lede, .pr-line, .pr-feat, .faq__lede, .faq__answer p, .booking--unified .booking__heading > p:last-child, .call-preview li p { font-size: var(--read-copy); line-height: 1.75; color: var(--read-muted); }
.why__reason h3, .lead-demo__steps h3 { font-size: 1.375rem; line-height: 1.4; }
.why__number, .lead-demo__steps li > span, .sv-cat, .sv-inc-label, .sv-inc-n, .sv-idx, .fs-idx, .fs-time, .pr-label, .pr-cap, .pr-badge, .faq__number, .faq__topic, .faq__tag { font-size: .875rem; line-height: 1.6; letter-spacing: .05em; }
.sv { --sv-dim: #cbd0c3; --sv-faint: #b8c2ae; --sv-body: #cbd0c3; }
.sv-name { font-size: clamp(1.25rem, 2vw, 1.875rem); line-height: 1.35; }
.sv-detail-inner { gap: clamp(2rem, 5vw, 5rem); }
.sv-body { max-width: 44ch; }
.sv-inc li { padding-block: 1rem; }
.fs { --fs-dim: #cbd0c3; --fs-faint: #b8c2ae; }
.fs-name, .fs-step.done .fs-name { font-size: 1rem; color: #e0e5d8; letter-spacing: .035em; line-height: 1.5; }
.fs-desc, .fs-step.on .fs-desc, .fs-step.done .fs-desc { font-size: 1.0625rem; color: var(--read-muted); line-height: 1.7; }
.fs-step.on .fs-idx { color: #a5ed7e; }
.fs-done { font-size: .875rem; letter-spacing: .04em; border-radius: 1rem; }
.flow-demo-note { padding-inline: var(--page-gutter, 1.5rem); }
.pr { --pr-dim: #cbd0c3; --pr-faint: #b8c2ae; }
.pr-tier { padding: clamp(1.5rem, 2.4vw, 2.25rem); border-color: #3a4431; }
.pr-purpose { font-size: 1.1875rem; line-height: 1.5; }
.pr-line { min-height: 0; }
.pr-feats { gap: 1rem; }
.pr-cap { color: var(--read-muted); }
.pr-switch button { font-size: .9375rem; letter-spacing: .025em; padding-inline: 1.1rem; }
.pr-foot { font: .9375rem/1.8 Archivo, system-ui, sans-serif; color: var(--read-muted); max-width: 80ch; margin-top: 2rem; letter-spacing: 0; }
.faq__question { font-size: clamp(1.125rem, 1.65vw, 1.375rem); color: #eef1e8; line-height: 1.5; }
.faq__number, .faq__topic { color: var(--read-label); }
.faq__answer-link, .lead-demo__link, .lead-demo__pause { font-size: 1rem; }
.pf-phone { width: min(100%, 25rem); }
.pf-screen { min-height: 46rem; padding-inline: .8rem; }
.pf-note { display: grid; grid-template-columns: 1.6rem minmax(0,1fr); gap: .25rem .6rem; padding: .8rem; }
.pf-body { grid-column: 2; }
.pf-body b { font-size: 1rem; line-height: 1.45; }
.pf-body span, .pf-body i { font-size: 1rem; line-height: 1.55; color: #e0e4d9; }
.pf-when { grid-column: 2; max-width: none; padding-top: .1rem; font-size: .75rem; color: #cbd0c3; }
.pf-date, .pf-status { font-size: .75rem; letter-spacing: .04em; }
.pf-timer { font-size: .875rem; letter-spacing: .02em; }
.lead-demo__visual figcaption, .flow-demo-note { font-size: .9375rem; color: var(--read-label); line-height: 1.7; }
.call-preview summary { font-size: 1.125rem; }
.call-preview h4 { font-size: 1.125rem; font-weight: 600; }
.call-preview__note, .booking__fallback, .booking-privacy-note { font-size: 1rem; color: var(--read-muted); }
.site-footer__top > p, .site-footer nav { font-size: 1rem; color: var(--read-muted); }
.site-footer__bottom, .site-footer__bottom a { font-size: .9375rem; line-height: 1.6; }
.site-footer__bottom { flex-wrap: wrap; gap: .75rem 2rem; }
.legal-page { max-width: 54rem; font-size: var(--read-copy); line-height: 1.85; }
.legal-page p, .legal-page li, .privacy-panel p { color: var(--read-muted); }
.legal-page h2 { font-size: 1.5rem; margin-top: 2.75rem; }
.legal-page .legal-label { font-size: .875rem; }
.privacy-panel { font-size: 1.0625rem; line-height: 1.75; }
.privacy-option small { font-size: .9375rem; }
.calendar-preview__label, .calendar-preview__prompt .calendar-preview__settings { font-size: .9375rem; }
.calendar-preview__prompt { width: min(100%, 38rem); }
@media (max-width: 620px) {
  .hero__proof { grid-template-columns: 1fr; width: min(100%, 25rem); padding: .6rem 1rem; gap: 0; }
  .hero__proof > div { flex-direction: row; text-align: left; padding: .7rem 0; gap: .8rem; border: 0; }
  .hero__proof > div + div { border-top: 1px solid #353e2d; }
  .hero__proof strong { font-size: 1rem; }
  .hero__proof svg { width: 1.5rem; height: 1.5rem; }
  .pr-switch button { padding-inline: .65rem; }
  .sv-inc-t { font-size: 1rem; }
  .pf-note { grid-template-columns: 1.375rem minmax(0,1fr); padding: .7rem .55rem; }
  .fs-done { text-transform: none; }
}
