/* Variables y reset mejoradas */
      :root {
        --primary: #3956aa;
        --secondary: #5b7ce5;
        --accent: #d855a4;
        --accent-dos: #AE0B36;
        --accent-dark: #c24391;
        --light: #f7f9fc;
        --dark: #2c3e50;
        --success: #27ae60;
        --text: #333333;
        --text-light: #777777;
        --shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        --shadow-hover: 0 8px 25px rgba(0, 0, 0, 0.15);
        --transition: all 0.3s ease;
      }

      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }

      html {
        scroll-behavior: smooth;
      }

      body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
        line-height: 1.6;
        color: var(--text);
        overflow-x: hidden;
      }

      h1, h2, h3, h4, h5 {
        font-weight: 700;
        line-height: 1.3;
        margin-bottom: 1rem;
        color: var(--dark);
      }

      p {
        margin-bottom: 1.5rem;
      }

      .container {
        width: 90%;
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 15px;
      }

      .btn {
        display: inline-block;
        background: var(--accent-dos);
        color: white;
        padding: 14px 35px;
        border-radius: 30px;
        text-decoration: none;
        font-weight: 600;
        transition: var(--transition);
        border: none;
        cursor: pointer;
        box-shadow: var(--shadow);
        text-align: center;
        font-size: 1.05rem;
      }

      .btn:hover {
        background: var(--accent-dark);
        transform: translateY(-3px);
        box-shadow: var(--shadow-hover);
      }

      .btn-primary {
        background: var(--primary);
      }

      .btn-primary:hover {
        background: #2c4388;
      }

      .btn-outline {
        background: transparent;
        border: 2px solid var(--accent);
        color: var(--light);
      }

      .btn-outline:hover {
        background: var(--accent-dos);
        color: white;
      }

      section {
        padding: 90px 0;
      }

      .text-center {
        text-align: center;
      }

      .section-title {
        position: relative;
        margin-bottom: 50px;
        font-size: 2.5rem;
      }

      .section-title:after {
        content: "";
        display: block;
        width: 80px;
        height: 4px;
        background: var(--accent);
        margin: 15px auto 0;
      }

      /* Header mejorado */
      header {
        background: white;
        box-shadow: var(--shadow);
        position: fixed;
        width: 100%;
        z-index: 1000;
        top: 0;
      }

      .scroll-progress-bar {
        position: fixed;
        top: 0;
        left: 0;
        height: 4px;
        background: var(--accent);
        width: 0%;
        z-index: 1001;
        transition: width 0.1s ease-out;
      }

      .navbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 18px 0;
      }

      .logo {
        font-size: 1.8rem;
        font-weight: 700;
        color: var(--primary);
        text-decoration: none;
        display: flex;
        align-items: center;
      }

      .logo img {
        height: 40px;
        margin-right: 10px;
      }

      .nav-links {
        display: flex;
        list-style: none;
      }

      .nav-links li {
        margin-left: 30px;
      }

      .nav-links a {
        text-decoration: none;
        color: var(--text);
        font-weight: 500;
        transition: var(--transition);
        position: relative;
      }

      .nav-links a:after {
        content: '';
        position: absolute;
        width: 0;
        height: 2px;
        bottom: -5px;
        left: 0;
        background-color: var(--accent);
        transition: var(--transition);
      }

      .nav-links a:hover {
        color: var(--accent);
      }

      .nav-links a:hover:after {
        width: 100%;
      }

      .hamburger {
        display: none;
        cursor: pointer;
        background: none;
        border: none;
        font-size: 1.5rem;
        color: var(--primary);
      }

      /* Hero Section mejorada */
      .hero {
        background: linear-gradient(rgba(57, 86, 170, 0.88), rgba(57, 86, 170, 0.88)), url('images/bg-landing-AlegreConsultingGroup.avif') no-repeat center center;
        background-size: cover;
        color: white;
        padding: 160px 0 100px;
        text-align: center;
        position: relative;
      }

      .hero-content {
        max-width: 900px;
        margin: 0 auto;
      }

      .hero h1 {
        font-size: 3.2rem;
        margin-bottom: 20px;
        color: white;
        animation: fadeInDown 1s ease;
        line-height: 1.2;
      }

      .hero p {
        font-size: 1.3rem;
        max-width: 800px;
        margin: 0 auto 35px;
        animation: fadeInUp 1s ease;
      }

      .hero-buttons {
        display: flex;
        gap: 20px;
        justify-content: center;
        flex-wrap: wrap;
      }

      .stats-container {
        display: flex;
        justify-content: space-around;
        flex-wrap: wrap;
        margin-top: 60px;
        max-width: 1000px;
        margin-left: auto;
        margin-right: auto;
      }

      .stat-item {
        text-align: center;
        padding: 20px;
        animation: fadeIn 1.5s ease;
      }

      .stat-number {
        font-size: 2.5rem;
        font-weight: 700;
        color: white;
        margin-bottom: 10px;
      }

      .stat-text {
        font-size: 1.1rem;
        color: rgba(255, 255, 255, 0.9);
      }

      /* Formulario de contacto */
      .contact-form-container {
        background: white;
        border-radius: 12px;
        padding: 40px;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
        max-width: 500px;
        margin: 40px auto 0;
        animation: fadeInUp 1.2s ease;
      }

      .form-title {
        text-align: center;
        margin-bottom: 25px;
        color: var(--primary);
      }

      .form-group {
        margin-bottom: 20px;
      }

      .form-group label {
        display: block;
        margin-bottom: 8px;
        font-weight: 500;
        color: var(--dark);
      }

      .form-group input,
      .form-group textarea,
      .form-group select {
        width: 100%;
        padding: 14px;
        border: 1px solid #ddd;
        border-radius: 6px;
        font-size: 1rem;
        transition: var(--transition);
      }

      .form-group input:focus,
      .form-group textarea:focus,
      .form-group select:focus {
        outline: none;
        border-color: var(--primary);
        box-shadow: 0 0 0 3px rgba(57, 86, 170, 0.2);
      }

      .form-submit {
        width: 100%;
        padding: 15px;
        font-size: 1.1rem;
        margin-top: 10px;
      }

      .privacy-text {
        font-size: 0.85rem;
        text-align: center;
        margin-top: 20px;
        color: var(--text-light);
      }

      /* About Section */
      .about {
        background: white;
      }

      .about-content {
        display: flex;
        align-items: center;
        gap: 50px;
      }

      .about-text {
        flex: 1;
      }

      .about-image {
        flex: 1;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: var(--shadow);
        opacity: 0;
        transform: translateX(50px);
        transition: opacity 1s ease, transform 1s ease;
      }

      .about-image.visible {
        opacity: 1;
        transform: translateX(0);
      }

      .about-image img {
        width: 100%;
        height: auto;
        display: block;
      }

      /* Services Section */
      .services {
        background: var(--light);
      }

      .services-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 30px;
      }

      .service-card {
        background: white;
        padding: 35px 30px;
        border-radius: 10px;
        box-shadow: var(--shadow);
        transition: var(--transition);
        opacity: 0;
        transform: translateY(50px);
        text-align: center;
        border-top: 4px solid var(--primary);
      }

      .service-card:hover {
        transform: translateY(-10px);
        box-shadow: var(--shadow-hover);
        border-top: 4px solid var(--accent);
      }

      .service-card.visible {
        opacity: 1;
        transform: translateY(0);
      }

      .service-icon {
        font-size: 2.8rem;
        color: var(--accent);
        margin-bottom: 22px;
        background: rgba(216, 85, 164, 0.1);
        width: 80px;
        height: 80px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        margin-left: auto;
        margin-right: auto;
      }

      /* Benefits Section */
      .benefits-list {
        max-width: 900px;
        margin: 0 auto;
      }

      .benefit-item {
        display: flex;
        align-items: flex-start;
        margin-bottom: 35px;
        opacity: 0;
        transform: translateX(-50px);
        transition: opacity 1s ease, transform 1s ease;
        background: white;
        padding: 25px;
        border-radius: 10px;
        box-shadow: var(--shadow);
      }

      .benefit-item:nth-child(even) {
        transform: translateX(50px);
      }

      .benefit-item.visible {
        opacity: 1;
        transform: translateX(0);
      }

      .benefit-item:hover {
        transform: translateY(-5px);
        box-shadow: var(--shadow-hover);
      }

      .benefit-icon {
        font-size: 1.8rem;
        color: var(--accent);
        margin-right: 25px;
        flex-shrink: 0;
        background: rgba(216, 85, 164, 0.1);
        width: 60px;
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
      }

      /* Process Section */
      .process {
        background: white;
      }

      .process-steps {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 50px;
        position: relative;
      }

      .process-steps:before {
        content: "";
        position: absolute;
        top: 40px;
        left: 0;
        right: 0;
        height: 2px;
        background: var(--secondary);
        z-index: 1;
      }

      .process-step {
        text-align: center;
        width: 23%;
        position: relative;
        z-index: 2;
        opacity: 0;
        padding: 20px;
        background: var(--light);
        border-radius: 10px;
      }

      .process-step.visible {
        animation: fadeIn 1s ease forwards;
      }

      .step-number {
        width: 80px;
        height: 80px;
        background: var(--primary);
        color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.8rem;
        font-weight: 700;
        margin: 0 auto 20px;
        transition: var(--transition);
      }

      .process-step:hover .step-number {
        background: var(--accent);
        transform: scale(1.1);
      }

      /* Testimonials mejorado */
      .testimonials-container {
        max-width: 1000px;
        margin: 0 auto;
        position: relative;
        min-height: 250px;
      }

      .testimonial {
        background: white;
        padding: 35px;
        border-radius: 10px;
        box-shadow: var(--shadow);
        margin: 20px;
        opacity: 0;
        transform: scale(0.9);
        transition: opacity 1s ease, transform 1s ease;
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
      }

      .testimonial.active {
        opacity: 1;
        transform: scale(1);
        position: relative;
      }

      .testimonial-text {
        font-style: italic;
        margin-bottom: 25px;
        font-size: 1.1rem;
        position: relative;
        padding: 0 30px;
      }

      .testimonial-text:before,
      .testimonial-text:after {
        content: '"';
        font-size: 3rem;
        color: var(--accent);
        opacity: 0.3;
        position: absolute;
      }

      .testimonial-text:before {
        top: -15px;
        left: 0;
      }

      .testimonial-text:after {
        bottom: -30px;
        right: 0;
      }

      .testimonial-author {
        font-weight: 700;
        color: var(--primary);
        font-size: 1.1rem;
      }

      .testimonial-role {
        color: var(--text-light);
        font-size: 0.95rem;
      }

      .testimonial-nav {
        display: flex;
        justify-content: center;
        margin-top: 30px;
      }

      .testimonial-dot {
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background: #ddd;
        margin: 0 8px;
        cursor: pointer;
        transition: var(--transition);
      }

      .testimonial-dot.active {
        background: var(--accent);
        transform: scale(1.3);
      }

      /* Trust Badges */
      .trust-badges {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 40px;
        margin-top: 40px;
      }

      .trust-badge {
        opacity: 0.7;
        transition: var(--transition);
        max-width: 150px;
        filter: grayscale(100%);
      }

      .trust-badge:hover {
        opacity: 1;
        filter: grayscale(0);
      }

      /* FAQ Section */
      .faq-item {
        margin-bottom: 20px;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: var(--shadow);
        background: white;
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.8s ease, transform 0.8s ease;
      }

      .faq-item.visible {
        opacity: 1;
        transform: translateY(0);
      }

      .faq-question {
        padding: 20px;
        background: var(--primary);
        color: white;
        font-weight: 600;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        transition: var(--transition);
      }

      .faq-question:hover {
        background: #2c4388;
      }

      .faq-answer {
        padding: 0 20px;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.5s ease, padding 0.5s ease;
      }

      .faq-answer.open {
        padding: 20px;
        max-height: 300px;
      }

      /* Footer */
      footer {
        background: var(--dark);
        color: white;
        padding: 70px 0 30px;
      }

      .footer-content {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 40px;
        margin-bottom: 50px;
      }

      .footer-column h3 {
        color: white;
        margin-bottom: 25px;
        font-size: 1.4rem;
        position: relative;
        padding-bottom: 15px;
      }

      .footer-column h3:after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 50px;
        height: 3px;
        background: var(--accent);
      }

      .footer-links {
        list-style: none;
      }

      .footer-links li {
        margin-bottom: 12px;
      }

      .footer-links a {
        color: rgba(255, 255, 255, 0.8);
        text-decoration: none;
        transition: var(--transition);
      }

      .footer-links a:hover {
        color: var(--accent);
        padding-left: 5px;
      }

      .footer-contact {
        display: flex;
        align-items: center;
        margin-bottom: 15px;
      }

      .footer-contact i {
        margin-right: 15px;
        color: var(--accent);
        font-size: 1.2rem;
      }

      .footer-bottom {
        text-align: center;
        padding-top: 30px;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        font-size: 0.9rem;
        color: rgba(255, 255, 255, 0.6);
      }

      .social-links {
        display: flex;
        gap: 15px;
        margin-top: 20px;
      }

      .social-links a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        background: rgba(255, 255, 255, 0.1);
        border-radius: 50%;
        color: white;
        transition: var(--transition);
      }

      .social-links a:hover {
        background: var(--accent);
        transform: translateY(-3px);
      }

      /* Animaciones */
      @keyframes fadeIn {
        from {
          opacity: 0;
        }
        to {
          opacity: 1;
        }
      }

      @keyframes fadeInUp {
        from {
          opacity: 0;
          transform: translateY(30px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      @keyframes fadeInDown {
        from {
          opacity: 0;
          transform: translateY(-30px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      /* Media Queries */
      @media (max-width: 992px) {
        .about-content {
          flex-direction: column;
        }

        .about-image {
          margin-top: 40px;
        }

        .process-steps:before {
          display: none;
        }

        .process-step {
          width: 48%;
          margin-bottom: 30px;
        }
      }

      @media (max-width: 768px) {
        .navbar {
          padding: 15px 0;
        }

        .nav-links {
          position: fixed;
          top: 80px;
          left: -100%;
          background: white;
          width: 100%;
          flex-direction: column;
          box-shadow: var(--shadow);
          padding: 20px;
          transition: var(--transition);
        }

        .nav-links.active {
          left: 0;
        }

        .nav-links li {
          margin: 15px 0;
        }

        .hamburger {
          display: block;
        }

        .hero h1 {
          font-size: 2.5rem;
        }

        .hero p {
          font-size: 1.1rem;
        }

        .hero-buttons {
          flex-direction: column;
          align-items: center;
        }

        .btn {
          width: 100%;
          max-width: 300px;
          margin-bottom: 15px;
        }

        .section-title {
          font-size: 2rem;
        }

        .stat-item {
          width: 50%;
        }

        .process-step {
          width: 100%;
        }

        .contact-form-container {
          padding: 25px;
        }
      }

      @media (max-width: 576px) {
        .hero {
          padding: 130px 0 80px;
        }

        .hero h1 {
          font-size: 2rem;
        }

        .stat-number {
          font-size: 2rem;
        }

        .stat-item {
          width: 100%;
        }

        .service-card {
          padding: 25px 20px;
        }
      }

      /* Clases de utilidad */
      .mt-20 {
        margin-top: 20px;
      }

      .mb-20 {
        margin-bottom: 20px;
      }

      .mt-40 {
        margin-top: 40px;
      }

      .mb-40 {
        margin-bottom: 40px;
      }

      .hidden {
        opacity: 0;
      }

      .visible {
        opacity: 1;
      }