/* Shared homepage footer. Scoped resets keep every page visually identical. */
.home-footer {
  width:min(1240px,calc(100% - 96px));
  margin:0 auto;
  padding:58px 0 25px;
  background:#fff;
  color:#2E3238;
  font:400 18px/1.65 Inter,Arial,sans-serif;
  text-align:left;
}
.home-footer p {margin:0;color:#4E5961}
.home-footer a {color:inherit;text-decoration:none}
.home-footer a:hover,.home-footer button:hover {color:#B15526}
.home-footer :focus-visible {outline:3px solid #B15526;outline-offset:5px;border-radius:2px}
.footer-affiliations {display:flex;align-items:center;flex-wrap:wrap;gap:32px 56px;margin-bottom:42px;padding-bottom:32px;border-bottom:1px solid #DDE0E2}
.home-footer .footer-affiliation {display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:18px;line-height:1.5}
.footer-affiliation-logo {display:flex;align-items:center;height:120px}
.footer-affiliation-logo img {display:block;max-width:100%;height:auto}
.footer-affiliation-mis img {width:196px}
.footer-affiliation-digital img {width:180px}
.home-footer .footer-directory {margin-left:auto;max-width:270px;font-size:18px;line-height:1.7}
.home-footer .footer-directory a {display:inline-block;color:#2E3238;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#B9BEC2}
.home-footer .footer-directory a:hover {color:#B15526;text-decoration-color:currentColor}
.home-footer .home-brand {display:inline-flex;align-items:center;gap:13px;flex-shrink:0;font:800 20px/1 Manrope,Inter,Arial,sans-serif;letter-spacing:.025em}
.home-footer .home-brand img {display:block;width:31px;height:48px;object-fit:contain}
.home-footer .home-brand sup{
  font-size:16px;
  line-height:0;
  vertical-align:baseline;
  position:relative;
  top:-.55em;
  margin-left:2px;
}
.home-footer-grid {display:grid;grid-template-columns:1.25fr 1.15fr 1fr .7fr;gap:40px}
.home-footer-grid>div {min-width:0}
.home-footer-grid h2 {color:#2E3238;font:600 18px/1.4 Inter,Arial,sans-serif;letter-spacing:0;margin:0 0 18px}
.home-footer-grid>div>a:not(.home-brand) {display:block;overflow-wrap:anywhere;font-size:18px;line-height:1.6;padding-bottom:10px}
.home-footer address {font-style:normal;font-size:18px;line-height:1.8;color:#4E5961;margin:10px 0 0}
.home-footer-about>p {font-size:18px;margin-top:20px;line-height:1.7}
.home-footer-about .home-footer-tagline {font-size:18px;color:#B15526;margin-top:10px}
.home-footer .home-footer-small {font-size:18px;margin-top:20px;line-height:1.8}
.home-footer-bottom {display:flex;justify-content:space-between;gap:20px;border-top:1px solid #DDE0E2;margin-top:42px;padding-top:20px;align-items:center;font-size:18px}
.home-footer-bottom nav {display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.home-footer-bottom button {border:0;background:transparent;padding:0;cursor:pointer;color:#2E3238;font:inherit}
@media(max-width:1150px) {
  .home-footer {width:calc(100% - 64px)}
  .home-footer-grid {gap:25px}
}
@media(max-width:960px) {
  .home-footer .footer-directory {flex-basis:100%;max-width:none;margin-left:0}
  .home-footer-grid {grid-template-columns:1fr 1fr;gap:35px}
  .home-footer-bottom nav {gap:12px}
}
@media(max-width:760px) {
  .home-footer {width:calc(100% - 40px);padding-top:36px}
  .footer-affiliations {gap:28px 20px;margin-bottom:34px;padding-bottom:30px}
  .footer-affiliation-logo {height:100px}
  .footer-affiliation-mis img {width:160px}
  .footer-affiliation-digital img {width:150px}
  .home-footer .home-brand {gap:10px}
  .home-footer .home-brand img {width:27px;height:42px}
  .home-footer-grid {gap:30px 18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
  .home-footer-grid>div:first-child {grid-column:1 / -1}
  .home-footer-about>p {margin-top:16px}
  .home-footer-about>p br {display:block}
  .home-footer-grid h2 {margin-bottom:14px}
  .home-footer-grid>div>a:not(.home-brand) {padding-bottom:12px}
  .home-footer-grid>div:last-child {grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:22px;align-items:center}
  .home-footer-grid>div:last-child h2,.home-footer-grid>div:last-child a {margin:0;padding:0}
  .home-footer-grid>div:last-child .home-footer-small {display:none}
  .home-footer-bottom {display:block;margin-top:26px}
  .home-footer-bottom nav {margin-top:17px;justify-content:space-between;gap:10px}
  .home-footer-bottom nav a,.home-footer-bottom nav button {min-height:32px;display:flex;align-items:center}
}
@media(max-width:370px) {
  .home-footer {width:calc(100% - 32px)}
}
@media print {
  .home-footer {width:100%}
  .home-footer-bottom {break-inside:avoid}
}
