/* River Ag — Responsivo (todos os @media aqui)
   Breakpoints: 1024 / 768 / 480 */

@media (max-width: 1024px) {
    .hero { padding-top: 7.2rem; }
    .hero-inner { grid-template-columns: 1fr; gap: 2.4rem; }
    .hero-visual { max-width: 640px; }
    h1 { font-size: 2.3rem; }
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .est-form { grid-template-columns: 1fr; align-items: stretch; }
    .est-result { grid-template-columns: 1fr; }
    .method-steps { grid-template-columns: repeat(2, 1fr); }
    .field-text { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .nav { gap: 1rem; }
    .header-cta { display: none; }
}

@media (max-width: 768px) {
    .menu-toggle { display: flex; }
    .nav {
        position: fixed;
        top: 72px; right: 0;
        flex-direction: column;
        background: var(--night-2);
        width: min(300px, 80vw);
        height: calc(100vh - 72px);
        padding: 1.6rem 1.4rem;
        gap: 0.4rem;
        border-left: 4px solid var(--palha);
        transform: translateX(100%);
        transition: transform 0.3s ease;
    }
    .nav.open { transform: translateX(0); }
    .nav a { border-bottom: 1px solid rgba(217, 164, 65, 0.2); padding: 0.75rem 0.2rem; }

    .about-grid { grid-template-columns: 1fr; gap: 2.2rem; }
    .services-grid { grid-template-columns: 1fr; }
    .field-grid { grid-template-columns: 1fr; }
    .testimonials-grid { grid-template-columns: 1fr; }
    .contact-grid { grid-template-columns: 1fr; gap: 2.2rem; }
    .authority-links { grid-template-columns: 1fr; }
    .hero-stats { grid-template-columns: 1fr; }
    .stat { text-align: left; padding: 1.1rem 1.6rem; }
    h2 { font-size: 1.7rem; }
    .footer-grid { grid-template-columns: 1fr; gap: 1.8rem; }
    .wa-label { display: none; }
    .whatsapp-float { padding: 0.9rem; }
    .method-steps { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    h1 { font-size: 1.85rem; }
    .hero { padding-top: 6.4rem; }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .btn { width: 100%; text-align: center; }
    .service-media img { height: 175px; }
    .field-photo img { height: 220px; }
    .est-form { padding: 1.2rem; }
    .contact-card { padding: 1.6rem; }
    .brand-name { font-size: 1.15rem; }
    .container { width: 94%; }
}
