/* Shared footer: the assurance row and content row use the same four-column grid. */
.site-footer { padding: 0 max(1.5rem,calc((100% - 1380px)/2)); color: #eef4f8; background: #172d3d; border-top: 1px solid #3b5263; }
.footer-assurances,.footer-columns { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); column-gap: 2rem; align-items: start; }
.footer-assurances { padding: 1.75rem 0; border-bottom: 1px solid #3b5263; row-gap: 1.5rem; }
.footer-assurances div { display: flex; flex-direction: column; gap: .45rem; min-width: 0; }
.footer-assurances strong { font-size: 0.99rem; font-weight: 700; line-height: 1.5; }
.footer-assurances span { font-size: 0.935rem; line-height: 1.65; color: #c0ced8; }
.footer-columns { padding: 2rem 0 2.5rem; row-gap: 2rem; }
.footer-columns section { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; min-width: 0; }
.footer-columns h2 { width: 100%; margin: 0 0 .45rem; font-size: 0.88rem; line-height: 1.5; letter-spacing: .055em; font-weight: 750; text-transform: uppercase; color: #eef4f8; }
.footer-columns p,.footer-columns address,.footer-columns a,.footer-columns section > strong { margin: 0; font-size: 0.9625rem; line-height: 1.7; overflow-wrap: anywhere; }
.footer-columns p,.footer-columns address { color: #c0ced8; font-style: normal; }
.footer-columns a { color: #d7e4ed; text-decoration: none; text-underline-offset: .2em; }
.footer-columns a:hover { text-decoration: underline; }.footer-columns a:focus-visible { outline: 2px solid #8bd9d1; outline-offset: 3px; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .6rem 2rem; padding: 1.1rem 0 1.5rem; border-top: 1px solid #3b5263; font-size: 0.88rem; line-height: 1.6; color: #c0ced8; }
@media(max-width:1000px) { .footer-assurances,.footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem 2rem; } }
@media(max-width:480px) { .site-footer { padding-inline: 1.25rem; }.footer-assurances { grid-template-columns: minmax(0,1fr); gap: 1.15rem; }.footer-columns { grid-template-columns: minmax(0,1fr); gap: 1.65rem; }.footer-bottom { flex-direction: column; } }

.footer-columns a:hover { color: #99e0d8; }
.footer-assurances strong::before { content: ""; display: block; width: 1.5rem; height: 3px; margin-bottom: .65rem; border-radius: 2px; background: #73c9c0; }
