/*==========================
        Header
===========================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Poppins',sans-serif;
background:#fff;
}

.container{
width:90%;
max-width:1300px;
margin:auto;
}

#header{

position:fixed;
top:0;
left:0;
width:100%;
z-index:999;
transition:.4s;
background:#fff;

}

#header.sticky{

box-shadow:0 10px 35px rgba(0,0,0,.08);

}

.navbar{

display:flex;
align-items:center;
justify-content:space-between;
height:90px;

}

.logo img{

height:60px;
display:block;

}

.nav-links{

display:flex;
align-items:center;
gap:45px;
list-style:none;

}

.nav-links a{

text-decoration:none;
font-size:16px;
font-weight:500;
color:#111;
position:relative;
transition:.4s;

}

.nav-links a::after{

content:'';
position:absolute;
left:0;
bottom:-8px;
width:0;
height:2px;
background:#D4AF37;
transition:.4s;

}

.nav-links a:hover{

color:#D4AF37;

}

.nav-links a:hover::after{

width:100%;

}

.active{

color:#D4AF37 !important;

}

.active::after{

width:100% !important;

}

.book-btn{

padding:14px 30px;
background:#D4AF37;
color:#111;
font-weight:600;
border-radius:50px;
text-decoration:none;
transition:.4s;

}

.book-btn:hover{

background:#111;
color:#fff;

}

.menu-btn{

display:none;
font-size:28px;
cursor:pointer;
color:#111;

}

@media(max-width:991px){

.nav-links{

position:absolute;
top:90px;
left:-100%;
width:100%;
background:#fff;
display:flex;
flex-direction:column;
padding:30px 0;
gap:25px;
transition:.5s;
box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.nav-links.active{

left:0;

}

.book-btn{

display:none;

}

.menu-btn{

display:block;

}

}

/*==============================
        HERO SECTION
===============================*/

.hero{
margin-top: 90px;
height:100vh;
width:100%;
position:relative;

display:flex;
align-items:center;
justify-content:center;

background:url("../images/banner.webp") center center/cover no-repeat;

overflow:hidden;

}

.hero-overlay{

position:absolute;
left:0;
top:0;

width:100%;
height:100%;

background:linear-gradient(rgba(0,0,0,.70),rgba(0,0,0,.75));

}

.hero-content{

position:relative;

max-width:900px;

text-align:center;

padding:20px;

z-index:2;

}

.hero-tag{

display:inline-block;

padding:10px 22px;

border:1px solid #D4AF37;

color:#D4AF37;

border-radius:50px;

font-size:15px;

letter-spacing:1px;

margin-bottom:25px;

backdrop-filter:blur(10px);

animation:float 4s ease-in-out infinite;

}

.hero h1{

font-size:68px;

font-weight:800;

color:#fff;

line-height:1.2;

margin-bottom:25px;

}

.hero h1 span{

display:block;

color:#D4AF37;

}

