.rv-footer { padding-block: clamp(2.5rem, 5vw, 4rem) 0; color: #D5DDEA; background: var(--rv-navy); }
.rv-footer a { color: #fff; text-underline-offset: 3px; }
.rv-footer a:hover { color: var(--rv-blue-light); }
.rv-footer :focus-visible { outline-color: #fff; }

.rv-footer__grid { display: grid; grid-template-columns: 1fr; gap: 2rem; padding-bottom: 2.5rem; }
@media (min-width: 600px) { .rv-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .rv-footer__grid { grid-template-columns: repeat(var(--rv-fcols, 4), 1fr); gap: 2.5rem; } }

.rv-footer__title { margin: 0 0 1rem; color: #fff; font-size: var(--rv-fs-base); font-weight: 700; }
.rv-footer__block p { margin: 0 0 1rem; font-size: var(--rv-fs-sm); }
.rv-footer__list { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; font-size: var(--rv-fs-sm); }
.rv-footer address { font-style: normal; }

.rv-footer__logo { display: inline-block; margin-bottom: 1rem; color: #fff; text-decoration: none; font-weight: 700; }
.rv-footer__logo-img { width: auto; height: 44px; max-width: 200px; object-fit: contain; }
.rv-footer__logo-img--invert { filter: brightness(0) invert(1); }

.rv-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; padding-block: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .18); font-size: var(--rv-fs-sm); }
.rv-footer__bottom p { margin: 0; }
