:root{
  --primary:#ff2f9d;          /* logo pink */
  --primary-dark:#e0117f;
  --pink-light:#ff8fce;       /* soft pink for dark backgrounds */
  --pink-soft:#fff0f8;        /* pale pink tint for light backgrounds */
  --lime:#c9d92e;             /* logo lime-green accent */
  --gold:#f2c94c;
  --gold-dark:#d4a72a;
  --white:#ffffff;
  --dark:#222222;
  --light:#fafafa;
}

    * { -webkit-font-smoothing: antialiased; }

    body {
      font-family: "Outfit", sans-serif;
      color: var(--ink);
      background: var(--ivory);
      overflow-x: hidden;
    }
    html{
      overflow-x: hidden;
    }

    h1, .display-font {
      font-family: "Cinzel Decorative", serif;
      font-weight: 400;
    }

    /* ============ NAVBAR ============ */
    /* =========================
   NAVBAR
========================= */

.navbar-custom{
    position: fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    padding:18px 0;
    transition:.4s ease;
    background:transparent;
}

.navbar-custom.scrolled{
    background:#fff;
    box-shadow:0 5px 30px rgba(0,0,0,.08);
    padding:12px 0;
}

/* Logo */

.navbar-brand img{
    height:72px;
    transition:.4s ease;
}

.navbar-custom.scrolled .navbar-brand img{
    height:60px;
}

/* Menu */

.nav-link{
    font-family:'Outfit',sans-serif;
    font-size:15px;
    font-weight:500;
    color:#fff;
    margin:0 14px;
    position:relative;
    transition:.3s;
}

.nav-link:hover{
    color:var(--pink-light);
}

.nav-link.active{
    color:var(--pink-light);
}

..accordion-header{
    font-family: 'Outfit' !important;
}

/* underline */

.nav-link::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-5px;
    width:0;
    height:2px;
    background:var(--pink-light);
    transition:.3s;
}

.nav-link:hover::after,
.nav-link.active::after{
    width:100%;
}

/* Scrolled */

.navbar-custom.scrolled .nav-link{
    color:var(--dark);
}

.navbar-custom.scrolled .nav-link.active{
    color:var(--primary);
}

.navbar-custom.nav-link.active{
    color:#fff;
}

/* CTA */

.btn-enroll{
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );

    color:#fff;
    text-decoration:none;
    padding:12px 28px;
    border-radius:50px;
    font-weight:600;
    transition:.3s;
}

.btn-enroll:hover{
    transform:translateY(-2px);
    color:#fff;
}

/* Hamburger */

.navbar-toggler{
    border:none;
    box-shadow:none!important;
}

.navbar-toggler span{
    display:block;
    width:28px;
    height:2px;
    background:#fff;
    margin:6px 0;
}

.navbar-custom.scrolled .navbar-toggler span{
    background:#222;
}

/* =========================
   HERO SLIDER
========================= */

.hero-slider{
    position:relative;
}

.heroSwiper{
    height:100vh;
}

.swiper-slide{
    position:relative;
    overflow:hidden;
}

.slide-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:right;
    transform:scale(1);
    transition:8s ease;
}

.swiper-slide-active .slide-bg{
    transform:scale(1.1);
}

/* Overlay */

.overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
    rgba(0,0,0,.65),
    rgba(0,0,0,.65)
    );
}

/* Content */

.hero-content{
    position:relative;
    z-index:5;
    max-width:720px;
    min-height:114vh;

    display:flex;
    flex-direction:column;
    justify-content:center;
}

.hero-subtitle{
    color:var(--pink-light);
    font-size:15px;
    letter-spacing:3px;
    text-transform:uppercase;
    margin-bottom:20px;

    opacity:0;
    transform:translateY(60px);
}

.hero-title{
    font-family:'Cinzel', serif;
    font-size:4rem;
    font-weight:700;
    line-height:1.15;
    color:#fff;
    margin-bottom:25px;

    opacity:0;
    transform:translateY(60px);
}

.hero-text{
    font-size:18px;
    line-height:1.8;
    color:rgba(255,255,255,.85);
    max-width:650px;
    margin-bottom:35px;

    opacity:0;
    transform:translateY(60px);
}

.hero-btn{
    width:fit-content;

    background:linear-gradient(
    135deg,
    var(--primary),
    var(--primary-dark)
    );

    color:#fff;
    text-decoration:none;

    padding:15px 34px;
    border-radius:50px;

    font-weight:600;

    opacity:0;
    transform:translateY(60px);

    transition:.3s;
}

.hero-btn:hover{
    color:#fff;
    transform:translateY(-3px);
}

/* Active Slide Animation */

.swiper-slide-active .hero-subtitle{
    animation:slideUp .8s ease forwards;
    animation-delay:.3s;
}

.swiper-slide-active .hero-title{
    animation:slideUp .8s ease forwards;
    animation-delay:.5s;
}

