 
 .js-loading body { opacity: 0; }
 html,
 body {
     visibility: visible;
     opacity: 1;
     max-width: 100%;
     overflow-x: hidden;
     margin: 0;
     padding: 0;
 }

 .dedicado-pyme-section {
     font-family: 'Montserrat', sans-serif;
     min-height: 100vh;
     display: flex;
     align-items: center;
     color: white;
     position: relative;
     background: linear-gradient(135deg, rgba(23, 23, 23, 0.8) 0%, rgba(20, 20, 100, 0.7) 100%),
         url('../public/images/FONDO1.webp');
     background-size: cover;
     background-position: center;
     padding: 60px 20px;
 }


 .dedicado-pyme-container {
     max-width: 1100px;
     margin: 0 auto;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 40px;
     width: 100%;
 }

 .dedicado-pyme-content-left,
 .dedicado-pyme-content-right {
     width: 100%;
     text-align: center;
 }


 .dedicado-pyme-main-title {
     font-size: 2.5rem;
     font-weight: 900;
     margin-bottom: 15px;
     line-height: 1.1;
 }

 .dedicado-pyme-main-title span {
     color: white;
     border-bottom: 4px solid #5b079c;
     display: inline-block;
 }

 .dedicado-pyme-sub-title {
     font-size: 1.8rem;
     font-weight: 700;
     margin-bottom: 25px;
     color: rgba(255, 255, 255, 0.9);
 }


 .dedicado-pyme-benefits-list {
     list-style: none;
     padding: 0;
     display: inline-block;
     text-align: left;
     max-width: 450px;
 }

 .dedicado-pyme-benefits-list li {
     margin-bottom: 15px;
     font-size: 1rem;
     display: flex;
     align-items: flex-start;
     line-height: 1.4;
     background: rgba(240, 240, 240, 0.4);
     padding: 10px 15px;
     border-radius: 8px;
     color: #ffffff;
     text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
 }

 .dedicado-pyme-benefits-list li::before {
     content: '▶';
     color: white;
     font-size: 0.7rem;
     margin-right: 12px;
     margin-top: 5px;
 }

 .dedicado-pyme-cta-title {
     font-size: 2.8rem;
     line-height: 1.1;
     font-weight: 800;
     margin-bottom: 30px;
 }

 .dedicado-pyme-contact-info {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 15px;
 }

 @media (max-width: 768px) {
     .dedicado-pyme-benefits-list {
         width: 100%;
         max-width: 90%;
         margin: 20px auto;
     }

     .dedicado-pyme-benefits-list li {
         font-size: 0.9rem;
     }
 }

 @media (min-width: 992px) {
     .dedicado-pyme-container {
         flex-direction: row;
         justify-content: space-between;
         align-items: center;
     }

     .dedicado-pyme-content-left,
     .dedicado-pyme-content-right {
         text-align: left;
         flex: 1;
     }

     .dedicado-pyme-main-title {
         font-size: 4rem;
     }

     .dedicado-pyme-cta-title {
         font-size: 4.5rem;
     }

     .dedicado-pyme-contact-info {
         flex-direction: row;
     }
 }

 .pyme-main-color-bg {
     background-color: #7d199f;
 }

 .hero-sectionPymes {
     background-image: linear-gradient(rgba(24, 8, 29, 0.7), rgba(62, 11, 90, 0.9)), url('../public/images/pyme.webp');
     background-size: cover;
     background-position: center;
     height: 85vh;
     display: flex;
     align-items: center;
     color: white;

     clip-path: ellipse(150% 100% at 50% 0%);
 }

 .hero-content {
     max-width: 1100px;
     margin: 0 auto;
     padding: 0 5%;
     width: 100%;
     text-align: left;
 }

 .hero-main-title {
     font-family: 'Montserrat', sans-serif;
     font-size: clamp(2rem, 5vw, 3.8rem);
     line-height: 1;
     font-weight: 900;
     margin-bottom: 20px;
 }

 .price-badge {
     display: flex;
     align-items: center;
     gap: 8px;
     margin: 25px 0;
     opacity: 0;
     animation: fadeInUp 1s ease forwards;
 }

 .price-from {
     font-size: 1.5rem;
     font-weight: 700;
     align-self: flex-end;
     margin-bottom: 15px;
 }

 .price-number {
     font-size: 6rem;
     font-weight: 900;
     line-height: 0.8;
 }

 .price-details {
     display: flex;
     flex-direction: column;
     justify-content: center;
     line-height: 1;
 }

 .price-cents {
     font-size: 2.2rem;
     font-weight: 800;
 }

 .price-currency {
     font-size: 2.2rem;
     font-weight: 800;
 }


 .hero-bullet-points {
     margin-top: 30px;
     opacity: 0;
     animation: fadeIn 1s ease forwards;
 }

 .hero-bullet-points p {
     font-size: 1rem;
     margin-bottom: 8px;
     display: flex;
     align-items: center;
     color: rgba(255, 255, 255, 0.9);
 }

 .hero-bullet-points span {
     background: rgba(255, 255, 255, 0.2);
     width: 20px;
     height: 20px;
     display: flex;
     align-items: center;
     justify-content: center;
     border-radius: 50%;
     margin-right: 10px;
     font-size: 0.8rem;
 }


 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(30px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .highlight-text {
     background-color: #ff6600;
     color: #ffffff;
     padding: 0 10px;
     display: inline-block;
     border-radius: 4px;
     box-shadow: 5px 0 0 #ff6600, -5px 0 0 #ff6600;
     margin: 2px 5px;
 }

 .underline-text {
     border-bottom: 8px solid #7d199f;
     display: inline-block;
     line-height: 0.8;
 }


 .price-number {
     color: #f6f5f4ff;
     text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
 }


 @media (max-width: 768px) {
     .price-number {
         font-size: 5rem;
     }

     .hero-main-title {
         font-size: 2.2rem;
     }
 }

 .hero-subtitle {
     font-size: 1.2em;
     font-weight: 400;
     color: rgba(255, 255, 255, 0.9);
     margin-bottom: 40px;
 }


 .hero-main-title span {
     display: inline-block;
     opacity: 0;
     transform: translateY(-20px);
     animation: fadeInDown 1.5s ease forwards;
 }

 @keyframes fadeInDown {
     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .word-delay-1 {
     animation-delay: 0.5s;
 }

 .word-delay-2 {
     animation-delay: 0.7s;
 }

 .word-delay-3 {
     animation-delay: 0.9s;
 }

 .word-delay-4 {
     animation-delay: 1.1s;
 }

 .word-delay-5 {
     animation-delay: 1.5s;
 }

 .word-delay-6 {
     animation-delay: 1.8s;
 }




 .bene-title {
     color: #ff6600;
     font-size: 2.5rem;
     font-weight: 600;
     text-align: center;
     text-transform: uppercase;
     margin-bottom: 10px;
     letter-spacing: -1px;
     font-family: 'Arial Black', sans-serif;
     padding-top: 15px;
 }

 @media (max-width: 768px) {
     .bene-title {
         font-size: 1.8rem;
         padding: 0 15px;
     }
 }

 .content-left,
 .content-right {
     width: 100%;
     text-align: center;
 }

 .main-title {
     font-size: 2.5rem;
     font-weight: 900;
     margin-bottom: 15px;
     line-height: 1.1;
 }


 .main-title span {
     color: white;
     border-bottom: 4px solid #5b079c;
     display: inline-block;
 }

 .sub-title {
     font-size: 1.8rem;
     font-weight: 700;
     margin-bottom: 25px;
     color: rgba(255, 255, 255, 0.9);
 }


 .benefits-list {
     list-style: none;
     padding: 0;
     display: inline-block;
     text-align: left;
     max-width: 450px;
 }

 .benefits-list li {
     margin-bottom: 15px;
     font-size: 1rem;
     display: flex;
     align-items: flex-start;
     line-height: 1.4;
     background: rgba(240, 240, 240, 0.4);
     padding: 10px 15px;
     border-radius: 8px;
     color: #ffffff;
     text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
 }

 @media (max-width: 768px) {
     .benefits-list {
         width: 100%;
         max-width: 90%;
         margin: 20px auto;
     }

     .benefits-list li {
         font-size: 0.9rem;
     }
 }

 .benefits-list li::before {
     content: '▶';
     color: white;
     font-size: 0.7rem;
     margin-right: 12px;
     margin-top: 5px;
 }

 .cta-title {
     font-size: 2.8rem;
     line-height: 1.1;
     font-weight: 800;
     margin-bottom: 30px;
 }

 .contact-info {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 15px;
 }

 .phone-icon {
     background: white;
     color: #141464;
     width: 60px;
     height: 60px;
     border-radius: 50%;
     display: flex;
     justify-content: center;
     align-items: center;
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
 }

 .phone-number {
     font-size: 1.4rem;
     font-weight: 700;
     color: white;
     margin: 0;
 }


 .contact-link {
     text-decoration: none;
     color: inherit;
     display: inline-block;
     transition: transform 0.3s ease;
 }

 .contact-link:hover {
     transform: scale(1.05);
 }

 .contact-link:hover .phone-icon {
     background-color: #f0f0f0;
 }



 @media (min-width: 992px) {
     .container {
         flex-direction: row;
         justify-content: space-between;
         align-items: center;
     }

     .content-left,
     .content-right {
         text-align: left;
         flex: 1;
     }

     .main-title {
         font-size: 4rem;
     }

     .cta-title {
         font-size: 4.5rem;
     }

     .contact-info {
         flex-direction: row;
     }
 }

 .premium-benefits {
     background-color: #fcfaff;
     padding: 100px 20px;
     font-family: 'Montserrat', sans-serif;
 }

 .text-gradient {
     background: linear-gradient(90deg, #7d199f, #ff6600);
     -webkit-background-clip: text;
     background-clip: text;
     -webkit-text-fill-color: transparent;
     font-weight: 900;
 }

 .section-main-title {
     text-align: center;
     font-size: clamp(1.8rem, 4vw, 2.8rem);
     color: #1a202c;
     margin-bottom: 70px;
     letter-spacing: -1px;
 }

 .cards-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
     gap: 25px;
     max-width: 1200px;
     margin: 0 auto;
 }

 .modern-card {
     height: 360px;
     perspective: 1500px;
     -webkit-tap-highlight-color: transparent; 
 }

 .card-inner {
     position: relative;
     width: 100%;
     height: 100%;
     transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     transform-style: preserve-3d;
 }

 .modern-card:hover .card-inner {
     transform: rotateY(180deg);
 }

 .card-front,
 .card-back {
     position: absolute;
     width: 100%;
     height: 100%;
     -webkit-backface-visibility: hidden;
     backface-visibility: hidden;
     border-radius: 30px;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     padding: 35px;
     box-sizing: border-box;
 }

 .card-front {
     background: #ffffff;
     border: 1px solid #f0eaff;
     box-shadow: 0 10px 30px rgba(125, 25, 159, 0.05);
     overflow: hidden;
     transform: translateZ(1px); 
 }

 .card-number {
     position: absolute;
     top: -10px;
     right: 10px;
     font-size: 8rem;
     font-weight: 900;
     color: rgba(125, 25, 159, 0.03);
     z-index: 0;
     transform: translateZ(0); 
 }

 .icon-box {
     width: 80px;
     height: 80px;
     background: #f8f3ff;
     color: #7d199f;
     border-radius: 22px;
     display: flex;
     align-items: center;
     justify-content: center;
     margin-bottom: 20px;
     position: relative;
     z-index: 1;
     transform: translateZ(0); 
 }

 .icon-box svg {
     width: 40px;
     height: 40px;
 }

 .card-front h3 {
     font-size: 1.3rem;
     font-weight: 800;
     color: #2d3748;
     text-align: center;
     position: relative;
     z-index: 1;
     transform: translateZ(0);
 }

 .flip-hint {
     margin-top: 30px;
     font-size: 0.75rem;
     font-weight: 700;
     color: #7d199f;
     text-transform: uppercase;
     letter-spacing: 1px;
 }

 .card-back {
     background: linear-gradient(135deg, #7d199f 0%, #3e0b5a 100%);
     color: white;
     transform: rotateY(180deg) translateZ(1px);
     text-align: center;
 }

 .card-back h3 {
     font-size: 1.4rem;
     margin-bottom: 15px;
     color: #ffb800;
 }

 .card-back p {
     font-size: 1rem;
     line-height: 1.6;
     opacity: 0.95;
 }

 @media (max-width: 768px) {
     .hero-main-title {
         font-size: 2.2rem;
     }

     .price-number {
         font-size: 5rem;
     }

     .dedicado-pyme-benefits-list {
         width: 100%;
         max-width: 90%;
     }
 }

 @media (min-width: 992px) {
     .dedicado-pyme-container {
         flex-direction: row;
         justify-content: space-between;
     }

     .dedicado-pyme-content-left,
     .dedicado-pyme-content-right {
         text-align: left;
         flex: 1;
     }
 }