.hero p{

font-size:18px;

line-height:32px;

color:#ddd;

max-width:700px;

margin:auto;

margin-bottom:45px;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.btn-primary{

padding:16px 38px;

background:#D4AF37;

color:#111;

font-weight:600;

text-decoration:none;

border-radius:50px;

transition:.4s;

}

.btn-primary:hover{

background:#fff;

transform:translateY(-5px);

}

.btn-secondary{

padding:16px 38px;

border:2px solid #D4AF37;

color:#D4AF37;

text-decoration:none;

border-radius:50px;

transition:.4s;

}

.btn-secondary:hover{

background:#D4AF37;

color:#111;

}

.scroll-down{

position:absolute;

bottom:40px;

left:50%;

transform:translateX(-50%);

z-index:5;

}

.scroll-down span{

display:block;

width:28px;

height:48px;

border:2px solid #D4AF37;

border-radius:40px;

position:relative;

}

.scroll-down span::before{

content:"";

position:absolute;

left:50%;

top:10px;

transform:translateX(-50%);

width:6px;

height:6px;

background:#D4AF37;

border-radius:50%;

animation:scroll 2s infinite;

}

@keyframes scroll{

0%{

opacity:0;

transform:translate(-50%,0);

}

50%{

opacity:1;

}

100%{

opacity:0;

transform:translate(-50%,18px);

}

}

@keyframes float{

50%{

transform:translateY(-8px);

}

}

@media(max-width:991px){

.hero h1{

font-size:45px;

}

.hero p{

font-size:16px;

line-height:28px;

}

}

@media(max-width:576px){

.hero{

padding:0 20px;

}

.hero h1{

font-size:34px;

}

.hero-buttons{

flex-direction:column;

}

.btn-primary,
.btn-secondary{

width:100%;

text-align:center;

}

}


/*==============================
    DESTINATIONS
===============================*/

.destinations{

padding:100px 0;
background:#fff;

}

.section-title{

text-align:center;
margin-bottom:60px;

}

.section-title span{

color:#D4AF37;
font-weight:600;
letter-spacing:2px;
text-transform:uppercase;

}

.section-title h2{

font-size:48px;
margin:15px 0;
color:#111;

}

.section-title p{

max-width:650px;
margin:auto;
color:#666;
line-height:28px;

}

.destination-grid{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;

}

.destination-card{

position:relative;
overflow:hidden;
border-radius:20px;
height:500px;
cursor:pointer;

}

.destination-card img{

width:100%;
height:100%;
object-fit:cover;
transition:.7s;

}

.destination-card:hover img{

transform:scale(1.12);

}

.overlay{

position:absolute;
left:0;
top:0;

width:100%;
height:100%;

display:flex;
align-items:flex-end;

padding:30px;

background:linear-gradient(to top,
rgba(0,0,0,.90),
rgba(0,0,0,.10));

transition:.4s;

}

.destination-card:hover .overlay{

background:linear-gradient(to top,
rgba(0,0,0,.95),
rgba(0,0,0,.25));

}

.content{

color:#fff;
width:100%;

}

.content h3{

font-size:30px;
margin-bottom:12px;

}

.content p{

color:#ddd;
margin-bottom:18px;

}

.info{

display:flex;
justify-content:space-between;
margin-bottom:22px;
font-size:15px;

}

.explore-btn{

display:inline-block;
padding:12px 28px;
background:#D4AF37;
color:#111;
font-weight:600;
border-radius:40px;
text-decoration:none;
transition:.4s;

}

.explore-btn:hover{

background:#fff;

}

@media(max-width:1200px){

.destination-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.destination-grid{

grid-template-columns:1fr;

}

.section-title h2{

font-size:36px;

}

.destination-card{

height:420px;

}

}


/*====================================
            ABOUT SECTION
=====================================*/

.about{

padding:110px 0;
background:#f9f9f9;

}

.about-wrapper{

display:flex;
align-items:center;
justify-content:space-between;
gap:70px;
flex-wrap:wrap;

}

/* Images */

.about-images{

flex:1;
position:relative;
min-width:350px;

}

.about-images img{

width:100%;
border-radius:20px;
display:block;
box-shadow:0 15px 40px rgba(0,0,0,.12);

}

.img-one{

width:75%;

}

.img-two{

width:50%;
position:absolute;
right:0;
bottom:-40px;
border:8px solid #fff;

}

.experience-box{

position:absolute;
left:20px;
bottom:20px;

background:#111;
color:#fff;

padding:22px 28px;

border-left:5px solid #D4AF37;

border-radius:15px;

}

.experience-box h2{

font-size:42px;
color:#D4AF37;

}

.experience-box span{

font-size:15px;

}

/* Content */

.about-content{

flex:1;
min-width:350px;

}

.section-tag{

display:inline-block;

color:#D4AF37;

font-weight:600;

letter-spacing:2px;

margin-bottom:20px;

}

.about-content h2{

font-size:46px;

line-height:1.3;

margin-bottom:25px;

color:#111;

}

.about-content p{

font-size:17px;

line-height:31px;

color:#666;

margin-bottom:20px;

}

.about-features{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

margin:35px 0;

}

.about-features div{

font-weight:500;

color:#222;

}

.about-features i{

color:#D4AF37;

margin-right:10px;

}

.about-btn{

display:inline-block;

padding:15px 35px;

background:#D4AF37;

color:#111;

text-decoration:none;

font-weight:600;

border-radius:50px;

transition:.4s;

}

.about-btn:hover{

background:#111;

color:#fff;

}

@media(max-width:992px){

.about-wrapper{

flex-direction:column;

}

.about-images{

margin-bottom:50px;

}

.about-content h2{

font-size:36px;

}

.about-features{

grid-template-columns:1fr;

}

}

@media(max-width:576px){

.img-two{

position:relative;
width:100%;
right:auto;
bottom:auto;
margin-top:20px;
border:none;

}

.experience-box{

position:relative;
left:auto;
bottom:auto;
margin-top:20px;

}

.about-content h2{

font-size:30px;

}

}

.about{

opacity:0;
transform:translateY(60px);
transition:1s ease;

}

.about.show{

opacity:1;
transform:translateY(0);

}

/*====================================
        WHY CHOOSE US
=====================================*/

.why-choose{

padding:110px 0;
background:#0b0b0b;

}

.why-choose .section-title{

text-align:center;
margin-bottom:70px;

}

.why-choose .section-title span{

color:#D4AF37;
font-size:15px;
font-weight:600;
letter-spacing:2px;
text-transform:uppercase;

}

.why-choose .section-title h2{

font-size:46px;
color:#fff;
margin:15px 0;

}

.why-choose .section-title p{

max-width:700px;
margin:auto;
color:#bdbdbd;
line-height:30px;

}

.why-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;

}

