.content-page { max-width: 980px; margin: 0 auto; padding: 34px 28px 48px; }
.content-page-card { background: var(--gray-card); border: 1px solid var(--gray-border); border-radius: 12px; box-shadow: var(--shadow); padding: 30px; }
.content-page h1 { margin: 0 0 10px; color: var(--green-dark); font-size: 30px; }
.content-page .page-intro { margin: 0 0 28px; color: var(--text-medium); font-size: 15px; }
.content-page section { margin-top: 26px; }
.content-page h2 { margin: 0 0 8px; color: var(--green-dark); font-size: 19px; }
.content-page p, .content-page li { color: var(--text-medium); line-height: 1.65; }
.content-page ul { padding-left: 22px; }
.content-page a { color: var(--green); }
:root[data-theme="dark"] .content-page h1,
:root[data-theme="dark"] .content-page h2 { color: var(--text-dark); }

.site-footer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.site-footer .footer-link-group { grid-row: 2; }
.footer-links, .footer-social-links { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.footer-links a, .footer-social-links a { color: var(--text-medium); font-weight: 800; text-decoration: none; }
.footer-links a:hover, .footer-social-links a:hover { color: var(--green); }
.footer-link-group { display: flex; flex-direction: column; gap: 7px; }
.footer-link-label { color: var(--text-dark); font-size: 11px; font-weight: 900; }

@media (max-width: 700px) {
    .content-page { padding: 20px 12px 30px; }
    .content-page-card { padding: 22px 18px; }
    .content-page h1 { font-size: 25px; }
    .site-footer { display: flex; flex-direction: column; }
    .site-footer .footer-link-group { grid-row: auto; }
}