.swiper-slide-active .hero-text{
    animation:slideUp .8s ease forwards;
    animation-delay:.7s;
}

.swiper-slide-active .hero-btn{
    animation:slideUp .8s ease forwards;
    animation-delay:.9s;
}

@keyframes slideUp{

    from{
        opacity:0;
        transform:translateY(60px);
    }

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

}

/* Navigation */

.swiper-button-next,
.swiper-button-prev{
    color:#fff;
}

.swiper-pagination-bullet{
    background:#fff;
    opacity:.5;
}

.swiper-pagination-bullet-active{
    background:var(--gold);
    opacity:1;
}

/* Navigation Arrows */
.swiper-button-next,
.swiper-button-prev{
    color:#fff !important;
}

/* Arrow Size */
.swiper-button-next::after,
.swiper-button-prev::after{
    font-size:28px;
    font-weight:700;
}

/* Pagination Dots */
.swiper-pagination-bullet{
    background:#fff !important;
    opacity:.5;
}

.swiper-pagination-bullet-active{
    background:var(--primary) !important;
    opacity:1;
}


/* ==========================
   ABOUT SECTION
========================== */

.about-section{
   
    overflow:hidden;
}

.about-main-image img{
    width:100%;
    height:430px;
    object-fit:cover;
    border-radius:24px;
}

.aboutThumbSlider{
    margin-top:20px;
}

.aboutThumbSlider .swiper-slide img{
    width:100%;
    height:140px;
    object-fit:cover;
    border-radius:16px;
}

/* Right Content */

.section-tag{
    display:inline-block;
    color:var(--primary);
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:15px;
}

.section-title{
    font-family:'Cinzel', serif;
    font-size:2.7rem;
    margin-bottom:20px;
    color:#222;
}

.about-text{
    font-size:17px;
    line-height:1.9;
    color:#000;
    margin-bottom:15px;
}

.about-btn{
    display:inline-block;
    text-decoration:none;
    color:#fff;
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );
    padding:14px 30px;
    border-radius:50px;
    font-weight:600;
    transition:.3s;
}

.about-btn:hover{
    color:#fff;
    transform:translateY(-3px);
}

/* Stats */

.about-content{
    margin-top:160px;
}
.about-section{
  padding-top: 100px;
}
.stat-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:28px 0;
    border-bottom:1px solid #e5e5e5;
}

.stat-number{
    font-size:3rem;
    font-weight:700;
    color:var(--primary);
    line-height:1;
}

.stat-label{
    font-size:1.8rem;
    font-weight:600;
    color:#111;
    text-align:right;
}

/* ==========================
   OUR CLASSES
========================== */

.classes-section{
    position:relative;
    padding:140px 0;
   
}

.bg-overlayy, .gallery-section, .faq-section{
   background:url("../images/class.bg1.png") center center/cover no-repeat;
}



.classes-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.75);
}

.section-header{
    margin-bottom:60px;
}

.section-title{
    font-family:'Cinzel', serif;
    font-size:3rem;
    margin-bottom:15px;
}

.section-desc{
    color: #000;
    max-width:700px;
    margin:auto;
}

/* Cards */

.class-card{
    background:linear-gradient(
        160deg,
        #ff55b1,
        var(--primary) 45%,
        var(--primary-dark)
    );
    border-radius:22px;
    overflow:hidden;
    transition:.4s;
    height:100%;
    box-shadow:0 15px 35px rgba(255,47,157,.25);
}

.featured-card{
    background:linear-gradient(
        160deg,
        #3a0d29,
        #24081b
    );
    box-shadow:0 15px 35px rgba(0,0,0,.25);
}

.class-card:hover{
    transform:translateY(-10px);
    box-shadow:0 22px 45px rgba(255,47,157,.35);
}

.class-image{
    position:relative;
    padding:12px;
}

.class-image img{
    width:100%;
    height:300px;
    object-fit:cover;
    border-radius:18px;
}

.class-image::after{
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:12px;
    height:50%;
    border-radius:18px;

    background:linear-gradient(
        transparent,
        rgba(0,0,0,.85)
    );
}

/* Image Info */

.class-image-overlay{
    position:absolute;
    left:30px;
    right:30px;
    bottom:28px;

    z-index:2;

    display:flex;
    justify-content:center;
    gap:20px;

    color:#fff;
    font-size:15px;
    font-weight:500;
}

.class-image-overlay i{
    color:#f2c94c;
}

/* Content */

.class-content{
    padding:15px 35px 35px;
    text-align:center;
}

.class-content h3{
    color:#fff;
    font-size:2rem;
    margin-bottom:15px;
}

.class-content p{
    color:rgba(255,255,255,.9);
    line-height:1.8;
    margin-bottom:20px;
}

.class-content a{
    color:#fff;
    text-decoration:none;
    font-weight:600;
}

.class-content a i{
    transition:.3s;
}

