html{overflow-y:scroll}
/* Homepage is the public-site design reference. Loaded LAST on every page.
   Component guards intentionally outrank historic page CSS; content layouts remain scoped. */
:root{--site-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--site-shell:1160px;--site-section:72px;--site-gutter:16px;--site-h1:47px;--site-h2:31px}
body{font-family:var(--site-font);font-size:15px;line-height:1.45}
body .shell,body .legal-shell,body .contact-shell{width:min(86%,var(--site-shell))!important;max-width:var(--site-shell)!important;margin-inline:auto!important}
body .site-header,body .site-header .nav-wrap{height:55px!important;min-height:55px!important;font:15px/1.45 var(--site-font)!important}
body .site-header{padding:0!important;background:#fff;position:relative;z-index:5}
body .site-header .nav-wrap{display:flex!important;align-items:center!important;padding:0!important;gap:0!important}
body .site-header .brand,body .site-footer .brand{display:inline-flex!important;align-items:center!important;gap:6px!important;font:800 18px/1.45 var(--site-font)!important;letter-spacing:-.75px!important;text-decoration:none!important;color:var(--navy)!important;min-height:0!important;padding:0!important;white-space:nowrap}
body .brand-mark{width:30px!important;height:30px!important;flex:0 0 30px!important}
body .site-header .main-nav{display:flex;flex:1;align-items:center;gap:28px!important;margin-left:10%!important;font:400 13px/1.45 var(--site-font)!important;padding:0}
body .site-header .main-nav a:not(.button){font:400 13px/1.45 var(--site-font)!important;min-height:0;padding:0;text-decoration:none}
body .site-header .main-nav .login-link{margin-left:auto!important}
body .site-header .main-nav .button{font:750 11px/1.45 var(--site-font)!important;min-height:32px!important;height:32px!important;padding:7px 15px!important;margin:0 0 0 20px!important;border:1px solid #008a59!important;border-radius:4px!important;white-space:nowrap!important;width:auto!important}
body .site-footer{font:15px/1.45 var(--site-font)!important;padding:28px 0 16px!important;background:white;border-top:1px solid var(--line)}
body .site-footer .footer-top{display:flex!important;align-items:flex-start!important;gap:28px!important}
body .site-footer nav{display:flex!important;flex:1;flex-wrap:wrap;justify-content:flex-end!important;gap:10px 20px!important}
body .site-footer nav a{font:400 12px/1.5 var(--site-font)!important;padding:0!important;min-height:0!important;text-decoration:none;color:var(--navy-soft)}
body .site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:20px!important;padding-top:12px!important;gap:12px!important}
body .site-footer .footer-bottom p{font:400 11px/1.5 var(--site-font)!important;margin:0!important}
/* Shared marketing scale; reading pages retain their readable paragraph sizes. */
body:not(:has(.guide-page)):not(:has(.legal-shell)) main h1{font-size:var(--site-h1)!important;line-height:1.13!important;letter-spacing:-1.3px!important}
body:not(:has(.guide-page)):not(:has(.legal-shell)) main .lead{font-size:15px!important;line-height:1.65!important}
body main>.section,body main>.feature-split{padding-block:var(--site-section)!important}
body main>.page-hero,body main>.hero{padding-block:64px!important}
body .hub-intro{padding:64px 0 36px!important}.hub-audiences{padding:32px 0 72px!important}
body:not(:has(main>.hero)) main .button{font-family:var(--site-font)!important;font-size:13px!important;line-height:1.45!important;min-height:40px!important;padding:10px 18px!important}
body .guide-page .guide-article{font-size:17px;line-height:1.65}
@media(max-width:1000px) and (min-width:701px){body .site-header .main-nav{margin-left:5%!important;gap:18px!important}body .site-header .main-nav .button{margin-left:0!important}body .site-footer .footer-top{flex-direction:column!important;gap:20px!important}body .site-footer nav{justify-content:flex-start!important}}
@media(max-width:700px){:root{--site-section:44px;--site-h1:33px;--site-h2:27px}body .shell,body .legal-shell,body .contact-shell{width:calc(100% - 32px)!important}body .site-header,body .site-header .nav-wrap{height:58px!important;min-height:58px!important}body .site-header .menu-toggle{display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:4px;width:40px;height:40px;margin-left:auto}body .site-header .main-nav{position:absolute;top:58px;left:0;right:0;z-index:3;display:none;flex-direction:column;align-items:stretch;gap:0!important;padding:10px 16px 16px!important;margin:0!important;background:#fff;box-shadow:0 12px 22px #0d265e15}body .site-header .main-nav.is-open{display:flex}body .site-header .main-nav a:not(.button){font-size:16px!important;min-height:44px!important;padding:9px 0!important}body .site-header .main-nav .login-link{margin-left:0!important}body .site-header .main-nav .button{height:44px!important;min-height:44px!important;font-size:11px!important;margin:7px 0 0!important;padding:7px 15px!important}body .site-footer .footer-top,body .site-footer .footer-bottom{flex-direction:column!important;align-items:flex-start!important}body .site-footer nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px!important;width:100%;justify-content:start!important}body .site-footer nav a{display:flex;align-items:center;min-height:44px!important;font-size:13px!important;padding:4px 0!important}body .site-footer .footer-bottom{gap:8px!important}body main>.page-hero,body main>.hero{padding-block:44px!important}body .hub-intro{padding:44px 0 24px!important}body .hub-audiences{padding:8px 0 44px!important}body:not(:has(main>.hero)) main .button{min-height:44px!important}body .guide-page .guide-article{font-size:16px}body:not(:has(.guide-page)):not(:has(.legal-shell)) main .lead{font-size:13px!important}}
@media(min-width:701px){body .site-header .menu-toggle{display:none!important}}
@media print{body .site-header,body .site-footer{display:none!important}}

body:not(:has(main>.hero)) :is(.copy-block,.product-copy,.hub-heading,.hub-start-panel,.audience-section-heading,.mobile-access-copy) h2{font-size:var(--site-h2)!important;line-height:1.2!important;letter-spacing:-.8px!important}
