/* Footer: clear policy navigation, contact icons and a compact design credit. */
.site-footer {
  background: var(--footer-bg, #f6f1e8);
  border-top: 1px solid var(--border);
  color: var(--text);
}
.site-footer .footer-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.65fr) minmax(0, 1.15fr) minmax(0, 0.85fr) minmax(0, 1.45fr);
  grid-template-areas: "brand explore services policies contact";
  gap: 32px;
  align-items: start;
}
.site-footer .footer-grid > * { min-width: 0; }
.site-footer .footer-brand { grid-area: brand; }
.site-footer [data-navigation-list] { grid-area: explore; }
.site-footer [data-service-links] { grid-area: services; }
.site-footer .footer-policies { grid-area: policies; }
.site-footer .footer-contact {
  grid-area: contact;
  display: block;
  border: 0;
  padding-top: 0;
}
.site-footer .footer-contact .footer-detail-row {
  display: grid;
  grid-template-columns: 17px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  margin-bottom: 5px;
}
.site-footer .footer-detail-row > .icon {
  width: 17px;
  height: 17px;
  margin-top: 3px;
  color: var(--accent-ink);
  flex-shrink: 0;
}
.site-footer .footer-detail-row > a,
.site-footer .footer-detail-row > span {
  display: block;
  min-width: 0;
  font-size: 11px;
  line-height: 1.85;
  color: var(--text-secondary-readable);
  overflow-wrap: anywhere;
}
.site-footer .footer-detail-row > a:hover { color: var(--accent-ink); }
.site-footer .footer-detail-row > a { min-height: 24px; }
.site-footer .footer-policies > a {
  display: block;
  padding: 5px 0;
  min-height: 31px;
  font-size: 11px;
  line-height: 1.8;
  color: var(--text-secondary-readable);
  overflow-wrap: anywhere;
}
.site-footer .footer-policies > a:hover { color: var(--accent-ink); }
.site-footer .footer-bottom {
  align-items: center;
  gap: 18px 30px;
  padding-right: 60px; /* Keep the credit clear of the desktop WhatsApp button. */
}
.site-footer .footer-bottom .designer-credit {
  font-size: 10px;
  line-height: 1.8;
  text-align: right;
  color: var(--text-secondary-readable);
}
.site-footer .designer-credit strong {
  color: var(--accent-ink);
  font-weight: 600;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media (max-width: 1100px) {
  .site-footer .footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: "brand brand brand" "explore services policies" "contact contact contact";
    gap: 32px;
  }
  .site-footer .footer-contact {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    border-top: 1px solid var(--border);
    padding-top: 24px;
  }
  .site-footer .footer-contact h3 { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .site-footer .footer-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    grid-template-areas: "brand brand" "explore services" "policies services" "contact contact";
    gap: 28px 24px;
  }
  .site-footer .footer-contact { grid-template-columns: minmax(0, 1fr); }
  .site-footer .footer-detail-row > a { min-height: 44px; display: flex; align-items: center; }
  .site-footer .footer-detail-row[data-contact-kind="email"] > .icon,
  .site-footer .footer-detail-row[data-contact-kind="phone"] > .icon { margin-top: 13px; }
  .site-footer .footer-policies > a { min-height: 44px; display: flex; align-items: center; }
  .site-footer .footer-bottom { align-items: flex-start; gap: 10px; padding-right: 0; }
  .site-footer .footer-bottom .designer-credit { text-align: left; }
}
@media (max-width: 374px) {
  .site-footer .footer-grid { gap: 26px 18px; }
}

.site-footer .designer-credit .site-credit-link {
  display: inline;
  min-height: 0;
  font: inherit;
  color: var(--accent-ink);
  text-decoration: underline;
  text-decoration-color: var(--border);
  text-underline-offset: 3px;
}
.site-footer .designer-credit .site-credit-link:hover { text-decoration-color: currentColor; }
.site-footer .designer-credit .site-credit-link:focus-visible {
  outline: 2px solid var(--accent-ink);
  outline-offset: 4px;
}

/* Footer wordmark only: local Lora serif; logo/header geometry unchanged. */
.site-footer .vrf-brand .brand-name {
  font-family:var(--serif);
  font-weight:500;
  font-style:normal;
  line-height:1.45;
  letter-spacing:.035em;
  white-space:normal;
  overflow-wrap:anywhere;
}

/* ==========================================================================
   Footer bottom row
   The copyright line was 9px and the RITPLPRO credit 10px, while the footer
   navigation and policy links sit at 11px. All three now match at 11px so the
   bottom row reads as part of the same footer rather than as fine print, and
   they stay matched at every width.
   ========================================================================== */
.site-footer .footer-bottom p,
.site-footer .footer-bottom .designer-credit,
.site-footer .footer-bottom a {
  font-size: 11px;
  line-height: 1.8;
}
