/* ==========================
   GOOGLE FONT & RESET
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
    background:#ffffff;
    overflow-x:hidden;
}

html{
    scroll-behavior:smooth;
}

/* ==========================
   HEADER
========================== */

header{
    width:100%;
    height:90px;
    background:#ffffff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 8%;
    position:fixed;
    top:0;
    left:0;
    z-index:1000;
    box-shadow:0 2px 15px rgba(0,0,0,.08);
}

/* ==========================
   LOGO
========================== */

.logo{
    display:flex;
    align-items:center;
    gap:15px;
}

.logo img{
    width:60px;
    height:60px;
    object-fit:contain;
}

.logo-text h2{
    color:#1d5b35;
    font-size:28px;
    font-weight:700;
    letter-spacing:2px;
}

.logo-text span{
    color:#555;
    font-size:13px;
    letter-spacing:5px;
}

/* ==========================
   NAVIGATION
========================== */

nav ul{
    display:flex;
    list-style:none;
    gap:35px;
}

nav ul li a{
    text-decoration:none;
    color:#333;
    font-size:16px;
    font-weight:500;
    position:relative;
    transition:.3s;
}

nav ul li a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:2px;
    background:#2e8b57;
    transition:.4s;
}

nav ul li a:hover{
    color:#2e8b57;
}

nav ul li a:hover::after{
    width:100%;
}

/* ==========================
   MOBILE MENU BUTTON
========================== */

.mobile-menu-btn{
    display:none;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    background:none;
    border:none;
    padding:5px;
    z-index:1001;
}

.mobile-menu-btn span{
    display:block;
    width:28px;
    height:3px;
    background:#1d5b35;
    transition:.3s;
    border-radius:3px;
}

/* Hamburger animation */
.mobile-menu-btn.active span:nth-child(1){
    transform:rotate(45deg) translate(5px, 6px);
}

.mobile-menu-btn.active span:nth-child(2){
    opacity:0;
}

.mobile-menu-btn.active span:nth-child(3){
    transform:rotate(-45deg) translate(5px, -6px);
}

/* ==========================
   RESPONSIVE HEADER & NAV
========================== */

@media(max-width:900px){
    .mobile-menu-btn{
        display:flex;
    }

    .logo-text h2{
        font-size:22px;
    }

    .logo-text span{
        font-size:11px;
        letter-spacing:3px;
    }

    .logo img{
        width:50px;
        height:50px;
    }

    /* Mobile Menu Styles */
    nav{
        display:block !important;
        position:fixed;
        top:0;
        right:-100%;
        width:70%;
        max-width:350px;
        height:100vh;
        background:#ffffff;
        padding:100px 30px 30px;
        box-shadow:-10px 0 30px rgba(0,0,0,.1);
        transition:right 0.4s ease;
        overflow-y:auto;
        z-index:999;
    }

    nav.active{
        right:0;
    }

    /* Overlay */
    .nav-overlay{
        display:none;
        position:fixed;
        top:0;
        left:0;
        width:100%;
        height:100%;
        background:rgba(0,0,0,.5);
        z-index:998;
    }

    .nav-overlay.active{
        display:block;
    }

    nav ul{
        flex-direction:column;
        gap:20px;
        align-items:flex-start;
    }

    nav ul li{
        width:100%;
        border-bottom:1px solid #f0f0f0;
        padding-bottom:10px;
    }

    nav ul li:last-child{
        border-bottom:none;
    }

    nav ul li a{
        font-size:20px;
        display:block;
        padding:8px 0;
        color:#1d5b35;
        font-weight:600;
    }

    nav ul li a::after{
        display:none;
    }

    nav ul li a:hover{
        color:#2e8b57;
        padding-left:10px;
    }
}

/* ==========================
   HERO SECTION
========================== */

