/* Shared v5 sitemap footer. Independent of page layout and heading styles. */
.site-map-footer { --footer-pad:clamp(24px,4.3vw,84px); position:relative; background:#e8edf3; color:#172c48; padding:65px var(--footer-pad) 0; border-top:1px solid #cad5e2; font-family:"Inter",system-ui,sans-serif; line-height:1.65; }
.site-map-footer * { box-sizing:border-box; }
.site-map-footer a { color:inherit; text-decoration:none; }
.site-map-footer a:focus-visible { outline:2px solid #235ce2; outline-offset:5px; }
.site-map-footer__masthead { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-bottom:48px; }
.site-map-footer__masthead a { display:inline-flex; align-items:center; gap:10px; width:fit-content; flex-shrink:0; }
.site-map-footer__masthead .site-map-footer__mark { display:block; width:36px; height:36px; object-fit:contain; filter:brightness(0) saturate(100%) invert(27%) sepia(71%) saturate(1644%) hue-rotate(205deg) brightness(88%) contrast(97%); }
.site-map-footer__word { color:#17304f; font-family:"Funnel Display",Inter,sans-serif; font-weight:600; font-size:22px; letter-spacing:-.045em; line-height:1; }
.site-map-footer__word>span { color:#2869e6; }
.site-map-footer__masthead .site-map-footer__tagline { margin:0; color:#17304f; font-family:"Funnel Display",Inter,sans-serif; font-size:clamp(25px,3vw,44px); font-weight:400; line-height:1.25; letter-spacing:-.04em; text-wrap:balance; }
.site-map-footer__tagline>span { color:#2869e6; }
.site-map-footer__columns { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.25fr); gap:32px; border-top:1px solid #bdccde; padding:38px 0 65px; }
.site-map-footer__columns h2 { position:static; margin:0 0 24px; font:700 15px/1.5 "Inter",system-ui,sans-serif; text-transform:none; letter-spacing:0; color:#263e5c; }
.site-map-footer__columns a { display:block; width:fit-content; max-width:100%; font-size:12px; line-height:1.5; margin-bottom:13px; overflow-wrap:anywhere; }
.site-map-footer__columns a:hover { color:#235ce2; text-decoration:underline; text-underline-offset:4px; }
.site-map-footer__columns a>span { display:inline-block; font-size:8px; padding:3px 5px; background:#d4e0ef; color:#446b9a; margin-left:4px; white-space:nowrap; }
.site-map-footer__columns p,.site-map-footer__columns address { margin:18px 0 0; font-size:11px; font-style:normal; line-height:1.9; color:#5e7390; }
.site-map-footer__contact address { margin:0 0 22px; }
.site-map-footer__bottom { border-top:1px solid #bdccde; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:25px 0; color:#647993; font-size:10px; }
.site-map-footer__bottom a { color:#19375c; }
.site-map-footer__bottom a>span { margin-left:22px; }
@media(max-width:1100px) {
  .site-map-footer__columns { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:35px; }
}
@media(max-width:600px) {
  .site-map-footer { --footer-pad:23px; padding-top:42px; }
  .site-map-footer__masthead { flex-direction:column; align-items:flex-start; gap:28px; padding-bottom:38px; }
  .site-map-footer__masthead .site-map-footer__tagline { max-width:20ch; font-size:30px; }
  .site-map-footer__columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 22px; padding:30px 0 40px; }
  .site-map-footer__columns h2 { margin-bottom:18px; font-size:14px; }
  .site-map-footer__columns a { font-size:11px; }
  .site-map-footer__contact { grid-column:1/-1; }
  .site-map-footer__columns address { margin-bottom:15px; }
  .site-map-footer__bottom { font-size:9px; gap:15px; flex-wrap:wrap; }
  .site-map-footer__bottom>span:nth-child(2) { display:none; }
}
@media print {
  .site-map-footer { background:#fff; color:#111; break-before:page; }
}
