/* Footer additions shared by every page (landing and inner pages): a compact
   layout for the footer.
   Linked last in <head>, and prefixed with footer.foot, so it overrides the
   page-specific footer styles. Colours come from the footer's own variables. */

/* Brand and link columns */
footer.foot .foot__top{padding-block:28px 24px}
footer.foot .fbrand .ftag,footer.foot .fbrand p{margin-top:10px}
footer.foot .fbrand p{max-width:440px}
footer.foot .fbrand .btn-row{margin-top:14px}

/* Offices: three address columns and a shorter map beside them */
footer.foot .offhead{margin-top:0}
footer.foot .office-region{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:28px;margin-top:16px}
footer.foot .office-addresses{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px}
footer.foot .office-addresses li{padding-top:12px}
footer.foot .office-addresses address{font-size:12px;line-height:1.5}
footer.foot .office-region__map{min-height:240px}

/* Map pins: no hover effects. Hovering used to hide the city name (to make
   room for a large address card) and recolour the dot and label; a pin now
   looks the same hovered or not. Pins still link to Google Maps. */
footer.foot .offpin__label{display:none !important}
footer.foot .offpin:is(:hover,:focus-visible) .offpin__name{opacity:1 !important}
footer.foot .offpin:is(:hover,:focus-visible) .offpin__dot{background:var(--fteal) !important}
footer.foot .offpin:hover>span{color:var(--fteal2) !important}

/* The large decorative wordmark repeats the logo above; dropped to save height. */
footer.foot .foot__wm{display:none}

/* Bottom bar, identical on every page (same markup everywhere): copyright,
   legal links, socials and back to top on one line. Overrides both base
   stylesheets (the landing pages' and spec-theme.css). */
footer.foot .fend{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:24px;padding:16px 0;border-top:1px solid var(--fline,rgba(255,255,255,.14));font-size:12px}
footer.foot .fend .small{flex:0 1 auto;flex-basis:auto;margin:0 auto 0 0;font-size:12px;color:var(--fink2,#B3CBC8)}
footer.foot .fend .flegal{display:flex;flex-wrap:wrap;gap:6px 16px}
footer.foot .fend .flegal a{font-size:12px;color:var(--fink2,#B3CBC8);text-decoration:none}
footer.foot .fend .flegal a:hover{color:var(--fteal,#2FD8D0)}
footer.foot .fend .socials{order:3;display:flex;gap:8px;margin:0}
footer.foot .fend .socials a{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--fline,rgba(255,255,255,.14));border-radius:50%;background:var(--fsurf,rgba(255,255,255,.05));color:var(--fink2,#B3CBC8);transition:background .25s,color .25s,border-color .25s}
footer.foot .fend .socials a:hover{background:var(--fteal,#2FD8D0);border-color:var(--fteal,#2FD8D0);color:#04211F}
footer.foot .fend .socials svg{width:15px;height:15px}
footer.foot .fend .totop{order:4;display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 14px;border:1px solid var(--fline,rgba(255,255,255,.14));border-radius:999px;background:var(--fsurf,rgba(255,255,255,.05));color:var(--fink,#EAF4F2);font-size:10px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
footer.foot .fend .totop:hover{background:var(--fteal,#2FD8D0);border-color:var(--fteal,#2FD8D0);color:#04211F}
footer.foot .fend .totop svg{width:12px;height:12px}

/* Narrower laptops: copyright on its own line, the rest together below,
   rather than "Back to top" wrapping alone. */
@media (max-width:1180px){
  footer.foot .fend .small{flex-basis:100%;margin-right:0}
}
@media (max-width:1000px){
  footer.foot .office-region{grid-template-columns:1fr}
}
@media (max-width:700px){
  footer.foot .foot__top{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px}
  footer.foot .foot__top .fbrand{grid-column:1/-1}
  footer.foot .office-addresses{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* The addresses carry the information; the map is decorative at this size. */
  footer.foot .office-region__map{display:none}
  footer.foot .fend .small{flex-basis:100%;margin-right:0}
}