.class-content a:hover i{
    transform:translateX(6px);
}

.class-card:hover .class-image img{
    transform:scale(1.08);
}

.class-image img{
    transition:.6s;
}

.view-all-btn{
    display: flex;
    justify-content: center;
    margin-top: 50px;
}


/* ==========================
   WHY CHOOSE US
========================== */

.why-choose-section{
    position:relative;
    padding:100px 0;

    background:url("../images/parallax-bg.jpg");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;

    overflow:hidden;
}

/*.testimonial-section{
    position:relative;
    padding:100px 0;

    background:url("../images/testi-bg.png");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;

    overflow:hidden;
}*/

/* Overlay */

.parallax-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(rgb(255 255 255 / 71%), rgba(255, 255, 255, .92));
}

/* Left */

.why-left{
    position:relative;
    z-index:2;
}

.why-title{
    font-family:'Cinzel', serif;
    font-size:3rem;
    line-height:1.2;
    color:#222;
    margin-bottom:35px;
}

.why-image img{
    width:100%;
    height:420px;
    object-fit:cover;
    border-radius:24px;

    box-shadow:
    0 20px 50px rgba(0,0,0,.12);
}

/* Right */

.why-right{
    position:relative;
    z-index:2;
}

.why-card{
    background:#fff;

    padding:28px;

    border-radius:18px;

    display:flex;
    gap:20px;

    align-items:flex-start;

    margin-bottom:20px;

    transition:.4s;

    box-shadow:
    0 10px 30px rgba(0,0,0,.06);
}

.why-card:hover{
    transform:translateY(-5px);
}

.why-icon{
    min-width:60px;
    width:60px;
    height:60px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:
    linear-gradient(
    135deg,
    var(--primary),
    var(--primary-dark)
    );

    color:#fff;
    font-size:24px;
}

.why-card h4{
    margin-bottom:10px;
    font-size:1.35rem;
    font-weight:600;
    color:#222;
}

.why-card p{
    margin:0;
    line-height:1.7;
    color:#000;
}

/* Bottom Text */

.why-bottom-text{
    margin-top:25px;
    margin-bottom:30px;

    color:#555;
    line-height:1.9;
}

/* Button */

.why-btn{
    display:inline-block;

    text-decoration:none;

    background:
    linear-gradient(
    135deg,
    var(--primary),
    var(--primary-dark)
    );

    color:#fff;

    padding:14px 34px;

    border-radius:50px;

    font-weight:600;

    transition:.3s;
}

.why-btn:hover{
    color:#fff;
    transform:translateY(-3px);
}


/* ==========================
   GALLERY SECTION
========================== */

.gallery-section{
    position:relative;
    padding:70px 0;


}

.gallery-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        rgba(0,0,0,.82),
        rgba(0,0,0,.82)
    );
}

/* Heading */

.gallery-title{
    font-family:'Cinzel', serif;
    color:#000;
    font-size:3rem;
    margin-bottom:15px;
}

.gallery-desc{
    color:#000;
    max-width:700px;
    margin:auto;
}

.section-header{
    margin-bottom:60px;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
}

.gallery-item{
    position:relative;
    overflow:hidden;
    border-radius:15px;
    display:block;
}

.gallery-item img{
    width:100%;
    height:280px;
    object-fit:cover;
    transition:.5s;
}

/* Overlay */

.gallery-content{
    position:absolute;
    inset:0;
    background:linear-gradient(
        transparent,
        rgba(0,0,0,.8)
    );

    display:flex;
    flex-direction:column;
    justify-content:flex-end;

    padding:20px;

    opacity:0;
    transition:.4s;
}

.gallery-content h4{
    color:#fff;
    font-size:1.2rem;
    margin-bottom:5px;
}

.gallery-content span{
    color:var(--pink-light);
    font-size:14px;
}

.gallery-item:hover img{
    transform:scale(1.08);
}

.gallery-item:hover .gallery-content{
    opacity:1;
}
.navbar-nav .nav-link.active{
    color: var(--primary);
}

/* ==========================
   TESTIMONIAL SECTION
========================== */

.testimonial-section{
    padding:100px 0;
    
}

.testimonial-image img{
    width:100%;
    height:600px;
    object-fit:cover;
    border-radius:20px;
}

.testimonial-title{
    font-family:'Cinzel', serif;
    font-size:2.8rem;
    max-width:500px;
    margin-bottom:40px;
}

/* Slider */

.testimonialSwiper{
    padding-bottom:60px;
}

/* Card */

.testimonial-card{

    position:relative;

    background:#f7f1e6;

    border-radius:18px;

    padding:30px;

    height:100%;
}

.stars{
    color:#f2c94c;
    font-size:18px;
    margin-bottom:20px;
}

.testimonial-card p{
    color:#000;
    line-height:1.9;
    margin-bottom:30px;
}

/* Client */

.client-info{
    display:flex;
    align-items:center;
    gap:12px;
}

