
:root{--site-max-width:1240px;--site-desktop-pad:40px;--site-mobile-pad:22px}
.wrap{width:100%!important;max-width:var(--site-max-width)!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--site-desktop-pad)!important;padding-right:var(--site-desktop-pad)!important}
.page-hero{padding-left:0!important;padding-right:0!important}
.page-hero>.wrap,.hero>.wrap,.contact-main>.wrap,.signup-hero>.wrap,.plans-stack>.wrap,.plans-stack-header.wrap,.wrap.plans{max-width:var(--site-max-width)!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--site-desktop-pad)!important;padding-right:var(--site-desktop-pad)!important}
@media(max-width:980px){.wrap,.page-hero>.wrap,.hero>.wrap,.contact-main>.wrap,.signup-hero>.wrap,.plans-stack>.wrap,.plans-stack-header.wrap,.wrap.plans{padding-left:var(--site-mobile-pad)!important;padding-right:var(--site-mobile-pad)!important}}

/* Let enlarged text wrap inside primary content without changing normal sizing. */
main{min-width:0;overflow-wrap:anywhere}
.legal-page .legal-hero{overflow-wrap:anywhere}

/* Shared link presentation; retain each component's approved colour. */
a:any-link{text-decoration:none!important}
main a:focus-visible{outline:3px solid #2f6fed!important;outline-offset:4px!important}
