/* Airy footer grid with a soft background and fading heading rules. */
.prefooter{
  position:relative;
  padding:2.8rem 0 3.5rem;
  background:linear-gradient(180deg,#fff,#f8fcff);
  border-top:1px solid #dfebf7;
  border-bottom:0;
  isolation:isolate;
}
.prefooter::after{display:none}
.footer-grid{grid-template-columns:minmax(0,1.1fr) minmax(180px,.65fr) minmax(0,1.25fr);gap:0}
.footer-panel{padding:0 clamp(1.4rem,3vw,3.3rem)}
.footer-panel:first-child{padding-left:0}
.footer-panel:last-child{padding-right:0}
.footer-panel + .footer-panel{border-left:1px solid #dfeaf6}
.footer-panel h2{display:flex;width:100%;font-size:.9rem;font-weight:800;letter-spacing:.15em;padding-bottom:1rem;margin-bottom:1.1rem;text-shadow:none}
.footer-panel h2::after{left:0;transform:none;box-shadow:none;width:100%;height:2px;background:linear-gradient(90deg,#00216d 0%,#55c4e8 38%,rgba(141,201,230,.2) 65%,transparent 100%);border-radius:0}
.footer-links{gap:.35rem 1.8rem}
.footer-links a{display:flex;align-items:center;gap:.8rem;min-height:38px;color:#2488bd;font-size:.93rem}
.footer-links a::after{content:"\203A";margin-left:auto;color:#256799;font-size:1.2rem;font-weight:400}
.footer-links--single a{justify-content:flex-start;width:fit-content}
.footer-links--single a::after{margin-left:.35rem}
.footer-social-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:linear-gradient(135deg,#dceeff,#eff9ff);color:#279fda}
.footer-social-icon svg{width:21px;height:21px}
.footer-panel--acknowledgement p{font-size:.97rem;line-height:1.65;color:#586c89}
.footer-links a:focus-visible,.footer-toplink a:focus-visible{outline:2px solid #2488bd;outline-offset:4px;border-radius:3px}
.site-footer{position:relative;padding:.75rem 0;background:#f8fcff;border-top:1px solid #e0edf8;overflow:hidden}
.site-footer::after{content:"";display:block;position:absolute;inset:auto 0 0;height:16px;background:url("../images/footer-wave-edge.svg") center bottom/100% 100% no-repeat;pointer-events:none}
.credits,.footer-toplink{font-size:.88rem}
.site-footer .credits a{color:#5eb4de}
.footer-toplink{padding-left:1.7rem;border-left:1px solid #dce8f5}
@media(min-width:861px) and (max-width:1120px){
  .footer-grid{grid-template-columns:1.3fr 1fr;row-gap:2rem}
  .footer-panel--acknowledgement{grid-column:1/-1;padding:1.5rem 0 0;border-left:0!important;border-top:1px solid #dfeaf6}
}
@media(max-width:860px){
  .prefooter{padding:2rem 0 2.8rem}
  .footer-grid{grid-template-columns:1fr;gap:1.6rem}
  .footer-panel,.footer-panel:first-child,.footer-panel:last-child{padding:0;text-align:center}
  .footer-panel h2{justify-content:center}
  .footer-panel--acknowledgement{max-width:none;margin-inline:0}
  .footer-panel + .footer-panel{border-left:0;border-top:1px solid #e3edf7;padding-top:1.6rem}
  .footer-panel h2::after{left:0;transform:none;background:linear-gradient(90deg,transparent 0%,#8dc9e6 27%,#00216d 50%,#8dc9e6 73%,transparent 100%)}
  .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1.2rem;max-width:32rem;margin-inline:auto}
  .footer-links a{justify-content:center;font-size:.9rem}
  .footer-links a::after{margin-left:.15rem}
  .footer-links--single{grid-template-columns:1fr;justify-items:center}
  .footer-panel--acknowledgement p{max-width:36rem;margin-inline:auto}
  .footer-meta{grid-template-columns:1fr;gap:.7rem;text-align:center}
  .footer-meta > [aria-hidden="true"]{display:none}
  .footer-toplink{padding-left:0;border-left:0;justify-self:center}
}
@media(max-width:380px){.footer-links{grid-template-columns:1fr}}