.client-info img{
    width:55px;
    height:55px;
    border-radius:50%;
    object-fit:cover;
}

.client-info h5{
    margin:0;
    font-size:16px;
}

.client-info span{
    font-size:13px;
    color:#777;
    text-transform:uppercase;
    letter-spacing:1px;
}

/* Quote */

.quote-icon{
    position:absolute;
    right:25px;
    bottom:20px;

    font-size:40px;

    color:var(--primary);

    opacity:.5;
}

/* Pagination */

.testimonial-pagination{
    margin-top:20px;
}

.testimonial-pagination .swiper-pagination-bullet{
    width:12px;
    height:12px;
    background:#ccc;
    opacity:1;
}

.testimonial-pagination .swiper-pagination-bullet-active{
    background:var(--primary);
}


.testimonialSwiper{
    margin-left:-120px !important;
    position:relative;
    z-index:5;
    padding-bottom:60px;
}

.testimonial-card{
    position:relative;
    background:#fff;
    border: 1px solid #FF99CF;
    border-radius:16px;
    padding:30px;
    min-height:280px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.testimonial-image{
    position:relative;
    z-index:1;
}

.testimonial-image img{
    width:100%;
    height:620px;
    object-fit:cover;
    border-radius:16px;
}

/* ==========================
   CTA PARALLAX
========================== */

.cta-section{
    position:relative;

    padding:80px 0;

    background:url("../images/cta-bg.jpg");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;

    overflow:hidden;
}

/* Dark Overlay */

.cta-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        rgba(0,0,0,.75),
        rgba(0,0,0,.75)
    );
}

/* Content */

.cta-content{
    position:relative;
    z-index:2;

    max-width:700px;
}

.cta-tag{

    display:inline-block;

    color:var(--pink-light);

    text-transform:uppercase;

    letter-spacing:4px;

    font-size:14px;

    font-weight:600;

    margin-bottom:20px;
}

.cta-content h2{

    color:#fff;

    font-family:'Cinzel', serif;

    font-size:3rem;

    line-height:1.15;

    margin-bottom:25px;
}

.cta-content p{

    color:rgba(255,255,255,.85);

    font-size:18px;

    line-height:1.9;

    margin-bottom:35px;
}

/* Buttons */

.cta-buttons{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

/* Primary */

.cta-btn-primary{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:180px;

    padding:15px 35px;

    text-decoration:none;

    border-radius:50px;

    font-weight:600;

    color:#fff;

    background:
    linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );

    transition:.4s;
}

.cta-btn-primary:hover{

    transform:translateY(-4px);

    color:#fff;
}

/* Secondary */

.cta-btn-secondary{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:180px;

    padding:15px 35px;

    text-decoration:none;

    border-radius:50px;

    font-weight:600;

    color:#fff;

    border:2px solid rgba(255,255,255,.5);

    transition:.4s;
}

.cta-btn-secondary:hover{

    background:#fff;

    color:#222;
}


/* ==========================
   FAQ SECTION
========================== */

.faq-section{
    padding:100px 0;
    
}

/* Image */

.faq-image{
    position:relative;
}

.faq-image img{
    width:100%;
    height:650px;
    object-fit:cover;
    border-radius:24px;
    box-shadow:0 20px 50px rgba(0,0,0,.08);
}

/* Badge */

.faq-badge{

    position:absolute;

    bottom:30px;
    left:30px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );

    color:#fff;

    padding:14px 30px;

    border-radius:50px;

    font-weight:600;
}

/* Content */

.faq-title{
    font-family:'Cinzel', serif;
    font-size:3rem;
    margin-bottom:35px;
}

/* Accordion */

.faq-accordion .accordion-item{

    border:none;

    margin-bottom:18px;

    border-radius:16px !important;

    overflow:hidden;

    background:#fff;

    box-shadow:
    0 10px 30px rgba(0,0,0,.06);
}

.faq-accordion .accordion-button{

    padding:22px 25px;

    font-size:18px;

    font-weight:600;

    color:#222;

    background:#fff;

    box-shadow:none;
}

.faq-accordion .accordion-button:not(.collapsed){

    background:var(--pink-soft);

    color:var(--primary);
}

.faq-accordion .accordion-body{

    padding:0 25px 25px;

    color:#000;

    line-height:1.8;
}

/* Icon */

.faq-accordion .accordion-button::after{

    background-size:18px;
}

.faq-accordion .accordion-item{
    transition:.4s;
}

.faq-accordion .accordion-item:hover{
    transform:translateY(-4px);
}

/* ==========================
   FOOTER
========================== */

.site-footer{
    position:relative;

    background:linear-gradient(
        160deg,
        #3a0d29 0%,
        #2a0820 45%,
        #1c0515 100%
    );

    padding:90px 0 0;

    overflow:hidden;
}

/* Pink glow behind the brand column */

