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

html{
    scroll-behavior:smooth;
}

:root{

    --primary:#59d6c4;
    --primary-dark:#3cc6b1;

    --secondary:#ffd54f;

    --white:#ffffff;

    --background:#fafafa;

    --text:#1f2937;

    --paragraph:#6b7280;

    --border:#eeeeee;

    --shadow:0 15px 35px rgba(0,0,0,.08);

    --radius:22px;

    --transition:.35s;

}

body{

    font-family:'Poppins',sans-serif;

    background:var(--background);

    color:var(--text);

    overflow-x:hidden;

}

section{

    padding:110px 8%;

}

img{

    width:100%;

    display:block;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}


header{

    position:fixed;

    width:100%;

    top:0;

    left:0;

    background:white;

    z-index:999;

    box-shadow:0 2px 20px rgba(0,0,0,.05);

}

.navbar{

    width:90%;

    max-width:1300px;

    height:90px;

    margin:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.logo{

    display:flex;

    align-items:center;

    gap:12px;

    font-size:28px;

    font-weight:700;

}

.logo i{

    color:var(--primary);

    font-size:30px;

}

.gold{

    color:var(--primary);

}

.nav-links{

    display:flex;

    gap:45px;

}

.nav-links a{

    color:var(--text);

    font-weight:500;

    transition:var(--transition);

}

.nav-links a:hover{

    color:var(--primary);

}

.menu-btn{

    display:none;

    font-size:28px;

    cursor:pointer;

}

.book-btn,
.primary-btn{

    background:var(--primary);

    color:white;

    padding:15px 34px;

    border-radius:50px;

    font-weight:600;

    transition:var(--transition);

    display:inline-flex;

    align-items: end;

    gap:10px;

}

.book-btn:hover,
.primary-btn:hover{

    background:var(--primary-dark);

    transform:translateY(-3px);

}

.secondary-btn{

    border:2px solid var(--primary);

    color:var(--primary);

    padding:15px 34px;

    border-radius:50px;

    font-weight:600;

    display:inline-flex;

    align-items:center;

    gap:10px;

    transition:var(--transition);

}

.secondary-btn:hover{

    background:var(--primary);

    color:white;

}


.section-title{

    text-align:center;

    max-width:750px;

    margin:0 auto 70px;

}

.section-title span{

    color:var(--primary);

    font-weight:600;

    letter-spacing:2px;

    font-size:14px;

}

.section-title h2{

    margin-top:15px;

    font-size:48px;

    line-height:1.2;

}

.section-title p{

    margin-top:20px;

    color:var(--paragraph);

    line-height:1.8;

}


.card{

    background:white;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

}

button{

    font-family:'Poppins',sans-serif;

    cursor:pointer;

    border:none;

}


.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    background:#ffffff;

    padding:170px 8% 100px;

    overflow:hidden;

}

.hero::before{

    content:"";

    position:absolute;

    right:-250px;

    top:-180px;

    width:700px;

    height:700px;

    border-radius:50%;

    background:#f3fffc;

    z-index:0;

}

.overlay{

    display:none;

}

.hero-content{

    position:relative;

    z-index:2;

    width:100%;

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:70px;

}

.hero-left{

    max-width:600px;

}

.small-title{

    display:inline-block;

    background:#eafcf8;

    color:var(--primary);

    padding:10px 20px;

    border-radius:30px;

    font-weight:600;

    font-size:14px;

    letter-spacing:1px;

}

.hero-left h1{

    font-size:68px;

    line-height:1.1;

    margin:25px 0;

    font-weight:700;

}

.hero-left h1 span{

    color:var(--primary);

}

