

.site-footer {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: var(--space-3);
}

.brand-half {
  --brand-surface: var(--accent);
  background: var(--brand-surface);
  color: #ffffff;
  padding: var(--space-4) max(5vw, 1.25rem);
}

.brand-half .footer-mark {
  height: 2.4rem;
  width: auto;
  margin-bottom: var(--space-2);
}

.footer-tagline {
  font-size: 1.02rem;
  max-width: 34ch;
  color: rgba(255, 255, 255, 0.92);
}

.footer-contact {
  margin-top: var(--space-2);
  font-size: 0.95rem;
  line-height: 1.9;
}

.footer-contact a {
  color: #ffffff;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer-contact a:hover {
  color: #e0e7ff;
}

.links-half {
  --links-surface: #111827;
  background: var(--links-surface);
  color: #cbd5e1;
  padding: var(--space-4) max(5vw, 1.25rem);
}

.footer-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
}

.footer-heading {
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #f8fafc;
  margin-bottom: 0.7rem;
}

.footer-link {
  display: block;
  padding: 0.28rem 0;
  color: #cbd5e1;
  font-size: 0.93rem;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-link:hover {
  color: #ffffff;
  text-decoration: underline;
}

.legal-note {
  margin-top: var(--space-3);
  padding-top: var(--space-2);
  border-top: 1px solid #1f2937;
  font-size: 0.82rem;
  line-height: 1.65;
  color: #94a3b8;
  max-width: 78ch;
}

.copyright-line {
  margin-top: 0.618rem;
  font-size: 0.8rem;
  color: #64748b;
  margin-bottom: 0;
}

.cc-footer-link {
  color: #cbd5e1;
  font-size: 0.8rem;
}

.cc-footer-separator {
  color: #475569;
}

@media (min-width: 768px) {
  .site-footer {
    grid-template-columns: 1fr 1.4fr;
  }

  .brand-half,
  .links-half {
    padding: var(--space-5) var(--space-4);
  }

  .footer-columns {
    grid-template-columns: repeat(3, 1fr);
  }
}


.brand-half .footer-mark {
  filter: brightness(0) invert(1);
}
