*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    background:#fff8fb;
    color:#333;
}

header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 8%;
    background:white;
    box-shadow:0 2px 15px rgba(0,0,0,.08);
    position:sticky;
    top:0;
}

.logo{
    font-size:28px;
    font-weight:700;
    color:#d63384;
}

nav a{
    text-decoration:none;
    color:#333;
    margin:0 15px;
    font-weight:500;
    transition:.3s;
}

nav a:hover{
    color:#d63384;
}

button{
    background:#d63384;
    color:white;
    border:none;
    padding:12px 24px;
    border-radius:30px;
    cursor:pointer;
    font-size:16px;
    transition:.3s;
}

button:hover{
    background:#b81f6d;
}

/* Premium Hero */

.hero{
    position:relative;
    height:100vh;
    background:url("https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?auto=format&fit=crop&w=1600&q=80") center center/cover no-repeat;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    overflow:hidden;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45);
}

.hero-content{
    position:relative;
    z-index:2;
    color:white;
    max-width:800px;
    padding:20px;
}

.hero-content h1{
    font-size:60px;
    margin-bottom:20px;
}

.hero-content p{
    font-size:22px;
    margin-bottom:40px;
}

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.btn{
    background:#c21875;
    color:white;
    text-decoration:none;
    padding:15px 35px;
    border-radius:50px;
    font-weight:bold;
    transition:.3s;
}

.btn:hover{
    transform:translateY(-5px);
}

.btn-outline{
    background:white;
    color:#c21875;
}

.btn-outline:hover{
    background:#c21875;
    color:white;
}

.services{
    padding:80px 8%;
    text-align:center;
    background:#ffffff;
}

.services h2{
    font-size:42px;
    color:#d63384;
    margin-bottom:10px;
}

.services p{
    color:#666;
    margin-bottom:40px;
}

.service-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:25px;
}

.service-card{
    background:#fff;
    border-radius:18px;
    padding:35px 25px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    transition:.35s;
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 15px 35px rgba(214,51,132,.25);
}

.icon{
    font-size:55px;
    margin-bottom:20px;
}

.service-card h3{
    color:#d63384;
    margin-bottom:12px;
}

.service-card p{
    font-size:15px;
    line-height:1.7;
}/* Bridal Section */

.bridal{

padding:90px 8%;
background:#fff7fb;

}

.bridal-box{

display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;

}

.bridal-text h2{

font-size:48px;
margin:20px 0;
color:#c21875;

}

.bridal-text p{

line-height:1.8;
color:#555;
margin-bottom:25px;

}

.bridal-text ul{

list-style:none;
padding:0;

}

.bridal-text li{

margin:14px 0;
font-size:18px;

}

.tag{

background:#ffd5ea;
padding:8px 18px;
border-radius:30px;
display:inline-block;
font-weight:600;
color:#c21875;

}