.hero-left p{

    font-size:18px;

    color:var(--paragraph);

    line-height:1.9;

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.hero-right{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

    align-items:center;

}

.glass-card{

    background:white;

    border-radius:25px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:.4s;

    cursor:pointer;

}

.glass-card:hover{

    transform:translateY(-12px);

}

.glass-card img{

    width:100%;

    height:220px;

    object-fit:cover;

}

.card-text{

    padding:20px;

}

.card-text h3{

    font-size:22px;

    margin-bottom:8px;

}

.card-text p{

    color:var(--paragraph);

}

.glass-card:nth-child(2){

    margin-top:45px;

}

.glass-card:nth-child(3){

    margin-top:-40px;

}

.glass-card:nth-child(4){

    margin-top:20px;

}


.glass-card img{

    transition:.5s;

}

.glass-card:hover img{

    transform:scale(1.08);

}

.hero-left{

    animation:slideLeft 1s ease;

}

.hero-right{

    animation:slideRight 1s ease;

}

@keyframes slideLeft{

    from{

        opacity:0;

        transform:translateX(-60px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}

@keyframes slideRight{

    from{

        opacity:0;

        transform:translateX(60px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}


html,
body{

    overflow-x:hidden;

    width:100%;

}

*{

    max-width:100%;

}

img{

    max-width:100%;

    height:auto;

}

section{

    overflow:hidden;

}


.about{

    background:#fafafa;

}

.about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.about-image{

    position:relative;

}

.about-image img{

    width:100%;

    border-radius:30px;

    box-shadow:var(--shadow);

}


.about-content{

    display:flex;

    align-items:center;

}

.timeline{

    display:flex;

    flex-direction:column;

    gap:35px;

}

.timeline-item{

    display:flex;

    gap:25px;

    align-items:flex-start;

}

.circle{

    width:70px;

    height:70px;

    border-radius:50%;

    background:#ebfcf9;

    display:flex;

    justify-content:center;

    align-items:center;

    flex-shrink:0;

}

.circle i{

    font-size:28px;

    color:var(--primary);

}

.timeline-item h3{

    font-size:24px;

    margin-bottom:10px;

}

.timeline-item p{

    color:var(--paragraph);

    line-height:1.8;

}

.timeline-item{

    transition:.35s;

}

.timeline-item:hover{

    transform:translateX(8px);

}

.timeline-item:hover .circle{

    background:var(--primary);

}

.timeline-item:hover i{

    color:white;

}

.about-image{

    animation:fadeLeft 1s;

}

.about-content{

    animation:fadeRight 1s;

}

@keyframes fadeLeft{

    from{

        opacity:0;

        transform:translateX(-80px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

@keyframes fadeRight{

    from{

        opacity:0;

        transform:translateX(80px);

    }

    to{

        opacity:1;

        transform:none;

    }

}


.services{

    background:#ffffff;

}

.service-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.service-card{

    background:white;

    border-radius:28px;

    padding:45px 35px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s;

    border:1px solid transparent;

    position:relative;

    overflow:hidden;

}

.service-card:hover{

    transform:translateY(-12px);

    border-color:#d9f7f2;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.service-card i{

    width:80px;

    height:80px;

    background:#eafcf8;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    margin:0 auto 25px;

    font-size:34px;

    color:var(--primary);

    transition:.35s;

}

.service-card:hover i{

    background:var(--primary);

    color:white;

    transform:rotate(8deg);

}

.service-card h3{

    font-size:24px;

    margin-bottom:15px;

}

.service-card p{

    color:var(--paragraph);

    line-height:1.8;

    margin-bottom:25px;

}

.service-card a{

    color:var(--primary);

    font-weight:600;

    transition:.3s;

}

.service-card a:hover{

    color:var(--primary-dark);

}

.service-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:var(--primary);

    transform:scaleX(0);

    transition:.35s;

}

.service-card:hover::before{

    transform:scaleX(1);

}

.service-card:nth-child(2){

    margin-top:20px;

}

.service-card:nth-child(5){

    margin-top:20px;

}

.service-card{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


.why-us{

    background:#fafafa;

}

.features{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:60px;

}

.feature{

    background:white;

    padding:40px 30px;

    border-radius:28px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.feature:hover{

    transform:translateY(-12px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.feature i{

    width:85px;

    height:85px;

    background:#eafcf8;

    color:var(--primary);

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:34px;

    margin:auto;

    margin-bottom:25px;

    transition:.35s;

}

.feature:hover i{

    background:var(--primary);

    color:white;

    transform:scale(1.1);

}

.feature h3{

    font-size:24px;

    margin-bottom:15px;

}

.feature p{

    color:var(--paragraph);

    line-height:1.8;

}

.feature::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:var(--primary);

    transform:scaleX(0);

    transition:.35s;

}

.feature:hover::before{

    transform:scaleX(1);

}

.feature{

    animation:fadeUp .8s ease;

}


.cta{

    padding:120px 8%;

}

.cta-content{

    background:linear-gradient(135deg,#59d6c4,#42c8b3);

    border-radius:35px;

    padding:80px;

    color:white;

    text-align:center;

    box-shadow:0 25px 60px rgba(89,214,196,.25);

}

.cta-content h2{

    font-size:52px;

    margin-bottom:20px;

}

.cta-content p{

    max-width:700px;

    margin:auto;

    line-height:1.8;

    font-size:18px;

    opacity:.95;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    margin-top:45px;

    flex-wrap:wrap;

}

.cta .primary-btn{

    background:white;

    color:var(--primary);

}

.cta .primary-btn:hover{

    background:#f5f5f5;

}

.cta .secondary-btn{

    border:2px solid white;

    color:white;

}

.cta .secondary-btn:hover{

    background:white;

    color:var(--primary);

}

.cta-content{

    animation:fadeUp .8s ease;

}

.cta-content{

    animation:fadeUp .8s ease;

}

.contact-left span{

    color:var(--primary);

    font-weight:600;

    letter-spacing:2px;

}

.contact-left h2{

    font-size:48px;

    margin:20px 0;

}

.contact-left p{

    color:var(--paragraph);

    line-height:1.8;

    margin-bottom:45px;

}

.contact-info{

    display:flex;

    flex-direction:column;

    gap:25px;

}

.contact-info div{

    display:flex;

    align-items:center;

    gap:18px;

}

.contact-info i{

    width:60px;

    height:60px;

    background:#eafcf8;

    color:var(--primary);

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    font-size:22px;

}

.contact-info span{

    color:var(--text);

    font-size:18px;

}


footer{

    background:white;

    padding:80px 8% 30px;

    border-top:1px solid #eee;

}

.footer-container{

    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    gap:50px;

}

.footer-logo i{

    font-size:34px;

    color:var(--primary);

}

.footer-logo h2{

    margin:15px 0;

    font-size:34px;

}

.footer-logo span{

    color:var(--primary);

}

.footer-logo p{

    color:var(--paragraph);

    line-height:1.8;

}

.footer-container h3{

    margin-bottom:25px;

    font-size:22px;

}

.footer-container ul{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.footer-container li{

    color:var(--paragraph);

    transition:.3s;

    cursor:pointer;

}

.footer-container li:hover{

    color:var(--primary);

}

.footer-container p{

    color:var(--paragraph);

    margin-bottom:15px;

}

.copyright{

    margin-top:70px;

    border-top:1px solid #eee;

    padding-top:30px;

    text-align:center;

    color:#888;

}

*{

    min-width:0;

}

@media(max-width:1200px){

.hero-content{

grid-template-columns:1fr;

text-align:center;

}

.hero-left{

margin:auto;

}

.hero-buttons{

justify-content:center;

}

.hero-right{

margin-top:50px;

}

.about-grid{

grid-template-columns:1fr;

}

.contact{

grid-template-columns:1fr;

}

.features{

grid-template-columns:repeat(2,1fr);

}

.service-grid{

grid-template-columns:repeat(2,1fr);

}

.footer-container{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:992px){

.nav-links{

display:none;

}

.menu-btn{

display:block;

}

.hero-left h1{

font-size:52px;

}

.section-title h2{

font-size:40px;

}

.hero-right{

grid-template-columns:repeat(2,1fr);

}

.service-grid{

grid-template-columns:1fr 1fr;

}

.features{

grid-template-columns:1fr 1fr;

}

}

@media (max-width:768px){

    html,
    body{
        overflow-x:hidden;
        width:100%;
    }

    section{
        padding:80px 20px;
    }

    .nav-links{
        display:none;
    }

    .menu-btn{
        display:block;
    }

    .navbar{
        height:75px;
    }

    .logo{
        font-size:22px;
    }

    .hero{
        padding:130px 20px 80px;
        min-height:auto;
    }

    .hero-content{
        grid-template-columns:1fr;
        text-align:center;
        gap:40px;
    }

    .hero-left{
        margin:auto;
    }

    .hero-left h1{
        font-size:40px;
        line-height:1.2;
    }

    .hero-left p{
        font-size:16px;
    }

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

    .primary-btn,
    .secondary-btn,
    .book-btn{
        width:auto;
        padding:10px 22px;
        font-size:14px;
        justify-content:center;
    }

    .hero-right{
        grid-template-columns:repeat(2,1fr);
        gap:15px;
        margin-top:20px;
    }

    .glass-card{
        margin:0 !important;
    }

    .glass-card img{
        height:150px;
    }

    .card-text{
        padding:15px;
    }

    .card-text h3{
        font-size:18px;
    }

    .card-text p{
        font-size:13px;
    }

    .about-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .timeline-item{
        gap:18px;
    }

    .circle{
        width:55px;
        height:55px;
    }

    .timeline-item h3{
        font-size:20px;
    }

    .timeline-item p{
        font-size:14px;
    }

    .service-grid{
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:15px;
    }

    .service-card{
        padding:22px 15px;
        margin-top:0 !important;
    }

    .service-card i{
        width:60px;
        height:60px;
        font-size:24px;
        margin-bottom:15px;
    }

    .service-card h3{
        font-size:19px;
    }

    .service-card p{
        font-size:14px;
        line-height:1.5;
    }

    .service-card:nth-child(2),
    .service-card:nth-child(5){
        margin-top:0 !important;
    }

    .features{
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:15px;
    }

    .feature{
        padding:22px 15px;
    }

    .feature i{
        width:60px;
        height:60px;
        font-size:24px;
        margin-bottom:15px;
    }

    .feature h3{
        font-size:19px;
    }

    .feature p{
        font-size:14px;
        line-height:1.5;
    }

    .cta-content{
        padding:45px 25px;
    }

    .cta-content h2{
        font-size:34px;
    }

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

    .cta-buttons{
        flex-direction:column;
        align-items:center;
    }

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

    .contact-left h2{
        font-size:34px;
    }

    .footer-container{
        grid-template-columns:1fr;
        text-align:center;
        gap:35px;
    }

    .section-title h2{
        font-size:32px;
    }

    .section-title p{
        font-size:15px;
    }

    .experience-card{
        position:relative;
        right:0;
        bottom:0;
        margin-top:25px;
    }

    .floating-book{
        position:relative;
        left:0;
        transform:none;
        width:100%;
        margin-top:40px;
        flex-direction:column;
        gap:20px;
        text-align:center;
    }

}

@media(max-width:480px){

.logo{

font-size:22px;

}

.hero-left h1{

font-size:34px;

}

.hero-left p{

font-size:16px;

}

.section-title h2{

font-size:28px;

}

.cta-content{

padding:45px 25px;

}

.cta-content h2{

font-size:34px;

}

.contact-right form{

padding:25px;

}
}
