/* Shared footer palette, including the homepage. */
body footer { background: #132b40 !important; }
body footer .footer-contact,
body footer .footer-bottom { border-color: #34495d !important; }
body footer .footer-section-title::after,
body footer .footer-column h3::after { background: #ec8d4c !important; }
body footer p,
body footer li,
body footer div,
body footer span,
body footer a { color: #c5d1dc !important; }
body footer h2,
body footer h3,
body footer h4,
body footer strong { color: #f3f6fa !important; }
body footer a:hover,
body footer a:focus-visible,
body footer a.highlight { color: #ec8d4c !important; }
body footer .location-card {
  background: #1c354b !important;
  border-color: #34495d !important;
}
body footer .location-card:hover {
  background: #233e55 !important;
  border-color: #ec8d4c80 !important;
  box-shadow: 0 8px 28px #0b162233 !important;
}
body footer .social-icon {
  background: #233e55 !important;
  border-color: #496073 !important;
  color: #f3f6fa !important;
  box-shadow: 0 8px 28px #0b162226 !important;
}
body footer .social-icon:hover,
body footer .social-icon:focus-visible {
  background: #132b40 !important;
  border-color: #ec8d4c !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px #0b162233 !important;
}
body footer .social-icon i { color: inherit !important; }

/* Keep the homepage footer layout in sync with the compact inner-page footer. */
body.iast-home footer .footer-container { max-width:1200px; width:calc(100% - 13vw); padding:44px 0 24px; }
body.iast-home footer .footer-contact { display:grid; grid-template-columns:1fr 2fr; column-gap:36px; row-gap:22px; align-items:start; margin-bottom:32px; padding-bottom:32px; }
body.iast-home footer .footer-section-title { font:600 17px/1.4 Montserrat,Arial,sans-serif; margin:0!important; width:fit-content; }
body.iast-home footer .footer-section-title:first-child { grid-column:1; grid-row:1; }
body.iast-home footer .contact-details { grid-column:1; grid-row:2; margin:0; gap:16px; }
body.iast-home footer .footer-section-title:nth-of-type(2) { grid-column:2; grid-row:1; }
body.iast-home footer .locations-grid { grid-column:2; grid-row:2; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; gap:16px; }
body.iast-home footer .contact-item { font-size:13px; line-height:1.7; gap:10px; }
body.iast-home footer .contact-item strong { display:block; margin-bottom:3px; }
body.iast-home footer .contact-item a { overflow-wrap:anywhere; }
body.iast-home footer .contact-icon { font-size:15px; }
body.iast-home footer .location-card { padding:18px; border-radius:10px; box-shadow:none; }
body.iast-home footer .location-card h4 { font:600 13px/1.5 Montserrat,Arial,sans-serif; margin:0 0 10px; }
body.iast-home footer .location-card p { font-size:13px!important; line-height:1.7!important; }
body.iast-home footer .footer-links { grid-template-columns:1fr 2.3fr .8fr 1.2fr; gap:28px; margin-bottom:28px; padding-bottom:0; }
body.iast-home footer .footer-column { min-width:0; }
body.iast-home footer .footer-column h3 { font:600 14px/1.5 Montserrat,Arial,sans-serif; margin:0; }
body.iast-home footer :is(.footer-section-title,.footer-column h3)::after { width:24px; height:2px; bottom:-7px; }
body.iast-home footer .footer-column ul { margin-top:22px; }
body.iast-home footer .footer-column:nth-child(2) ul { columns:2; column-gap:24px; }
body.iast-home footer .footer-column li { margin:0 0 10px; line-height:1.5; break-inside:avoid; }
body.iast-home footer .footer-column a { font:400 13px/1.6 Roboto,Arial,sans-serif; }
body.iast-home footer .footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:20px; border-top-width:1px; }
body.iast-home footer .social-links { gap:12px; margin:0; }
body.iast-home footer .social-icon { width:40px; height:40px; font-size:17px; box-shadow:none!important; }
body.iast-home footer .copyright { font-size:12px!important; line-height:1.6!important; margin:0; }

@media(max-width:1100px) {
  body.iast-home footer .footer-links { grid-template-columns:1fr 1.5fr; row-gap:28px; }
  body.iast-home footer .footer-contact { grid-template-columns:1fr 1.7fr; gap:24px; }
  body.iast-home footer .locations-grid { grid-template-columns:1fr; }
}
@media(max-width:900px) {
  body.iast-home footer .footer-container { width:calc(100% - 48px); padding:36px 0 24px!important; }
  body.iast-home footer .footer-links { grid-template-columns:1fr 1.5fr!important; }
}
@media(max-width:600px) {
  body.iast-home footer .footer-container { width:calc(100% - 40px); padding:32px 0 24px!important; }
  body.iast-home footer .footer-contact { display:flex; flex-direction:column; gap:24px; margin-bottom:28px; padding-bottom:28px; }
  body.iast-home footer .contact-details,
  body.iast-home footer .locations-grid { width:100%; }
  body.iast-home footer .footer-links { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:28px 20px!important; }
  body.iast-home footer .footer-column:nth-child(2) { grid-column:1/-1; grid-row:2; }
  body.iast-home footer .footer-column:nth-child(2) ul { column-gap:20px; }
  body.iast-home footer .footer-bottom { flex-direction:column; gap:16px; }
}
