/* Shared header: three independent grid regions, no positioned controls. */
header.sm-header:has(.brand-d){display:grid;grid-template-columns:144px minmax(0,1fr) auto;grid-template-areas:"brand navigation account";align-items:center;gap:32px;max-width:1320px;padding:20px 5%;margin:0 auto;position:relative;border-bottom:1px solid #dedbd4;background:#faf8f4;}
header.sm-header .brand-d{grid-area:brand;order:initial;width:128px;margin:0;max-width:100%;}
header.sm-header nav{grid-area:navigation;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:32px;margin:0;width:auto;font-size:1rem;line-height:1.5;}
header.sm-header nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;white-space:nowrap;}
header.sm-header .account-nav{grid-area:account;position:static;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 20px;border:1px solid #bdc2cd;border-radius:8px;background:#f0f0ef;color:#1c2d61;font-size:1rem;font-weight:600;line-height:1.4;white-space:nowrap;text-decoration:none;transition:background .18s,border-color .18s;}
header.sm-header .account-nav:hover{background:#e7e9ee;border-color:#1c2d61;}
header.sm-header .account-nav:focus-visible{outline:2px solid #1c2d61;outline-offset:4px;}
header.sm-header .account-nav:after{display:none;}
@media(max-width:760px){
 header.sm-header:has(.brand-d){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand account" "navigation navigation";gap:12px 20px;padding:14px 5% 8px;}
 header.sm-header .brand-d{width:104px;}
 header.sm-header nav{justify-content:center;gap:32px;width:100%;margin:0;padding-top:3px;font-size:1rem;}
 header.sm-header .account-nav{padding:10px 18px;}
}
@media(max-width:360px){header.sm-header nav{gap:24px;}header.sm-header .account-nav{padding:10px 14px;}}

/* Shared footer (#293): one grid with named groups so the brand, site links, the
   education disclaimer, legal links and business details never run together. */
footer.site-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);grid-template-areas:"brand nav" "disclaimer disclaimer" "legal legal" "business business";align-items:start;gap:26px 32px;padding:60px 6% 44px;}
footer.site-footer>*{min-width:0;margin:0;}
footer.site-footer .footer-brand{grid-area:brand;display:block;}
footer.site-footer .footer-brand .brand{display:inline-block;min-height:0;}
footer.site-footer .footer-brand .brand span{display:block;}
footer.site-footer .footer-nav,footer.site-footer .footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:4px 28px;margin:0;font-size:.9375rem;line-height:1.5;}
footer.site-footer .footer-nav{grid-area:nav;justify-content:flex-end;}
footer.site-footer .footer-legal{grid-area:legal;}
footer.site-footer .footer-nav a,footer.site-footer .footer-legal a{display:inline-flex;align-items:center;min-height:44px;padding:0;white-space:nowrap;}
footer.site-footer .footer-disclaimer{grid-area:disclaimer;border-top:1px solid #ffffff24;padding-top:26px;margin:4px 0 0;font-size:.9375rem;line-height:1.85;color:#d3d7e0;}
footer.site-footer .footer-business{grid-area:business;border-top:0;padding-top:0;margin:0;font-size:.875rem;line-height:1.85;color:#c0cbe2;overflow-wrap:anywhere;}
@media(max-width:760px){
 footer.site-footer{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "nav" "disclaimer" "legal" "business";gap:18px;padding:44px 5% 32px;}
 footer.site-footer .footer-nav{justify-content:flex-start;}
 footer.site-footer .footer-nav,footer.site-footer .footer-legal{gap:0 22px;font-size:1rem;}
 footer.site-footer .footer-disclaimer,footer.site-footer .footer-business{font-size:1rem;}
}
