/* Shared by the homepage and service landing pages. */
.rg-footer__contact li { display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; }
.rg-footer__contact li > svg { width:18px; height:18px; margin-top:2px; fill:none; stroke:var(--rg-cyan-light); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.rg-footer__map { display:grid; grid-template-columns:minmax(200px,.5fr) minmax(0,1fr); align-items:center; gap:36px; margin-top:32px; padding-top:28px; border-top:1px solid rgba(255,255,255,.14); }
.rg-footer__map .rg-eyebrow { margin-bottom:7px; color:var(--rg-cyan-light); }
.rg-footer__map h3 { max-width:none; margin:0; color:#fff; font-size:1.2rem; letter-spacing:0; line-height:1.3; text-transform:none; }
.rg-footer__map p:not(.rg-eyebrow) { margin:12px 0; }
.rg-footer__directions { display:inline-flex; align-items:center; gap:8px; font-weight:700; color:var(--rg-cyan-light); text-underline-offset:4px; }
.rg-footer__interactive-map { display:block; width:100%; height:280px; border:0; border-radius:12px; background:#e9eff7; }
@media (max-width:860px) {
  .rg-footer__map { grid-template-columns:1fr; gap:18px; }
}
@media (max-width:750px) {
  .rg-footer__grid { grid-template-columns:1fr 1fr; gap:28px 20px; }
  .rg-footer__grid > :first-child, .rg-footer__contact { grid-column:1 / -1; }
  .rg-footer__contact ul { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .rg-footer__logo { max-width:120px; }
}
