.lusa-badges { padding: clamp(2.75rem, 5vw, 4.75rem) 1.25rem; background: linear-gradient(135deg, #f6f9fb, #edf3f7); border-block: 1px solid #dce5eb; color: #143c50; }
.lusa-badges__inner { max-width: 75rem; margin-inline: auto; }
.lusa-badges__heading { max-width: 45rem; margin: 0 auto 2rem; text-align: center; }
.lusa-badges .lusa-badges__eyebrow { margin: 0 0 .55rem; color: #064e71; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.lusa-badges__heading h2 { margin: 0 0 .75rem; font: 700 clamp(1.6rem, 3vw, 2.35rem)/1.2 system-ui, sans-serif; letter-spacing: -.025em; }
.lusa-badges__heading > p:last-child { margin: 0; color: #526271; font-size: 1rem; line-height: 1.6; }
.lusa-badges .lusa-badges__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.lusa-badges__grid > li { min-width: 0; }
.lusa-badges .lusa-badges__card { display: flex; flex-direction: column; align-items: center; height: 100%; padding: 1.5rem 1rem 1.15rem; border: 1px solid #dee7ed; border-radius: .85rem; background: rgb(255 255 255 / 75%); color: #143c50; text-align: center; text-decoration: none; box-shadow: 0 5px 18px rgb(20 60 80 / 3%); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.lusa-badges__card img { display: block; width: 156px; max-width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; margin: 0 auto 1rem; filter: drop-shadow(0 5px 6px rgb(20 60 80 / 12%)); }
.lusa-badges__card h3 { margin: 0 0 .45rem; font: 700 1rem/1.35 system-ui, sans-serif; color: #143c50; }
.lusa-badges__card p { margin: 0 0 .9rem; color: #526271; font: 400 .875rem/1.5 system-ui, sans-serif; }
.lusa-badges__action { margin-top: auto; color: #064e71; font: 600 .8rem/1.4 system-ui, sans-serif; }
.lusa-badges__action span { display: inline-block; margin-left: .3rem; }
.lusa-badges__card:focus-visible { outline: 3px solid #064e71; outline-offset: 4px; }
@media (hover: hover) { .lusa-badges__card:hover { transform: translateY(-3px); border-color: #93b0c3; box-shadow: 0 12px 24px rgb(20 60 80 / 9%); } }
.lusa-badges .lusa-badges__note { max-width: 52rem; margin: 1.5rem auto 0; text-align: center; color: #526271; font: 400 .75rem/1.6 system-ui, sans-serif; }
@media (max-width: 899px) { .lusa-badges .lusa-badges__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .lusa-badges { padding-inline: .875rem; } .lusa-badges .lusa-badges__grid { gap: .65rem; } .lusa-badges .lusa-badges__card { padding: 1rem .65rem; } .lusa-badges__card img { width: 128px; margin-bottom: .8rem; } .lusa-badges__card h3 { font-size: .9rem; } .lusa-badges__card p { font-size: .8rem; } }
@media (prefers-reduced-motion: reduce) { .lusa-badges .lusa-badges__card { transition: none; transform: none; } }

/* Shared compact footer: seven service badges, with a separate anniversary. */
.lusa-footer-badges { clear: both; width: 100%; margin: 2rem 0 0; padding: 1.75rem 0 1.25rem; border-top: 1px solid rgb(160 192 210 / 22%); color: #dceaf2; }
.lusa-footer-badges h2 { margin: 0 0 1.25rem; font: 600 .8rem/1.4 system-ui,sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #9ecbdf; }
.lusa-footer-badges__list { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 1rem; padding: 0; margin: 0; list-style: none; }
.lusa-footer-badges__list li { min-width: 0; }
.lusa-footer-badges__list a { display: flex; flex-direction: column; align-items: center; gap: .65rem; padding: .65rem .25rem; color: #dceaf2; text-align: center; text-decoration: none; border-radius: .65rem; transition: background .18s ease, transform .18s ease; }
.lusa-footer-badges__list img { display: block; width: 72px; height: 72px; max-width: 100%; aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 6px 5px rgb(0 0 0 / 25%)); }
.lusa-footer-badges__list span { font: 500 .78rem/1.4 system-ui,sans-serif; max-width: 10rem; }
.lusa-footer-badges__list a:focus-visible { outline: 2px solid #9ecbdf; outline-offset: 3px; }
.lusa-footer-badges__anniversary { display: flex; align-items: center; gap: 1rem; margin: 1.25rem 0; color: inherit; text-decoration: none; }
.lusa-footer-badges__anniversary img { width: 72px; height: 72px; object-fit: contain; flex: 0 0 auto; }
.lusa-footer-badges__anniversary strong, .lusa-footer-badges__anniversary small { display: block; }
.lusa-footer-badges__anniversary small { margin-top: .3rem; font-size: .8rem; line-height: 1.5; }
#footer .lusa-footer-badges { background: #061d2c; padding: 1.75rem 1.5rem; border-radius: .8rem; }
@media (hover:hover) { .lusa-footer-badges__list a:hover { background: rgb(159 206 229 / 7%); transform: translateY(-3px); color: white; } }
@media (max-width: 1099px) { .lusa-footer-badges__list { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width: 599px) { .lusa-footer-badges__list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; } .lusa-footer-badges__list img { width: 72px; height: 72px; } .lusa-footer-badges__list li:last-child { grid-column: 1 / -1; width: 50%; justify-self: center; } #footer .lusa-footer-badges { padding-inline: .75rem; } }
@media (prefers-reduced-motion:reduce) { .lusa-footer-badges__list a { transition: none; transform: none; } }
/* Override footer logo rules for this anniversary image only. */
#footer .lusa-footer-badges__anniversary img { width: 72px; height: 72px; min-width: 72px; max-width: 72px; object-fit: contain; filter: none; background: transparent; }
#footer .lusa-footer-badges__anniversary span { flex: 1 1 auto; min-width: 0; }