.site-footer::before{
    content:"";
    position:absolute;
    top:-150px;
    left:-100px;

    width:420px;
    height:420px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(255,47,157,.28),
        transparent 70%
    );
}

/* Lime glow bottom-right (logo accent) */

.site-footer::after{
    content:"";
    position:absolute;
    bottom:-180px;
    right:-120px;

    width:400px;
    height:400px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(201,217,46,.12),
        transparent 70%
    );
}

/* Floating decorative notes */

.footer-notes i{
    position:absolute;
    color:rgba(255,143,206,.12);
    animation:floatNote 6s ease-in-out infinite;
}

.footer-notes .note-1{
    top:60px;
    right:12%;
    font-size:70px;
}

.footer-notes .note-2{
    top:45%;
    left:45%;
    font-size:40px;
    animation-delay:2s;
}

.footer-notes .note-3{
    bottom:120px;
    right:30%;
    font-size:55px;
    animation-delay:4s;
}

@keyframes floatNote{

    0%, 100%{
        transform:translateY(0) rotate(-5deg);
    }

    50%{
        transform:translateY(-18px) rotate(6deg);
    }

}

/* Brand column */

.footer-brand img{
    height:80px;
    margin-bottom:22px;

    /* white card behind logo so the pink logo pops on dark bg */
       border: 3px solid #fff;
    border-radius:16px;

    box-shadow:0 10px 30px rgba(255,47,157,.25);
}

.footer-brand p{
    color:rgba(255,255,255,.75);
    line-height:1.9;
    margin-bottom:25px;
    max-width:340px;
}

/* Social icons */

.footer-social{
    display:flex;
    gap:12px;
}

.footer-social a{
    width:44px;
    height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    color:#fff;
    font-size:18px;
    text-decoration:none;

    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,143,206,.25);

    transition:.35s;
}

.footer-social a:hover{
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );

    border-color:transparent;

    transform:translateY(-4px);

    box-shadow:0 10px 25px rgba(255,47,157,.4);
}

/* Column titles — brand script font */

.footer-title{
    /*font-family:'Young and Beautiful','Cinzel',serif;*/
    font-size:1.3rem;
    color:var(--pink-light);

    margin-bottom:24px;

    position:relative;
    padding-bottom:12px;
}

.footer-title::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;

    width:45px;
    height:3px;
    border-radius:3px;

    background:linear-gradient(
        90deg,
        var(--primary),
        var(--lime)
    );
}

/* Link lists */

.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-links li{
    margin-bottom:12px;
}

.footer-links a{
    color:rgba(255,255,255,.7);
    text-decoration:none;

    position:relative;
    padding-left:18px;

    transition:.3s;
}

.footer-links a::before{
    content:"♪";
    position:absolute;
    left:0;

    color:var(--primary);

    transition:.3s;
}

.footer-links a:hover{
    color:var(--pink-light);
    padding-left:24px;
}

.footer-links a:hover::before{
    color:var(--lime);
}

/* Classes list in two columns */

.footer-links-2col{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:15px;
}

/* Contact list */

.footer-contact{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-contact li{
    display:flex;
    align-items:flex-start;
    gap:14px;

    margin-bottom:18px;

    color:rgba(255,255,255,.75);
}

.footer-contact li i{
    min-width:38px;
    width:38px;
    height:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    font-size:15px;
    color:#fff;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );

    box-shadow:0 6px 18px rgba(255,47,157,.35);
}

.footer-contact li a{
    color:rgba(255,255,255,.75);
    text-decoration:none;
    transition:.3s;
}

.footer-contact li a:hover{
    color:var(--pink-light);
}

.footer-contact li span,
.footer-contact li a{
    margin-top:8px;
}

/* Bottom bar */

.footer-bottom{
    position:relative;

    margin-top:70px;

    border-top:1px solid rgba(255,143,206,.18);

    padding:22px 0;
}

.footer-bottom-inner{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}

.footer-bottom p{
    margin:0;
    color:rgba(255,255,255,.55);
    font-size:16px;
}

.footer-bottom p a{
    margin:0;
    color:rgba(255,255,255,.55);
    font-size:16px;
    text-decoration: none;
}

.footer-tagline{
    color:var(--pink-light) !important;
}

.footer-tagline i{
    color:var(--lime);
    margin-right:6px;
}

/* ==========================
   BRAND HEADINGS
   Young and Beautiful font + logo pink
========================== */

.hero-title,
.section-title,
.why-title,
.gallery-title,
.testimonial-title,
.faq-title,
.cta-content h2{
    /*font-family:'Young and Beautiful','Cinzel',serif;*/
    font-family:"Great Vibes", cursive; ;
    font-weight:400;
    letter-spacing:1px;
    line-height:1.25;
}

/* Logo pink on light backgrounds */
.section-title,
.why-title,
.gallery-title,
.testimonial-title,
.faq-title{
    color:var(--primary);
}

/* Soft pink title on the dark CTA background */
.cta-content h2{
    color:#fff;
}

/* Section tags stay pink but pick up the lime underline from the logo */
.section-tag{
    position:relative;
    padding-bottom:6px;
}

.section-tag::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:45px;
    height:3px;
    border-radius:3px;
    background:linear-gradient(90deg, var(--primary), var(--lime));
}

