/* Shared PSAIR shell and accessibility fixes. Loaded after page-specific styles. */
:root{--muted:#526674;--max:1180px}
.psair-skip-link{position:fixed;top:10px;left:14px;z-index:1000;transform:translateY(-180%);padding:12px 18px;background:#fff;color:#12304a;border:2px solid #1f5d8c;border-radius:8px;font-weight:700}
.psair-skip-link:focus{transform:translateY(0)}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #2e7db6;outline-offset:4px}
:where(.site-footer,.newsletter,.page-hero,.hero) :where(a,button,summary):focus-visible{outline-color:#a9d4f0}
main:focus{outline:none}
main [id]{scroll-margin-top:120px}
main .container{width:min(1180px,calc(100% - 40px))}
main :where(p,li,label,input,textarea,select){text-transform:none}
main :where(.grid-3,.grid-4,.directory-grid,.service-list,.form-grid,.newsletter,.product-strip,.feature-band)>*{min-width:0}
.btn,.home-button{font-family:inherit;font-size:.9375rem;line-height:1.5;min-height:44px;border-radius:8px;text-align:center;white-space:normal}
.btn{padding:11px 16px}
.eyebrow,.breadcrumb{color:#1f5d8c}
.hero .eyebrow,.page-hero .eyebrow,.hero .breadcrumb,.page-hero .breadcrumb{color:#a9d4f0}
.feature-band .eyebrow,.card .eyebrow,.price-card .eyebrow{color:#1f5d8c}
.newsletter a:not(.btn){color:#fff;text-decoration:underline;text-underline-offset:3px}
.page-hero:not(.reports-hero) a:not(.btn){color:#fff;text-decoration:underline;text-underline-offset:3px}
.beehiiv-signup{min-width:0;max-width:100%;min-height:220px}
.beehiiv-signup iframe{display:block;width:100%!important;max-width:100%!important;min-width:0!important;border:0;border-radius:8px}
.newsletter{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.site-header.psair-site-header{background:#fff;backdrop-filter:none}
.site-header.psair-site-header .navbar{display:flex;min-height:88px;gap:24px;padding-top:8px;padding-bottom:8px}
.site-header.psair-site-header .brand img{display:block;width:156px;height:auto;max-height:none;object-fit:contain}
.psair-site-header .header-navigation{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;min-width:0}
.psair-site-header .header-utilities{display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:flex-end;font-size:.75rem;line-height:1.5}
.psair-site-header .header-utilities a{padding:3px 0;color:#425e72;text-underline-offset:3px}
.psair-site-header #site-navigation{display:flex;position:static;align-items:center;gap:3px;margin:0;padding:0;background:transparent;border:0;box-shadow:none;max-height:none;overflow:visible;flex-direction:row}
.psair-site-header #site-navigation>a,.psair-site-header .nav-group>summary{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;color:#12304a;font-size:.875rem;font-weight:650;line-height:1.5;white-space:nowrap;cursor:pointer;min-height:44px}
.psair-site-header #site-navigation>a:hover,.psair-site-header .nav-group>summary:hover,.psair-site-header .nav-group[open]>summary,.psair-site-header .nav-group.is-current>summary,.psair-site-header #site-navigation>a[aria-current]{background:#edf4f9;text-decoration:none}
.psair-site-header .nav-group{position:relative}
.psair-site-header .nav-group>summary{list-style:none}
.psair-site-header .nav-group>summary::-webkit-details-marker{display:none}
.psair-site-header .nav-group>summary:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-left:2px}
.psair-site-header .nav-group[open]>summary:after{transform:translateY(2px) rotate(225deg)}
.psair-site-header .nav-dropdown{position:absolute;top:calc(100% + 3px);left:0;min-width:244px;max-width:min(340px,calc(100vw - 40px));padding:8px;background:#fff;border:1px solid #d7e0e7;border-radius:10px;box-shadow:0 12px 28px #12304a20;z-index:55}
.psair-site-header .nav-group:last-child .nav-dropdown{left:auto;right:0}
.psair-site-header #site-navigation .nav-dropdown a{display:block;padding:11px 12px;white-space:normal;font-size:.875rem;line-height:1.4;border-radius:6px;min-height:44px;color:#12304a}
.psair-site-header #site-navigation .nav-dropdown a:hover,.psair-site-header #site-navigation .nav-dropdown a[aria-current]{background:#edf4f9;text-decoration:none}
.psair-site-header .site-menu-toggle{display:none;align-items:center;gap:9px;font-family:inherit;font-size:.875rem;font-weight:650;line-height:1.5;padding:10px 13px;border:1px solid #cbd9e3;border-radius:8px;background:#fff;color:#12304a;min-height:44px;cursor:pointer}
.site-menu-toggle svg{width:18px;height:18px}
.psair-site-footer{padding:40px 0 22px}
.psair-site-footer .psair-footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.1fr;gap:30px}
.psair-site-footer .footer-logo{width:180px;height:auto}
.psair-site-footer .footer-brand{display:inline-block}
.psair-site-footer .footer-intro{max-width:260px;margin:10px 0;color:#c8dce9;font-size:.82rem}
.psair-site-footer .footer-title{font-size:.875rem;margin:0 0 10px}
.psair-site-footer .footer-title-spaced{margin-top:22px}
.psair-site-footer .footer-links a{font-size:.8125rem;line-height:1.5;margin:0;padding:5px 0;color:#d3e4ef;display:block}
.psair-site-footer .footer-bottom{color:#b7cddd;font-size:.75rem;line-height:1.6;margin-top:26px;padding-top:18px}
.psair-site-footer .footer-bottom span:last-child{max-width:480px}
@media(max-width:1080px){
 .site-header.psair-site-header .navbar{flex-wrap:wrap;column-gap:16px;row-gap:0;padding:8px 0;min-height:88px}
 .site-header.psair-site-header .brand img{width:132px}
 .psair-site-header .header-navigation{display:contents}
 .psair-site-header .header-utilities{order:3;width:100%;font-size:.75rem;gap:18px;margin-top:0}
 html.js .psair-site-header .site-menu-toggle{display:inline-flex;margin-left:auto}
 .psair-site-header #site-navigation{order:4;position:static;width:100%;flex-direction:column;align-items:stretch;padding:12px 0 8px;background:#fff;gap:3px}
 html.js .psair-site-header #site-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 20px 20px;border-bottom:1px solid #d7e0e7;box-shadow:0 10px 20px #12304a14;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
 html.js .psair-site-header #site-navigation.open{display:flex}
 .psair-site-header #site-navigation>a,.psair-site-header .nav-group>summary{padding:12px;font-size:.9375rem;justify-content:space-between}
 .psair-site-header .nav-dropdown{position:static;margin:2px 0 8px 12px;max-width:none;min-width:0;padding:0 0 0 10px;border:0;border-left:2px solid #d7e0e7;box-shadow:none;border-radius:0}
 .psair-site-footer .psair-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
 main .container{width:calc(100% - 28px)}
 .newsletter{grid-template-columns:minmax(0,1fr);padding:24px 20px}
 .newsletter-privacy{grid-column:1}
 .psair-site-footer .psair-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
 .psair-site-footer .psair-footer-identity{grid-column:1/-1}
 .psair-site-footer .psair-footer-customer{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
 .psair-site-footer .psair-footer-customer .footer-title{grid-column:1/-1}
}
@media(max-width:480px){
 .page-hero h1{font-size:clamp(1.9rem,8vw,2.2rem);overflow-wrap:anywhere}
 .section-head h2{font-size:1.65rem}
 .section-head>div{min-width:0;max-width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.home-button{transition:none}.btn:hover{transform:none}}

/* Identify links within prose without relying on color alone. */
main :where(p,li) a:not(.btn):not(.home-button),main .legal-checkout-note a:not(.btn){text-decoration:underline;text-underline-offset:3px}