.hero{
    min-height:100vh;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:140px 8% 80px;
    gap:60px;
    background:linear-gradient(to right,#f7fff8,#edf8ef);
    position:relative;
    overflow:hidden;
}

/* Left Side */
.hero-content{
    flex:1;
    animation:fadeLeft 1.2s ease;
}

.hero-content h1{
    font-size:58px;
    color:#1d5b35;
    line-height:1.2;
    margin-bottom:25px;
}

.hero-content p{
    font-size:18px;
    color:#555;
    line-height:34px;
    margin-bottom:35px;
}

/* Button */
.explore-btn{
    display:inline-block;
    text-decoration:none;
    background:#2e8b57;
    color:white;
    padding:15px 38px;
    border-radius:50px;
    font-weight:600;
    transition:.4s;
}

.explore-btn:hover{
    background:#1d5b35;
    transform:translateY(-5px);
}

/* Right Side Image */
.hero img{
    flex:1;
    max-width:600px;
    width:100%;
    height:500px;
    object-fit:cover;
    border-radius:30px;
    box-shadow:0 20px 40px rgba(0,0,0,.15);
    animation:fadeRight 1.2s ease;
}

/* Animations */
@keyframes fadeLeft{
    from{
        opacity:0;
        transform:translateX(-80px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

@keyframes fadeRight{
    from{
        opacity:0;
        transform:translateX(80px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

/* ==========================
   HERO MOBILE RESPONSIVE
========================== */

@media(max-width:900px){
    .hero{
        flex-direction:column-reverse;
        text-align:center;
        padding-top:130px;
        padding-left:5%;
        padding-right:5%;
        gap:30px;
    }

    .hero-content h1{
        font-size:40px;
    }

    .hero-content p{
        font-size:16px;
        line-height:28px;
    }

    .hero img{
        height:300px;
        max-width:100%;
    }
}

@media(max-width:480px){
    .hero{
        padding-top:110px;
        padding-left:4%;
        padding-right:4%;
    }

    .hero-content h1{
        font-size:32px;
    }

    .hero-content p{
        font-size:15px;
        line-height:26px;
    }

    .explore-btn{
        padding:12px 30px;
        font-size:14px;
    }

    .hero img{
        height:220px;
        border-radius:20px;
    }
}

/* ==========================
   WHY CHOOSE US
========================== */

.why-us{
    padding:90px 8%;
    background:#ffffff;
}

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title h2{
    font-size:42px;
    color:#1d5b35;
    margin-bottom:15px;
}

.section-title p{
    color:#666;
    font-size:18px;
}

.features{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

.feature-card{
    background:#ffffff;
    border-radius:20px;
    padding:35px;
    text-align:center;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    transition:.4s;
}

.feature-card:hover{
    transform:translateY(-10px);
    box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.icon{
    font-size:50px;
    margin-bottom:20px;
}

.feature-card h3{
    color:#1d5b35;
    margin-bottom:15px;
}

.feature-card p{
    color:#666;
    line-height:28px;
}

/* WHY CHOOSE US MOBILE */
@media(max-width:900px){
    .why-us{
        padding:60px 5%;
    }

    .section-title h2{
        font-size:32px;
    }

    .section-title p{
        font-size:16px;
    }

    .features{
        grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
        gap:20px;
    }

    .feature-card{
        padding:25px;
    }

    .icon{
        font-size:40px;
    }

    .feature-card h3{
        font-size:20px;
    }
}

@media(max-width:480px){
    .why-us{
        padding:40px 4%;
    }

    .section-title h2{
        font-size:28px;
    }

    .features{
        grid-template-columns:1fr;
        gap:15px;
    }

    .feature-card{
        padding:20px;
    }

    .icon{
        font-size:35px;
    }

    .feature-card h3{
        font-size:18px;
    }

    .feature-card p{
        font-size:14px;
        line-height:24px;
    }
}

/* =========================
   SUN GLOW
========================= */

.sun-glow{
    position:absolute;
    top:-180px;
    right:-150px;
    width:550px;
    height:550px;
    border-radius:50%;
    background:radial-gradient(circle,
    rgba(255,230,150,.35),
    transparent 70%);
    animation:sunMove 8s ease-in-out infinite alternate;
}

@keyframes sunMove{
    from{
        transform:scale(1);
    }
    to{
        transform:scale(1.15);
    }
}

/* =========================
   MIST
========================= */

.mist{
    position:absolute;
    left:-20%;
    width:140%;
    height:180px;
    background:rgba(255,255,255,.08);
    filter:blur(45px);
}

.mist1{
    top:18%;
    animation:mistMove 28s linear infinite;
}

.mist2{
    top:60%;
    animation:mistMoveReverse 35s linear infinite;
}

@keyframes mistMove{
    from{
        transform:translateX(-12%);
    }
    to{
        transform:translateX(12%);
    }
}

@keyframes mistMoveReverse{
    from{
        transform:translateX(12%);
    }
    to{
        transform:translateX(-12%);
    }
}

/* =========================
   LEAVES
========================= */

.leaves span{
    position:absolute;
    top:-60px;
    width:18px;
    height:18px;
    background:#6ebf5d;
    border-radius:0 100% 0 100%;
    opacity:.8;
    animation:leafFall linear infinite;
}

.leaves span:nth-child(1){
    left:10%;
    animation-duration:12s;
}

.leaves span:nth-child(2){
    left:28%;
    animation-duration:15s;
}

.leaves span:nth-child(3){
    left:45%;
    animation-duration:10s;
}

.leaves span:nth-child(4){
    left:62%;
    animation-duration:18s;
}

.leaves span:nth-child(5){
    left:80%;
    animation-duration:13s;
}

.leaves span:nth-child(6){
    left:93%;
    animation-duration:16s;
}

@keyframes leafFall{
    0%{
        transform:translateY(-60px) rotate(0deg);
    }
    100%{
        transform:translateY(110vh) rotate(720deg);
    }
}

/* Mobile - Hide some leaves on small screens */
@media(max-width:768px){
    .leaves span:nth-child(4),
    .leaves span:nth-child(5),
    .leaves span:nth-child(6){
        display:none;
    }

    .sun-glow{
        width:300px;
        height:300px;
        top:-100px;
        right:-80px;
    }

    .mist{
        height:100px;
        filter:blur(30px);
    }
}

@media(max-width:480px){
    .leaves span:nth-child(3){
        display:none;
    }

    .sun-glow{
        width:200px;
        height:200px;
        top:-60px;
        right:-50px;
    }

    .mist{
        height:60px;
        filter:blur(20px);
    }
}

/* =========================
   HERO FADE
========================= */

.hero-card{
    animation:heroFade 1.8s ease forwards, float 5s ease-in-out infinite;
}

@keyframes heroFade{
    from{
        opacity:0;
        transform:translateY(-40%) scale(.95);
    }
    to{
        opacity:1;
        transform:translateY(-50%) scale(1);
    }
}

/* ==========================================
   ABOUT BANNER
========================================== */

.about-banner{
    width:100%;
    height:60vh;
    background:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
    url("images/about-banner.jpg");
    background-size:cover;
    background-position:center;
    display:flex;
    justify-content:center;
    align-items:center;
}

.banner-overlay{
    text-align:center;
    color:white;
}

.banner-overlay h1{
    font-size:60px;
    margin-bottom:20px;
}

.banner-overlay p{
    font-size:22px;
    letter-spacing:2px;
}

/* ABOUT BANNER MOBILE */
@media(max-width:900px){
    .about-banner{
        height:40vh;
    }

    .banner-overlay h1{
        font-size:40px;
    }

    .banner-overlay p{
        font-size:18px;
        letter-spacing:1px;
    }
}

@media(max-width:480px){
    .about-banner{
        height:35vh;
    }

    .banner-overlay h1{
        font-size:32px;
        margin-bottom:10px;
    }

    .banner-overlay p{
        font-size:15px;
    }
}

/* ==========================================
   ABOUT CONTENT
========================================== */

.about-content{
    width:100%;
    padding:80px 8%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:60px;
    background:#fff;
}

.about-image{
    flex:1;
}

.about-image img{
    width:100%;
    border-radius:20px;
    box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.about-text{
    flex:1;
}

.about-text h5{
    color:#2D6A4F;
    letter-spacing:3px;
    margin-bottom:15px;
}

.about-text h2{
    font-size:42px;
    margin-bottom:20px;
    color:#1B4332;
}

.about-text p{
    color:#555;
    font-size:17px;
    line-height:32px;
    margin-bottom:20px;
}

/* ABOUT CONTENT MOBILE */
@media(max-width:900px){
    .about-content{
        flex-direction:column;
        padding:60px 5%;
        gap:40px;
    }

    .about-text{
        text-align:center;
    }

    .about-text h2{
        font-size:32px;
    }

    .about-text p{
        font-size:16px;
        line-height:28px;
    }
}

@media(max-width:480px){
    .about-content{
        padding:40px 4%;
        gap:30px;
    }

    .about-text h2{
        font-size:28px;
    }

    .about-text h5{
        font-size:14px;
    }

    .about-text p{
        font-size:15px;
        line-height:26px;
    }

    .about-image img{
        border-radius:15px;
    }
}

/* ==========================================
   WHY CHOOSE US (Second section - duplicate)
========================================== */

.why-choose{
    padding:100px 8%;
    background:#f8fbf8;
}

.section-heading{
    text-align:center;
    margin-bottom:60px;
}

.section-heading h5{
    color:#2D6A4F;
    font-size:16px;
    letter-spacing:4px;
    margin-bottom:15px;
}

.section-heading h2{
    font-size:42px;
    color:#1B4332;
    margin-bottom:20px;
}

.section-heading p{
    color:#666;
    font-size:17px;
    max-width:650px;
    margin:auto;
    line-height:30px;
}

.choose-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:30px;
}

.choose-card{
    background:#ffffff;
    padding:40px 30px;
    border-radius:20px;
    text-align:center;
    transition:.4s;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.choose-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,.15);
}

.choose-icon{
    font-size:55px;
    margin-bottom:20px;
}

.choose-card h3{
    color:#1B4332;
    margin-bottom:15px;
    font-size:24px;
}

.choose-card p{
    color:#666;
    line-height:28px;
    font-size:16px;
}

/* WHY CHOOSE MOBILE */
@media(max-width:900px){
    .why-choose{
        padding:60px 5%;
    }

    .section-heading h2{
        font-size:32px;
    }

    .section-heading p{
        font-size:16px;
        line-height:26px;
    }

    .choose-container{
        grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
        gap:20px;
    }

    .choose-card{
        padding:30px 20px;
    }

    .choose-icon{
        font-size:45px;
    }

    .choose-card h3{
        font-size:20px;
    }
}

@media(max-width:480px){
    .why-choose{
        padding:40px 4%;
    }

    .section-heading{
        margin-bottom:30px;
    }

    .section-heading h5{
        font-size:14px;
        letter-spacing:2px;
    }

    .section-heading h2{
        font-size:26px;
        margin-bottom:15px;
    }

    .section-heading p{
        font-size:15px;
        line-height:24px;
    }

    .choose-container{
        grid-template-columns:1fr;
        gap:15px;
    }

    .choose-card{
        padding:25px 15px;
    }

    .choose-icon{
        font-size:40px;
        margin-bottom:15px;
    }

    .choose-card h3{
        font-size:18px;
        margin-bottom:10px;
    }

    .choose-card p{
        font-size:14px;
        line-height:24px;
    }
}

/* ==========================================
   EXTRA HELPERS FOR MOBILE
========================================== */

/* Fix for very small screens */
@media(max-width:350px){
    .logo-text h2{
        font-size:18px;
        letter-spacing:1px;
    }

    .logo-text span{
        font-size:9px;
        letter-spacing:2px;
    }

    .logo img{
        width:40px;
        height:40px;
    }

    .logo{
        gap:8px;
    }

    header{
        padding:0 4%;
        height:75px;
    }

    .hero-content h1{
        font-size:26px;
    }

    .mobile-menu-btn span{
        width:22px;
        height:2px;
    }
}

/* Fix for tablets in landscape */
@media(min-width:768px) and (max-width:1024px) and (orientation:landscape){
    .hero{
        padding-top:130px;
        min-height:auto;
        padding-bottom:60px;
    }

    .hero img{
        height:350px;
    }

    .hero-content h1{
        font-size:42px;
    }
}

/* Fix for iPad portrait */
@media(min-width:768px) and (max-width:820px) and (orientation:portrait){
    .hero{
        padding-top:120px;
    }

    .hero img{
        height:280px;
    }

    .hero-content h1{
        font-size:38px;
    }
}
/*==========================================
            ROOM BANNER
==========================================*/

.room-banner{

    width:100%;
    height:60vh;

    background:
    linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
    url("images/room-banner.jpg");

    background-size:cover;
    background-position:center;

    display:flex;
    justify-content:center;
    align-items:center;

}

.room-overlay{

    text-align:center;
    color:#fff;

}

.room-overlay h1{

    font-size:65px;
    font-weight:700;
    margin-bottom:20px;

}

.room-overlay p{

    font-size:22px;
    letter-spacing:2px;

}
/*==========================================
            ROOM TITLE
==========================================*/

.room-features{

    padding:90px 8%;
    background:#f8fbf8;

}

.room-title{

    text-align:center;
    margin-bottom:60px;

}

.room-title span{

    display:inline-block;

    background:#dff3e5;

    color:#1d5b35;

    padding:10px 28px;

    border-radius:50px;

    font-size:14px;

    font-weight:600;

    letter-spacing:3px;

    margin-bottom:20px;

}

.room-title h2{

    font-size:48px;

    color:#1d5b35;

    margin-bottom:20px;

}

.room-title p{

    max-width:650px;

    margin:auto;

    color:#666;

    font-size:18px;

    line-height:30px;

}
/*==========================================
            ROOM FEATURES
==========================================*/

.feature-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

}

.feature-box{

    background:#ffffff;

    border-radius:20px;

    padding:35px 25px;

    text-align:center;

    transition:.4s;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    border-top:5px solid #2e8b57;

}

.feature-box:hover{

    transform:translateY(-10px);

    box-shadow:0 18px 40px rgba(0,0,0,.15);

}

.feature-icon{

    font-size:50px;

    margin-bottom:18px;

}

.feature-box h3{

    color:#1d5b35;

    margin-bottom:12px;

    font-size:24px;

}

.feature-box p{

    color:#666;

    line-height:28px;

    font-size:16px;

}
/*==========================================
        TOUR ACCORDION
==========================================*/

.tour-list{

    width:80%;

    margin:60px auto 100px;

}

.tour-item{

    background:#ffffff;

    margin-bottom:20px;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.4s;

}

.tour-item:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 35px rgba(0,0,0,.15);

}

.tour-btn{

    width:100%;

    background:#ffffff;

    border:none;

    outline:none;

    padding:25px 35px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    cursor:pointer;

    font-size:22px;

    font-weight:600;

    color:#1d5b35;

    transition:.4s;

}

.tour-btn:hover{

    background:#eef8f0;

}

.arrow{

    font-size:32px;

    color:#2e8b57;

    transition:.4s;

}
.tour-content{

    max-height:0;

    overflow:hidden;

    transition:max-height .6s ease;

    background:#f9fcfa;

}

.tour-content img{

    width:100%;

    height:450px;

    object-fit:cover;

}

.tour-content h3{

    font-size:35px;

    color:#1d5b35;

    margin:30px;

}

.tour-content p{

    margin:0 30px 35px;

    color:#555;

    line-height:32px;

    font-size:18px;

}
.tour-item.active .tour-content{

    max-height:800px;

}

.tour-item.active .arrow{

    transform:rotate(45deg);

}

.tour-item.active .tour-btn{

    background:#2e8b57;

    color:#ffffff;

}
@media(max-width:900px){

.tour-list{

width:92%;

}

.tour-btn{

font-size:18px;

padding:20px;

}

.tour-content img{

height:250px;

}

.tour-content h3{

font-size:28px;

}

}
/*==========================================
            TOUR LIST
==========================================*/

.tour-list{

    width:85%;
    margin:80px auto;
    display:flex;
    flex-direction:column;
    gap:25px;

}

.tour-item{

    background:#ffffff;

    border-radius:22px;

    overflow:hidden;

    border-left:6px solid transparent;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.4s;

}

.tour-item:hover{

    transform:translateY(-8px);

    border-left:6px solid #2e8b57;

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}
/*==========================================
            TOUR LIST
==========================================*/

.tour-list{

    width:85%;
    margin:80px auto;
    display:flex;
    flex-direction:column;
    gap:25px;

}

.tour-item{

    background:#ffffff;

    border-radius:22px;

    overflow:hidden;

    border-left:6px solid transparent;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.4s;

}

.tour-item:hover{

    transform:translateY(-8px);

    border-left:6px solid #2e8b57;

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}
.tour-btn{

    width:100%;

    padding:28px 35px;

    background:#ffffff;

    border:none;

    cursor:pointer;

    display:flex;

    justify-content:space-between;

    align-items:center;

    transition:.4s;

}

.tour-btn:hover{

    background:#f3fbf5;

}

.tour-btn span:first-child{

    font-size:24px;

    font-weight:600;

    color:#1d5b35;

}

.arrow{

    width:45px;

    height:45px;

    border-radius:50%;

    background:#e6f6ea;

    color:#2e8b57;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:28px;

    transition:.4s;

}
.tour-item.active{

    border-left:6px solid #2e8b57;

}

.tour-item.active .tour-btn{

    background:#2e8b57;

}

.tour-item.active .tour-btn span{

    color:#ffffff;

}

.tour-item.active .arrow{

    background:#ffffff;

    color:#2e8b57;

    transform:rotate(45deg);

}
.tour-content{

    max-height:0;

    overflow:hidden;

    background:#f9fcfa;

    transition:max-height .6s ease,padding .6s ease;

    padding:0 35px;

}

.tour-item.active .tour-content{

    max-height:800px;

    padding:35px;

}
.tour-content img{

    width:100%;

    height:450px;

    object-fit:cover;

    border-radius:18px;

    margin-bottom:25px;

    transition:.5s;

}

.tour-content img:hover{

    transform:scale(1.02);

}
.tour-content h3{

    font-size:34px;

    color:#1d5b35;

    margin-bottom:15px;

}

.tour-content p{

    font-size:17px;

    line-height:30px;

    color:#555;

}
@media(max-width:768px){

.tour-list{

    width:92%;

}

.tour-btn{

    padding:20px;

}

.tour-btn span:first-child{

    font-size:18px;

}

.tour-content{

    padding:0 20px;

}

.tour-item.active .tour-content{

    padding:20px;

}

.tour-content img{

    height:250px;

}

.tour-content h3{

    font-size:28px;

}

}
/*==============================
        IMAGE POPUP
==============================*/

.image-popup{

    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:100%;

    background:rgba(0,0,0,.92);

    display:none;

    justify-content:center;

    align-items:center;

    z-index:9999;

}

.image-popup img{

    max-width:90%;

    max-height:90%;

    border-radius:15px;

}

.close-popup{

    position:absolute;

    top:20px;

    right:35px;

    color:white;

    font-size:50px;

    cursor:pointer;

}
/*==========================================
            CONTACT HERO
==========================================*/

.contact-hero{

    height:100vh;

    background:
    linear-gradient(rgba(255, 255, 255, 0.45),rgba(255, 255, 255, 0.45)),
    url("images/contact-bg.jpg");

    background-size:cover;
    background-position:center;

    display:flex;
    justify-content:center;
    align-items:center;

    position:relative;

    overflow:hidden;

}

/* Moving Mist */

.mist{

    position:absolute;

    width:220%;

    height:220px;

    background:rgba(255, 255, 255, 0.12);

    filter:blur(50px);

    top:20%;

    left:-100%;

    animation:fogMove 20s linear infinite;

}

.mist2{

    top:60%;

    animation-duration:28s;

}

/* Hero Text */

.hero-text{

    position:relative;

    text-align:center;

    color:#000000;

    z-index:10;

    animation:heroAnimation 1.5s ease;

}

.hero-text span{

    background:#2e8b57;

    padding:12px 30px;

    border-radius:40px;

    letter-spacing:3px;

    font-size:14px;

}

.hero-text h1{

    font-size:68px;

    margin:30px 0 20px;

}

.hero-text p{

    width:700px;

    max-width:90%;

    margin:auto;

    line-height:34px;

    font-size:20px;

}

/* Button */

.scroll-btn{

    display:inline-block;

    margin-top:45px;

    padding:16px 45px;

    background:#2e8b57;

    color:#fff;

    text-decoration:none;

    border-radius:50px;

    transition:.4s;

}

.scroll-btn:hover{

    background:#1d5b35;

    transform:translateY(-6px);

}

/* Animations */

@keyframes heroAnimation{

    from{

        opacity:0;

        transform:translateY(80px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes fogMove{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(50%);

    }

}
/*==========================================
            MOBILE
==========================================*/

@media(max-width:768px){

.contact-hero{

    height:85vh;

}

.hero-text h1{

    font-size:38px;

}

.hero-text p{

    font-size:17px;

    line-height:30px;

    width:90%;

}

.scroll-btn{

    padding:14px 30px;

}

}
/*==========================================
        JOURNEY SECTION
==========================================*/

.journey{

    padding:120px 8%;

    background:#f8fcf8;

}

.journey-title{

    text-align:center;

    margin-bottom:80px;

}

.journey-title span{

    background:#2e8b57;

    color:#fff;

    padding:10px 25px;

    border-radius:30px;

    letter-spacing:2px;

}

.journey-title h2{

    margin:25px 0;

    font-size:48px;

    color:#1d5b35;

}

.journey-title p{

    max-width:700px;

    margin:auto;

    color:#666;

    line-height:32px;

}

.timeline{

    position:relative;

    max-width:900px;

    margin:auto;

}

.timeline::before{

    content:"";

    position:absolute;

    left:35px;

    top:0;

    width:4px;

    height:100%;

    background:#2e8b57;

}

.timeline-item{

    display:flex;

    align-items:center;

    gap:35px;

    margin-bottom:60px;

}

.circle{

    width:70px;

    height:70px;

    background:#2e8b57;

    color:#fff;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:30px;

    z-index:2;

    transition:.4s;

}

.timeline-item:hover .circle{

    transform:rotate(360deg) scale(1.1);

}

.content{

    flex:1;

    background:#fff;

    padding:30px;

    border-radius:20px;

    box-shadow:0 15px 30px rgba(0,0,0,.08);

    transition:.4s;

}

.timeline-item:hover .content{

    transform:translateX(12px);

    box-shadow:0 20px 40px rgba(0,0,0,.15);

}

.content h3{

    color:#1d5b35;

    margin-bottom:10px;

    font-size:26px;

}

.content p{

    color:#666;

    line-height:28px;

}
@media(max-width:768px){

.timeline::before{

left:24px;

}

.timeline-item{

gap:18px;

}

.circle{

width:50px;
height:50px;

font-size:20px;

}

.content{

padding:20px;

}

.content h3{

font-size:22px;

}

}
/*==========================================
            FIND US
==========================================*/

.find-us{

    padding:100px 8%;

    background:linear-gradient(180deg,#f8fcf8,#ffffff);

}

.find-title{

    text-align:center;

    margin-bottom:50px;

}

.find-title span{

    display:inline-block;

    padding:10px 25px;

    background:#2e8b57;

    color:#fff;

    border-radius:40px;

    letter-spacing:2px;

    font-size:13px;

}

.find-title h2{

    font-size:46px;

    color:#1d5b35;

    margin:25px 0 15px;

}

.find-title p{

    max-width:700px;

    margin:auto;

    color:#666;

    line-height:32px;

}

/* Map */

.map-box{

    width:100%;

    border-radius:30px;

    overflow:hidden;

    box-shadow:0 25px 60px rgba(0,0,0,.15);

    transition:.5s;

}

.map-box:hover{

    transform:translateY(-10px);

}

.map-box iframe{

    width:100%;

    height:550px;

    border:none;

}
@media(max-width:768px){

.find-title h2{

font-size:34px;

}

.map-box iframe{

height:350px;

}

}
/*==========================================
            THANK YOU
==========================================*/

.thanks{

    padding:100px 20px;

    text-align:center;

    background:#1d5b35;

    color:#fff;

}

.thanks h2{

    font-size:48px;

    margin-bottom:25px;

}

.thanks p{

    max-width:700px;

    margin:auto;

    line-height:34px;

    opacity:.9;

    font-size:18px;

}
.admin-lock{
    position: absolute;
    right: 90px;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-decoration: none;
    font-size: 18px;
    transition: 0.3s;
    border: 1px solid rgba(255,255,255,0.25);
}

.admin-lock:hover{
    background: #2e8b57;
    
    color: white;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 0 15px rgba(46,139,87,0.5);
}
header{
    position: fixed;
    width: 100%;
}
