/* ─── CONTAINERS ─── */
.container { max-width: 1180px; margin: 0 auto; }
.container-narrow { max-width: 720px; margin: 0 auto; }

/* ─── SECTION SPACING ─── */
.section-pad { padding: 120px 48px; }
.section-pad-sm { padding: 80px 48px; }

/* ─── RESPONSIVE ─── */
@media (max-width: 1024px) {
    .pull-quotes-grid { grid-template-columns: 1fr; }
    .blog-feed-grid { grid-template-columns: 1fr; }
    .cta-inner { grid-template-columns: 1fr; gap: 48px; }
    .footer-top { grid-template-columns: 1fr 1fr; }
    .stats-row { flex-wrap: wrap; }
    .stat-divider { display: none; }
    .stats-row .stat { flex-basis: 45%; }
}

@media (max-width: 768px) {
    .nav { padding: 0 24px; }
    .nav-links { display: none; }
    .nav-toggle { display: block; }
    .nav-links.open {
        display: flex; flex-direction: column; position: absolute;
        top: 64px; left: 0; right: 0; background: var(--cream);
        padding: 20px 24px; border-bottom: 1px solid var(--rule); gap: 14px;
    }

    .section-pad,
    .stats-strip,
    .pull-quotes,
    .blog-feed,
    .cta-section,
    .newsletter { padding-left: 24px; padding-right: 24px; }

    .cta-form .row,
    .form-light .row { grid-template-columns: 1fr; }
    .nl-form { flex-direction: column; }
    .footer { padding: 40px 24px 28px; }
    .footer-top { grid-template-columns: 1fr; gap: 28px; }
    .blog-feed-header { flex-direction: column; gap: 8px; }
    .blog-feed-grid { grid-template-columns: 1fr; }
}
