 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 body {
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
     line-height: 1.6;
     color: #0B1C2D;
 }

 /* Colors */
 :root {
     --deep-blue: #0B1C2D;
     --warm-beige: #E8DCCB;
     --bone-white: #F6F4EF;
     --soft-gold: #C6A75E;
 }

 section {
     padding: 60px 20px;
 }

 .container {
     max-width: 1200px;
 }

 /* HERO */
 .hero {
     background-color: var(--deep-blue);
     color: var(--bone-white);
     align-items: center;
     justify-content: center;
     text-align: center;
 }

 .hero-content h1 {
     font-size: 3.5rem;
     margin-bottom: 20px;
     font-weight: 300;
     letter-spacing: -1px;
 }

 .hero-content p {
     font-size: 1.3rem;
     margin-bottom: 40px;
     opacity: 0.95;
     max-width: 600px;
     margin-left: auto;
     margin-right: auto;
 }

/* Two-column hero tweaks */
.hero {
    padding-top: 60px;
    padding-bottom: 0;
    align-items: stretch;
}

.hero-content {
    max-width: 640px;
    /* display: flex; */
    flex-direction: column;
    justify-content: center;
}

.hero-image {
    max-width: 420px;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(11, 28, 45, 0.18);
}

@media (min-width: 992px) {
    .hero-content {
        margin: 0;
    }
    .hero {
        text-align: left;
    }
    .hero-image {
        height: 100%;
    }
}

 .btn-primary {
     background-color: var(--soft-gold);
     color: var(--deep-blue);
     padding: 15px 40px;
     font-size: 1rem;
     border: none;
     cursor: pointer;
     text-decoration: none;
     display: inline-block;
     font-weight: 600;
     transition: opacity 0.3s;
 }

 .btn-primary:hover {
     opacity: 0.85;
 }

 /* PROBLEMA */
 .problema {
     background-color: var(--warm-beige);
     color: var(--deep-blue);
 }

 .problema h2 {
     font-size: 2.5rem;
     margin-bottom: 40px;
     font-weight: 300;
 }

 .problema ul {
     list-style: none;
     max-width: 600px;
 }

 .problema li {
     font-size: 1.2rem;
     margin-bottom: 25px;
     line-height: 1.8;
     padding-left: 30px;
     position: relative;
 }

 .problema li:before {
     content: "•";
     color: var(--soft-gold);
     font-size: 1.8rem;
     position: absolute;
     left: 0;
 }

 /* MÉTODO */
 .metodo {
     background-color: var(--bone-white);
     color: var(--deep-blue);
 }

 .metodo h2 {
     font-size: 2.5rem;
     margin-bottom: 60px;
     text-align: center;
     font-weight: 300;
 }

 .metodo-item h3 {
     font-size: 1.4rem;
     margin-bottom: 20px;
     color: var(--soft-gold);
     font-weight: 600;
 }

 .metodo-item p {
     font-size: 1rem;
     line-height: 1.7;
 }

 .metodo-item {
     text-align: center;
 }

 .metodo-icon {
     font-size: 3rem;
     color: var(--soft-gold);
     display: block;
     margin-bottom: 20px;
 }

 /* RESULTADOS */
 .resultados {
     background-color: var(--deep-blue);
     color: var(--bone-white);
 }

 .resultados h2 {
     font-size: 2.5rem;
     margin-bottom: 50px;
     text-align: center;
     font-weight: 300;
 }

 .resultado-item {
     padding: 30px 20px;
     text-align: center;
 }

 .resultado-item h3 {
     color: var(--soft-gold);
     font-size: 1.2rem;
     font-weight: 600;
     margin-bottom: 10px;
 }

 /* SOBRE MI */
 .sobre-mi {
     background-color: var(--warm-beige);
     color: var(--deep-blue);
 }

 .sobre-mi h2 {
     font-size: 2rem;
     margin-bottom: 40px;
     font-weight: 300;
 }

 .sobre-mi p {
     font-size: 1.05rem;
     margin-bottom: 25px;
     line-height: 1.8;
 }

/* TESTIMONIOS */
.testimonios {
    background-color: var(--bone-white);
    color: var(--deep-blue);
}

