/* Estilos responsive */
@media (max-width: 1100px) {
    .hero { grid-template-columns: 1fr; }
}

@media (max-width: 940px) {
    .nav-toggle { display: flex; }
    .nav-links {
        position: absolute;
        top: 72px;
        left: 0;
        right: 0;
        background: #fff;
        padding: 14px 22px 22px;
        flex-direction: column;
        gap: 12px;
        display: none;
        box-shadow: 0 12px 30px rgba(0,0,0,0.08);
    }
    .nav-links.open { display: flex; }
    .nav-list { flex-direction: column; align-items: flex-start; width: 100%; }
    .nav-actions { width: 100%; justify-content: space-between; }
}

@media (max-width: 720px) {
    .container { padding: 0 16px; }
    .section { padding: 50px 0; }
    .hero { padding: 46px 0 34px; }
    .hero h1 { font-size: 1.95rem; }
    .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
    .form-row { grid-template-columns: 1fr; }
}
