/* WebFrolic typography and readability refinements
   Applied after page styles so a shared scale works across marketing, blog, pricing and docs. */
html { font-size: 16px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-size: 16px; line-height: 1.65; }

/* Shared primary and secondary navigation */
.site-header .brand-lockup { font-size: 17px; }
.site-header .nav-link { font-size: 14px !important; line-height: 1.4 !important; }
.site-header .nav-cta { font-size: 14px !important; }
.site-header .mega-title { font-size: 17px !important; line-height: 1.3 !important; }
.site-header .mega-eyebrow { font-size: 11px !important; }
.site-header .mega-topline p:not(.mega-eyebrow) { font-size: 14px !important; line-height: 1.6 !important; }
.site-header .mega-all-link { font-size: 13.5px !important; }
.site-header .mega-section h3 { font-size: 13.5px !important; line-height: 1.4 !important; }
.site-header .mega-link { font-size: 13.5px !important; line-height: 1.45 !important; min-height: 40px; }
.site-header .mobile-nav a { font-size: 15px !important; line-height: 1.45 !important; }
.site-header .mobile-nav-group > summary { font-size: 15px !important; min-height: 44px; }
.site-header .mobile-subgroup > summary { font-size: 14px !important; min-height: 44px; }
.site-header .mobile-nav a.mobile-sub-link { font-size: 14px !important; line-height: 1.45 !important; min-height: 44px; }
.site-header .mobile-nav a.mobile-index-link { font-size: 14px !important; min-height: 44px; }
.docs-subnav .docs-subnav-title { font-size: 13px !important; }
.docs-subnav .docs-subnav-link { font-size: 13.5px !important; min-height: 38px; }
.docs-subnav .docs-tool-link, .docs-subnav .docs-tool-button { font-size: 13px !important; min-height: 40px; }
.docs-subnav .docs-filter-wrap input { font-size: 16px !important; min-height: 40px; }

/* Main marketing copy */
.eyebrow { font-size: 12px !important; }
.lead { font-size: 17px !important; line-height: 1.75 !important; }
.section-intro p:not(.eyebrow),
.feature-group-head p,
.directory-group-head > p,
.blog-library-head > p { font-size: 15.5px !important; line-height: 1.75 !important; }
.micro-note, .page-kicker, .note { font-size: 13px !important; line-height: 1.65 !important; }
.chip, .protocol { font-size: 12.5px !important; }
.btn { font-size: 14px !important; min-height: 44px; }
.card p, .catalog-card p, .feature-detail p, .resource-card p,
.plan-card .plan-summary, .plan-card ul, .pricing-note,
.eval-card p, details.faq p, .side-note p, .founder-card p,
.step-item p, .check-row p, .contact-panel p,
.capability-summary p, .flow-step p, .checklist-card li,
.directory-card p:not(.resource-type), .identity-house-principles p,
.proof-item p, .dark-proof-item p { font-size: 15px !important; line-height: 1.75 !important; }
.inline-link, .feature-detail .small-link, .paper-card a,
.contact-detail a, .contact-detail strong, .related-card { font-size: 14px !important; }
.scenario-tab { font-size: 14px !important; min-height: 42px; }
.scenario-copy p { font-size: 15px !important; line-height: 1.75 !important; }
.scenario-copy .scenario-outcome { font-size: 14px !important; line-height: 1.7 !important; }
.scenario-step strong { font-size: 13.5px !important; }
.scenario-step small { font-size: 12.5px !important; line-height: 1.55 !important; }
.proof-item h3 { font-size: 16px !important; }
.dark-proof-item a { font-size: 13.5px !important; }
.final-cta p { font-size: 15px !important; line-height: 1.75 !important; }

/* Homepage product preview: still a visual mock-up, but readable at presentation size. */
.window-title { font-size: 13px !important; }
.window-meta { font-size: 11.5px !important; }
.person-info strong { font-size: 14px !important; }
.person-info small { font-size: 12px !important; }
.status-pill { font-size: 11px !important; }
.preview-label { font-size: 11px !important; }
.policy-row strong { font-size: 13px !important; }
.policy-row small { font-size: 12px !important; line-height: 1.5 !important; }
.audit-strip strong { font-size: 12px !important; }
.audit-strip small { font-size: 11.5px !important; line-height: 1.5 !important; }
.illustration-note { font-size: 12px !important; }

/* Footer contrast and sizing. Light-theme links use a dark semantic text color,
   not the pale color intended for dark backgrounds. */
.footer-note { font-size: 12.5px !important; line-height: 1.55 !important; }
.footer-nav { font-size: 14px !important; line-height: 1.6 !important; }
.footer-column h2, .footer-column .footer-column-label { font-size: 12px !important; line-height: 1.5 !important; color: var(--faint) !important; }
.footer-column a { color: var(--muted) !important; font-size: 14px !important; line-height: 1.6 !important; }
.footer-column a:hover { color: var(--brand) !important; }

/* Tables: improve scanability while preserving horizontal scrolling for wide matrices. */
.comparison-table th, .pricing-table th { font-size: 12px !important; line-height: 1.5 !important; }
.comparison-table td, .pricing-table td { font-size: 14px !important; line-height: 1.65 !important; }
.comparison-table td strong { font-size: 14px !important; }
.eval-card .eval-step, .catalog-card .catalog-number, .resource-type, .plan-card .plan-type { font-size: 11px !important; }
.faq-list details.faq summary { font-size: 15px !important; }
.paper-card p { font-size: 12.5px !important; line-height: 1.55 !important; }

