/* Global readability contract.
   Loaded after page-specific styles so visible supporting text never collapses into micro type. */
:root{
  --type-micro:13px;
  --type-action:13.5px;
  --type-small:14.5px;
  --type-body:16px;
}

body{font-size:var(--type-body)}

/* Metadata, eyebrows, compact labels and navigation: readable, still visually secondary. */
.navlinks,
.breadcrumbs,
.hero-label,
.hero-aside li,
.search-hint,
.index-kicker,
.group-number,
.tool-index,
.no-results,
.principles-kicker,
.principle>span,
.panel-title,
.formula-label,
.result .label,
.about-kicker,
.about-domain,
.about-eyebrow,
.about-step>span,
.about-standard-item span,
.error-kicker,
.error-tools-label,
.widgets-kicker,
.widgets-promise li span:last-child,
.widgets-group-head>span,
.widgets-step::before,
.question-index,
.question-result-label,
.question-result-meta,
.question-option-label,
.question-detail>span,
.percentage-question-index,
.percentage-answer-label,
.percentage-answer-value .answer-direction,
.percentage-guide-kicker,
.legal-kicker,
.legal-updated,
.ftf-embed-offer-kicker,
.ftf-embed-code-label,
.ftf-embed-preview a,
.ftf-embed-full,
.countdown-kicker,
.countdown-design-label,
.countdown-popular-label,
.countdown-stage-eyebrow,
.countdown-unit span,
.countdown-copy-heading span,
.countdown-related>span,
.intent-kicker,
.intent-preview-head span,
.countdown-field label,
.countdown-timezone span,
.countdown-toolbar-label,
.countdown-embed-panel label,
.countdown-shortcuts kbd,
.calendar-weekdays span,
.sentence-calendar-weekdays span,
.calendar-year-step,
.countdown-stage-bottom,
.countdown-stage-brand span{
  font-size:var(--type-micro)!important;
  line-height:1.45;
}

/* Compact actions must remain comfortably legible and tappable. */
.chip-button,
.swap-button,
.copybtn,
.question-option-button,
.question-options .premium-trigger,
.question-options select,
.ftf-embed-open,
.ftf-embed-copy,
.about-cta a,
.countdown-action,
.countdown-action-primary,
.countdown-font-button,
.countdown-bg-button,
.stage-icon-button,
.intent-cta,
.intent-links a,
.countdown-intent-pills a,
.calendar-footer button,
.sentence-calendar-foot button{
  font-size:var(--type-action)!important;
  line-height:1.25;
}

/* Supporting copy, helper text and secondary values. */
.group-head p,
.directory-copy span,
.principle p,
.field label,
.note,
.checkbox-row,
.formula,
.formula-steps,
.detail-row,
.result .sentence,
.related a,
.ftf-embed-code,
.ftf-embed-attribution,
.ftf-embed-note,
.ftf-embed-preview p,
.countdown-intro-note,
.countdown-intent-note,
.countdown-popular>a,
.countdown-related a,
.countdown-photo-note,
.countdown-bg-status,
.countdown-timezone strong,
.countdown-target-line,
.countdown-toast,
.countdown-embed-panel textarea,
.countdown-stage-brand strong,
.intent-preview-head p,
.question-hint,
.question-result-note,
.question-formula,
.percentage-question-help,
.percentage-answer-note,
.percentage-guide-item code,
.premium-option-check,
.calendar-month-option,
.calculation-share-bar span,
.calculation-share-bar button{
  font-size:var(--type-small)!important;
  line-height:1.55;
}

/* Reading copy should never be intentionally miniaturized. */
.content p,
.steps,
.example-box,
details.faq summary,
details.faq p{
  font-size:var(--type-body)!important;
}

.footer,
.footer-row,
.footer-links{
  font-size:var(--type-micro)!important;
  line-height:1.5;
}

@media(max-width:720px){
  :root{
    --type-micro:13.5px;
    --type-action:14px;
    --type-small:15px;
    --type-body:16px;
  }
}
