/* ==========================================================================
   Footer — minimal, professional
   ========================================================================== */

.ap-footer { background: var(--ap-forest-700); color: var(--ap-text-on-dark); }
.ap-footer__grid {
  display: grid; gap: clamp(2rem, 1rem + 4vw, 4rem);
  grid-template-columns: 1.4fr 1fr 1fr;
  padding-block: clamp(3rem, 2rem + 4vw, 5rem);
}
.ap-footer__logo { display: inline-flex; align-items: center; margin-bottom: 1.25rem; }
.ap-footer__logo img { height: 58px; width: auto; }
.ap-footer__tagline { color: var(--ap-text-on-dark-2); max-width: 34ch; font-size: 1rem; }

.ap-footer__heading { color: #fff; font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 1.1rem; }
.ap-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.ap-footer__list a { color: var(--ap-text-on-dark-2); font-size: 1rem; }
.ap-footer__list a:hover { color: #fff; }

.ap-footer__address { font-style: normal; display: grid; gap: 0.6rem; }
.ap-footer__address a { color: var(--ap-text-on-dark-2); }
.ap-footer__address a:hover { color: #fff; }
.ap-footer__phone { font-family: var(--ap-font-head); font-size: 1.25rem; font-weight: 600; color: #fff !important; }

.ap-footer__bar { border-top: 1px solid rgba(255,255,255,0.12); }
.ap-footer__bar-inner { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; padding-block: 1.5rem; }
.ap-footer__bar p { color: var(--ap-text-on-dark-2); font-size: 0.9rem; margin: 0; }
.ap-footer__bar a { color: var(--ap-text-on-dark-2); font-size: 0.9rem; }
.ap-footer__bar a:hover { color: #fff; }

@media (max-width: 860px) {
  .ap-footer__grid { grid-template-columns: 1fr 1fr; }
  .ap-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .ap-footer__grid { grid-template-columns: 1fr; }
}
