.pe-footer { background: #0b1729; color: #d1dce9; border-top: 4px solid #397ac5; }
.pe-footer-wrap { max-width: 78rem; padding: clamp(2rem,5vw,4rem) clamp(1rem,4vw,2rem) 1.25rem; margin-inline: auto; }
.pe-footer-grid { display: grid; grid-template-columns: minmax(0,1.5fr) repeat(3,minmax(0,1fr)); gap: clamp(1.5rem,4vw,3rem); }
.pe-footer h2 { margin: 0 0 .85rem; color: #fff; font: 700 1rem/1.4 Inter,sans-serif; }
.pe-footer-contact h2 { font-size: 1.4rem; }
.pe-footer p,.pe-footer address { margin: 0 0 1rem; font-style: normal; line-height: 1.65; }
.pe-footer ul { list-style: none; margin: 0; padding: 0; }
.pe-footer a { color: #d1dce9; display: inline-block; padding-block: .25rem; overflow-wrap: anywhere; }
.pe-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.pe-footer a:focus-visible { outline: 2px solid #9cccff; outline-offset: 3px; }
.pe-footer h2 a { color: inherit; }
.pe-footer a.pe-footer-cta { background: #dbeafe; color: #102c4b; padding: .65rem 1rem; border-radius: .5rem; font-weight: 700; }
.pe-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 1.25rem; border-top: 1px solid #40536a; margin-top: 2rem; padding-top: 1rem; align-items: center; }
.pe-footer-bottom nav { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; }
@media(max-width: 860px) { .pe-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 480px) { .pe-footer-grid { grid-template-columns: minmax(0,1fr); } .pe-footer nav a { padding-block: .45rem; } }
