/* ============================================================
   MAPA ECOLÓGICO — Responsivo
   breakpoints: 1024 · 900 · 768 (nav) · 560
   Menu aberto = .nav__menu.active (script.js trava o scroll do body)
   ============================================================ */

@media (max-width: 1024px) {
    .hero__container { grid-template-columns: 1fr; text-align: left; }

    .hero__image { order: -1; }

    .hero__visual { width: min(300px, 62vw); }

    .about__grid { grid-template-columns: repeat(2, 1fr); }

    .services__grid { grid-template-columns: repeat(2, 1fr); }

    .testimonials__slider { grid-template-columns: repeat(2, 1fr); }

    .directory__categories { grid-template-columns: repeat(2, 1fr); }

    .footer__main { grid-template-columns: 1fr; gap: 32px; }

    .footer__links { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .benefits__list { grid-template-columns: 1fr; }

    .benefit-item { border-bottom: 1px dashed var(--contour-soft); }

    .benefit-item:last-child { border-bottom: 0; }

    .benefits__social-proof { grid-template-columns: repeat(2, 1fr); }

    .about__values { grid-template-columns: repeat(2, 1fr); row-gap: 26px; }

    .about__value:nth-child(2) { border-right: 0; }

    .hero { min-height: 0; }
}

@media (max-width: 768px) {
    .nav__toggle { display: flex; }

    .nav__container::after { display: none; }

    .nav__menu {
        display: none;
        position: absolute;
        top: 100%;
        left: calc(var(--gutter) * -1);
        right: calc(var(--gutter) * -1);
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        padding: 14px 18px 18px;
        background: var(--paper-2);
        border-bottom: 3px solid var(--contour);
        box-shadow: 0 26px 42px rgba(22, 36, 27, 0.2);
    }

    .nav__menu.active { display: flex; }

    .nav__link {
        text-align: center;
        padding: 12px 10px;
        border-bottom: 0;
        border-radius: var(--radius);
    }

    .nav__link:hover,
    .nav__link.active { background: rgba(179, 131, 79, 0.16); }

    .hero { padding: calc(var(--header-h) + 40px) 0 70px; }

    .hero::before, .hero::after { inset: 8px 10px; }

    .hero__visual { width: min(250px, 58vw); }

    .hero__visual::after { bottom: -26px; }

    .hero__scroll { display: none; }

    .about { padding: 64px 0; }

    .services, .benefits, .testimonials, .directory { padding: 64px 0; }

    .about__grid { grid-template-columns: 1fr; }

    .services__grid { grid-template-columns: 1fr; }

    .testimonials__slider { grid-template-columns: 1fr; }

    .directory__categories { grid-template-columns: 1fr; }

    .about__header, .services__header, .benefits__header,
    .testimonials__header, .directory__header { margin-bottom: 32px; }
}

@media (max-width: 560px) {
    .hero__title { font-size: clamp(2rem, 11vw, 2.6rem); }

    .hero__cta { flex-direction: column; align-items: stretch; }

    .hero__cta .btn { text-align: center; }

    .hero__subtitle { font-size: 0.98rem; }

    .about__values { grid-template-columns: 1fr 1fr; padding: 20px 14px; }

    .benefits__social-proof { grid-template-columns: 1fr; }

    .directory__cta { padding: 32px 18px; }

    .directory__cta-buttons { flex-direction: column; align-items: stretch; }

    .footer__links { grid-template-columns: 1fr; }

    .footer__bottom { flex-direction: column; text-align: center; }
}
