 .features {
     margin-top: 0 !important;
 }

 /* About Section */
 .about-section-custom {
     position: relative;
     z-index: 10;
     background: linear-gradient(180deg, #ffffff 0%, #f9f9f9 100%);
 }

 /* Visual Composition - Sin imagen */
 .visual-composition {
     position: relative;

     display: flex;
     align-items: center;
     justify-content: center;
 }

 .stats-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 20px;
     width: 100%;
     max-width: 100%;
     position: relative;
     z-index: 2;
 }

 @media (max-width: 992px) {
     .stats-grid {
         grid-template-columns: repeat(2, 1fr);
         max-width: 600px;
         margin: 0 auto;
     }
 }

 @media (max-width: 576px) {
     .stats-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 15px;
     }
 }

 .stat-visual {
     background: #ffffff;
     border-radius: 20px;
     padding: 30px 20px;
     text-align: center;
     box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
     transition: all 0.4s ease;
     position: relative;
     overflow: hidden;
     min-height: 220px;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
 }

 .stat-visual::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 4px;
     background: linear-gradient(90deg, var(--primary-color), #ffc933);
     transform: scaleX(0);
     transform-origin: left;
     transition: transform 0.4s ease;
 }

 .stat-visual:hover::before {
     transform: scaleX(1);
 }

 .stat-visual:hover {
     transform: translateY(-10px);
     box-shadow: 0 20px 60px rgba(255, 182, 0, 0.2);
 }

 .stat-visual-1 {
     animation: fadeInUp 0.6s ease forwards;
     animation-delay: 0.1s;
     opacity: 0;
 }

 .stat-visual-2 {
     animation: fadeInUp 0.6s ease forwards;
     animation-delay: 0.2s;
     opacity: 0;
 }

 .stat-visual-3 {
     animation: fadeInUp 0.6s ease forwards;
     animation-delay: 0.3s;
     opacity: 0;
 }

 .stat-visual-4 {
     animation: fadeInUp 0.6s ease forwards;
     animation-delay: 0.4s;
     opacity: 0;
 }

 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(30px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .stat-icon-large {
     width: 70px;
     height: 70px;
     margin: 0 auto 15px;
     background: linear-gradient(135deg, var(--primary-color), #ffc933);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--secondary-color);
     font-size: 32px;
     transition: all 0.4s ease;
 }

 .stat-visual:hover .stat-icon-large {
     transform: scale(1.1) rotate(10deg);
     box-shadow: 0 10px 30px rgba(255, 182, 0, 0.4);
 }

 .stat-value {
     font-size: 42px;
     font-weight: 800;
     color: var(--secondary-color);
     margin-bottom: 5px;
     font-family: 'Inter', sans-serif;
 }

 .stat-label {
     font-size: 14px;
     color: #666;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 1px;
 }

 /* Floating Shapes */
 .floating-shapes {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     pointer-events: none;
     z-index: 1;
 }

 .shape {
     position: absolute;
     opacity: 0.08;
 }

 .shape-1 {
     width: 200px;
     height: 200px;
     background: linear-gradient(135deg, var(--primary-color), #ffc933);
     border-radius: 50%;
     top: -50px;
     left: -50px;
     animation: float 8s ease-in-out infinite;
 }

 .shape-2 {
     width: 150px;
     height: 150px;
     background: linear-gradient(225deg, #ffc933, var(--primary-color));
     border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
     bottom: -40px;
     right: -40px;
     animation: float 10s ease-in-out infinite;
     animation-delay: -3s;
 }

 .shape-3 {
     width: 100px;
     height: 100px;
     background: linear-gradient(315deg, var(--primary-color), #ff9500);
     border-radius: 20px;
     top: 50%;
     right: 10%;
     transform: translateY(-50%) rotate(45deg);
     animation: float 12s ease-in-out infinite;
     animation-delay: -6s;
 }

 @keyframes float {

     0%,
     100% {
         transform: translateY(0) rotate(0deg);
     }

     50% {
         transform: translateY(-30px) rotate(180deg);
     }
 }

 /* Floating shapes for History section - less elements */
 .floating-shapes-history {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     pointer-events: none;
     z-index: 0;
 }

 .floating-shapes-history .shape-1 {
     width: 120px;
     height: 120px;
     background: linear-gradient(135deg, var(--primary-color), #ffc933);
     border-radius: 50%;
     top: 10%;
     right: 5%;
     opacity: 0.06;
     animation: float 10s ease-in-out infinite;
 }

 .floating-shapes-history .shape-2 {
     width: 90px;
     height: 90px;
     background: linear-gradient(225deg, #ffc933, var(--primary-color));
     border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
     bottom: 15%;
     left: 8%;
     opacity: 0.06;
     animation: float 12s ease-in-out infinite;
     animation-delay: -4s;
 }

 /* Remove old image styles */
 .about-image-container {
     position: relative;
 }

 .about-image-wrapper {
     display: none;
 }

 .image-overlay {
     display: none;
 }

 .overlay-badge {
     display: none;
 }

 .decorative-element {
     display: none;
 }

 /* History Content */
 .history-content {
     padding-left: 20px;
 }

 .history-intro {
     position: relative;
     margin-bottom: 40px;
     padding: 30px;
     background: #ffffff;
     border-radius: 15px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     border-left: 5px solid var(--primary-color);
 }

 .quote-icon {
     position: absolute;
     top: -15px;
     left: 20px;
     font-size: 40px;
     color: var(--primary-color);
     opacity: 0.3;
 }

 .lead-text {
     font-size: 18px;
     line-height: 1.8;
     color: var(--secondary-color);
     font-weight: 500;
     margin: 0;
     padding-top: 10px;
 }

 /* Timeline */
 .timeline-items {
     position: relative;
 }

 .timeline-item {
     display: flex;
     gap: 20px;
     margin-bottom: 35px;
     position: relative;
     padding-bottom: 35px;
 }

 .timeline-item:not(:last-child)::after {
     content: '';
     position: absolute;
     left: 27px;
     top: 55px;
     bottom: -35px;
     width: 2px;
     background: linear-gradient(180deg, var(--primary-color) 0%, #e0e0e0 100%);
 }

 .timeline-item-last::after {
     content: '';
     position: absolute;
     left: 27px;
     top: 55px;
     height: 80px;
     width: 2px;
     background: linear-gradient(180deg, var(--primary-color) 0%, rgba(255, 182, 0, 0.3) 100%);
 }

 .timeline-icon {
     flex-shrink: 0;
     width: 55px;
     height: 55px;
     background: linear-gradient(135deg, var(--primary-color), #ffc933);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--secondary-color);
     font-size: 24px;
     box-shadow: 0 5px 15px rgba(255, 182, 0, 0.3);
     transition: transform 0.3s ease;
 }

 .timeline-item:hover .timeline-icon {
     transform: scale(1.1) rotate(5deg);
 }

 .timeline-content {
     flex: 1;
     padding-top: 5px;
 }

 .timeline-content h4 {
     color: var(--secondary-color);
     font-size: 20px;
     font-weight: 700;
     margin-bottom: 10px;
 }

 .timeline-content p {
     color: #666;
     font-size: 16px;
     line-height: 1.7;
     margin: 0;
 }

 /* Timeline Continue Arrow */
 .timeline-item-last {
     padding-bottom: 0;
     margin-bottom: 0;
 }

 .timeline-continue {
     display: flex;
     align-items: center;
     gap: 20px;
     margin-top: 15px;
     margin-left: 0;
     position: relative;
 }

 .continue-line {
     display: none;
 }

 .continue-arrow {
     flex-shrink: 0;
     width: 55px;
     height: 55px;
     background: linear-gradient(135deg, rgba(255, 182, 0, 0.2), rgba(255, 201, 51, 0.2));
     border: 3px dashed var(--primary-color);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 28px;
     color: var(--primary-color);
     animation: bounce 2s infinite;
     cursor: pointer;
     transition: all 0.3s ease;
 }

 .continue-arrow:hover {
     transform: scale(1.1);
     animation: none;
     background: linear-gradient(135deg, var(--primary-color), #ffc933);
     border-style: solid;
 }

 .continue-arrow:hover i {
     color: var(--secondary-color);
 }

 .continue-text {
     font-size: 14px;
     color: #999;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 1px;
 }

 @keyframes bounce {

     0%,
     20%,
     50%,
     80%,
     100% {
         transform: translateY(0);
     }

     40% {
         transform: translateY(-15px);
     }

     60% {
         transform: translateY(-8px);
     }
 }

 /* Features Section */
 .features-section {
     padding: 80px 0;
 }

 .features-title {
     margin-bottom: 60px;
 }

 .feature-card-custom {
     border-left-color: var(--primary-color);
 }

 /* Cifras Clave Section */
 .stats-section {
     background-color: white !important;
     padding: 80px 0;
 }

 .stat-number-title {
     margin-bottom: 60px;
 }

 .visual-composition-center {
     margin: 0 auto;
 }

 .stats-grid-numbers {
     max-width: 100%;
 }

 .stat-card {
     padding: 30px;
     background: #ffffff;
     border-radius: 10px;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
 }

 .stat-number {
     font-size: 44px;
     color: var(--primary-color);
     font-weight: 700;
     margin-bottom: 10px;
 }

 .stat-label {
     font-size: 16px;
     color: var(--secondary-color);
     font-weight: 600;
 }

 /* Equipo Section */
 .team-section {
     padding: 80px 0;
     background-color: #ffffff;
 }

 .team-title {
     margin-bottom: 60px;
 }

 /* Team member card base: use flex layout so content height can be distributed */
 .team-member-card {
     background: var(--light-bg);
     border-radius: 10px;
     overflow: hidden;
     text-align: center;
     display: flex;
     flex-direction: column;
 }

 .team-member-image {
     height: 280px;
     background: linear-gradient(135deg, var(--primary-color) 0%, #ffc933 100%);
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .team-member-image i {
     font-size: 80px;
     color: rgba(255, 255, 255, 0.7);
 }

 .team-member-info {
     padding: 25px;
     flex: 1;
     display: flex;
     flex-direction: column;
     justify-content: center;
 }

 .team-member-name {
     font-size: 18px;
     color: var(--secondary-color);
     margin-bottom: 5px;
 }

 .team-member-position {
     font-size: 14px;
     color: var(--primary-color);
     font-weight: 600;
     margin-bottom: 10px;
 }

 .team-member-bio {
     font-size: 13px;
     color: #666;
     line-height: 1.5;
 }

 @media (max-width: 1441px) {
     .hero-title-custom {
         font-size: 70px;
     }

     .hero-subtitle {
         font-size: 28px;
     }

     .features-section {
         padding: 50px 0;
     }

     .team-member-name {
         font-size: 21px;
     }

     .team-member-position {
         font-size: 19px;
     }

     .team-member-bio {
         font-size: 17px;
     }

     .team-member-card {
         height: 500px;
     }

     .feature-card p {
         font-size: 19px;
     }

     .timeline-continue {
         margin-top: 50px;
     }

     .timeline-content h4 {
         font-size: 24px;
     }

     .timeline-content p {
         font-size: 19px;
     }

     .timeline-item-last::after {

         height: 118px;
     }

     .feature-card h3 {
         font-weight: 600;
     }
 }

 @media (max-width: 1024px) {

     .hero-title-custom {
         font-size: 55px;
     }

     .hero-subtitle {
         font-size: 22px;
     }

     /* Stats con altura uniforme para 1024px */
     .stat-card {
         height: 180px;
         display: flex;
         flex-direction: column;
         justify-content: center;
         align-items: center;
     }

     .team-member-image {
         height: 216px;
     }

     .feature-card p {
         font-size: 18.2px;
     }

     .team-member-card {
         height: 510px;
     }

     .timeline-item-last::after {
         height: 114px;
     }
 }

 @media (max-width: 768px) {
     .hero {
         min-height: 35vh;
     }

     .hero-section-reduced {
         height: 35vh;
     }

     /* Reordenar: texto a la izquierda, imagen a la derecha */
     .about-section-custom .row {
         display: flex;
         flex-wrap: wrap;
     }

     .about-section-custom .col-lg-6:first-child {
         order: 2;
         flex: 0 0 50%;
     }

     .about-section-custom .col-lg-6:last-child {
         order: 1;
         flex: 0 0 50%;
     }

     /* Reducir altura de la imagen en 768px */
     .about-image-wrapper {
         height: 280px;
     }

     /* Ajustar tamaño de fuentes */
     .section-title-left {
         font-size: 24px;
         margin-bottom: 15px;
     }

     .about-paragraph,
     .about-paragraph-last {
         font-size: 14px;
         line-height: 1.6;
         margin-bottom: 12px;
     }

     /* Tercer card de valores ocupa 100% de ancho */
     .features-section .row .col-lg-4:nth-child(3) {
         flex: 0 0 100%;
         max-width: 100%;
     }

     /* Stats en 2x2 para 768px */
     .stats-section .col-md-3 {
         flex: 0 0 50%;
         max-width: 50%;
     }

     .team-member-image {
         height: 280px;
     }

     .features-section {
         padding: 15px 0;
     }

     .feature-card p {
         font-size: 16px;
     }

     .stat-label {
         font-size: 13px;
     }

     .stat-value {
         font-size: 36px;
     }

     .timeline-item-last::after {
         height: 114px;
     }
 }

 @media (max-width: 576px) {

     /* Apilado verticalmente para 425px */
     .about-section-custom .row {
         flex-direction: column;
     }

     .about-section-custom .col-lg-6:first-child {
         order: 2;
         flex: 0 0 100%;
     }

     .about-section-custom .col-lg-6:last-child {
         order: 1;
         flex: 0 0 100%;
     }

     /* Imagen más pequeña en móvil */
     .about-image-wrapper {
         height: 220px;
         margin-bottom: 20px;
     }

     /* Reducir fuentes para móvil */
     .section-title-left {
         font-size: 20px;
         margin-bottom: 12px;
     }

     .about-paragraph,
     .about-paragraph-last {
         font-size: 13px;
         line-height: 1.5;
         margin-bottom: 10px;
     }
 }

 @media (max-width: 431px) {
     .hero {
         min-height: 30vh;
     }

     .hero-section-reduced {
         height: 15vh;
     }

     .hero-title-custom {
         color: var(--primary-color);
         font-size: 27px;
     }

     .team-section {
         padding: 14px 0;
         background-color: #ffffff;
     }

     /* Team members 2 en 2 para 431px */
     .team-section .col-lg-3 {
         flex: 0 0 50%;
         max-width: 50%;
     }

     .team-member-image {
         height: 150px;
     }

     .team-member-card {
         height: 400px;
     }

     .features-section {
         padding: 54px 0;
     }

     .stats-section {
         padding: 50px 0;
     }

     .timeline-item-last::after {
         height: 198px;
     }
 }

 @media (max-width: 376px) {

     .hero-slide .hero-content {
         max-width: inherit !important;
         margin-top: 30px;
     }

     .team-member-card {
         height: 500px;
     }

     .stat-number {
         font-size: 38px;
         color: var(--primary-color);
         font-weight: 700;
         margin-bottom: 10px;
     }

     .feature-card h3 {
         font-size: 18px;
         margin-bottom: 10px;
         font-weight: 600;
     }

     .timeline-item-last::after {
         height: 198px;
     }
 }

 @media (max-width: 321px) {
     .hero-slide .hero-content {
         max-width: inherit !important;
         margin-top: 30px;
     }

     .hero-section-reduced {
         height: 39vh;
     }

     .feature-card h3 {
         font-weight: 600;
     }

     .stat-number {
         font-size: 29px;
         color: var(--primary-color);
         font-weight: 700;
         margin-bottom: 10px;
     }

     .team-member-card {
         height: 456px;
     }

     .team-member-image {
         height: 140px;
         flex-shrink: 0;
     }

     .team-member-info {
         padding: 12px;
         flex: 1;
         display: flex;
         flex-direction: column;
         justify-content: center;
     }

     .timeline-item-last::after {
         height: 275px;
     }
 }