
.site-footer {
  --bg: linear-gradient(180deg, #2d96b1 0%, #257a92 100%);
  --panel: rgba(255,255,255,.06);
  --text: #fff;
  --muted: #e6f1f5;
  --ring: rgba(255,255,255,.85);
  background: var(--bg);
  color: var(--text);
}


.site-footer section,
.site-footer nav {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}

.site-footer * { box-sizing: border-box; }


.site-footer .footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 14px;      
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;   
}


@media (min-width: 600px) {
  .site-footer .footer-inner {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 18px;
    padding: 18px 16px;
  }
}


@media (min-width: 900px) {
  .site-footer .footer-inner {
    grid-template-columns: 1.15fr 1fr 1fr 1fr;
    gap: 22px;
    padding: 20px 18px;
  }
}


.site-footer h3 {
  margin: 0 0 8px;
  font: 600 1rem/1.3 inherit;
  color: var(--text);
}

.site-footer p,
.site-footer address,
.site-footer li,
.site-footer a {
  font-size: .9rem;
  line-height: 1.45;
  color: var(--muted);
}

.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer a { color: var(--muted); text-decoration: none; }
.site-footer a:hover { color: var(--text); }
.site-footer a:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; border-radius: 6px; }


.site-footer nav a { position: relative; padding: 1px 0; }
.site-footer nav a::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -1px;
  height: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: left;
  transition: transform .18s ease;
}
.site-footer nav a:hover::after { transform: scaleX(1); }


.site-footer .stack-8 > * + * { margin-top: 6px; }
@media (min-width: 900px) { .site-footer .stack-8 > * + * { margin-top: 8px; } }


.site-footer .contact p { margin: 4px 0 8px; max-width: 44ch; }


.site-footer .contact-item { display: flex; align-items: flex-start; gap: 8px; }
.site-footer .contact-item + .contact-item { margin-top: 6px; }
.site-footer .contact-item svg { width: 18px; height: 18px; margin-top: 1px; color: var(--text); }
.site-footer .contact address { font-style: normal; }

.site-footer .contact-hero {
  margin: 0 0 8px;
  background: var(--panel);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,.10);
}
.site-footer .contact-hero img {
  display: block;
  height: auto;
  aspect-ratio: 16 / 5;       
  max-height: 120px;        
  object-fit: cover;
}

.site-footer .contact-hero figcaption { display: none; }


.site-footer .social {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 8px; margin-top: 6px;
}
.site-footer .social a {
  width: 32px; height: 32px; border-radius: 10px;
  display: grid; place-items: center;
  background: rgba(255,255,255,.08);
  transition: transform .18s ease, background-color .18s ease;
}
.site-footer .social svg { width: 18px; height: 18px; color: #fff; }
.site-footer .social a:hover { transform: translateY(-2px); background: rgba(255,255,255,.15); }


.site-footer .footnote {
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 6px;
  padding: 10px 14px 14px;
  text-align: center;
  color: var(--muted);
  font-size: .85rem;
}


@media (prefers-reduced-motion: reduce) {
  .site-footer a, .site-footer .social a { transition: none !important; }
}