.bridal-image{

height:420px;
background:linear-gradient(135deg,#ffd8ec,#fff);
border-radius:25px;
display:flex;
justify-content:center;
align-items:center;
font-size:180px;

}



/* Academy */

.academy{

padding:90px 8%;

}

.academy-box{

display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;

}

.academy-image{

height:420px;
background:linear-gradient(135deg,#ffe5f2,#ffffff);
border-radius:25px;
display:flex;
justify-content:center;
align-items:center;
font-size:170px;

}

.academy-text h2{

font-size:46px;
margin:20px 0;
color:#c21875;

}

.academy-text p{

line-height:1.8;
margin-bottom:30px;

}

@media(max-width:900px){

.bridal-box,
.academy-box{

grid-template-columns:1fr;

}

.bridal-image,
.academy-image{

height:280px;
font-size:120px;

}

.bridal-text h2,
.academy-text h2{

font-size:34px;

}

}
/* ABOUT SECTION */

.about{
    padding:80px 8%;
    background:#fff;
}

.about-container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:60px;
    flex-wrap:wrap;
}

.about-image{
    flex:1;
    min-width:300px;
    height:420px;
    background:#ffe8f2;
    border-radius:25px;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:120px;
}

.about-text{
    flex:1;
    min-width:320px;
}

.about-text h2{
    font-size:48px;
    color:#c21875;
    margin:20px 0;
}

.about-text p{
    font-size:18px;
    line-height:1.8;
    color:#555;
}

.features{
    margin:30px 0;
}

.feature{
    margin:12px 0;
    font-size:18px;
    font-weight:600;
}
/* WHY CHOOSE US */

.why{
    padding:80px 8%;
    background:#fff7fb;
    text-align:center;
}

.why h2{
    font-size:48px;
    color:#c21875;
    margin-bottom:50px;
}

.why-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

.why-card{
    background:#fff;
    padding:35px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
    text-align:center;
    min-height:280px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}

.why-card:hover{
    transform:translateY(-10px);
}

.why-card h3{
    font-size:24px;
    margin:20px 0 10px;
    color:#c21875;
}

.why-card p{
    color:#666;
}
/* WHY CHOOSE US */

.why{
    padding:80px 8%;
    background:#fff7fb;
    text-align:center;
}

.why h2{
    font-size:48px;
    color:#c21875;
    margin-bottom:50px;
}

.why-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

.why-card{
    background:white;
    padding:35px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.why-card:hover{
    transform:translateY(-10px);
}

.why-card h3{
    font-size:24px;
    margin:20px 0 10px;
    color:#c21875;
}

.why-card p{
    color:#666;
}


.why-card .icon{
    font-size:60px;
    margin-bottom:20px;
}
/* Reviews Section */

.reviews{
    padding:100px 10%;
    background:#ffffff;
    text-align:center;
}

.reviews h2{
    font-size:48px;
    color:#c21875;
    margin-bottom:60px;
}

.review-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.review-card{
    background:#fff7fb;
    padding:35px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.review-card:hover{
    transform:translateY(-10px);
}

.stars{
    font-size:26px;
    margin-bottom:20px;
}

.review-card p{
    font-size:18px;
    color:#555;
    line-height:1.8;
    margin-bottom:20px;
}

.review-card h4{
    color:#c21875;
    font-size:20px;
}
/* Gallery Section */

.gallery{
    padding:100px 10%;
    background:#fff7fb;
    text-align:center;
}

.gallery h2{
    font-size:48px;
    color:#c21875;
    margin-bottom:15px;
}

.gallery p{
    color:#666;
    font-size:18px;
    margin-bottom:50px;
}

.gallery-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:25px;
}

.gallery-item{
    height:280px;
    border-radius:20px;
    background:linear-gradient(135deg,#ffd6e8,#ffeef7);
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:28px;
    font-weight:bold;
    color:#c21875;
    transition:.3s;
    cursor:pointer;
}

.gallery-item:hover{
    transform:scale(1.05);
    box-shadow:0 15px 35px rgba(194,24,117,.25);
}
/* Appointment Section */

.appointment{
    padding:100px 10%;
    background:#ffffff;
    text-align:center;
}

.appointment h2{
    font-size:48px;
    color:#c21875;
    margin-bottom:15px;
}

.appointment p{
    color:#666;
    margin-bottom:50px;
    font-size:18px;
}

.appointment-form{
    max-width:700px;
    margin:auto;
    display:flex;
    flex-direction:column;
    gap:20px;
}

.appointment-form input,
.appointment-form select,
.appointment-form textarea{
    padding:18px;
    border:2px solid #ffd6e8;
    border-radius:12px;
    font-size:16px;
    outline:none;
    transition:.3s;
}

.appointment-form input:focus,
.appointment-form select:focus,
.appointment-form textarea:focus{
    border-color:#c21875;
}

.appointment-form button{
    background:#c21875;
    color:#fff;
    padding:18px;
    border:none;
    border-radius:12px;
    font-size:18px;
    cursor:pointer;
    transition:.3s;
}

.appointment-form button:hover{
    background:#a31562;
}
/* Contact */

.contact{
    padding:100px 10%;
    background:#fff7fb;
}

.contact h2{
    text-align:center;
    font-size:48px;
    color:#c21875;
    margin-bottom:60px;
}

.contact-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
}

.contact-box{
    background:white;
    padding:40px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.contact-box h3{
    color:#c21875;
    margin-top:20px;
}

.contact-box p{
    color:#555;
}

.map-box iframe{
    border-radius:20px;
}

/* Footer */

footer{
    background:#c21875;
    color:white;
    text-align:center;
    padding:50px 20px;
}

footer h2{
    margin-bottom:15px;
}

.footer-links{
    margin:25px 0;
}

.footer-links a{
    color:white;
    text-decoration:none;
    margin:0 15px;
    font-weight:bold;
}

.footer-links a:hover{
    text-decoration:underline;
}

.copyright{
    margin-top:20px;
    opacity:.8;
}
/* Premium WhatsApp Floating Button */

.whatsapp{
    position: fixed;
    right: 25px;
    bottom: 25px;
    width: 68px;
    height: 68px;
    background: linear-gradient(135deg,#25D366,#128C7E);
    color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-size: 38px;
    box-shadow: 0 10px 30px rgba(0,0,0,.30);
    z-index: 9999;
    transition: all .3s ease;
    animation: whatsappPulse 2s infinite;
}

.whatsapp:hover{
    transform: scale(1.12) rotate(8deg);
    box-shadow: 0 15px 35px rgba(37,211,102,.45);
}

@keyframes whatsappPulse{
    0%{
        box-shadow:0 0 0 0 rgba(37,211,102,.6);
    }
    70%{
        box-shadow:0 0 0 18px rgba(37,211,102,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(37,211,102,0);
    }
}
/* Hero Buttons */

.hero p{
    font-size:20px;
    color:#555;
    max-width:700px;
    margin:20px auto 40px;
    line-height:1.8;
}

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.btn{
    background:#c21875;
    color:white;
    padding:15px 35px;
    border-radius:40px;
    text-decoration:none;
    font-size:18px;
    font-weight:600;
    transition:.3s;
}

.btn:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 25px rgba(194,24,117,.3);
}

.btn-outline{
    background:white;
    color:#c21875;
    border:2px solid #c21875;
}

.btn-outline:hover{
    background:#c21875;
    color:white;
}
/* Scroll Animation */

.hidden{
    opacity:0;
    transform:translateY(80px);
    transition:all .8s ease;
}

.show{
    opacity:1;
    transform:translateY(0);
}
/* Preloader */

#preloader{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:white;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    z-index:99999;
}

.loader-circle{
    width:70px;
    height:70px;
    border:8px solid #ffd6e8;
    border-top:8px solid #c21875;
    border-radius:50%;
    animation:spin 1s linear infinite;
}

#preloader h2{
    margin-top:25px;
    color:#c21875;
    font-size:34px;
    letter-spacing:2px;
}

@keyframes spin{
    100%{
        transform:rotate(360deg);
    }
}
/* Counter Section */

.counter{
    padding:90px 10%;
    background:linear-gradient(135deg,#c21875,#ff5ca8);
    color:#fff;
    text-align:center;
}

.counter h2{
    font-size:42px;
    margin-bottom:50px;
}

.counter-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:30px;
}

.counter-box{
    background:rgba(255,255,255,.15);
    padding:35px;
    border-radius:20px;
    backdrop-filter:blur(10px);
    transition:.3s;
}

.counter-box:hover{
    transform:translateY(-8px);
}

.counter-box h3{
    font-size:48px;
    margin-bottom:10px;
}

.counter-box p{
    font-size:18px;
}
/* Team Section */

.team{
    padding:100px 10%;
    background:#fff;
    text-align:center;
}

.team h2{
    font-size:42px;
    color:#c21875;
    margin-bottom:15px;
}

.team p{
    color:#666;
    margin-bottom:50px;
}

.team-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

.team-card{
    background:#fff7fb;
    padding:35px;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.3s;
}

.team-card:hover{
    transform:translateY(-10px);
}

.team-img{
    width:100px;
    height:100px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#ffd6e8;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:45px;
}

.team-card h3{
    color:#c21875;
    margin-bottom:10px;
}

.team-card span{
    color:#777;
}
.service-card ul{
    list-style:none;
    padding:0;
    margin-top:15px;
}

.service-card ul li{
    padding:8px 0;
    border-bottom:1px solid #f2d7e6;
    color:#555;
    font-size:16px;
}

.service-card ul li:last-child{
    border-bottom:none;
}

.service-card h3{
    color:#c21875;
    margin-bottom:15px;
}
/* FAQ */

.faq{
    padding:100px 10%;
    background:#fff7fb;
}

.faq h2{
    text-align:center;
    color:#c21875;
    font-size:42px;
    margin-bottom:40px;
}

.faq-box{
    max-width:900px;
    margin:auto;
}

.faq details{
    background:white;
    margin-bottom:15px;
    padding:20px;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.faq summary{
    cursor:pointer;
    font-size:18px;
    font-weight:600;
    color:#c21875;
}

.faq p{
    margin-top:15px;
    color:#555;
    line-height:1.7;
}