main {
  padding-top: 90px;
}
    /* VARIABLES DE MARCA Y TONOS GRUPO ENCINO */
    :root {
      --primary-dark-green: #08291b;
      --secondary-green: #0d3827;
      --accent-green-text: #104d30;
      --accent-gold: #c59b27;
      --accent-gold-hover: #ab851e;
      --text-white: #ffffff;
      --text-dark: #222222;
      --text-muted: #555555;
      --border-color: #eef1f4;
      --font-title: 'Oswald', sans-serif;
      --font-body: 'Montserrat', sans-serif;
      --max-width: 1200px;

      --bg-covers: #fcfcfa;
      --bg-who: #ffffff;
      --divider-color: #f5f5f5;
      --border-card: #eef1f4;

      --bg-dark: #0a251c;
      --bg-accent: #051912;
      --border-divider: #87948e;
      --card-bg: #ffffff;
      --card-shadow: 0 10px 30px rgba(0,0,0,0.08);
      
      --primary-dark: #072216;
      --form-bg: #0a342f;
      --bg-light: #f9f9f9;
      --text-light: #ffffff;
      

    }
 
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      font-family: var(--font-body);
      color: var(--text-dark);
      background-color: #ffffff;
      line-height: 1.5;
      overflow-x: hidden;
    }

    .container-em {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0 20px;
    }

    /* -------------------------------------------------- */
    /* 1. HERO BANNER PRINCIPAL                           */
    /* -------------------------------------------------- */
    .hero-banner-em {
      position: relative;
      background-color: var(--primary-dark-green);
      color: var(--text-white);
      overflow: hidden;
    }

    .hero-mobile-img {
      display: none;
      width: 100%;
      height: auto;
      max-height: 250px;
      object-fit: cover;
    }

    .hero-container-inner {
      padding: 50px 20px 0 20px;
    }

    @media (min-width: 769px) {
      .hero-banner-em {
        background-image: linear-gradient(90deg, rgba(8,41,27,0.98) 0%, rgba(8,41,27,0.9) 38%, rgba(8,41,27,0.1) 65%, rgba(8,41,27,0) 100%), url('../images/seguros/Hero banner Seguro Emoresarial Integral.webp');
        background-size: cover;
        background-position: center right;
      }
      .hero-container-inner {
        padding: 50px 0 0 0;
      }
    }

    .breadcrumb {
      font-size: 0.85rem;
      font-weight: 400;
      color: var(--accent-gold);
      margin-bottom: 20px;
    }

    .breadcrumb a.breadcrumb-link {
      color: rgba(255, 255, 255, 0.85);
      text-decoration: none;
      transition: color 0.25s ease;
    }

    .breadcrumb a.breadcrumb-link:hover {
      color: var(--accent-gold);
      text-decoration: underline;
    }

    .breadcrumb span {
      color: var(--accent-gold);
      font-weight: 600;
    }

    .hero-content {
      max-width: 580px;
      padding-bottom: 50px;
    }

    .hero-title {
      font-family: var(--font-title);
      font-size: 3.5rem;
      line-height: 1.25;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      color: var(--text-white);
      margin-bottom: 12px;
    }

    .hero-subtitle {
      font-family: var(--font-title);
      font-size: 1.4rem;
      font-weight: 600;
      text-transform: uppercase;
      color: var(--text-white);
      letter-spacing: 1px;
      margin-bottom: 15px;
    }

    .hero-description {
      font-size: 0.92rem;
      font-weight: 300;
      line-height: 1.6;
      color: rgba(255, 255, 255, 0.9);
      margin-bottom: 30px;
    }

    .hero-actions {
      display: flex;
      gap: 15px;
      flex-wrap: wrap;
    }

    .btn-gold {
      background-color: var(--accent-gold);
      color: var(--text-white);
      font-family: var(--font-title);
      font-size: 0.95rem;
      font-weight: 600;
      text-transform: uppercase;
      padding: 12px 24px;
      border: none;
      border-radius: 3px;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: background-color 0.3s ease;
      cursor: pointer;
    }

    .btn-gold:hover {
      background-color: var(--accent-gold-hover);
    }

    .btn-outline {
      background-color: transparent;
      color: var(--text-white);
      font-family: var(--font-title);
      font-size: 0.95rem;
      font-weight: 600;
      text-transform: uppercase;
      padding: 12px 28px;
      border: 1px solid var(--text-white);
      border-radius: 3px;
      text-decoration: none;
      transition: all 0.3s ease;
    }

    .btn-outline:hover {
      background-color: rgba(255, 255, 255, 0.15);
    }

    /* Barra Inferior de Características del Hero */
    .hero-features-bar {
      background-color: rgba(6, 30, 20, 0.92);
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      padding: 20px 0;
    }

    .features-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      align-items: center;
    }

    .feature-card {
      display: flex;
      align-items: center;
      gap: 12px;
      border-right: 1px solid rgba(255, 255, 255, 0.15);
      padding-right: 15px;
    }

    .feature-card:last-child {
      border-right: none;
    }

    .feature-icon {
      width: 42px;
      height: 42px;
      object-fit: contain;
      flex-shrink: 0;
    }

    .feature-text {
      font-family: var(--font-title);
      font-size: 0.85rem;
      font-weight: 600;
      text-transform: uppercase;
      color: var(--text-white);
      line-height: 1.2;
      letter-spacing: 0.5px;
    }

    /* -------------------------------------------------- */
    /* 2. SECCIÓN ¿QUÉ ES EL SEGURO EMPRESARIAL INTEGRAL? */
    /* -------------------------------------------------- */
    .about-section {
      padding: 30px 0 60px 0;
      background-color: #ffffff;
      width: 100%;
      overflow: hidden;
    }

    .about-container-full {
      width: 100%;
      max-width: 100%;
      margin: 0;
      padding: 0;
    }

    .about-grid {
      display: grid;
      grid-template-columns: minmax(300px, calc((100vw - var(--max-width)) / 2 + (var(--max-width) / 2))) 1fr;
      align-items: stretch; /* Estira ambos lados para que coincidan en altura de forma fluida */
    }

    .about-left-wrapper {
      padding-left: max(20px, calc((100vw - var(--max-width)) / 2 + 20px));
      padding-right: 40px;
      display: flex;
      align-items: center; /* Centra verticalmente el texto respecto a la imagen */
    }

    .about-left-content {
      border-left: 3px solid var(--accent-gold);
      padding-left: 25px;
    }

    .about-title {
      font-family: var(--font-title);
      font-size: 2.3rem;
      font-weight: 700;
      color: var(--primary-dark-green);
      text-transform: uppercase;
      line-height: 1.2;
      margin-bottom: 20px;
    }

    .about-description {
      font-size: 0.92rem;
      color: var(--text-muted);
      line-height: 1.6;
      margin-bottom: 25px;
    }

    .about-banner-card {
      position: relative;
      width: 100%;
      min-height: 290px; /* Altura proporcionada y equilibrada con el texto izquierdo */
      margin-right: 0;
      padding: 0;
      overflow: hidden;
      display: flex;
      align-items: center;
    }

    .about-banner-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    /* Recuadro negro ajustado al ancho estricto del texto */
    .banner-card-title {
      position: absolute;
      left: 6%;
      top: 50%;
      transform: translateY(-50%);
      width: auto;
      max-width: 85%;
      background-color: rgba(0, 0, 0, 0.75);
      padding: 18px 22px;
      border-radius: 4px;
      font-family: var(--font-title);
      font-size: clamp(1rem, 2vw, 1.4rem);
      font-weight: 700;
      color: var(--text-white);
      text-transform: uppercase;
      line-height: 1.25;
      letter-spacing: 0.5px;
      text-align: left;
      box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.4);
      z-index: 2;
    }

    .banner-card-title span {
      display: block;
    }

    /* -------------------------------------------------- */
    /* EFECTO ZOOM / LIGHTBOX                             */
    /* -------------------------------------------------- */
    .zoomable {
      cursor: pointer;
      transition: transform 0.3s ease, opacity 0.3s ease;
    }

    .zoomable:hover {
      transform: scale(1.05);
      opacity: 0.95;
    }

    .modal {
      display: none;
      position: fixed;
      z-index: 9999;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.85);
      justify-content: center;
      align-items: center;
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .modal.show {
      display: flex;
      opacity: 1;
    }

    .modal-content {
      max-width: 85%;
      max-height: 85%;
      border-radius: 8px;
      box-shadow: 0 5px 25px rgba(0,0,0,0.5);
      object-fit: contain;
      background-color: #ffffff;
      padding: 10px;
    }

    .modal-close {
      position: absolute;
      top: 25px;
      right: 35px;
      color: #ffffff;
      font-size: 35px;
      font-weight: bold;
      cursor: pointer;
      user-select: none;
    }

    /* -------------------------------------------------- */
    /* RESPONSIVO                                         */
    /* -------------------------------------------------- */
    @media (max-width: 992px) {
      .features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
      }
      .feature-card:nth-child(2) {
        border-right: none;
      }
    }

    @media (max-width: 768px) {
      .hero-mobile-img {
        display: block;
      }

      .hero-container-inner {
        padding: 30px 20px 0 20px;
      }

      .hero-title {
        font-size: 2.3rem;
      }

      .hero-subtitle {
        font-size: 1.1rem;
      }

      .features-grid {
        grid-template-columns: 1fr;
        gap: 15px;
      }

      .feature-card {
        border-right: none;
      }

      .about-grid {
        grid-template-columns: 1fr;
      }

      .about-left-wrapper {
        padding-left: 20px;
        padding-right: 20px;
        margin-bottom: 20px;
      }

      .about-banner-card {
        min-height: 240px;
      }

      .banner-card-title {
        padding: 14px 16px;
        font-size: clamp(0.9rem, 4vw, 1.1rem);
      }
    }
  









    .container {
        max-width: var(--max-width);
        margin: 0 auto;
        padding: 0 20px;
      }
  
      /* ENCABEZADOS DE SECCIÓN */
      .section-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-bottom: 40px;
        flex-wrap: wrap;
        gap: 15px;
      }
  
      .section-title {
        font-family: var(--font-title);
        font-size: 2.2rem;
        font-weight: 700;
        color: var(--primary-dark-green);
        text-transform: uppercase;
        letter-spacing: 0.5px;
      }
  
      .section-subtitle-green {
        font-family: var(--font-body);
        font-size: 0.85rem;
        font-weight: 600;
        color: var(--accent-green-text);
        text-transform: uppercase;
        letter-spacing: 1px;
      }
  
      /* -------------------------------------------------- */
      /* 1. SECCIÓN ¿QUÉ CUBRE?                             */
      /* -------------------------------------------------- */
      .what-covers-section {
        background-color: var(--bg-covers);
        padding: 70px 0;
      }
  
      .covers-grid {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        background-color: #ffffff;
        border: 1px solid var(--border-card);
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 4px 20px rgba(0,0,0,0.02);
      }
  
      .cover-card {
        padding: 35px 20px;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        border-right: 1px solid var(--divider-color);
        transition: background 0.3s ease;
      }
  
      .cover-card:last-child {
        border-right: none;
      }
  
      .cover-card:hover {
        background-color: #faf9f6;
      }
  
      .cover-icon-wrapper {
        width: 70px;
        height: 70px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 22px;
      }
  
      .cover-icon-wrapper img {
        width: 64px;
        height: 64px;
        object-fit: contain;
      }
  
      .cover-card h3 {
        font-family: var(--font-title);
        font-size: 1.05rem;
        font-weight: 600;
        color: var(--primary-dark-green);
        text-transform: uppercase;
        margin-bottom: 10px;
        line-height: 1.25;
        min-height: 2.5em;
        display: flex;
        align-items: center;
        justify-content: center;
      }
  
      .cover-card p {
        font-size: 0.82rem;
        color: var(--text-muted);
        line-height: 1.4;
      }
  
      /* -------------------------------------------------- */
      /* 2. SECCIÓN ¿PARA QUIÉN ES?                         */
      /* -------------------------------------------------- */
      .who-is-it-section {
        background-color: var(--bg-who);
        padding: 70px 0;
        border-top: 1px solid #eae6df;
      }
  
      .who-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 25px;
      }
  
      .who-card {
        background: #ffffff;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 4px 15px rgba(0,0,0,0.03);
        border: 1px solid var(--border-card);
        display: flex;
        flex-direction: column;
      }
  
      .who-image-wrapper {
        position: relative;
        width: 100%;
        height: 190px;
        overflow: visible; /* Permite que el ícono sobresalga libremente sobre la imagen */
      }
  
      .who-image-wrapper img.main-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.5s ease;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
      }
  
      .who-card:hover .who-image-wrapper img.main-img {
        transform: scale(1.08);
      }
  
      /* Ícono flotando sobre la mitad inferior de la imagen, sin fondo blanco */
      .who-badge-icon {
        position: absolute;
        bottom: -20px;
        left: 20px;
        width: 52px;
        height: 52px;
        background-color: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10;
      }
  
      .who-badge-icon img {
        width: 52px;
        height: 52px;
        object-fit: contain;
        border-radius: 50%;
        box-shadow: 0 4px 12px rgba(0,0,0,0.22);
      }
  
      .who-content {
        padding: 32px 20px 22px 20px; /* Espacio superior equilibrado para acomodar el ícono sobre la imagen */
        flex-grow: 1;
      }
  
      .who-content h3 {
        font-family: var(--font-title);
        font-size: 1.15rem;
        font-weight: 600;
        color: var(--primary-dark-green);
        text-transform: uppercase;
        line-height: 1.2;
        margin-bottom: 8px;
      }
  
      .who-content p {
        font-family: var(--font-body);
        font-size: 0.83rem;
        color: var(--text-muted);
        line-height: 1.45;
      }
  
      /* -------------------------------------------------- */
      /* RESPONSIVO                                         */
      /* -------------------------------------------------- */
      @media (max-width: 1024px) {
        .covers-grid {
          grid-template-columns: repeat(3, 1fr);
        }
        .cover-card:nth-child(3) {
          border-right: none;
        }
        .who-grid {
          grid-template-columns: repeat(2, 1fr);
        }
      }
  
      @media (max-width: 768px) {
        .covers-grid {
          grid-template-columns: 1fr;
        }
        .cover-card {
          border-right: none;
          border-bottom: 1px solid var(--divider-color);
        }
        .cover-card:last-child {
          border-bottom: none;
        }
        .who-grid {
          grid-template-columns: 1fr;
        }
        .section-header {
          flex-direction: column;
          align-items: flex-start;
          gap: 8px;
        }
      }

      















      
    /* ==========================================
       --- SECCIÓN 1: PROCESO ---
       ========================================== */
    .process-section {
        background: linear-gradient(135deg, var(--bg-dark) 0%, var(--bg-accent) 100%);
        color: var(--text-white);
        padding: 60px 20px;
      }
  
      .process-container {
        max-width: 1200px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1fr;
        gap: 40px;
        align-items: center;
      }
  
      @media (min-width: 992px) {
        .process-container {
          grid-template-columns: 1.2fr 2fr;
        }
      }
  
      .process-header h2 {
        font-family: var(--font-heading);
        font-size: 2.2rem;
        font-weight: 700;
        letter-spacing: 0.5px;
        line-height: 1.2;
        margin-bottom: 12px;
        text-transform: uppercase;
      }
  
      .process-header h2 span {
        color: var(--text-gold);
        display: block;
      }
  
      .process-header p {
        font-family: var(--font-body);
        color: var(--text-muted);
        font-size: 0.95rem;
        line-height: 1.6;
      }
  
      .process-steps {
        display: grid;
        grid-template-columns: 1fr;
        gap: 24px;
      }
  
      @media (min-width: 600px) {
        .process-steps {
          grid-template-columns: repeat(3, 1fr);
          gap: 0;
        }
      }
  
      .step-card {
        text-align: center;
        position: relative;
        padding: 10px 20px;
      }
  
      /* Líneas divisorias en color #87948e */
      @media (min-width: 600px) {
        .step-card:not(:last-child)::after {
          content: '';
          position: absolute;
          right: 0;
          top: 15%;
          height: 70%;
          width: 1px;
          background-color: var(--border-divider);
        }
      }
  
      .step-icon {
        width: 50px;
        height: 50px;
        margin: 0 auto 16px;
        display: flex;
        align-items: center;
        justify-content: center;
      }
  
      .step-icon img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
      }
  
      .step-title {
        font-family: var(--font-heading);
        font-size: 1.1rem;
        font-weight: 600;
        letter-spacing: 1px;
        color: var(--text-white);
        text-transform: uppercase;
        margin-bottom: 4px;
      }
  
      .step-desc {
        font-family: var(--font-body);
        font-size: 0.85rem;
        color: var(--text-muted);
      }
  
      /* ==========================================
         --- SECCIÓN 2: ASEGURADORAS ---
         ========================================== */
      .insurers-section {
        background-color: #f8faf9;
        padding: 60px 20px;
        text-align: center;
      }
  
      .insurers-container {
        max-width: 1200px;
        margin: 0 auto;
      }
  
      .insurers-header {
        margin-bottom: 35px;
      }
  
      .insurers-header h3 {
        font-family: var(--font-heading);
        font-size: 2rem;
        color: #111111;
        font-weight: 700;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        margin-bottom: 8px;
      }
  
      .insurers-header p {
        font-family: var(--font-body);
        color: #666666;
        font-size: 0.95rem;
      }
  
      /* Flexbox para centrar automáticamente los logos en la segunda fila */
      .insurers-card {
        background: var(--card-bg);
        border-radius: 12px;
        padding: 40px 30px;
        box-shadow: var(--card-shadow);
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 30px 40px;
      }
  
      .insurer-logo {
        flex: 0 1 calc(20% - 32px);
        min-width: 140px;
        max-width: 160px;
        height: 65px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.3s ease, filter 0.3s ease;
      }
  
      .insurer-logo img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        display: block;
        filter: grayscale(15%);
        opacity: 0.9;
      }
  
      .insurer-logo:hover img {
        filter: grayscale(0%);
        opacity: 1;
        transform: scale(1.05);
      }
  
      /* Adaptabilidad a pantallas medianas y móviles */
      @media (max-width: 992px) {
        .insurer-logo {
          flex: 0 1 calc(33.333% - 27px);
        }
      }
  
      @media (max-width: 576px) {
        .insurer-logo {
          flex: 0 1 calc(50% - 20px);
        }
      }

      














      
        /* Sección superior: FAQs y Formulario alineados */
        .top-section {
            display: flex;
            flex-wrap: wrap;
            gap: 30px;
            align-items: flex-start;
            margin-bottom: 40px;
        }

        .faqs-container, .form-container {
            flex: 1;
            min-width: 300px;
        }

        /* Estilos FAQs */
        .faqs-container h2 {
            color: var(--primary-dark);
            font-size: 2rem;
            margin-bottom: 20px;
            text-transform: uppercase;
        }

        .faq-item {
            background: #ffffff;
            border: 1px solid var(--border-color);
            margin-bottom: 12px;
            border-radius: 4px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.02);
            overflow: hidden;
        }

        .faq-question {
            font-family: 'Montserrat', sans-serif;
            font-weight: 600;
            width: 100%;
            background: none;
            border: none;
            padding: 16px 20px;
            text-align: left;
            font-size: 1rem;
            color: var(--text-dark);
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: background 0.2s;
        }

        .faq-question:hover {
            background-color: var(--bg-light);
        }

        .faq-icon {
            color: var(--accent-gold);
            font-size: 1.5rem;
            font-weight: bold;
            transition: transform 0.3s ease;
            flex-shrink: 0;
            margin-left: 10px;
        }

        .faq-answer {
            font-family: 'Montserrat', sans-serif;
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out, padding 0.3s ease-out;
            padding: 0 20px;
            color: #555555;
            font-size: 0.95rem;
            background-color: #ffffff;
        }

        .faq-item.active .faq-answer {
            max-height: 300px;
            padding: 0 20px 16px 20px;
        }

        .faq-item.active .faq-icon {
            transform: rotate(45deg);
        }

        /* Estilos Formulario */
        .form-container {
            background-color: var(--form-bg);
            padding: 30px;
            border-radius: 6px;
            color: var(--text-light);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .form-container h2 {
            font-size: 1.8rem;
            margin-bottom: 8px;
            font-weight: 600;
            text-transform: uppercase;
        }

        .form-container p {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.95rem;
            color: #cccccc;
            margin-bottom: 20px;
        }

        .form-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
            margin-bottom: 15px;
        }

        .form-group {
            margin-bottom: 15px;
        }

        .form-group.full-width {
            grid-column: span 2;
        }

        .form-control {
            font-family: 'Montserrat', sans-serif;
            width: 100%;
            background: transparent;
            border: 1px solid rgba(255, 255, 255, 0.3);
            border-radius: 4px;
            padding: 12px 15px;
            color: var(--text-light);
            font-size: 0.9rem;
            outline: none;
            transition: border-color 0.2s;
        }

        .form-control::placeholder {
            color: #aaaaaa;
        }

        .form-control:focus {
            border-color: var(--accent-gold);
        }

        textarea.form-control {
            resize: vertical;
            min-height: 80px;
        }

        .form-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 15px;
            margin-top: 20px;
        }

        .checkbox-container {
            font-family: 'Montserrat', sans-serif;
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.85rem;
            color: #dddddd;
            cursor: pointer;
        }

        .checkbox-container input {
            accent-color: var(--accent-gold);
            cursor: pointer;
        }

        .btn-submit {
            background-color: var(--accent-gold);
            color: #ffffff;
            border: none;
            padding: 12px 25px;
            font-weight: bold;
            border-radius: 4px;
            cursor: pointer;
            transition: background-color 0.2s;
            font-size: 0.95rem;
            text-transform: uppercase;
        }

        .btn-submit:hover {
            background-color: var(--accent-gold-hover);
        }

        /* ==========================================
           SECCIÓN DEL BANNER INFERIOR (Escritorio)
           ========================================== */
        .banner-section {
            width: 100%;
            background-image: url('../images/seguros/La proteccion que tu empresa necesita.webp');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            background-color: var(--primary-dark);
            color: var(--text-light);
            padding: 70px 20px;
        }

        .banner-inner {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 40px;
        }

        .banner-content {
            flex: 1;
        }

        .banner-content h2 {
            font-size: 2.4rem;
            line-height: 1.15;
            margin-bottom: 25px;
            font-weight: 700;
            text-transform: uppercase;
            max-width: 520px;
            text-shadow: 0 2px 6px rgba(0, 0, 0, 0.7);
        }

        .btn-banner {
            display: inline-block;
            background-color: var(--accent-gold);
            color: #ffffff;
            padding: 14px 28px;
            border-radius: 4px;
            text-decoration: none;
            font-weight: bold;
            font-size: 0.95rem;
            transition: background-color 0.2s;
            text-transform: uppercase;
        }

        .btn-banner:hover {
            background-color: var(--accent-gold-hover);
        }

        .banner-features {
            display: flex;
            flex-direction: column;
            gap: 18px;
        }

        .feature-item {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .feature-item img {
            width: 32px;
            height: 32px;
            object-fit: contain;
            filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.9));
        }

        .feature-item span {
            font-weight: 600;
            font-size: 1.05rem;
            text-transform: uppercase;
            white-space: nowrap;
            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
        }

        /* ==========================================
           RESPONSIVIDAD MÓVIL (Imagen abarcando desde el título hasta los iconos)
           ========================================== */
        @media (max-width: 768px) {
            .top-section {
                flex-direction: column;
            }
            
            .form-grid {
                grid-template-columns: 1fr;
            }

            .form-group.full-width {
                grid-column: span 1;
            }

            /* La imagen de fondo cubre absolutamente todo el bloque móvil de arriba a abajo */
            .banner-section {
                background-image: url('../images/seguros/La proteccion que tu empresa necesita.webp');
                background-size: cover;
                background-position: center;
                padding: 40px 20px;
            }

            .banner-inner {
                display: flex;
                flex-direction: column;
                align-items: stretch;
                gap: 25px;
            }

            .banner-content {
                display: flex;
                flex-direction: column;
            }

            /* 1. Título cubierto por la imagen de fondo */
            .banner-content h2 {
                font-size: 1.8rem;
                max-width: 100%;
                margin-bottom: 20px;
                text-shadow: 0 2px 6px rgba(0, 0, 0, 0.9);
                order: 1;
            }

            /* 2. Botón de acción justo debajo del título dentro de la misma imagen */
            .btn-banner {
                order: 2;
                display: block;
                text-align: center;
                width: 100%;
                padding: 15px 20px;
                font-size: 1rem;
            }

            /* 3. Características / Iconos integrados abarcando la parte inferior del bloque con la imagen de fondo */
            .banner-features {
                order: 3;
                display: flex;
                flex-direction: column;
                gap: 15px;
                background: rgba(7, 34, 22, 0.5); /* Capa translúcida ligera para legibilidad sobre la foto */
                padding: 20px;
                border-radius: 6px;
                margin-top: 10px;
            }

            .feature-item span {
                white-space: normal;
                font-size: 0.95rem;
                text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9);
            }
        }
