/* R13 footer: one shared site footer on all 14 pages (built by unify_footer() in scripts/build-site.py).
   Self-contained on purpose: inner pages don't load styles.css, so every value is set here. */
.rf {
  --rf-ink: #0f1623; --rf-soft: #56606e; --rf-line: #d7dee8; --rf-sky: #1c58a8; --rf-leaf: #62b5f4;
  display: block; margin: 0; padding: 0 0 48px; color: var(--rf-soft); background: transparent;
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 15px; line-height: 1.5; text-align: left; -webkit-font-smoothing: antialiased;
}
.rf *, .rf *::before, .rf *::after { box-sizing: border-box; }
.rf p { margin: 0; }
.rf-wrap { width: min(100%, 1360px); margin-inline: auto; padding-inline: clamp(24px, 5vw, 80px); }
.rf-top {
  display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(4, minmax(0, 1fr));
  column-gap: 40px; row-gap: 36px; align-items: start;
  padding-block: 48px; border-top: 1px solid var(--rf-line);
}
.rf-brand { display: grid; gap: 12px; align-content: start; }
.rf-logo {
  display: inline-flex; align-items: center; width: fit-content; text-decoration: none;
}
.rf-logo img { display: block; width: 93px; height: 23px; }
.rf-brand p { max-width: 30ch; color: var(--rf-soft); }
.rf-map { display: contents; }
.rf-col { display: grid; gap: 10px; align-content: start; min-width: 0; }
.rf-h {
  margin: 0 0 4px; color: var(--rf-ink); font-size: 12px; font-weight: 600; line-height: 18px;
  letter-spacing: .09em; text-transform: uppercase;
}
.rf-col a, .rf-bot a {
  width: fit-content; color: var(--rf-soft); text-decoration: underline; text-decoration-color: transparent;
  text-decoration-thickness: 1.5px; text-underline-offset: 4px;
  transition: color 180ms ease, text-decoration-color 180ms ease;
}
.rf-col a:hover, .rf-col a:focus-visible, .rf-bot a:hover, .rf-bot a:focus-visible { color: var(--rf-sky); text-decoration-color: currentColor; }
.rf-bot { display: grid; gap: 10px; padding-top: 22px; border-top: 1px solid var(--rf-line); }
.rf-copy { color: var(--rf-soft); font-size: 13px; }
.rf-fine { max-width: 110ch; color: var(--rf-soft); font-size: 12.5px; line-height: 1.6; }
.rf-fine a { color: var(--rf-ink); font-weight: 500; text-decoration-color: rgba(15, 22, 35, .3); text-underline-offset: 3px; }

/* 1024-ish: brand on its own row, the four link columns spread evenly underneath. */
@media (max-width: 1100px) {
  .rf-top { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 32px; }
  .rf-brand { grid-column: 1 / -1; }
}
/* Phone: two even columns (2 x 2), full-size tap targets. */
@media (max-width: 720px) {
  .rf { padding-bottom: 36px; }
  .rf-top { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 28px; padding-block: 40px 32px; }
  .rf-col { gap: 0; }
  .rf-h { margin-bottom: 2px; }
  .rf-col a { display: flex; align-items: center; min-height: 44px; }
  .rf-bot { gap: 12px; padding-top: 20px; }
  .rf-bot a { display: inline-block; padding-block: 10px; margin-block: -10px; }
}
/* Inner pages with the fixed phone call-to-action pill keep room under the footer (was .foot padding). */
@media (max-width: 900px) {
  body:has(.mcta) .rf { padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px)); }
}