.why-card{

background:#161616;

padding:45px 35px;

border-radius:20px;

border:1px solid rgba(212,175,55,.18);

transition:.45s;

position:relative;

overflow:hidden;

}

.why-card::before{

content:"";

position:absolute;

left:-100%;

top:0;

width:100%;

height:100%;

background:linear-gradient(90deg,
transparent,
rgba(212,175,55,.08),
transparent);

transition:.8s;

}

.why-card:hover::before{

left:100%;

}

.why-card:hover{

transform:translateY(-12px);

border-color:#D4AF37;

box-shadow:0 20px 45px rgba(212,175,55,.18);

}

.icon{

width:80px;
height:80px;

background:#D4AF37;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

margin-bottom:28px;

font-size:30px;

color:#111;

transition:.4s;

}

.why-card:hover .icon{

transform:rotate(360deg);

}

.why-card h3{

color:#fff;
font-size:24px;
margin-bottom:15px;

}

.why-card p{

color:#cfcfcf;
line-height:28px;
font-size:15px;

}

@media(max-width:992px){

.why-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.why-grid{

grid-template-columns:1fr;

}

.why-choose .section-title h2{

font-size:34px;

}

}


/*====================================
            HOW IT WORKS
=====================================*/

.process-section{

padding:110px 0;
background:#ffffff;

}

.process-section .section-title{

text-align:center;
margin-bottom:80px;

}

.process-section .section-title span{

color:#D4AF37;
font-weight:600;
letter-spacing:2px;
text-transform:uppercase;

}

.process-section .section-title h2{

font-size:46px;
margin:18px 0;
color:#111;

}

.process-section .section-title p{

max-width:720px;
margin:auto;
line-height:30px;
color:#666;

}