.section-header .section-tag::after{
    left:50%;
    transform:translateX(-50%);
}

/* ==========================
   ABOUT MAIN IMAGE FADE
   (synced with the thumbnail slider)
========================== */

.about-main-image img{
    transition:opacity .35s ease;
}

.about-main-image img.img-fading{
    opacity:0;
}

/* Thumbnail hover feedback */
.aboutThumbSlider .swiper-slide img{
    transition:.35s ease;
}

.aboutThumbSlider .swiper-slide img:hover{
    transform:scale(1.05);
    box-shadow:0 8px 20px rgba(255,47,157,.3);
}
/* ==========================
   FLOATING MUSIC NOTES
   (site-wide decorative layer)
========================== */

/* Any section you want notes in must be a positioned container
   and clip the notes at its edges */

.has-notes{
    position:relative;
    overflow:hidden;
}

/* The layer the JS injects */

.floating-notes{
    position:absolute;
    inset:0;

    pointer-events:none;   /* never block clicks */
    z-index:0;
}

/* Make sure real content sits above the notes */

.has-notes > .container{
    position:relative;
    z-index:1;
}

/* Each note */

.floating-notes i{
    position:absolute;

    animation:floatNote ease-in-out infinite;
}

/* Color variants — pick per section background */

.has-notes[data-notes="light"] .floating-notes i{
    /* for light / white sections: faint pink */
    color:rgba(255,47,157,.08);
}

.has-notes[data-notes="dark"] .floating-notes i{
    /* for dark sections (CTA, footer): soft glowing pink */
    color:rgba(255,143,206,.13);
}

@keyframes floatNote{

    0%, 100%{
        transform:translateY(0) rotate(-6deg);
    }

    50%{
        transform:translateY(-20px) rotate(8deg);
    }

}

/* Accessibility: stop the motion for users who ask for it */

@media (prefers-reduced-motion: reduce){

    .floating-notes i{
        animation:none;
    }

}



/*=================================
 GALLERY PAGE BANNER
=================================*/

.gallery-banner{
    position:relative;
    min-height:60vh;
    display:flex;
    align-items:center;
    overflow:hidden;

    background:url("../images/banner1.jpg") center center/cover no-repeat;
}

.gallery-banner::before{
    content:"";
    position:absolute;
    inset:0;

    background:linear-gradient(
        90deg,
        rgba(18,10,20,.88) 0%,
        rgba(18,10,20,.75) 45%,
        rgba(18,10,20,.45) 100%
    );
}

.gallery-banner-content{
    position:relative;
    z-index:2;
    max-width:700px;
    text-align: center;
    margin: 0 auto;
}

.gallery-banner .sub-title{
    display:inline-flex;
    align-items:center;
    gap:8px;

    color:var(--gold);
    font-size:15px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;

    margin-bottom:18px;
}

.gallery-banner h1{
    color:#fff;
    font-size:50px;
    line-height:1.1;
    margin-bottom:20px;
}

.gallery-banner p{
   color: rgba(255, 255, 255, .85);
    font-size: 18px;
    line-height: 1.8;
    max-width: 620px;
    margin-bottom: 12px;
}

.breadcrumb-area{
    display:flex;
    align-items:center;
    gap:12px;
    justify-content: center;
    color:#fff;
    font-size:15px;
}

.breadcrumb-area a{
    color:var(--gold);
    text-decoration:none;
    transition:.3s;
}

.breadcrumb-area a:hover{
    color:#fff;
}


/*=========================
 CONTACT SECTION
=========================*/

.contact-section{
    background:#fff;
    position:relative;
    padding: 30px 0 70px 0;
}

.contact-content .section-subtitle{
    display:inline-flex;
    align-items:center;
    gap:10px;

    color:var(--primary);
    font-size:15px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:15px;
}

.contact-content .section-title{
    font-size:55px;
    margin-bottom:20px;
    color:var(--dark);
}

.contact-content p{
    color:#000;
    line-height:1.9;
    margin-bottom:30px;
}

.established-box{
    width:140px;
    height:140px;

    border-radius:50%;
    background:linear-gradient(
        135deg,
        var(--primary),
        #ff5bb6
    );

    color:#fff;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}

.established-box span{
    font-size:14px;
    opacity:.9;
}

.established-box h3{
    font-size:40px;
    margin:0;
    color:#fff;
}

/* Cards */

.contact-info-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
}

.contact-card{
    background:#fff;

    border:1px solid rgba(0,0,0,.06);

    border-radius:20px;

    padding:35px;

    transition:.4s;
}