/* Blog library and long-form articles */
.blog-filter { font-size: 14px !important; min-height: 40px; }
.blog-search { font-size: 16px !important; min-height: 44px; }
.blog-card-content h3 { font-size: 18px !important; line-height: 1.4 !important; }
.blog-card-content p { font-size: 15px !important; line-height: 1.75 !important; }
.blog-card-art span { font-size: 11.5px !important; }
.blog-hero-stats span { font-size: 12.5px !important; }
.article-meta { font-size: 13px !important; }
.article-tag { font-size: 12px !important; }
.article-body p, .article-body li { font-size: 16px !important; line-height: 1.8 !important; }
.article-flow-diagram figcaption { font-size: 11px !important; }
.article-flow-step { font-size: 14px !important; line-height: 1.55 !important; }
.article-review-box li { font-size: 14.5px !important; line-height: 1.7 !important; }
.article-svg-figure .article-svg-caption, .identity-house-figure .article-svg-caption { font-size: 13px !important; line-height: 1.6 !important; }
.identity-house-principles h3 { font-size: 16px !important; }

/* Feature, resource and directory headings and copy */
.catalog-card h3, .directory-card h3 { font-size: 16px !important; line-height: 1.4 !important; }
.feature-detail .small-link { font-size: 14px !important; }
.directory-card .resource-type { font-size: 11px !important; }
.page-hero .lead { font-size: 17px !important; }

/* Pricing calculator: numbers and secondary labels need to be legible, not tiny. */
.pc-mode-box label { font-size: 14px !important; }
.pc-mode-box span, .pc-toolbar span, .pc-unit-rate small,
.pc-category-heading small, .pc-category-meta small,
.pc-quantity-label small, .pc-feature-copy > span:not(.pc-parent),
.pc-cap-text, .pc-line-cost small, .pc-estimate-top > p:not(.eyebrow),
.pc-total-block small, #pcSelectedCount, .pc-summary-empty,
.pc-disclaimer, .pc-feedback, .pc-form-field > small { font-size: 12.5px !important; line-height: 1.55 !important; }
.pc-text-button { font-size: 14px !important; }
.pc-warning { font-size: 14px !important; line-height: 1.65 !important; }
.pc-category-heading strong, .pc-category-meta strong { font-size: 14px !important; }
.pc-feature-copy strong { font-size: 14px !important; line-height: 1.45 !important; }
.pc-quantity-label { font-size: 13.5px !important; }
.pc-quantity-label input { font-size: 16px !important; min-height: 42px; }
.pc-unit-rate { font-size: 13.5px !important; }
.pc-line-cost, .pc-summary-row { font-size: 13px !important; }
.pc-calc-footnote { font-size: 13px !important; line-height: 1.7 !important; }
.pc-calc-footnote strong { font-size: 13.5px !important; }
.pc-environment-badge { font-size: 12px !important; }
.pc-estimate-top h3 { font-size: 23px !important; }
.pc-estimate-actions .btn { font-size: 14px !important; }
.pc-discount-note { font-size: 14px !important; line-height: 1.7 !important; }
.pc-discount-note strong { font-size: 14px !important; }
.pc-discount-badge { font-size: 12px !important; }
.pc-discount-card > p { font-size: 15px !important; line-height: 1.75 !important; }
.pc-discount-points, .pc-eligibility ul { font-size: 14px !important; line-height: 1.7 !important; }
.pc-eligibility strong { font-size: 13px !important; }
.pc-discount-link { font-size: 14px !important; }
.pc-modal-heading .eyebrow { font-size: 12px !important; }
.pc-modal-heading h2 { font-size: clamp(23px,3vw,29px) !important; }
.pc-modal-heading > p:last-child { font-size: 14px !important; line-height: 1.7 !important; }
.pc-program-choices legend { font-size: 14px !important; }
.pc-program-option strong { font-size: 14px !important; }
.pc-program-option small { font-size: 13px !important; line-height: 1.6 !important; }
.pc-form-field > span { font-size: 14px !important; }
.pc-form-field input, .pc-form-field textarea { font-size: 16px !important; min-height: 46px; }
.pc-modal-submit-note, .pc-form-status { font-size: 13px !important; line-height: 1.65 !important; }
.pc-modal-footer .btn { font-size: 14px !important; }

/* Competitive matrix: dense by design, but keep labels and findings readable. */
.vendor-matrix thead th { font-size: 12px !important; line-height: 1.45 !important; }
.vendor-matrix tbody th.feature-cell strong { font-size: 14px !important; line-height: 1.5 !important; }
/* The matrix body copy is the substance of the comparison; it was set at
   10.8px while its neighbours were raised for readability. */
.vendor-matrix td p { font-size: 12.5px !important; line-height: 1.7 !important; }

.feature-category { font-size: 11.5px !important; }
.assessment-cell p { font-size: 12.5px !important; line-height: 1.65 !important; }
.assessment-pill, .matrix-pill { font-size: 11px !important; line-height: 1.35 !important; }
.compare-micro-stats span { font-size: 12px !important; }
.compare-diff-card p { font-size: 14.5px !important; line-height: 1.7 !important; }
.relative-fit-summary p, .comparison-disclaimer { font-size: 13.5px !important; line-height: 1.7 !important; }

/* Inputs meet the 16px iOS focus-zoom threshold in common forms. */
input, select, textarea { max-width: 100%; }
@media (max-width: 740px) {
  .wrap { width: min(var(--max), calc(100% - 32px)); }
  .lead, .page-hero .lead { font-size: 16px !important; }
  .article-body p, .article-body li { font-size: 16px !important; }
  .footer-main-wide { gap: 23px; }
}
