.site-development.site-footer {
    position: relative;
    min-height: 0;
    border-top: 1px solid var(--hp-line);
    background: radial-gradient(ellipse at 0 0, rgb(25 217 255 / 4%), transparent 55%),
        radial-gradient(ellipse at 100% 0, rgb(240 45 255 / 4%), transparent 55%),
        var(--hp-panel);
}

.site-footer::before {
    position: absolute;
    inset: -1px 0 auto;
    height: 1px;
    background: linear-gradient(90deg, var(--hp-cyan), transparent 40%, transparent 60%, var(--hp-magenta));
    content: "";
}

.site-footer .site-footer-inner { max-width: 1320px; margin-inline: auto; padding: 48px 32px 18px; }
.site-footer .site-footer-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; padding-bottom: 36px; }
.site-footer .site-footer-brand { min-width: 0; }
.site-footer .site-footer-logo { display: block; width: 210px; max-width: 100%; }
.site-footer .site-footer-logo img { display: block; width: 100%; height: auto; object-fit: contain; }
.site-footer .site-footer-brand p { max-width: 32ch; margin-top: 12px; color: var(--hp-muted); font-size: 13px; overflow-wrap: anywhere; }
.site-footer .site-footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.site-footer .site-footer-group { min-width: 0; }
.site-footer .site-footer-group h2 { margin-bottom: 12px; font-size: 22px; line-height: 1.2; }
.site-footer .site-footer-group ul { margin: 0; padding: 0; list-style: none; }
.site-footer .site-footer-group a { display: flex; align-items: center; min-height: 44px; color: var(--hp-muted); font-size: 13px; overflow-wrap: anywhere; }
.site-footer .site-footer-group a:hover { color: var(--hp-cyan); }
.site-footer .site-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 1px solid var(--hp-line); }
.site-footer .site-footer-bottom p { color: var(--hp-muted); font-size: 11px; }
.site-footer .site-footer-top { display: flex; align-items: center; gap: 12px; min-height: 44px; color: var(--hp-cyan); font-size: 12px; }
.site-footer .site-footer-top:hover { color: var(--hp-text); }

@media (max-width: 760px) {
    .site-footer .site-footer-inner { padding: 32px 20px 14px; }
    .site-footer .site-footer-main { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-bottom: 24px; }
    .site-footer .site-footer-logo { width: 174px; }
    .site-footer .site-footer-group h2 { font-size: 21px; }
}

@media (max-width: 400px) {
    .site-footer .site-footer-inner { padding-inline: 14px; }
    .site-footer .site-footer-nav { gap: 16px; }
}
