/* nbd-readability.css — sitewide readability floor ("nbd-readability-v2"):
 * 16px root/body, capped non-hero h2/h3, footer readability + contrast,
 * .ann-bar legibility floor, wide-desktop nav breathing room.
 *
 * Extracted 2026-09-18 from the inline <style> block that
 * scripts/fix-typography-and-footer.js injected into marketing pages
 * (186 byte-identical copies, ~446 KB of HTML net — WEEKLY_CADENCE.md backlog
 * item 10, slice 3b). scripts/ensure-readability-css.js migrated each copy to
 * a <link> at the block's OLD position, never appended at the end of <head>:
 * this sheet's !important rules tie on specificity with nbd-mobile.css (e.g.
 * .ann-bar at <=380px), so source order is load-bearing — keep the link
 * where it is. docs/index.html keeps a deliberate inline variant.
 *
 * Everything below this comment must stay byte-identical to CANONICAL_BODY
 * in scripts/ensure-readability-css.js (pinned by
 * tests/marketing-polish-contract.test.js).
 */
/* Root + body floor: 16px + generous line-height */
html{font-size:16px}
body{font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* Body copy — override per-page shrinks on main content */
main p,section p,article p,.sec-desc,.hiw-body{font-size:1rem!important;line-height:1.7!important}
.sc-body{font-size:.97rem!important;line-height:1.65!important;color:#4b5563!important}

/* Non-hero heading caps — keep hero h1s untouched */
main h2,section h2,article h2{font-size:clamp(1.8rem,3vw,2.6rem)!important;line-height:1.1!important}
main h3,section h3,article h3{font-size:clamp(1.05rem,1.35vw,1.3rem)!important;line-height:1.3!important}

/* Footer readability + contrast */
footer .footer-desc,footer .footer-links a,footer .footer-col ul li a,footer p,footer li{font-size:.92rem!important;line-height:1.65!important}
footer .footer-desc{color:rgba(255,255,255,.82)!important}
footer .footer-col-title,footer h4,footer .label{font-size:.72rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:rgba(255,255,255,.95)!important;font-weight:800!important;margin-bottom:14px!important}
footer .footer-bottom,footer .footer-bottom p,footer .footer-bottom a,footer .pro-door{font-size:.82rem!important;line-height:1.6!important}
footer .footer-bottom a{color:rgba(255,255,255,.7)!important}
footer .footer-bottom a:hover{color:#bd5728!important}
footer.foot,.review-footer{font-size:.9rem!important;padding:24px 5%!important;line-height:1.6!important}
footer.foot a,.review-footer a{color:#bd5728!important}

/* Announcement bar legibility floor */
.ann-bar{font-size:.8rem!important;letter-spacing:.04em!important}
@media(max-width:640px){.ann-bar{font-size:.72rem!important;padding:10px 14px!important;min-height:40px!important}}

/* Nav breathing room at TRULY wide desktop (>=1441). v3 nav-responsive-fix
   keeps a compact nav style in the 1025-1440 range; this block only
   loosens things up on big displays where there's room to breathe. */
@media(min-width:1441px){
  nav{padding-left:40px!important;padding-right:40px!important}
  nav .nav-logo{margin-right:28px!important}
  nav .nav-links{gap:22px!important}
  nav .nav-links > li > a{font-size:.78rem!important;letter-spacing:.07em!important}
}
@media(min-width:1600px){
  nav{padding-left:56px!important;padding-right:56px!important}
  nav .nav-links{gap:28px!important}
}