.testimonios h2 {
    font-size: 2rem;
    margin-bottom: 40px;
    text-align: center;
    font-weight: 300;
}

.testimonial-img {
    width: 180px;
    height: 180px;
    object-fit: cover;
    border: 6px solid var(--bone-white);
    box-shadow: 0 6px 18px rgba(11, 28, 45, 0.12);
}

.testimonial-card {
    max-width: 680px;
    margin: 0 auto;
    background: transparent;
    color: var(--deep-blue);
}

.testimonial-card p {
    font-size: 1.05rem;
    line-height: 1.7;
}

.testimonial-author {
    margin-top: 8px;
    font-weight: 600;
    color: var(--soft-gold);
}

@media (max-width: 768px) {
    .testimonial-img {
        width: 140px;
        height: 140px;
    }
}

/* Carousel control icons: use theme blue instead of white */
.carousel-control-prev-icon {
    /* SVG icon with fill set to theme color (#0B1C2D) */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%230B1C2D' viewBox='0 0 16 16'%3E%3Cpath d='M11.354 1.646a.5.5 0 0 0-.708 0L4.5 7.793l6.146 6.147a.5.5 0 0 0 .708-.708L5.707 7.5l5.647-5.646a.5.5 0 0 0 0-.708z'/%3E%3C/svg%3E") !important;
}

.carousel-control-next-icon {
    /* SVG icon with fill set to theme color (#0B1C2D) */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%230B1C2D' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 1.646a.5.5 0 0 1 .708 0L11.5 7.793l-6.146 6.147a.5.5 0 0 1-.708-.708L10.293 7.5 4.646 1.854a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") !important;
}

 /* PROGRAMA */
 .programa {
     background-color: var(--bone-white);
     color: var(--deep-blue);
 }

 .programa h2 {
     font-size: 2.5rem;
     margin-bottom: 50px;
     text-align: center;
     font-weight: 300;
 }

 .programa-card {
     background-color: var(--deep-blue);
     color: var(--bone-white);
     padding: 40px 30px;
     text-align: center;
 }

 .programa-card h3 {
     font-size: 1.5rem;
     margin-bottom: 20px;
     color: var(--soft-gold);
     font-weight: 600;
 }

 .programa-card ul {
     list-style: none;
     margin-bottom: 30px;
     text-align: left;
     height: 250px;
 }

 .programa-card li {
     margin-bottom: 12px;
     font-size: 0.95rem;
     padding-left: 20px;
     position: relative;
 }

 .programa-card li:before {
     content: "✓";
     color: var(--soft-gold);
     position: absolute;
     left: 0;
     font-weight: bold;
 }

 /* CTA FINAL */
 .cta-final {
     background-color: var(--deep-blue);
     color: var(--bone-white);
     padding: 80px 20px;
 }

 .cta-final p {
     font-size: 1.8rem;
     margin-bottom: 40px;
     font-weight: 300;
 }

 /* FOOTER */
 footer {
     background-color: var(--deep-blue);
     color: var(--bone-white);
     text-align: center;
     padding: 30px 20px;
     font-size: 0.9rem;
     border-top: 1px solid rgba(198, 167, 94, 0.3);
 }

 @media (max-width: 768px) {
     .hero-content h1 {
         font-size: 2rem;
     }

     .hero-content p {
         font-size: 1rem;
     }

     .problema h2,
     .metodo h2,
     .resultados h2,
     .programa h2 {
         font-size: 1.8rem;
     }

     .cta-final p {
         font-size: 1.3rem;
     }
 }

/* Social icons in footer */
.social-links .social-icon {
    color: var(--bone-white);
    font-size: 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: transparent;
    transition: background-color 0.2s, color 0.2s;
}
.social-links .social-icon:hover {
    background: rgba(255,255,255,0.08);
    color: var(--soft-gold);
    text-decoration: none;
}
.social-links .bi {
    font-size: 1.25rem;
}
@media (max-width: 480px) {
    .social-links .social-icon {
        width: 36px;
        height: 36px;
        font-size: 1rem;
    }
}