/* RESPONSIVE */
@media (max-width: 1200px) {
  .container {
    max-width: 95%;
  }
  
  .hero h1 {
    font-size: 50px;
  }
  
  .section-title {
    font-size: 36px;
  }
}

@media (max-width: 992px) {
  /* Ajustes generales */
  section {
    padding: 80px 0;
  }
  
  /* Hero */
  .hero {
    height: auto;
    min-height: 100vh;
    padding: 150px 0 100px;
  }
  
  .hero h1 { 
    font-size: 42px; 
  }
  
  .hero p { 
    font-size: 18px; 
  }
  
  .code-bg { 
    right: -300px; 
    opacity: 0.3;
  }
  
  /* Decoraciones */
  .decoration-el {
    font-size: 80px;
    opacity: 0.1;
  }
  
  /* Sección Sobre Nosotros */
  .about-content { 
    grid-template-columns: 1fr; 
    gap: 40px;
  }
  
  .about-text {
    order: 2;
  }
  
  .about-image {
    order: 1;
    max-width: 600px;
    margin: 0 auto;
  }
  
  /* Programas y Features */
  .features-grid,
  .programs-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
  
  /* Formulario */
  .inline-form-container {
    max-width: 90%;
  }
}

@media (max-width: 768px) {
  /* Encabezados */
  .hero h1 { 
    font-size: 36px; 
  }
  
  .section-title { 
    font-size: 32px;
    margin-bottom: 40px; 
  }
  
  .cta h2 { 
    font-size: 32px; 
  }
  
  /* Secciones */
  section {
    padding: 60px 0;
  }
  
  /* Features y Programs */
  .features-grid,
  .programs-grid {
    grid-template-columns: 1fr;
    max-width: 450px;
    margin: 0 auto;
  }
  
  /* Requisitos */
  .requirement-item {
    padding: 20px;
  }
  
  .arrow-down {
    font-size: 30px;
  }
  
  /* Dossier */
  .dossier-button-minimal {
    padding: 12px 24px;
  }
  
  .button-text {
    font-size: 16px;
  }
  
  /* Formulario */
  .inline-form .form-row {
    flex-direction: column;
    gap: 15px;
  }
  
  .inline-form-container {
    padding: 20px;
  }
  
  .cta h2 {
    font-size: 32px;
  }
  
  .cta p {
    font-size: 16px;
  }
  
  /* Footer */
  .footer-content { 
    flex-direction: column; 
    gap: 20px; 
    text-align: center;
  }
  
  .footer-links {
    justify-content: center;
  }
  
  .social-icons {
    justify-content: center;
  }
  
  .logos {
    gap: 20px;
    max-width: 100%;
    height: 100%;
  }
  
  .logo-item {
    height: 50px;
  }
}

@media (max-width: 576px) {
  /* Header */
  .header-container { 
    flex-direction: row; 
    gap: 15px; 
    padding: 10px 0;
  }
  
  .logo img {
    max-width: 60px;
  }
  
  header .cta-button {
    font-size: 14px;
    padding: 8px 16px;
  }
  
  /* Hero */
  .hero { 
    padding-top: 120px;
    min-height: 90vh;
  }
  
  .hero h1 { 
    font-size: 28px; 
  }
  
  .hero p { 
    font-size: 16px; 
    margin-bottom: 20px;
  }
  
  .hero .cta-button {
    width: 100%;
  }
  
  /* Secciones */
  section {
    padding: 50px 0;
  }
  
  .section-title {
    font-size: 28px;
    margin-bottom: 30px;
  }
  
  /* Features */
  .feature-card,
  .program-card,
  .requirement-item {
    padding: 20px;
  }
  
  .feature-card img {
    height: 80px;
  }
  
  .feature-card h3,
  .program-card h3 {
    font-size: 20px;
  }
  
  .incentive {
    font-size: 32px;
  }
  
  /* Requisitos */
  .requirement-number {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
  
  .requirement-content h3 {
    font-size: 18px;
  }
  
  /* CTA */
  .cta h2 { 
    font-size: 26px; 
  }
  
  .cta p { 
    font-size: 16px; 
  }
  
  /* Formulario */
  .inline-form-container {
    padding: 15px;
  }
  
  .inline-form input[type="text"],
  .inline-form input[type="email"],
  .inline-form input[type="tel"],
  .inline-form select {
    padding: 10px;
    font-size: 14px;
  }
  
  .inline-form .submit-button {
    font-size: 16px;
    padding: 12px;
  }
  
  .inline-form .checkbox-group label {
    font-size: 12px;
  }
  
  /* Footer */
  footer {
    padding: 40px 0 20px;
  }
  
  .footer-bottom {
    font-size: 12px;
  }
}

/* Ajustes para dispositivos muy pequeños */
@media (max-width: 360px) {
  .hero h1 {
    font-size: 24px;
  }
  
  .section-title {
    font-size: 24px;
  }
  
  .cta h2 {
    font-size: 24px;
  }
  
  .inline-form .submit-button {
    font-size: 14px;
  }
}