/* ---------- Responsive refinements ---------- */

/* Large desktop */
@media (min-width: 1600px) {
    :root { --wrap: 1440px; }
}

/* Tablet & below */
@media (max-width: 999px) {
    .hero { padding-block: var(--space-4) var(--space-4); }
    .hero--pine { padding-block: var(--space-5) var(--space-4); }
    .home-hero__portrait { padding: 18px 0 0 18px; max-width: 640px; margin-inline: auto; }
    .stat-band { --cols: 2; }
}

/* Mobile */
@media (max-width: 640px) {
    :root { --nav-h: 60px; --strip-h: 28px; }
    body { font-size: 1rem; }
    .band { padding-block: 3rem; }
    .band--tall { padding-block: 3.5rem; }
    .lede { font-size: 1.2rem; }
    .statement { font-size: 1.6rem; }
    .chart { padding: 1rem; }
    .issue__cell, .debate__side { padding: 1rem; }
    .sources ol { columns: 1; }
    .prose--cols { columns: 1; }
    .ledger > div { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
    .stat { padding-inline: 1rem; }
    .home-hero__portrait .frame__box img { max-height: none; }
    .career-strip { grid-auto-columns: minmax(150px, 70%); }
    .data-table { font-size: 14px; }
    .status-strip { font-size: 11px; letter-spacing: .06em; }
    .footer-chain ol { font-size: .95rem; }
}

/* Small phones (375px) */
@media (max-width: 400px) {
    .brand__mark { width: 36px; height: 36px; font-size: 13px; }
    .brand { gap: .55rem; }
    .brand__name { font-size: 13px; }
    .stat__num { font-size: 2.6rem; }
    .hero__no { font-size: 3rem; }
}

/* Print */
@media print {
    .site-header, .site-index, .site-footer, .skip-link, .next-pages { display: none !important; }
    body { background: #fff; color: #000; }
    .band--pine, .band--forest, .hero--pine, .hero--forest { background: #fff !important; color: #000 !important; }
}