.process-wrapper{

position:relative;

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.process-line{

position:absolute;

top:60px;
left:8%;

width:84%;

height:3px;

background:#D4AF37;

z-index:0;

}

.process-card{

position:relative;

background:#fff;

padding:45px 30px;

border-radius:20px;

text-align:center;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.4s;

z-index:2;

}

.process-card:hover{

transform:translateY(-12px);

box-shadow:0 25px 50px rgba(0,0,0,.12);

}

.step-number{

position:absolute;

top:-20px;
left:50%;

transform:translateX(-50%);

width:45px;
height:45px;

border-radius:50%;

background:#111;

color:#D4AF37;

display:flex;
justify-content:center;
align-items:center;

font-weight:700;

border:3px solid #D4AF37;

}

.process-icon{

width:90px;
height:90px;

margin:20px auto;

border-radius:50%;

background:#D4AF37;

display:flex;
justify-content:center;
align-items:center;

font-size:34px;

color:#111;

transition:.4s;

}

.process-card:hover .process-icon{

transform:rotate(360deg);

}

.process-card h3{

margin:25px 0 15px;

font-size:24px;

color:#111;

}

.process-card p{

line-height:28px;

color:#666;

font-size:15px;

}

/* Responsive */

@media(max-width:992px){

.process-wrapper{

grid-template-columns:repeat(2,1fr);

}

.process-line{

display:none;

}

}

@media(max-width:768px){

.process-wrapper{

grid-template-columns:1fr;

}

.process-section .section-title h2{

font-size:34px;

}

}

/*====================================
        TRAVELLER REVIEWS
=====================================*/

.reviews{

padding:110px 0;

background:#0b0b0b;

overflow:hidden;

}

.reviews .section-title{

text-align:center;

margin-bottom:70px;

}

.reviews .section-title span{

color:#D4AF37;

font-weight:600;

letter-spacing:2px;

text-transform:uppercase;

}

.reviews .section-title h2{

font-size:46px;

margin:18px 0;

color:#fff;

}

.reviews .section-title p{

max-width:700px;

margin:auto;

color:#cfcfcf;

line-height:30px;

}

.review-card{

background:#161616;

padding:45px;

border-radius:20px;

border:1px solid rgba(212,175,55,.15);

transition:.4s;

height:100%;

}

.review-card:hover{

transform:translateY(-10px);

border-color:#D4AF37;

box-shadow:0 20px 45px rgba(212,175,55,.15);

}

.quote{

font-size:40px;

color:#D4AF37;

margin-bottom:20px;

}

.stars{

font-size:24px;

letter-spacing:5px;

color:#D4AF37;

margin-bottom:20px;

}

.review-card p{

font-size:16px;

line-height:30px;

color:#d8d8d8;

margin-bottom:30px;

font-style:italic;

}

.review-card h3{

font-size:22px;

color:#fff;

margin-bottom:8px;

}

.review-card span{

color:#D4AF37;

font-size:15px;

font-weight:500;

}

.swiper{

padding-bottom:20px;

}

@media(max-width:768px){

.reviews .section-title h2{

font-size:34px;

}

.review-card{

padding:30px;

}

}


/*====================================
            FAQ SECTION
=====================================*/

.faq-section{

padding:110px 0;

background:#fff;

}

.faq-section .section-title{

text-align:center;

margin-bottom:60px;

}

.faq-section .section-title span{

color:#D4AF37;

font-weight:600;

letter-spacing:2px;

text-transform:uppercase;

}

.faq-section .section-title h2{

font-size:46px;

margin:18px 0;

color:#111;

}

.faq-section .section-title p{

max-width:700px;

margin:auto;

line-height:30px;

color:#666;

}

.faq-wrapper{

max-width:950px;

margin:60px auto 0;

}

.faq-item{

border:1px solid rgba(212,175,55,.25);

border-radius:15px;

margin-bottom:20px;

overflow:hidden;

transition:.4s;

background:#fff;

}

.faq-item:hover{

box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.faq-question{

display:flex;

justify-content:space-between;

align-items:center;

padding:25px 30px;

cursor:pointer;

}

.faq-question h3{

font-size:20px;

font-weight:600;

color:#111;

}

.icon{

width:38px;

height:38px;

background:#D4AF37;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:24px;

font-weight:700;

color:#111;

flex-shrink:0;

transition:.3s;

}

.faq-answer{

max-height:0;

overflow:hidden;

transition:max-height .4s ease;

}

.faq-answer p{

padding:0 30px 25px;

line-height:30px;

color:#666;

}

.faq-item.active .faq-answer{

max-height:220px;

}

.faq-item.active{

border-color:#D4AF37;

}

@media(max-width:768px){

.faq-section .section-title h2{

font-size:34px;

}

.faq-question{

padding:20px;

}

.faq-question h3{

font-size:17px;

padding-right:15px;

}

.faq-answer p{

padding:0 20px 20px;

}

}


/*====================================
            FOOTER
=====================================*/

.footer{

background:#0b0b0b;

padding:90px 0 0;

}

.footer-wrapper{

display:grid;

grid-template-columns:2fr 1fr 1.5fr 1fr;

gap:60px;

padding-bottom:50px;

}

.footer-logo{

height:60px;

margin-bottom:25px;

}

.footer-col p{

color:#bcbcbc;

line-height:30px;

font-size:15px;

}

.footer-col h3{

color:#ffffff;

font-size:24px;

margin-bottom:28px;

position:relative;

padding-bottom:12px;

}

.footer-col h3::after{

content:"";

position:absolute;

left:0;

bottom:0;

width:55px;

height:3px;

background:#D4AF37;

border-radius:50px;

}

.footer-col ul{

list-style:none;

}

.footer-col ul li{

margin-bottom:16px;

}

.footer-col ul li a{

text-decoration:none;

color:#cfcfcf;

font-size:15px;

line-height:28px;

transition:.35s;

display:inline-block;

}

.footer-col ul li a:hover{

color:#D4AF37;

transform:translateX(8px);

}

.footer-bottom{

border-top:1px solid rgba(255,255,255,.08);

padding:25px 0;

text-align:center;

}

.footer-bottom p{

color:#9f9f9f;

font-size:15px;

letter-spacing:.5px;

}

@media(max-width:1100px){

.footer-wrapper{

grid-template-columns:repeat(2,1fr);

gap:45px;

}

}

@media(max-width:768px){

.footer{

padding-top:70px;

}

.footer-wrapper{

grid-template-columns:1fr;

gap:40px;

}

.footer-logo{

height:52px;

}

.footer-col h3{

font-size:22px;

}

}


/*====================================
        BREADCRUMB SECTION
=====================================*/

.breadcrumb-section{
margin-top: 90px;
    position:relative;

    width:100%;

    height:380px;

    background:url("../images/banner.webp") center center/cover no-repeat;

    display:flex;

    align-items:center;

    overflow:hidden;

}

.breadcrumb-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.70));

}

