.site-footer { border-top: 1px solid var(--ink-rule); background: var(--slate); color: var(--paper); padding: 52px 0 40px; }
.footer-desk { width: min(1200px, calc(100% - 96px)); margin: 0 auto; display: grid; grid-template-columns: 1fr 2fr; gap: 60px; }
.footer-heading { font-size: 25px; line-height: 1.2; letter-spacing: -.02em; font-weight: 600; color: var(--rose-bright); margin-bottom: 22px; }
.footer-purpose p:last-child { font-size: 17px; color: #cbd0d6; line-height: 1.7; max-width: 33ch; }
.footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.footer-group-label { color: #cbd0d6; font-size: 16px; font-weight: 600; letter-spacing: 0; line-height: 1.5; margin: 0 0 12px; padding-bottom: 12px; border-bottom: 1px solid var(--ink-rule); text-wrap: initial; }
.footer-group a { display: flex; align-items: center; min-height: 48px; padding: 10px 0; font-size: 16px; line-height: 1.5; text-decoration: none; }
.footer-group a:hover { text-decoration: underline; }
.footer-group a:focus-visible { outline-color: var(--rose-bright); }

@media (max-width: 1040px) {
  .footer-desk { grid-template-columns: 1fr; gap: 26px; }
  .footer-purpose p:last-child { max-width: 64ch; }
}

@media (max-width: 760px) {
  .site-footer { padding: 36px 0 24px; }
  .footer-desk { width: calc(100% - 40px); gap: 22px; }
  .footer-links { grid-template-columns: 1fr; gap: 28px; }
  .footer-group-label { margin-bottom: 5px; }
  .footer-group a { min-height: 48px; }
  .footer-purpose p:last-child { font-size: 17px; }
}

@media print { .site-footer { display: none; } }
