/* CAPEM — Responsivo (todos os @media aqui)
   Breakpoints: 1024 / 768 / 480 — documento normativo: a margem de
   anotações empilha acima do texto e o sumário vira painel do menu. */

@media (max-width: 1024px) {
    .doc-grid { grid-template-columns: 150px minmax(0, 1fr); gap: 30px; }
    .margin-note { position: static; flex-direction: row; align-items: baseline; gap: 12px; }
    .margin-note small { max-width: none; }
    .doc-columns { grid-template-columns: 1fr; }
    .about-photo { max-width: 480px; }
    .pillar-card { grid-template-columns: 200px minmax(0, 1fr); gap: 24px; }
    .plates { grid-template-columns: 1fr; max-width: 560px; }
    .voices-grid { grid-template-columns: 1fr 1fr; }
    .contact-grid { grid-template-columns: 1fr; gap: 30px; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .brand-line { max-width: 38ch; }
}

@media (max-width: 768px) {
    .menu-toggle { display: flex; }
    .header-inner { position: relative; }
    .nav {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(320px, 84vw);
        background: var(--paper);
        border-left: var(--rule-double);
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 84px 30px 30px;
        font-size: 15px;
        transform: translateX(100%);
        transition: transform 0.3s ease;
        box-shadow: -18px 0 40px -24px rgba(11, 31, 58, 0.5);
        z-index: 70;
    }
    .nav.open { transform: translateX(0); }
    .nav a {
        padding: 14px 0;
        border-bottom: 1px dotted var(--steel);
        display: flex;
        align-items: baseline;
        gap: 12px;
    }
    .nav a b { min-width: 30px; }
    .menu-toggle { position: relative; z-index: 80; margin-left: auto; }
    .masthead-edition { display: none; }
    .brand-line { display: none; }
    .header-rule { display: none; }
    .cover { padding-top: 44px; }
    .cover-seal { width: 92px; height: 92px; right: 6px; bottom: -22px; }
    .cover-seal small { font-size: 10.5px; }
    .toc { padding: 20px 22px 16px; }
    .pillar-card { grid-template-columns: 1fr; padding-bottom: 28px; }
    .card-media { max-width: 420px; }
    .adhesion { grid-template-columns: 1fr; }
    .adhesion-seal { position: static; flex-direction: row; justify-content: flex-start; text-align: left; }
    .seal-check { width: 92px; height: 92px; }
    .tab-panel { padding: 24px 20px; }
    .voices-grid { grid-template-columns: 1fr; }
    .accordion-panel { padding-left: 4px; }
    .footer-grid { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 480px) {
    body { font-size: 16px; }
    .cover-title { font-size: clamp(28px, 8.4vw, 36px); }
    .cover-lead { font-size: 16.5px; }
    .cover-photo { outline-offset: 4px; padding: 7px; }
    .cover-facts li { font-size: 14px; }
    .let-cap { font-size: 52px; }
    .audit-tool { padding: 22px 18px; }
    .tab { padding: 10px 13px; font-size: 12px; letter-spacing: 0.06em; }
    .toc a { font-size: 15px; }
    .brand-name { font-size: 21px; }
    .voice blockquote p { font-size: 17px; }
    .doc { padding: 46px 0 52px; }
    .double-rule { margin-bottom: 30px; }
    .plates { gap: 22px; }
    .xref-solid { display: block; text-align: center; }
}
