.compact-footer { padding: 48px 0 24px; }
.compact-footer .footer-main {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(140px, .7fr) minmax(210px, 1fr);
    align-items: start;
    gap: 48px;
}
.compact-footer .footer-brand { width: auto; }
.compact-footer .footer-brand > a { width: fit-content; font-size: 24px; letter-spacing: .02em; }
.compact-footer .footer-brand p { margin: 16px 0 0; line-height: 1.9; }
.compact-footer .footer-label { display: block; margin: 0 0 16px; color: #aabcc8; font-size: 11px; font-weight: normal; letter-spacing: .06em; }
.compact-footer .footer-main nav { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; font-size: 13px; }
.compact-footer .footer-main nav .footer-label { margin-bottom: 4px; }
.compact-footer .footer-main nav a { padding: 2px 0; border-bottom: 1px solid transparent; }
.compact-footer .footer-main nav a:hover { border-color: currentColor; }
.compact-footer .footer-social { display: flex; flex-direction: column; align-items: stretch; gap: 10px; margin: 0; max-width: 230px; }
.compact-footer .footer-social a { display: flex; justify-content: flex-start; gap: 12px; width: auto; min-height: 44px; height: auto; padding: 10px 16px; border-radius: 10px; font-size: 12px; }
.compact-footer .footer-social .fa-icon { width: 20px; height: 20px; flex: none; }
.compact-footer .footer-social a:hover { transform: none; }
.compact-footer .footer-legal { margin-top: 32px; padding-top: 20px; text-align: left; font-size: 11px; }
@media (max-width: 900px) {
    .compact-footer .footer-main { grid-template-columns: minmax(0, 1fr) minmax(120px, .6fr) minmax(175px, .8fr); gap: 24px; }
    .compact-footer .footer-brand > a { font-size: 20px; }
}
@media (max-width: 650px) {
    .compact-footer { padding: 32px 0 22px; }
    .compact-footer .footer-main { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 28px 18px; }
    .compact-footer .footer-brand { grid-column: 1 / -1; }
    .compact-footer .footer-brand > a { font-size: 22px; }
    .compact-footer .footer-brand p { margin-top: 10px; font-size: 12px; }
    .compact-footer .footer-main nav { font-size: 12px; gap: 10px; }
    .compact-footer .footer-label { font-size: 10px; letter-spacing: 0; }
    .compact-footer .footer-social a { padding: 10px; gap: 8px; font-size: 11px; }
    .compact-footer .footer-social .fa-icon { width: 18px; height: 18px; }
    .compact-footer .footer-legal { margin-top: 26px; }
}