.breadcrumb-content{

    position:relative;

    z-index:2;

    text-align:center;

    animation:fadeUp 1s ease;

}

.breadcrumb-content h1{

    color:#fff;

    font-size:58px;

    font-weight:700;

    margin-bottom:18px;

    letter-spacing:1px;

}

.breadcrumb-content ul{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:14px;

    list-style:none;

}

.breadcrumb-content ul li{

    color:#ffffff;

    font-size:17px;

}

.breadcrumb-content ul li a{

    text-decoration:none;

    color:#D4AF37;

    transition:.3s;

}

.breadcrumb-content ul li a:hover{

    color:#ffffff;

}

.breadcrumb-content i{

    color:#D4AF37;

    font-size:14px;

}

/* Background Zoom */

.breadcrumb-section::before{

    content:"";

    position:absolute;

    inset:0;

    background:inherit;

    z-index:-1;

    animation:zoomBanner 15s linear infinite alternate;

}

@keyframes zoomBanner{

    from{

        transform:scale(1);

    }

    to{

        transform:scale(1.08);

    }

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@media(max-width:992px){

    .breadcrumb-section{

        height:300px;

    }

    .breadcrumb-content h1{

        font-size:42px;

    }

}

@media(max-width:576px){

    .breadcrumb-section{

        height:250px;

    }

    .breadcrumb-content h1{

        font-size:34px;

    }

    .breadcrumb-content ul li{

        font-size:15px;

    }

}


/*====================================
        ABOUT COMPANY
=====================================*/

.about-company{

padding:110px 0;

background:#ffffff;

overflow:hidden;

}

.about-company-wrapper{

display:flex;

align-items:center;

justify-content:space-between;

gap:70px;

flex-wrap:wrap;

}

.about-image{

flex:1;

position:relative;

min-width:350px;

}

.about-image img{

width:100%;

border-radius:25px;

display:block;

transition:.5s;

box-shadow:0 20px 50px rgba(0,0,0,.12);

}

.about-image:hover img{

transform:scale(1.03);

}

.experience-card{

position:absolute;

bottom:30px;

left:30px;

background:#111;

color:#fff;

padding:25px 35px;

border-left:5px solid #D4AF37;

border-radius:18px;

}

.experience-card h2{

font-size:42px;

color:#D4AF37;

margin-bottom:5px;

}

.about-content{

flex:1;

min-width:350px;

}

.section-subtitle{

display:inline-block;

color:#D4AF37;

font-weight:600;

letter-spacing:2px;

text-transform:uppercase;

margin-bottom:20px;

}

.about-content h2{

font-size:46px;

line-height:1.3;

color:#111;

margin-bottom:25px;

}

.about-content p{

font-size:16px;

line-height:30px;

color:#666;

margin-bottom:20px;

}

.about-features{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

margin:35px 0;

}

.feature-box{

display:flex;

align-items:center;

gap:12px;

font-weight:500;

color:#222;

}

.feature-box i{

color:#D4AF37;

font-size:18px;

}

.about-btn{

display:inline-block;

padding:15px 35px;

background:#D4AF37;

color:#111;

text-decoration:none;

font-weight:600;

border-radius:50px;

transition:.35s;

}

.about-btn:hover{

background:#111;

color:#fff;

transform:translateY(-4px);

}

@media(max-width:992px){

.about-company-wrapper{

flex-direction:column;

}

.about-content h2{

font-size:36px;

}

.about-features{

grid-template-columns:1fr;

}

}

@media(max-width:576px){

.about-content h2{

font-size:30px;

}

.experience-card{

left:15px;

bottom:15px;

padding:18px 22px;

}

.experience-card h2{

font-size:32px;

}

}

/*====================================
        CONTACT INFORMATION
=====================================*/

.contact-info{

padding:110px 0;

background:#ffffff;

}

.contact-info .section-title{

text-align:center;

margin-bottom:70px;

}

.contact-info .section-title span{

color:#D4AF37;

font-size:15px;

font-weight:600;

letter-spacing:2px;

text-transform:uppercase;

}

.contact-info .section-title h2{

font-size:46px;

margin:18px 0;

color:#111;

}

.contact-info .section-title p{

max-width:700px;

margin:auto;

line-height:30px;

color:#666;

}

.contact-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.contact-card{

background:#fff;

padding:45px 30px;

border-radius:20px;

text-align:center;

border:1px solid #ededed;

transition:.4s;

box-shadow:0 10px 30px rgba(0,0,0,.05);

position:relative;

overflow:hidden;

}

.contact-card::before{

content:"";

position:absolute;

left:0;

top:0;

width:100%;

height:5px;

background:#D4AF37;

transform:scaleX(0);

transition:.4s;

}

.contact-card:hover::before{

transform:scaleX(1);

}

.contact-card:hover{

transform:translateY(-12px);

box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.contact-icon{

width:85px;

height:85px;

margin:auto;

margin-bottom:25px;

border-radius:50%;

background:#111;

display:flex;

align-items:center;

justify-content:center;

font-size:34px;

color:#D4AF37;

transition:.4s;

}

.contact-card:hover .contact-icon{

background:#D4AF37;

color:#111;

transform:rotate(360deg);

}

.contact-card h3{

font-size:24px;

margin-bottom:18px;

color:#111;

}

.contact-card p{

font-size:15px;

line-height:28px;

color:#666;

margin-bottom:18px;

}

.contact-card a{

text-decoration:none;

color:#111;

font-weight:600;

transition:.3s;

word-break:break-word;

}

.contact-card a:hover{

color:#D4AF37;

}

@media(max-width:1100px){

.contact-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.contact-grid{

grid-template-columns:1fr;

}

.contact-info .section-title h2{

font-size:34px;

}

}

/*====================================
        WHY CONTACT US
=====================================*/

.why-contact{

    padding:110px 0;

    background:#0b0b0b;

}

.why-contact .section-title{

    text-align:center;

    margin-bottom:70px;

}

.why-contact .section-title span{

    color:#D4AF37;

    text-transform:uppercase;

    letter-spacing:2px;

    font-weight:600;

}

.why-contact .section-title h2{

    color:#fff;

    font-size:46px;

    margin:18px 0;

}

.why-contact .section-title p{

    max-width:720px;

    margin:auto;

    color:#bdbdbd;

    line-height:30px;

}

.why-contact-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.why-contact-card{

    background:#161616;

    border:1px solid rgba(212,175,55,.15);

    border-radius:20px;

    padding:45px 30px;

    text-align:center;

    transition:.4s;

    position:relative;

    overflow:hidden;

}

.why-contact-card::before{

    content:"";

    position:absolute;

    left:-100%;

    top:0;

    width:100%;

    height:100%;

    background:linear-gradient(90deg,
    transparent,
    rgba(212,175,55,.08),
    transparent);

    transition:.8s;

}

.why-contact-card:hover::before{

    left:100%;

}

.why-contact-card:hover{

    transform:translateY(-12px);

    border-color:#D4AF37;

    box-shadow:0 20px 45px rgba(212,175,55,.18);

}

.icon{

    width:85px;

    height:85px;

    margin:auto;

    margin-bottom:25px;

    border-radius:50%;

    background:#D4AF37;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    color:#111;

    transition:.5s;

}

.why-contact-card:hover .icon{

    transform:rotate(360deg);

}

.why-contact-card h3{

    color:#fff;

    font-size:24px;

    margin-bottom:18px;

}

.why-contact-card p{

    color:#cfcfcf;

    line-height:28px;

    font-size:15px;

}

@media(max-width:1100px){

    .why-contact-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .why-contact-grid{

        grid-template-columns:1fr;

    }

    .why-contact .section-title h2{

        font-size:34px;

    }

}

/*====================================
        BOOKING PROCESS
=====================================*/

.booking-process{

padding:110px 0;

background:#ffffff;

overflow:hidden;

}

.booking-process .section-title{

text-align:center;

margin-bottom:80px;

}

.booking-process .section-title span{

color:#D4AF37;

font-weight:600;

letter-spacing:2px;

text-transform:uppercase;

}

.booking-process .section-title h2{

font-size:46px;

margin:18px 0;

color:#111;

}

.booking-process .section-title p{

max-width:720px;

margin:auto;

line-height:30px;

color:#666;

}

.booking-wrapper{

position:relative;

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.booking-line{

position:absolute;

top:75px;

left:10%;

width:80%;

height:4px;

background:#D4AF37;

z-index:0;

border-radius:20px;

}

.booking-card{

position:relative;

background:#fff;

padding:55px 30px 35px;

border-radius:22px;

text-align:center;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.4s;

z-index:2;

border:1px solid #eee;

}

.booking-card:hover{

transform:translateY(-12px);

border-color:#D4AF37;

box-shadow:0 25px 50px rgba(212,175,55,.18);

}

.step-no{

position:absolute;

top:-18px;

left:50%;

transform:translateX(-50%);

width:48px;

height:48px;

background:#111;

color:#D4AF37;

border:3px solid #D4AF37;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-weight:700;

}

.booking-icon{

width:90px;

height:90px;

margin:auto;

margin-bottom:25px;

background:#D4AF37;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:34px;

color:#111;

transition:.5s;

}

.booking-card:hover .booking-icon{

transform:rotateY(360deg);

}

.booking-card h3{

font-size:23px;

margin-bottom:18px;

color:#111;

}

.booking-card p{

font-size:15px;

line-height:28px;

color:#666;

}

@media(max-width:1100px){

.booking-wrapper{

grid-template-columns:repeat(2,1fr);

}

.booking-line{

display:none;

}

}

@media(max-width:768px){

.booking-wrapper{

grid-template-columns:1fr;

}

.booking-process .section-title h2{

font-size:34px;

}

}

/*====================================
        CONTACT CTA
=====================================*/

.contact-cta{

    padding:100px 0;

    background:linear-gradient(135deg,#0b0b0b,#161616);

    position:relative;

    overflow:hidden;

}

.contact-cta::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    background:rgba(212,175,55,.08);

    border-radius:50%;

    top:-180px;

    left:-180px;

    filter:blur(10px);

}

.contact-cta::after{

    content:"";

    position:absolute;

    width:350px;

    height:350px;

    background:rgba(212,175,55,.06);

    border-radius:50%;

    bottom:-150px;

    right:-150px;

}

.contact-cta-wrapper{

    position:relative;

    z-index:2;

    max-width:900px;

    margin:auto;

    text-align:center;

}

.cta-badge{

    display:inline-block;

    padding:10px 24px;

    border:1px solid #D4AF37;

    color:#D4AF37;

    border-radius:50px;

    font-size:15px;

    font-weight:600;

    margin-bottom:25px;

    letter-spacing:1px;

}

.contact-cta h2{

    color:#fff;

    font-size:52px;

    line-height:1.2;

    margin-bottom:25px;

}

.contact-cta p{

    color:#d4d4d4;

    font-size:18px;

    line-height:32px;

    max-width:720px;

    margin:auto;

    margin-bottom:45px;

}

.contact-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.call-btn{

    display:flex;

    align-items:center;

    gap:12px;

    padding:18px 35px;

    background:#D4AF37;

    color:#111;

    text-decoration:none;

    font-weight:700;

    border-radius:60px;

    transition:.35s;

    font-size:18px;

}

.call-btn i{

    font-size:20px;

}

.call-btn:hover{

    transform:translateY(-6px);

    background:#fff;

}

.call-btn.outline{

    background:transparent;

    color:#D4AF37;

    border:2px solid #D4AF37;

}

.call-btn.outline:hover{

    background:#D4AF37;

    color:#111;

}

@media(max-width:768px){

    .contact-cta{

        padding:80px 20px;

    }

    .contact-cta h2{

        font-size:34px;

    }

    .contact-cta p{

        font-size:16px;

        line-height:28px;

    }

    .contact-buttons{

        flex-direction:column;

    }

    .call-btn{

        justify-content:center;

        width:100%;

    }

}