.zp-footer {
    margin-top: auto;
    padding: 65px 0 27px;
    background: #172637;
    color: #fff;
    font-family: 'DM Sans', system-ui, sans-serif;
}
.zp-footer-inner { box-sizing: border-box; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 26px; }
.zp-footer-grid { display: grid; grid-template-columns: 1.8fr repeat(3, 1fr); gap: 35px; }
.zp-footer-brand { display: flex; align-items: center; gap: 10px; }
.zp-footer-mark { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 12px; background: #4454e8; color: #fff; font-weight: 800; }
.zp-footer-brand strong, .zp-footer-brand small { display: block; }
.zp-footer-brand small { font-size: 10px; color: #aeb9c6; }
.zp-footer p { margin: 12px 0; color: #aeb9c6; font-size: 12px; line-height: 1.8; max-width: 285px; }
.zp-footer h2 { margin: 13px 0; color: #fff; font: 700 13px/1.5 'DM Sans', system-ui, sans-serif; }
.zp-footer a { display: block; width: fit-content; color: #b7c6d6; font-size: 12px; line-height: 1.5; margin: 11px 0; text-decoration: none; }
.zp-footer a:hover, .zp-footer a:focus-visible { text-decoration: underline; }
.zp-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 40px; padding-top: 20px; border-top: 1px solid #304053; color: #aeb9c6; font-size: 11px; }
@media (max-width: 680px) {
    .zp-footer { padding-top: 34px; }
    .zp-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
    .zp-footer-grid > div:first-child { grid-column: 1 / -1; }
    .zp-footer-bottom { margin-top: 22px; }
}