.contact-card:hover{
    transform:translateY(-8px);

    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.icon-box{
    width:65px;
    height:65px;

    border-radius:18px;

    background:rgba(255,20,147,.08);

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:20px;
}

.icon-box i{
    font-size:26px;
    color:var(--primary);
}

.contact-card h5{
    margin-bottom:12px;
    color:var(--dark);
}

.contact-card p{
    margin:0;
    color:#000;
    line-height:1.8;
}

/* Map */

.contact-map{
    margin-top:70px;
    border-radius:25px;
    overflow:hidden;
}

.contact-map iframe{
    width:100%;
    height:500px;
    border:0;
}

/* =========================
   SCROLL TO TOP
========================= */

#scrollTopBtn{
    position:fixed;
    right:25px;
    bottom:25px;
    width:55px;
    height:55px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    z-index:999;
    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );

    box-shadow:0 6px 18px rgba(255, 47, 157, .35);

    opacity:0;
    visibility:hidden;
    transform:translateY(20px);
    transition:.4s ease;
}

#scrollTopBtn.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

#scrollTopBtn:hover{
    transform:translateY(-5px);
    box-shadow:0 10px 25px rgba(255, 47, 157, .45);
}

#scrollTopBtn i{
    font-size:22px;
    line-height:1;
}

/* Pulse Animation */

@keyframes pulseMusic{
    0%{
        box-shadow:0 0 0 0 rgba(255,47,157,.45);
    }
    70%{
        box-shadow:0 0 0 15px rgba(255,47,157,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(255,47,157,0);
    }
}

#scrollTopBtn{
    animation:pulseMusic 2.5s infinite;
}

/* =========================
   FLOATING WHATSAPP
========================= */

.whatsapp-float{
    position:fixed;
    left:25px;
    bottom:25px;
    width:60px;
    height:60px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;

    background:#25D366;
    color:#fff;

    font-size:30px;

    z-index:999;

    box-shadow:0 8px 25px rgba(37,211,102,.35);

    transition:.4s ease;

    animation:whatsappPulse 2s infinite;
}

.whatsapp-float:hover{
    color:#fff;
    transform:translateY(-5px) scale(1.05);
}

