/* Campanhas Porto Seguro — Responsivo (todos os @media aqui)
   Breakpoints: 1024 / 768 / 480 — layout "relatório de bacia". */

@media (max-width: 1024px) {
    .page-ruler { display: none; }
    :root { --rule-left: 0px; }
    .site-header { padding-left: 0; }
    .hero { padding-left: clamp(22px, 5vw, 72px); }

    .hero-grid { grid-template-columns: 1fr; align-items: start; }
    .hero-panel { max-width: 560px; }
    .card { grid-template-columns: 150px minmax(0, 1fr); }
    .ledger-media img { aspect-ratio: 16 / 10; }
    .ledger-body { grid-column: 1 / -1; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .testimonials-grid { grid-template-columns: 1fr; max-width: 640px; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .report-toc ol { grid-template-columns: repeat(2, 1fr); }
    .nav { gap: 1rem; }
    .brand-name { font-size: 1.12rem; }
}

@media (max-width: 768px) {
    .menu-toggle { display: inline-flex; flex-direction: column; }
    .header-inner { flex-wrap: nowrap; }
    .nav {
        position: fixed;
        top: 0;
        right: 0;
        flex-direction: column;
        align-items: flex-start;
        background: var(--ink);
        width: min(320px, 86vw);
        height: 100vh;
        padding: 5.2rem 1.6rem 2rem;
        gap: 0.2rem;
        border-left: 1px solid var(--hairline-dark);
        box-shadow: -14px 0 34px rgba(4, 30, 54, 0.45);
        transform: translateX(100%);
        transition: transform 0.3s ease;
    }
    .nav.open { transform: translateX(0); }
    .nav a { border-bottom: 1px dashed var(--hairline-dark); padding: 0.75rem 0.2rem; width: 100%; }

    .chapter-head { flex-wrap: wrap; }
    .chapter-rule { display: none; }
    .chapter-head h2 { font-size: 1.7rem; flex: 1 1 100%; }

    .hero h1 { font-size: 2.3rem; }
    .hero-actions { gap: 12px; }
    .data-link { margin-left: 0; }

    .about-grid { grid-template-columns: 1fr; }
    .about-photo { max-width: 520px; }
    .plates-grid { grid-template-columns: 1fr; }
    .card { grid-template-columns: 1fr; }
    .ledger-no { flex-direction: row; align-items: center; }
    .articles-list { border-top-width: 2px; }
    .article-item { grid-template-columns: 1fr; gap: 0.7rem; }
    .contact-grid { grid-template-columns: 1fr; }
    .accordion-panel { padding-left: 6px; }
    .stats-band { padding: 2.6rem 1.4rem; }
    .footer-grid { grid-template-columns: 1fr; }
    .mini-stats { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 480px) {
    body { font-size: 16px; }
    .hero { padding-top: 2.8rem; }
    .hero h1 { font-size: 1.95rem; }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .btn { width: 100%; text-align: center; }
    .hero-badges { flex-direction: column; gap: 8px; }
    .stats-grid { grid-template-columns: 1fr; }
    .hero-plate img { max-height: 300px; }
    .brand-name { font-size: 1rem; }
    .level-gauge { display: none; }
    .doc-meta span { font-size: 0.68rem; padding: 4px 9px; }
    .report-toc ol { grid-template-columns: 1fr; }
    .testimonials-grid { gap: 16px; }
    .featured-text { padding-left: 16px; }
    section { padding-top: 3.4rem; padding-bottom: 3.4rem; }
}