@keyframes whatsappPulse{
    0%{
        box-shadow:0 0 0 0 rgba(37,211,102,.5);
    }
    70%{
        box-shadow:0 0 0 18px rgba(37,211,102,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(37,211,102,0);
    }
}




















 /* mobile dropdown panel */
    @media (max-width: 991px) {
      .navbar-custom{
        padding:12px 0;
    }

    /* Smaller logo */
    .navbar-brand img{
        height:60px;
    }

    .navbar-custom.scrolled .navbar-brand img{
        height:52px;
    }

    /* Mobile menu panel */
    .navbar-collapse{
        background:#fff;
        margin-top:15px;
        border-radius:20px;
        padding:25px;
        box-shadow:0 15px 40px rgba(0,0,0,.08);
    }

    /* Links */
    .nav-link{
        color:var(--dark) !important;
        margin:10px 0;
        display:inline-block;
        font-size:16px;
    }

    .nav-link.active{
        color:var(--primary) !important;
    }

    .nav-link::after{
        bottom:-2px;
    }

    /* CTA Button */
    .btn-enroll{
        display:inline-flex;
        justify-content:center;
        align-items:center;
        width:100%;
        margin-top:20px;
        padding:14px 20px;
    }

    /* Center Menu */
    .navbar-nav{
        text-align:center;
    }

    /* Hamburger visible */
    .navbar-toggler span{
        transition:.3s ease;
    }

        .hero-title{
        font-size:3rem;
    }
      .site-footer{
        padding-top:70px;
    }

    .footer-title{
        font-size:1.7rem;
    }
    .hero-text{
        font-size:16px;
    }

     .section-title{
        font-size:2.1rem;
    }

    .stat-label{
        font-size:1.3rem;
    }

    .testimonialSwiper{
    margin-left:0px !important;
}

    .stat-number{
        font-size:2.5rem;
    }
 .about-content{
    margin-top:0px;
}

.section-title{
        font-size:2.3rem;
    }

    .class-image img{
        height:260px;
    }

    .why-title{
        font-size:2.3rem;
    }

    .why-image img{
        height:350px;
    }

 .gallery-grid{
        grid-template-columns:repeat(2, 1fr);
    }

    .gallery-item img{
        height:250px;
    }

        .testimonial-title{
        font-size:2.2rem;
    }

    .testimonial-image img{
        height:400px;
    }

    .cta-content h2{
        font-size:3rem;
    }

    .faq-title{
        font-size:2.3rem;
    }

    .faq-image img{
        height:420px;
    }

     .gallery-banner{
        min-height:50vh;
        text-align:center;
    }

    .gallery-banner-content{
        max-width:100%;
    }

    .gallery-banner h1{
        font-size:48px;
    }

    .gallery-banner p{
        font-size:16px;
    }

    .breadcrumb-area{
        justify-content:center;
    }

    .contact-content{
        text-align:center;
        margin-bottom:20px;
    }

    .established-box{
        margin:auto;
    }

    .contact-content .section-title{
        font-size:42px;
    }

    .contact-info-grid{
        grid-template-columns:1fr;
    }

    .contact-map iframe{
        height:400px;
    }

    }

    @media(max-width:767px){
        .floating-notes i:nth-child(n+4){
        display:none;
    }
       .cta-section{

        padding:90px 0;

        background-attachment:scroll;
    }

    .cta-content{
        text-align:center;
    }

    .cta-content h2{
        font-size:2.2rem;
    }

    .cta-content p{
        font-size:16px;
    }

    .cta-buttons{
        justify-content:center;
    }

.site-footer{
        padding-top:60px;
    }

    .footer-brand img{
        height:65px;
    }

    .footer-bottom-inner{
        flex-direction:column;
        text-align:center;
    }

    .footer-notes .note-2{
        display:none;
    }
       .why-choose-section{
        padding:70px 0;

        background-attachment:scroll;
    }

    .why-title{
        font-size:1.9rem;
    }

    .why-image img{
        height:280px;
    }

    .why-card{
        padding:22px;
        gap:15px;
    }

    .why-icon{
        width:50px;
        height:50px;
        min-width:50px;
        font-size:20px;
    }

    .why-card h4{
        font-size:1.1rem;
    }

    .heroSwiper{
        height:90vh;
    }

    .hero-content{
        text-align:center;
        align-items:center;
            min-height: 100vh;
    }

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

    .hero-text{
        font-size:15px;
        line-height:1.7;
    }

    .hero-subtitle{
        font-size:13px;
    }

    .hero-btn{
        padding:13px 28px;
    }

    .swiper-button-next,
    .swiper-button-prev{
        display:none;
    }

    .about-main-image img{
        height:300px;
    }

    .aboutThumbSlider .swiper-slide img{
        height:110px;
    }

    .section-title{
        font-size:1.8rem;
    }

    .stat-row{
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
    }

    .stat-label{
        text-align:left;
        font-size:1.1rem;
    }

    .stat-number{
        font-size:2rem;
    }

     .classes-section{
        padding:70px 0;
    }

    .section-title{
        font-size:1.9rem;
    }

    .class-content h3{
        font-size:1.7rem;
    }

    .class-image img{
        height:240px;
    }

    .class-image-overlay{
        flex-direction:column;
        gap:8px;
        align-items:center;
    }

 .testimonial-section{
        padding:70px 0;
    }

    .testimonial-title{
        font-size:1.8rem;
        margin-bottom:25px;
    }

    .testimonial-image img{
        height:300px;
    }

    .testimonial-card{
        padding:25px;
    }

    .faq-section{
        padding:70px 0;
    }

    .faq-title{
        font-size:1.9rem;
    }

    .faq-image img{
        height:300px;
    }

    .faq-badge{
        left:20px;
        bottom:20px;
        padding:12px 22px;
        font-size:14px;
    }

    .faq-accordion .accordion-button{
        font-size:16px;
        padding:18px;
    }

     .whatsapp-float{
        width:55px;
        height:55px;
        left:15px;
        bottom:15px;
        font-size:26px;
    }

    #scrollTopBtn{
        width:50px;
        height:50px;
        right:15px;
        bottom:15px;
    }

}

   @media (max-width: 576px){
    .about-section, .gallery-section {
    padding-top: 50px;
}

    .contact-content {
   
        margin-bottom: 0px;
    }
    .swiper-button-next, .swiper-button-prev{
        display: none !important;
    }
       .contact-content .section-title{
        font-size:34px;
    }

    .contact-card{
        padding:25px;
    }

    .contact-map iframe{
        height:320px;
    }
    .gallery-banner{
        min-height:45vh;
    }

    .gallery-banner h1{
        font-size:38px;
    }

    .gallery-banner p{
        font-size:15px;
        line-height:1.7;
    }
     .cta-content h2{
        font-size:1.9rem;
    }

    .cta-btn-primary,
    .cta-btn-secondary{
        width:100%;
    }
    .gallery-grid{
        grid-template-columns:1fr;
    }

    .gallery-item img{
        height:280px;
    }

    .navbar-custom{
        padding:10px 0;
    }

    .navbar-brand img{
        height:52px;
    }

    .navbar-custom.scrolled .navbar-brand img{
        height:46px;
    }

    .navbar-collapse{
        padding:20px;
        border-radius:16px;
    }

    .nav-link{
        font-size:15px;
        margin:8px 0;
    }

    .btn-enroll{
        font-size:14px;
        padding:12px 18px;
    }

    .hero-title{
        font-size:1.9rem;
    }

    .hero-text{
        font-size:14px;
    }


}

