/* ===================================
   RESET
=================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    background:#0d0d0d;
    color:#fff;

    font-family:'Outfit',sans-serif;

    font-size:16px;
    font-weight:400;

    line-height:1.9;

    overflow-x:hidden;

}

/* ===================================
   COLORS
=================================== */

:root{

    --cod-gray:#0d0d0d;

    --mine-shaft:#2e2e2e;

    --scorpion:#5a5a5a;

    --boulder:#7a7a7a;

    --white:#ffffff;

    --spring-wood:#f5f2ec;

    --akaroa:#d1c2a6;

    --zorba:#a89a87;

}

/* ===================================
   CONTAINER
=================================== */

.container{

    width:100%;

    max-width:1400px;

    margin:auto;

    padding-left:30px;

    padding-right:30px;

}

/* ===================================
   TYPOGRAPHY
=================================== */

h1,
h2,
h3,
h4,
h5,
h6{

    font-family:'Playfair Display',serif;

    font-weight:400;

    color:#fff;

    line-height:1.1;

}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-transform: capitalize !important;
}

h1{

    font-size:48px !important;

    line-height:92px;

    letter-spacing:-1px;

}

h2{

    font-size:34px !important;

    line-height:61px;

    letter-spacing:-1px;

}

h3{

    font-size:22px !important;

    line-height:48px;

}

h4{

    font-size:20px;

    line-height:38px;

}

h5{

    font-size:20px !important;

}

h6{

    font-size:18px !important;

}

p{

    font-family:'Outfit',sans-serif;

    font-size:16px;

    line-height:30px;

    color:var(--scorpion);

}

a{

    text-decoration:none;

    transition:.3s ease;

}

img{

    max-width:100%;

    display:block;

}

ul{

    list-style:none;

}

/* ===================================
   COMMON SECTION
=================================== */

section{

    position:relative;

    padding:20px 0;

}


/* ===================================
   HERO BANNER
=================================== */

.hero-banner{

    position:relative;

    min-height:100vh;

    background:url('../images/banner.webp') center center/cover no-repeat;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;
        padding: 50px;

}


.about_bnr {
    position: relative;
    background-image: url("https://grandconciergeservices.com/assets/images/about_bnar.webp") !important;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

section.hero-banner.about_bnr::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("https://grandconciergeservices.com/assets/images/about_bnar.webp") center center / cover no-repeat;
    animation: bannerZoom 20s ease-in-out infinite alternate;
    z-index: 0;
    will-change: transform;
}
.about_bnr .hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
}

.about_bnr .hero-content {
    position: relative;
    z-index: 2;
}


.section.hero-banner.service_main_banner1 {
    position: relative;
    background-image: url("https://grandconciergeservices.com/assets/images/353.jpg") !important;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

section.hero-banner.service_main_banner1::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("https://grandconciergeservices.com/assets/images/353.jpg") center center / cover no-repeat;
    animation: bannerZoom 20s ease-in-out infinite alternate;
    z-index: 0;
    will-change: transform;
}
.service_main_banner .hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
}

.service_main_banner .hero-content {
    position: relative;
    z-index: 2;
}

















.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.55);

}

.hero-content{

    position:relative;

    z-index:2;

    max-width:1100px;

    width:100%;

    text-align:center;

    padding:20px 20px;
    

    
}




.service_main_banner {
    position: relative;
    background-image: url("https://grandconciergeservices.com/assets/images/service_nanner.webp") !important;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

section.hero-banner.service_main_banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("https://grandconciergeservices.com/assets/images/service_nanner.webp") center center / cover no-repeat;
    animation: bannerZoom 20s ease-in-out infinite alternate;
    z-index: 0;
    will-change: transform;
}
.service_main_banner .hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
}

.service_main_banner .hero-content {
    position: relative;
    z-index: 2;
}

/* ========================= */

.hero-subtitle{

display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 20px;
    flex-direction: column;

}

.hero-subtitle span{

    width:60px;

    height:1px;

    background:rgba(255,255,255,.4);

}

.hero-subtitle p{

    color:#d8d8d8;

    font-size:11px;

    letter-spacing:4px;

    text-transform:uppercase;

    margin:0;

}

/* ========================= */

.hero-badge{

    width:90px;

    margin:0 auto 25px;

}

/* ========================= */

.hero-banner h1{

    margin:0 auto 30px;

    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:88px;

    line-height:1.05;

    font-weight:400;

    letter-spacing:-1px;
        animation:
        fadeUp 1.2s ease forwards,
        textGlow 5s ease-in-out infinite;

}

@keyframes textGlow{
    0%,100%{
        text-shadow:0 0 0 rgba(255,255,255,0);
    }

    50%{
        text-shadow:0 0 25px rgba(255,255,255,.15);
    }
}

/* ========================= */

.hero-description{

    margin:0 auto 35px;

    color:#d2d2d2;

    font-size:20px;

    line-height:2;

}

/* ========================= */

.hero-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:220px;

    height:58px;

    background:#c8a96b;

    color:#111;

    font-size:12px;

    letter-spacing:2px;

    text-transform:uppercase;

    font-weight:500;

    transition:.3s ease;

}

.hero-btn:hover{

    background:#ffffff;

}

/* ===================================
   HERO BANNER ANIMATIONS
=================================== */

.hero-banner{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:50px;
}

/* Animated Background */
.hero-banner::before{
    content:"";
    position:absolute;
    inset:0;
    background:url('../images/banner.webp') center center/cover no-repeat;
    animation:bannerZoom 20s ease-in-out infinite alternate;
    z-index:0;
    will-change:transform;
}

@keyframes bannerZoom{
    from{
        transform:scale(1);
    }
    to{
        transform:scale(1.15);
    }
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to bottom,
        rgba(0,0,0,.35),
        rgba(0,0,0,.65)
    );
    z-index:1;
}

.hero-content{
    position:relative;
    z-index:2;
    max-width:1100px;
    width:100%;
    text-align:center;
    padding:20px 20px;
    transition:transform .2s ease;
}

/* Subtitle Animation */

.hero-subtitle{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:15px;
    margin-bottom:20px;
    opacity:0;
    animation:fadeUp 1s ease forwards;
}

.hero-subtitle span{
    width:70px;
    height:1px;
    background:#c8a96b;
    animation:linePulse 3s infinite;
}

.hero-subtitle p{
    color:#d8d8d8;
    font-size:11px;
    letter-spacing:4px;
    text-transform:uppercase;
    margin:0;
}

@keyframes linePulse{
    0%,100%{
        width:70px;
        opacity:.4;
    }
    50%{
        width:130px;
        opacity:1;
    }
}

/* Heading */

.hero-banner h1{
    margin:0 auto 30px;
    color:#fff;
    font-family:'Playfair Display',serif;
    font-size:88px;
    line-height:1.05;
    font-weight:400;
    letter-spacing:-1px;
}

.hero-banner h1 .letter{
    display:inline-block;
    opacity:0;
    transform:translateY(70px);
    animation:letterReveal .8s forwards;
}

@keyframes letterReveal{
    to{
        opacity:1;
        transform:translateY(0);
    }
}

.hero-description{
    margin:0 auto 35px;
    color:#d2d2d2;
    font-size:20px;
    line-height:2;
    max-width:900px;
    opacity:0;
    animation:fadeUp 1.2s ease forwards;
    animation-delay:1.4s;
}

.hero-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:220px;
    height:58px;
    background:#c8a96b;
    color:#111;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    font-weight:600;
    text-decoration:none;
    position:relative;
    overflow:hidden;
    opacity:0;
    animation:fadeUp 1.2s ease forwards;
    animation-delay:1.8s;
    transition:.4s ease;
}

.hero-btn::before{
    content:'';
    position:absolute;
    top:0;
    left:-150%;
    width:100%;
    height:100%;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.6),
        transparent
    );
}

.hero-btn:hover::before{
    left:150%;
    transition:.8s;
}

.hero-btn:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 40px rgba(200,169,107,.35);
}

/* Fade Animation */

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(50px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* Scroll Indicator */

.scroll-indicator{
    position:absolute;
    bottom:40px;
    left:50%;
    transform:translateX(-50%);
    width:26px;
    height:45px;
    border:2px solid rgba(255,255,255,.5);
    border-radius:20px;
    z-index:5;
}

.scroll-indicator::before{
    content:"";
    position:absolute;
    top:8px;
    left:50%;
    width:4px;
    height:8px;
    background:#fff;
    border-radius:50px;
    transform:translateX(-50%);
    animation:scrollWheel 2s infinite;
}

@keyframes scrollWheel{
    0%{
        opacity:0;
        transform:translate(-50%,0);
    }
    50%{
        opacity:1;
    }
    100%{
        opacity:0;
        transform:translate(-50%,15px);
    }
}
























/* ====================================
   WHO WE ARE
==================================== */

.who-we-are{

    background: #F8F6F2;
    padding: 60px 0 60px !important;

}

.section-label{

    margin-bottom:70px;

}

.section-label span{

    display:block;

    font-size:11px;

    letter-spacing:4px;

    color:#9c9185;

    text-transform:uppercase;

    margin-bottom:10px;

}

.section-label small{

    color:#b9b0a5;

    font-size:13px;

}

.who-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:90px;

    align-items:center;

}

/* Content */

.who-content h2{

    color:#222;

font-size:56px;

    line-height:1.2;

    margin-bottom:35px;

}

.who-content .lead-text{

    color:#2d2d2d;

    font-size:22px;

    line-height:1.8;

    margin-bottom:25px;

}

.who-content p{

    color:#5d5d5d;

    font-size:16px;

    line-height:2;

    margin-bottom:28px;

}

.story-link{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:10px;

    color:#111;

    font-size:15px;

    font-weight:500;

}

.story-link span{

    transition:.3s;

}

.story-link:hover span{

    transform:translateX(5px);

}

/* Image */

.who-image-wrap{

    position:relative;

    max-width:600px;

    margin-left:0px;

}

.image-border{

    position:absolute;

    top:-18px;

    right:-18px;

    width:100%;

    height:100%;

    border:1px solid #d5c9bb;

}

.who-image-wrap img{

    position:relative;

    z-index:2;

    width:100%;

    display:block;

}

/* Stats */

.stats-wrapper{

    margin-top:90px;

    padding-top:50px;

    border-top:1px solid #ddd3c7;

    display:grid;

    grid-template-columns:repeat(3,1fr);

}

.stat-box{

    text-align:center;

    position:relative;

}

.stat-box:not(:last-child)::after{

    content:'';

    position:absolute;

    right:0;

    top:10px;

    width:1px;

    height:60px;

    background:#ddd3c7;

}

.stat-box h3{

    color:#222;

    font-size:64px !important;

    font-weight:400;

    line-height:1;

    margin-bottom:12px;

}

.stat-box span{

    display:block;

    font-size:11px;

    letter-spacing:3px;

    color:#8f8578;

}



/* ====================================
   LUXURY ANIMATIONS
==================================== */

/* Smooth Section Reveal */
.who-content,
.who-image-wrap,
.stat-box{
    opacity:0;
    transform:translateY(60px);
    transition:all 1s cubic-bezier(.22,.61,.36,1);
}

.who-content.active,
.who-image-wrap.active,
.stat-box.active{
    opacity:1;
    transform:translateY(0);
}

/* Heading Animation */
.who-content h2{
    position:relative;
    overflow:hidden;
}

.who-content h2::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-10px;
    width:120px;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent,
        #c9a96e,
        transparent
    );
    animation:goldLine 4s infinite;
}

@keyframes goldLine{
    0%{
        transform:translateX(-150%);
    }
    100%{
        transform:translateX(250%);
    }
}

/* Image Luxury Effect */
.who-image-wrap{
    overflow:hidden;
}

.who-image-wrap img{
    transition:transform 1.5s ease;
    animation:floatImage 6s ease-in-out infinite;
}

.who-image-wrap:hover img{
    transform:scale(1.06);
}

@keyframes floatImage{
    0%{
        transform:translateY(0px);
    }
    50%{
        transform:translateY(-12px);
    }
    100%{
        transform:translateY(0px);
    }
}

/* Border Animation */
.image-border{
    animation:borderPulse 4s infinite ease-in-out;
}

@keyframes borderPulse{
    0%,100%{
        transform:translate(0,0);
        opacity:1;
    }
    50%{
        transform:translate(8px,-8px);
        opacity:.8;
    }
}

/* Paragraph Fade */
.who-content p{
    transition:.4s ease;
}

.who-content:hover p{
    color:#444;
}

/* Luxury Button */
.story-link{
    position:relative;
    padding-bottom:8px;
}

.story-link::after{
    content:'';
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:1px;
    background:#c9a96e;
    transition:.5s;
}

.story-link:hover::after{
    width:100%;
}

.story-link:hover{
    color:#c9a96e;
}

/* Stats Cards */
.stat-box{
    transition:.5s ease;
}

.stat-box:hover{
    transform:translateY(-10px);
}

.stat-box h3{
    background:linear-gradient(
        135deg,
        #111,
        #6f6f6f
    );
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* Number Glow */
.stat-box:hover h3{
    text-shadow:0 0 20px rgba(201,169,110,.2);
}

/* Label Animation */
.section-label span{
    position:relative;
}

.section-label span::before{
    content:'';
    position:absolute;
    left:-40px;
    top:50%;
    width:30px;
    height:1px;
    background:#c9a96e;
    transform:translateY(-50%);
}

/* Stagger Effect */
.stat-box:nth-child(1){
    transition-delay:.1s;
}
.stat-box:nth-child(2){
    transition-delay:.3s;
}
.stat-box:nth-child(3){
    transition-delay:.5s;
}





/* ===================================
   SERVICES SECTION
=================================== */

.services-section {
    background: #F0EBE4;
    padding: 50px 0;
}

.services-top{

    display:grid;

    gap:60px;

    margin-bottom:40px;

}

.section-tag span{

    display:block;

    font-size:11px;

    letter-spacing:4px;

    text-transform:uppercase;

    color:#a79d90;

    margin-bottom:10px;

}

.section-tag small{

    color:#c0b7ab;

    font-size:12px;

}

.services-heading{

    max-width:1000px;

    margin-left:auto;

}

.services-heading h2{

    color:#222;

    text-align:right;

    margin-bottom:25px;

}

.services-heading p{

    margin-left:auto;

    text-align:right;

    color:#6b6b6b;

    font-size:16px;

    line-height:2;

}

/* ===================================
   GRID
=================================== */

.services-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:22px;

}

/* ===================================
   CARD
=================================== */

.service-card{

    background:#fff;
    overflow:hidden;
    position: relative;

}

.service-card img{

    width:100%;

    height:260px;

    object-fit:cover;

    display:block;

}

.service-content{

    padding:28px;

}

.service-number{

    display:block;

    font-family:'Playfair Display',serif;

    font-size:34px;

    color:#b9aa95;

    margin-bottom:10px;

}

.service-content h3{

    font-size:24px;

    color:#222;

    margin-bottom:15px;
    
    text-transform: capitalize;

}

.service-content p{

    font-size:15px !important;

    color:#666;

    line-height:2;

    margin-bottom:25px;

}

.service-content a{

    color:#111;

    font-size:12px;

    font-weight:500;

    letter-spacing:1px;

    text-transform:uppercase;
position: absolute;
    bottom: 17px;

}



/* ===================================
   LUXURY SERVICE ANIMATIONS
=================================== */

/* Initial Reveal Animation */
.service-card{
    opacity:0;
    transform:translateY(60px);
    transition:
        transform .8s cubic-bezier(.22,.61,.36,1),
        opacity .8s ease,
        box-shadow .5s ease;
}

.service-card.active{
    opacity:1;
    transform:translateY(0);
}

/* Luxury Hover */
.service-card:hover{
    transform:translateY(-12px);
    box-shadow:
        0 30px 80px rgba(0,0,0,.12);
}

/* Gold Top Border */
.service-card::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:0;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent,
        #c8a46a,
        transparent
    );
    transition:1s ease;
    z-index:5;
}

.service-card:hover::before{
    width:100%;
}

/* Image Container */
.service-card{
    position:relative;
}

.service-card img{
    transition:
        transform 1.5s ease,
        filter .8s ease;
}

.service-card:hover img{
    transform:scale(1.08);
    filter:brightness(1.05);
}

/* Luxury Dark Overlay */
.service-card::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.08),
        transparent 40%
    );
    opacity:0;
    transition:.5s;
    pointer-events:none;
}

.service-card:hover::after{
    opacity:1;
}

/* Service Number */
.service-number{
    position:relative;
    display:inline-block;
    transition:.5s;
}

.service-card:hover .service-number{
    transform:translateX(8px);
    color:#c8a46a;
}

/* Heading */
.service-content h3{
    transition:.4s ease;
}

.service-card:hover h3{
    color:#b18b52;
}

/* Link Animation */
.service-content a{
    position:absolute;
    bottom:20px;
    left:28px;
    overflow:hidden;
}

.service-content a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-3px;
    width:0;
    height:1px;
    background:#c8a46a;
    transition:.5s;
}

.service-card:hover a::after{
    width:100%;
}

/* Shimmer Effect */
.service-card:hover .service-content{
    background:
        linear-gradient(
            120deg,
            transparent 30%,
            rgba(255,255,255,.25) 50%,
            transparent 70%
        );
    background-size:250% 100%;
    animation:luxuryShimmer 1.8s ease;
}

@keyframes luxuryShimmer{
    from{
        background-position:-200% 0;
    }
    to{
        background-position:200% 0;
    }
}



/* Heading Gold Line */
.services-heading h2{
    position:relative;
}

.services-heading h2::after{
    content:'';
    position:absolute;
    right:0;
    bottom:-15px;
    width:120px;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent,
        #c8a46a,
        transparent
    );
    animation:goldLineMove 4s linear infinite;
}

@keyframes goldLineMove{
    0%{
        transform:translateX(-80px);
    }
    100%{
        transform:translateX(80px);
    }
}

/* Section Tag Animation */
.section-tag span{
    position:relative;
}

.section-tag span::before{
    content:'';
    position:absolute;
    left:-40px;
    top:50%;
    width:30px;
    height:1px;
    background:#c8a46a;
}

/* Stagger Delay */
.service-card:nth-child(1){transition-delay:.1s;}
.service-card:nth-child(2){transition-delay:.2s;}
.service-card:nth-child(3){transition-delay:.3s;}
.service-card:nth-child(4){transition-delay:.4s;}
.service-card:nth-child(5){transition-delay:.5s;}
.service-card:nth-child(6){transition-delay:.6s;}










/* ====================================
   OUR STANDARD
==================================== */

.standard-section{

    background:#111111;

    padding:60px 0;

}

.standard-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    margin-bottom:30px;

}

.standard-header .section-tag span{

    display:block;

    color:#9e9180;

    font-size:11px;

    letter-spacing:4px;

    text-transform:uppercase;

    margin-bottom:8px;

}

.standard-header .section-tag small{

    color:#8d8377;

    font-size:12px;

}

.view-all-btn{

    width:110px;

    height:40px;

    border:1px solid rgba(255,255,255,.25);

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:11px;

    letter-spacing:2px;

    transition:.3s;

}

.view-all-btn:hover{

    background:#fff;

    color:#111;

}

.standard-title{

    margin-bottom:40px;

}

.standard-title h2{

    max-width:1050px;

    color:#fff;

}

/* ====================================
   TOP GRID
==================================== */

.standard-top-grid{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:25px;

    margin-bottom:25px;

}

.standard-main-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}

.standard-content{

    background:#1a1a1a;

    padding:35px;

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.standard-content p{

    color:#a8a8a8;

    font-size:14px;

    line-height:2;

    margin-bottom:22px;

}

.standard-content p:last-child{

    margin-bottom:0;

}

/* ====================================
   GALLERY
==================================== */

.standard-gallery{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}

.gallery-item{

    overflow:hidden;

}

.gallery-item img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.4s;

}

.gallery-item:hover img{

    transform:scale(1.05);

}

.gallery-wide{

    grid-column:span 2;

}

/* ====================================
   PROCESS SECTION
==================================== */

.process-section{

    background:#111111;

    padding:70px 0;

}

.process-section .container{

    max-width:1400px;

}

/* ========================= */

.process-section .section-tag{

    margin-bottom:40px;

}

.process-section .section-tag span{

    display:block;

    color:#a89a87;

    font-size:11px;

    letter-spacing:4px;

    text-transform:uppercase;

    margin-bottom:8px;

}

.process-section .section-tag small{

    color:#8f8578;

    font-size:12px;

}

/* ========================= */

.process-title{

    color:#ffffff;

    margin-bottom:80px;

}

/* ========================= */

.process-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:0;

}

.process-card{

    padding:30px 28px 20px;

    border-left:1px solid rgba(255,255,255,.08);

}



/* ========================= */

.process-number{

    display:block;

    font-family:'Playfair Display',serif;

    font-size:58px;

    line-height:1;

    color:#d8c8b2;

    margin-bottom:25px;

}

.process-card h3{

    color:#ffffff;

    font-size:34px;

    line-height:1.2;

    margin-bottom:18px;

}

.process-card p{

    color:#8c8c8c;

    font-size:15px;

    line-height:2;

    max-width:260px;

}



/* ====================================
   PROCESS LUXURY ANIMATION
==================================== */

/* Reveal Animation */
.process-card,
.testimonial-content{
    opacity:0;
    transform:translateY(60px);
    transition:all 1s cubic-bezier(.22,.61,.36,1);
}

.process-card.active,
.testimonial-content.active{
    opacity:1;
    transform:translateY(0);
}

/* Stagger Effect */
.process-card:nth-child(1){transition-delay:.1s;}
.process-card:nth-child(2){transition-delay:.25s;}
.process-card:nth-child(3){transition-delay:.4s;}
.process-card:nth-child(4){transition-delay:.55s;}

/* Card Design */
.process-card{
    position:relative;
    overflow:hidden;
    transition:.5s ease;
    border-left:1px solid rgba(255,255,255,.08);
}

.process-card:hover{
    background:rgba(255,255,255,.03);
    transform:translateY(-12px);
}

/* Gold Border Animation */
.process-card::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:0;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent,
        #d8c8b2,
        transparent
    );
    transition:1s ease;
}

.process-card:hover::before{
    width:100%;
}

/* Number Animation */
.process-number{
    transition:.6s ease;
}

.process-card:hover .process-number{
    color:#e6d3b8;
    transform:translateX(10px);
}

/* Heading */
.process-card h3{
    transition:.4s ease;
}

.process-card:hover h3{
    color:#d8c8b2;
}

/* Paragraph */
.process-card p{
    transition:.4s ease;
}

.process-card:hover p{
    color:#c4c4c4;
}

/* Luxury Shimmer */
.process-card::after{
    content:'';
    position:absolute;
    top:0;
    left:-150%;
    width:80%;
    height:100%;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.05),
            transparent
        );
    transform:skewX(-20deg);
}

.process-card:hover::after{
    animation:cardShimmer 1.5s ease;
}

@keyframes cardShimmer{
    100%{
        left:180%;
    }
}

/* Section Title */
.process-title{
    position:relative;
    display:inline-block;
}

.process-title::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-15px;
    width:120px;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent,
        #d8c8b2,
        transparent
    );
    animation:goldFlow 4s linear infinite;
}

@keyframes goldFlow{
    0%{
        transform:translateX(-80px);
    }
    100%{
        transform:translateX(80px);
    }
}

/* Section Tag */
.process-section .section-tag span{
    position:relative;
}

.process-section .section-tag span::before{
    content:'';
    position:absolute;
    left:-40px;
    top:50%;
    width:30px;
    height:1px;
    background:#d8c8b2;
}

/* ====================================
   TESTIMONIAL LUXURY
==================================== */

.testimonial-section{
    background:#0f0f0f;
    padding:70px 0;
    text-align:center;
    overflow:hidden;
}

.testimonial-content{
    max-width:950px;
    margin:auto;
    position:relative;
}

.quote-icon{
    width:80px;
    opacity:.15;
    margin-bottom:40px;
    animation:floatQuote 6s ease-in-out infinite;
}

@keyframes floatQuote{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-12px);
    }
}

.testimonial-content h2{
    color:#fff;
    font-size:56px;
    line-height:1.4;
    font-weight:400;
    margin-bottom:50px;
    position:relative;
}

.testimonial-content h2::after{
    content:'';
    position:absolute;
    left:50%;
    bottom:-25px;
    transform:translateX(-50%);
    width:140px;
    height:1px;
    background:#d8c8b2;
}

/* Name */
.testimonial-content h4{
    color:#d8c8b2;
    font-size:14px;
    letter-spacing:4px;
    margin-bottom:10px;
}

/* Location */
.testimonial-content p{
    color:#888;
    font-size:14px;
    letter-spacing:1px;
}

/* Glow Effect */
.testimonial-content::before{
    content:'';
    position:absolute;
    width:500px;
    height:500px;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    background:
        radial-gradient(
            rgba(216,200,178,.08),
            transparent 70%
        );
    pointer-events:none;
}






/* ====================================
   TESTIMONIAL SECTION
==================================== */

.testimonial-section{

    background:#F0EBE4;

    padding:120px 0;

}

.testimonial-content{

    max-width:1200px;

    margin:0 auto;

    text-align:center;

}

/* ========================= */

.quote-icon{

    width:40px;

    height:auto;

    margin:0 auto 50px;

    opacity:.9;

}

/* ========================= */

.testimonial-content h2{

    margin:0 auto 20px;

    font-family:'Playfair Display',serif;

    font-style:italic;

    font-weight:400;

    font-size:54px;

    line-height:1.25;

    color:#222222;

}

/* ========================= */

.testimonial-content h4{

    font-family:'Outfit',sans-serif;

    font-size:14px;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    color:#222222;

    margin-bottom:15px;

}

/* ========================= */

.testimonial-content p{

    font-size:14px;

    color:#8c8c8c;

    line-height:1.8;

}

/* ====================================
   CTA BANNER
==================================== */

.cta-banner{

    position:relative;

    min-height:700px;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    background:url('/assets/images/abd2.webp') center center/cover no-repeat;

    overflow:hidden;

}

.cta-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.65);

}

.cta-content{

    position:relative;

    z-index:2;

    max-width:1100px;

    margin:auto;

}

/* ========================= */

.cta-subtitle{

    display:block;

    color:#d2c6b6;

    font-size:11px;

    letter-spacing:4px;

    text-transform:uppercase;

    margin-bottom:30px;

}

/* ========================= */

.cta-content h2{

    color:#ffffff;

    margin:0 auto 40px;

    font-size:52px;

    line-height:1.3;

    font-weight:400;

}

/* ========================= */

.cta-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:200px;
    
    height:56px;

    background:#c7a96b;

    color:#111111;

    font-size:12px;

    font-weight:500;

    letter-spacing:1.5px;

    text-transform:uppercase;

    transition:.3s ease;

}

.cta-btn:hover{

    background:#ffffff;

    color:#111111;

}


/* ====================================
   CTA LUXURY ANIMATION
==================================== */

/* Banner */
.cta-banner {
    position: relative;
    overflow: hidden;
    background-attachment: scroll;
}

.cta-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('/assets/images/bggg1.webp') center top / cover no-repeat;
    animation: none !important;
    transform: none !important;
    z-index: 0;
}

/* Remove Dark Overlay */
.cta-overlay{
    background:
    linear-gradient(
        180deg,
        rgba(0,0,0,.55),
        rgba(0,0,0,.75)
    );
    z-index:1;
}

/* Content Reveal */
.cta-content{
    opacity:0;
    transform:translateY(60px);
    transition:all 1.2s cubic-bezier(.22,.61,.36,1);
}

.cta-content.active{
    opacity:1;
    transform:translateY(0);
}

/* Subtitle */
.cta-subtitle{
    position:relative;
    display:inline-block;
}

.cta-subtitle::before,
.cta-subtitle::after{
    content:'';
    position:absolute;
    top:50%;
    width:50px;
    height:1px;
    background:#c7a96b;
}

.cta-subtitle::before{
    right:100%;
    margin-right:20px;
}

.cta-subtitle::after{
    left:100%;
    margin-left:20px;
}

/* Gold Shimmer */
.cta-subtitle{
    background:linear-gradient(
        90deg,
        #b08d57,
        #f6e4b6,
        #b08d57
    );
    background-size:300% auto;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:goldShimmer 5s linear infinite;
}

@keyframes goldShimmer{
    0%{
        background-position:0% center;
    }
    100%{
        background-position:300% center;
    }
}

/* Heading */
.cta-content h2{
    position:relative;
    overflow:hidden;
}

.cta-content h2::after{
    content:'';
    position:absolute;
    left:50%;
    bottom:-18px;
    width:160px;
    height:2px;
    transform:translateX(-50%);
    background:linear-gradient(
        90deg,
        transparent,
        #c7a96b,
        transparent
    );
    animation:goldLine 4s linear infinite;
}

@keyframes goldLine{
    0%{
        width:80px;
    }
    50%{
        width:200px;
    }
    100%{
        width:80px;
    }
}

/* ====================================
   LUXURY BUTTON
==================================== */

.cta-btn{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.15);
    transition:all .5s ease;
    box-shadow:
        0 15px 40px rgba(199,169,107,.15);
}

/* Shine Effect */
.cta-btn::before{
    content:'';
    position:absolute;
    top:0;
    left:-120%;
    width:60%;
    height:100%;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.5),
            transparent
        );
    transform:skewX(-25deg);
}

.cta-btn:hover::before{
    animation:btnShine 1s ease;
}

@keyframes btnShine{
    100%{
        left:160%;
    }
}

/* Glow Border */
.cta-btn::after{
    content:'';
    position:absolute;
    inset:-2px;
    border:1px solid rgba(199,169,107,.4);
    opacity:0;
    transition:.4s;
}

.cta-btn:hover::after{
    opacity:1;
    inset:-6px;
}

/* Hover Effect */
.cta-btn:hover{
    background:#fff;
    color:#111;
    transform:translateY(-5px);
    box-shadow:
        0 20px 50px rgba(199,169,107,.25);
}

/* Floating Glow */
.cta-banner .container{
    position:relative;
    z-index:2;
}

.cta-banner .container::before{
    content:'';
    position:absolute;
    width:500px;
    height:500px;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    background:
        radial-gradient(
            rgba(199,169,107,.08),
            transparent 70%
        );
    pointer-events:none;
    animation:glowPulse 6s ease infinite;
}

@keyframes glowPulse{
    0%,100%{
        transform:translate(-50%,-50%) scale(1);
    }
    50%{
        transform:translate(-50%,-50%) scale(1.2);
    }
}


/* ===================================
   CONTACT BANNER
=================================== */

.contact-banner{

    position:relative;

    overflow:hidden;

    background:#111;
    
    padding: 0px;

}

.contact-banner-image{

    width:100%;

    margin:0 auto;

}

.contact-banner-image img{

    width:100%;

    height:auto;

    display:block;

    object-fit:cover;

}

/* ===================================
   CONTACT INFO SECTION
=================================== */

.contact-info-section{

    background:#F0EBE4;

    padding:100px 0;

}

.contact-info-title{

    text-align:center;

    color:#222;

    margin-bottom:60px;

}

/* ========================= */

.contact-info-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:22px;

}

/* ========================= */

.contact-info-card {
    background: #0f0f10;
    border-radius: 8px;
    min-height: 120px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 25px;
    transition: .3s ease;
    flex-wrap: nowrap;
    align-content: center;
    flex-direction: row;
    justify-content: center;
}

.contact-info-card:hover{

    transform:translateY(-4px);

}

/* ========================= */

.contact-icon {
    flex-shrink: 0;
    padding-top: 12px;
}

.contact-icon img{

    width:26px;

    height:26px;

    object-fit:contain;

}

/* ========================= */

.contact-text{

    text-align:left;

}

.contact-text h3{

    font-family:'Outfit',sans-serif;

    font-size:20px !important;

    font-weight:500;

    color:#ffffff;

    margin-bottom:5px;

}

.contact-text a,
.contact-text p{

    color:#c7c7c7;

    font-size:14px;

    line-height:1.6;

    margin:0;

}

.contact-text a:hover{

    color:#ffffff;

}

/* ===================================
   CONTACT SECTION
=================================== */

.contact-section{

    background:#111111;

    padding:120px 0;

}

.contact-wrapper{

    display:grid;

    grid-template-columns:1fr 1.1fr;

    gap:80px;

    align-items:start;

}

/* LEFT */

.contact-info{

    padding-top:80px;

}

.contact-info p{

    color:#b7b7b7;

    font-size:16px;

    line-height:2;

    margin-bottom:30px;

}

.info-block{

    margin-top:50px;

}

.info-block h3{

    color:#ffffff;

    font-size:22px;

    margin-bottom:15px;

}

/* RIGHT */

.contact-form-area h2{

    color:#fff;

    margin-bottom:10px;

}

.form-subtitle{

    color:#b7b7b7;

    margin-bottom:35px;

    max-width:500px;

}

/* FORM */

.contact-form-area form{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:15px;

}

.contact-form-area input,
.contact-form-area textarea{

    width:100%;

    background:#1a1a1a;

    border:1px solid #333;

    color:#fff;

    padding:16px 18px;

    border-radius:4px;

    font-size:15px;

    outline:none;

}

.contact-form-area textarea{

    resize:none;

}

.contact-form-area input:focus,
.contact-form-area textarea:focus{

    border-color:#c8a96b;

}

.contact-form-area button{

    height:49px !important;

    border:none;

    background:#c8a96b;

    color:#111;

    font-size:13px !important;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.contact-form-area button:hover{

    background:#d8b777;

}


/* ===================================
   HOW WE WORK
=================================== */

.work-philosophy{

    background:#0f0f0f;
    padding:70px 0;
    overflow:hidden;
    position:relative;

}

.work-philosophy::before{

    content:'';
    position:absolute;
    width:600px;
    height:600px;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    background:
        radial-gradient(
            rgba(199,169,107,.05),
            transparent 70%
        );

    pointer-events:none;

}

.philosophy-content{

    max-width:1100px;
    margin:auto;
    text-align:center;

    opacity:0;
    transform:translateY(50px);

    transition:all 1.2s cubic-bezier(.22,.61,.36,1);

}

.philosophy-content.active{

    opacity:1;
    transform:translateY(0);

}

/* Section Number */

.section-number{

    display:block;

    color:#c7a96b;

    font-size:12px;

    letter-spacing:5px;

    margin-bottom:20px;

    text-transform:uppercase;

}

/* Heading */

.philosophy-content h2{

    color:#fff;

    font-size:72px;

    font-weight:400;

    margin-bottom:30px;

    position:relative;

}

/* Gold Line */

.gold-line{

    width:120px;
    height:2px;

    margin:0 auto 50px;

    background:linear-gradient(
        90deg,
        transparent,
        #c7a96b,
        transparent
    );

    animation:goldFlow 4s linear infinite;

}

@keyframes goldFlow{

    0%{
        transform:scaleX(.5);
    }

    50%{
        transform:scaleX(1.3);
    }

    100%{
        transform:scaleX(.5);
    }

}

/* Paragraphs */

.philosophy-content p{

    color:#bdbdbd;

    font-size:16px !important;

    line-height:2;

    margin-bottom:32px;

    margin-left:auto;
    margin-right:auto;

    transition:.4s ease;

}

.philosophy-content p:hover{

    color:#ffffff;

}

/* Elegant text reveal */

.philosophy-content p{

    animation:fadeUpText 1s ease both;

}

.philosophy-content p:nth-child(4){animation-delay:.2s;}
.philosophy-content p:nth-child(5){animation-delay:.4s;}
.philosophy-content p:nth-child(6){animation-delay:.6s;}
.philosophy-content p:nth-child(7){animation-delay:.8s;}
.philosophy-content p:nth-child(8){animation-delay:1s;}

@keyframes fadeUpText{

    from{
        opacity:0;
        transform:translateY(30px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

.fleet-section {
    position: relative;
    padding: 20px 0;
    background-color: #F8F6F2;
    padding: 80px 20px;
}

.fleet-title{
    color: #222;
  margin-bottom: 50px;
    font-size: 56px;
    line-height: 61px;
    letter-spacing: -1px;
}

.accordion-item{
background:#fff;
margin-bottom:22px;
box-shadow:0 2px 10px rgba(0,0,0,.08);
overflow:hidden;
}

.accordion-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 28px 35px;
    background: #fff;
    border: none;
    cursor: pointer;
    font-size: 24px;
       font-family: 'Playfair Display';
    font-weight: 600;
    letter-spacing: 2px;
    border-bottom: 1px solid #0000007d;
}

.icon {
    width: 18px;
    height: 18px;
    position: relative;
    flex-shrink: 0;
    transition: transform .3s ease;
}

/* Chevron */
.icon::before,
.icon::after {
    content: "";
    position: absolute;
    top: 8px;
    width: 10px;
    height: 2px;
    background: #111;
    transition: .3s;
}

.icon::before {
    left: 1px;
    transform: rotate(45deg);
}

.icon::after {
    right: 1px;
    transform: rotate(-45deg);
}

/* Open State */
.accordion-item.active .icon {
    transform: rotate(180deg);
}

.accordion-content{
max-height:0;
overflow:hidden;
transition:max-height .45s ease;
}

.accordion-item.active .accordion-content{
max-height:900px;
}

.fleet-content {
    display: grid;
    grid-template-columns: 45% 51%;
    gap: 45px;
    padding: 35px;
}

.fleet-image img{
width:100%;
display:block;
}

.feature-list{

display:flex;
flex-wrap:wrap;
gap:12px;
margin-bottom:25px;

}

.feature{

display:flex;
align-items:center;
gap:8px;

background:#EDDEC7;

padding:9px 14px;

font-size:14px;
color: #112211;

}

.feature img{
width:18px;
}

.fleet-info p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 30px;
    color: #112211;
}

.btn-book{

display:inline-block;

background:#bb9655;
color:#fff;

padding:14px 34px;

text-decoration:none;

letter-spacing:1px;
font-weight:600;

transition:.3s;

}

.btn-book:hover{
background:#a17b3e;
}

/*=====================================
  SWISS ALPINE TRANSFER
=====================================*/

.alpine-transfer-section {
    padding: 0px 0;
    background: #f0ebe4;
}

.alpine-transfer-container {
    max-width: 1400px;
    margin: auto;
    padding: 0px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 40px;
}

.alpine-transfer-left{
    flex:1;
}

.alpine-country-tag{
    display:inline-block;
    padding:8px 18px;
    border:1px solid #c9a96b;
    color:#b18a46;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:18px;
    font-weight:500;
}

.alpine-transfer-title{
    margin:0;
    color:#1c1c1c;
    font-family:'Playfair Display', serif;
    font-size:62px;
    font-weight:400;
    line-height:1.05;
}

.alpine-transfer-right{
    width:560px;
    padding-top:20px;
}

.alpine-transfer-right p {
    margin: 0;
    color: #303030;
    font-size: 16px;
    line-height: 1.9;
    text-align: left;
}
h2.alpine-transfer-title:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -15px;
    width: 220px;
    height: 2px;
    background: linear-gradient(90deg, transparent, #c8a46a, transparent);
    animation: goldLineMove 4s linear infinite;
}


/* ==================================================
   SKI TRANSFER PROCESS SECTION
================================================== */

.ski-process-section {
    position: relative;
    width: 100%;
    padding: 54px 0 54px;
    background: #191919;
    color: #ffffff;
    overflow: hidden;
}

.ski-process-container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 60px;
}

/* ==================================================
   HEADER
================================================== */

.ski-process-header {
    max-width: 1320px;
    margin-bottom: 38px;
}

.ski-process-title {
    margin: 0 0 14px;
    color: #ffffff;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 52px;
    line-height: 1.08;
    font-weight: 400;
    letter-spacing: -1px;
}

.ski-process-intro {
    max-width: 1280px;
    margin: 0;
    color: rgba(255, 255, 255, 0.94);
    font-family: Arial, sans-serif;
    font-size: 17px;
    line-height: 1.45;
    font-weight: 400;
}

/* ==================================================
   PROCESS GRID
================================================== */

.ski-process-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    width: 100%;
    border-top: 1px solid rgba(201, 165, 92, 0.28);
    border-bottom: 1px solid rgba(201, 165, 92, 0.28);
    border-left: 1px solid rgba(201, 165, 92, 0.28);
}

.ski-process-card {
    position: relative;
    min-height: 255px;
    padding: 22px 15px 24px;
    border-right: 1px solid rgba(201, 165, 92, 0.28);
    background: transparent;
    transition:
        background-color 0.35s ease,
        transform 0.35s ease;
}

.ski-process-step {
    display: block;
    margin-bottom: 18px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 12px;
    line-height: 1.35;
    font-weight: 400;
}

.ski-process-card h3 {
    margin: 0 0 13px;
    color: #bd9953;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 20px;
    line-height: 1.12;
    font-weight: 400;
}

.ski-process-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
    line-height: 1.75;
    font-weight: 400;
}

/* Optional subtle hover */

.ski-process-card:hover {
    background: rgba(255, 255, 255, 0.025);
}

/* ==================================================
   BOTTOM TEXT
================================================== */

.ski-process-footer {
    margin-top: 24px;
}

.ski-process-footer p {
    margin: 0;
    color: rgba(255, 255, 255, 0.96);
    font-size: 17px;
    line-height: 1.45;
    font-weight: 400;
}

.ski-process-footer a {
    color: #c7a052;
    text-decoration: none;
    transition: color 0.3s ease;
}

.ski-process-footer a:hover {
    color: #e0c07c;
}



/* ==================================================
   LUXURY SERVICES SECTION
================================================== */

.gc-luxury-services {
    position: relative;
    padding: 80px 0;
    background: #f4f1eb;
    overflow: hidden;
}

.gc-luxury-services__container {
    width: min(100% - 64px, 1330px);
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 30px;
}


/* ==================================================
   SERVICE CARD
================================================== */

.gc-service-card {
    position: relative;

    display: grid;
    grid-template-columns: minmax(220px, 47%) minmax(0, 53%);
    min-height: 430px;

    background: #fbfaf7;
    box-shadow: 0 8px 24px rgba(31, 25, 18, 0.07);

    overflow: hidden;
    isolation: isolate;

    opacity: 0;
    transform: translateY(24px);

    animation: gcCardReveal 0.8s cubic-bezier(.22, 1, .36, 1) forwards;

    transition:
        transform 0.45s cubic-bezier(.22, 1, .36, 1),
        box-shadow 0.45s ease;
}


/* Staggered luxury reveal */

.gc-service-card:nth-child(1) {
    animation-delay: 0.05s;
}

.gc-service-card:nth-child(2) {
    animation-delay: 0.12s;
}

.gc-service-card:nth-child(3) {
    animation-delay: 0.19s;
}

.gc-service-card:nth-child(4) {
    animation-delay: 0.26s;
}

.gc-service-card:nth-child(5) {
    animation-delay: 0.33s;
}

.gc-service-card:nth-child(6) {
    animation-delay: 0.4s;
}

@keyframes gcCardReveal {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ==================================================
   IMAGE
================================================== */

.gc-service-card__image-wrap {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    background: #d8d1c7;
}

.gc-service-card__image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(12, 10, 7, 0.02),
            rgba(12, 10, 7, 0.13)
        );

    pointer-events: none;
    transition: opacity 0.5s ease;
}

.gc-service-card__image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 430px;

    object-fit: cover;
    object-position: center;

    transform: scale(1.001);

    transition:
        transform 0.9s cubic-bezier(.22, 1, .36, 1),
        filter 0.6s ease;
}


/* ==================================================
   CONTENT
================================================== */

.gc-service-card__content {
    display: flex;
    flex-direction: column;

    padding: 27px 30px 25px;
}

.gc-service-card__title {
    margin: 0 0 26px;

    color: #231f1b;

    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(31px, 2.25vw, 42px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -1px;
}

.gc-service-card__content p {
    margin: 0 0 18px;

    color: #25211d;

    font-size: 16px;
    font-weight: 400;
    line-height: 1.85;
}

.gc-service-card__link {
    position: relative;

    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 6px;

    margin-top: auto;
    padding: 8px 0 2px;

    color: #bf9347;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;

    transition:
        color 0.3s ease,
        gap 0.3s ease;
}

.gc-service-card__link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;

    width: 0;
    height: 1px;

    background: currentColor;

    transition: width 0.35s cubic-bezier(.22, 1, .36, 1);
}

.gc-service-card__link span {
    display: inline-block;
    transition: transform 0.3s ease;
}


/* ==================================================
   SUBTLE LUXURY HOVER
================================================== */

@media (hover: hover) {

    .gc-service-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 18px 42px rgba(31, 25, 18, 0.13);
    }

    .gc-service-card:hover .gc-service-card__image {
        transform: scale(1.045);
        filter: contrast(1.02) saturate(0.96);
    }

    .gc-service-card:hover .gc-service-card__image-wrap::after {
        opacity: 0.55;
    }

    .gc-service-card__link:hover {
        color: #9e732d;
        gap: 10px;
    }

    .gc-service-card__link:hover::after {
        width: 100%;
    }

    .gc-service-card__link:hover span {
        transform: translateX(2px);
    }
}



.gc-booking{background:var(--gc-bg);color:#fff;font-family:var(--gc-font-sans);padding:50px 20px 80px}.gc-booking__shell{max-width:1320px;margin:auto}.gc-stepper{display:flex;align-items:center;justify-content:center;margin:0 auto 45px;max-width:520px}.gc-stepper__item{background:none;border:0;color:#777;text-align:center}.gc-stepper__item span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #555;border-radius:50%;margin:auto;font-weight:600}.gc-stepper__item small{display:block;margin-top:7px}.gc-stepper__item.is-active,.gc-stepper__item.is-complete{color:var(--gc-gold)}.gc-stepper__item.is-active span,.gc-stepper__item.is-complete span{border-color:var(--gc-gold);background:var(--gc-gold);color:#111}.gc-stepper__line{width:90px;height:1px;background:#444;margin:0 10px 20px}.gc-panel{display:none}.gc-panel.is-active{display:block;animation:fade .35s ease}@keyframes fade{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
.gc-grid--journey{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:100px;align-items:center;max-width:1080px;margin:auto}.gc-panel__content h1,.gc-section-heading h2{font-family:var(--gc-font-serif);font-size:46px;line-height:1.1;margin:0 0 14px;font-weight:500}.gc-lead,.gc-section-heading p{color:#d0d0d0;line-height:1.55;font-size:14px;max-width:610px}.gc-tabs{display:flex;gap:16px;margin:38px 0 14px}.gc-tab{min-width:130px;height:44px;border:0;border-radius:5px;background:#8a8a8a;color:#fff;font-weight:500;cursor:pointer}.gc-tab.is-active{background:#f4efe7;color:#111}.gc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gc-field{display:block}.gc-field--full{grid-column:1/-1}.gc-input-wrap{position:relative;display:flex;align-items:center}.gc-input-wrap i{position:absolute;left:14px;color:var(--gc-gold);font-style:normal;font-size:15px;z-index:1}.gc-field input,.gc-field select,.gc-field textarea{width:100%;border:1px solid #444;background:#242424;color:#fff;border-radius:5px;min-height:48px;padding:0 15px;font:inherit;outline:none}.gc-input-wrap input,.gc-input-wrap select{padding-left:42px}.gc-field textarea{padding:14px;resize:vertical}.gc-field input:focus,.gc-field select:focus,.gc-field textarea:focus{border-color:var(--gc-gold)}.gc-field input::placeholder,.gc-field textarea::placeholder{color:#999}.gc-error{display:block;color:#ff8d8d;font-size:12px;min-height:0}.gc-field.has-error .gc-error{padding-top:5px}.gc-btn{border:0;border-radius:4px;min-height:46px;padding:0 30px;font:600 14px var(--gc-font-sans);cursor:pointer}.gc-btn--gold{background:var(--gc-gold);color:#111}.gc-btn--outline{background:transparent;color:var(--gc-gold);border:1px solid var(--gc-gold)}.gc-btn--wide{width:100%;margin-top:14px}.gc-preview-stack{display:grid;gap:28px}.gc-mini-car{background:var(--gc-card);color:#111;padding:14px 22px}.gc-mini-car h3{font-family:var(--gc-font-serif);font-size:14px;letter-spacing:1px;margin:0 0 8px}.gc-mini-car div{display:flex;align-items:center;gap:20px}.gc-mini-car img{width:42%;max-height:86px;object-fit:contain}.gc-mini-car span{font-size:10px;color:#555}
.gc-vehicle-layout,.gc-booking-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.9fr);gap:55px;align-items:start}.gc-car-list{display:grid;gap:28px}.gc-car-card{background:var(--gc-card);color:#111;padding:22px 28px;display:grid;grid-template-columns:42% 1fr;gap:24px;align-items:center;border:2px solid transparent}.gc-car-card.is-selected{border-color:var(--gc-gold)}.gc-car-card h3{font-family:var(--gc-font-serif);font-size:18px;letter-spacing:1px;margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid #d4cec4}.gc-car-card img{width:100%;max-height:150px;object-fit:contain}.gc-car-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.gc-car-tags span{font-size:10px;background:#e8d7b2;padding:5px 7px}.gc-car-features{list-style:none;padding:0;margin:0 0 12px;font-size:11px;line-height:1.7}.gc-car-select{float:right;background:#171717;color:#e9c36d;border:0;padding:8px 25px;cursor:pointer}.gc-trip-card{position:sticky;background:var(--gc-card);color:#111;padding:28px}.gc-trip-card h3{font-family:var(--gc-font-serif);font-size:20px;margin:0 0 25px;padding-bottom:16px;border-bottom:1px solid #d8d1c8}.gc-trip-row{margin:18px 0}.gc-trip-row span{display:block;text-transform:uppercase;color:#a8a9ba;font-size:11px;font-weight:600;margin-bottom:5px}.gc-trip-row strong{font-size:13px;line-height:1.4}.gc-trip-meta{display:grid;gap:14px;border-top:1px solid #ddd3c7;padding-top:20px;margin-top:20px;font-size:13px}.gc-trip-card iframe{width:100%;height:245px;border:0;margin-top:25px;background:#ddd}.gc-section-heading--left{margin-bottom:25px}.gc-section-heading--left h2{font-size:42px}.gc-booking-layout .gc-form-grid{gap:12px}.gc-checks{display:flex;gap:28px;margin:16px 0 24px;color:#aaa;font-size:13px}.gc-actions{display:flex;gap:34px}.gc-actions .gc-btn{min-width:190px}.gc-final-summary{display:grid;gap:25px}.gc-selected-summary{background:var(--gc-card);color:#111;padding:22px}.gc-selected-summary h3{font-family:var(--gc-font-serif);margin:0 0 12px;border-bottom:1px solid #d8d1c8;padding-bottom:12px}.gc-selected-summary img{width:45%;vertical-align:middle}.gc-selected-summary .gc-car-tags{display:inline-flex;max-width:100%;vertical-align:middle}.gc-trip-card--light{position:static}
.gc-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:25px}.gc-modal.is-open{display:flex}.gc-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78)}.gc-modal__dialog{position:relative;z-index:1;width:min(92vw,1080px);max-height:90vh;overflow:auto;background:#181818;color:#fff;border:2px solid #0a9cff;padding:55px 65px;box-shadow:0 25px 80px rgba(0,0,0,.55)}.gc-modal__dialog h2{font-size:38px;margin:0 0 35px}.gc-modal__close{position:absolute;right:22px;top:18px;border:0;background:none;color:#aaa;font-size:28px;cursor:pointer}.gc-review-summary-top{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:0 10px 28px;border-bottom:1px solid #555}.gc-review-summary-top div{display:grid;grid-template-columns:100px 1fr;gap:8px;font-size:14px}.gc-review-table{width:100%;border-collapse:collapse;margin-top:12px}.gc-review-table th,.gc-review-table td{text-align:left;padding:12px 14px;border-bottom:1px solid #3a3a3a;font-size:14px}.gc-review-table td{text-align:right}.gc-modal__actions{display:flex;justify-content:flex-end;gap:15px;margin-top:45px}.gc-modal__dialog--success{width:min(92vw,520px);background:var(--gc-card);color:#222;border:0;text-align:center;padding:50px}.gc-success-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--gc-gold);color:#fff;font-size:34px;margin:0 auto 22px}.gc-modal__dialog--success h2{font-family:var(--gc-font-sans);font-size:28px;margin-bottom:12px}.gc-modal__dialog--success p{line-height:1.5;margin-bottom:30px}.gc-honeypot{position:absolute!important;left:-9999px!important}.gc-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}body.gc-modal-open{overflow:hidden}


/* ===================================
   PRIVACY POLICY CONTENT
=================================== */

.privacy-policy-content {
    max-width: 1050px;
    margin: 0 auto;
    padding: 70px 50px;
    color: #d6d6d6;
    background: #141414;
    border: 1px solid rgba(212, 175, 55, 0.18);
    border-radius: 4px;
    font-family: "Outfit", sans-serif;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.85;
    box-sizing: border-box;
}

/* Paragraphs */
.privacy-policy-content p {
    margin: 0 0 24px;
    color: #c8c8c8;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.85;
    letter-spacing: 0.15px;
}

/* Section headings */
.privacy-policy-content h2 {
    position: relative;
    margin: 55px 0 24px;
    padding: 0 0 15px;
    color: #ffffff;
    font-family: "Playfair Display", serif;
    font-size: 30px !important;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.3px;
}

/* Luxury gold underline */
.privacy-policy-content h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 55px;
    height: 2px;
    background: linear-gradient(
        90deg,
        #a77922 0%,
        #e5c66c 50%,
        #a77922 100%
    );
}

/* Unordered and ordered lists */
.privacy-policy-content ul,
.privacy-policy-content ol {
    display: block;
    margin: 10px 0 30px;
    padding-left: 28px;
}

/* Restore bullets */
.privacy-policy-content ul {
    list-style-type: disc !important;
}

/* Restore numbering */
.privacy-policy-content ol {
    list-style-type: decimal !important;
}

/* List items */
.privacy-policy-content li {
    display: list-item !important;
    position: relative;
    margin: 0 0 13px;
    padding-left: 8px;
    color: #c8c8c8;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.75;
    letter-spacing: 0.1px;
}

/* Gold bullet dots */
.privacy-policy-content ul li::marker {
    color: #d4af37;
    font-size: 1.05em;
}

/* Gold ordered-list numbers */
.privacy-policy-content ol li::marker {
    color: #d4af37;
    font-weight: 500;
}

/* Bold text */
.privacy-policy-content strong {
    color: #f1d27a;
    font-weight: 500;
}

/* Links */
.privacy-policy-content a {
    color: #e1bd58;
    text-decoration: none;
    border-bottom: 1px solid rgba(225, 189, 88, 0.45);
    transition: color 0.3s ease, border-color 0.3s ease;
}

.privacy-policy-content a:hover {
    color: #ffffff;
    border-color: #ffffff;
}

/* Contact details */
.privacy-policy-content .privacy-contact-details {
    margin-top: 25px;
    padding: 25px 28px;
    background: rgba(255, 255, 255, 0.025);
    border-left: 3px solid #d4af37;
    font-style: normal;
}

.privacy-policy-content .privacy-contact-details p {
    margin-bottom: 0;
}

/* First paragraph */
.privacy-policy-content > p:first-child {
    color: #e3e3e3;
    font-size: 18px;
}

/* Remove unnecessary top margin from first heading */
.privacy-policy-content h2:first-of-type {
    margin-top: 45px;
}

/* ===================================
   TABLET
=================================== */

@media (max-width: 1024px) {
    .privacy-policy-content {
        padding: 55px 40px;
    }

    .privacy-policy-content h2 {
        margin-top: 45px;
        font-size: 27px;
    }
      .services-heading h2::after {
        animation: none !important;
    }
}

/* ===================================
   MOBILE
=================================== */

@media (max-width: 767px) {
    .privacy-policy-content {
        padding: 40px 22px;
        font-size: 16px;
        line-height: 1.75;
    }

    .privacy-policy-content p {
        margin-bottom: 20px;
        font-size: 15px;
        line-height: 1.75;
    }

    .privacy-policy-content > p:first-child {
        font-size: 16px;
    }

    .privacy-policy-content h2 {
        margin: 38px 0 20px;
        padding-bottom: 12px;
        font-size: 23px;
        line-height: 1.35;
    }

    .privacy-policy-content h2::after {
        width: 45px;
    }

    .privacy-policy-content ul,
    .privacy-policy-content ol {
        margin-bottom: 25px;
        padding-left: 24px;
    }

    .privacy-policy-content li {
        margin-bottom: 11px;
        padding-left: 4px;
        font-size: 15px;
        line-height: 1.7;
    }

    .privacy-policy-content .privacy-contact-details {
        padding: 20px;
    }
}


.who-content ul {
    list-style-type: disc;
    padding-left: 22px;
    margin: 15px 0;
}

.who-content ul li {
    display: list-item;
    color: #5d5d62;
    margin-bottom: 8px;
}

.who-content ul li::marker {
    color: #5d5d62;
}

.who-content h6 {
    color: #5d5d62;
}



/* Desktop table */
.privacy-table-wrapper {
    width: 100%;
    margin: 25px 0;
    overflow-x: auto;
}

.privacy-cookie-table {
    width: 100%;
    border-collapse: collapse;
}

.privacy-cookie-table th,
.privacy-cookie-table td {
    padding: 16px;
    color: #c8a96b;
    line-height: 1.6;
    text-align: left;
    vertical-align: top;
    border: 1px solid #dddddd;
}

.privacy-cookie-table th {
    color: #000;
    font-weight: 600;
    background-color: #fff;
}

.privacy-cookie-table td:first-child {
    color: #c8a96b;
    font-weight: 600;
}

/* Mobile responsive cards */
@media (max-width: 767px) {
    .privacy-table-wrapper {
        overflow: visible;
    }

    .privacy-cookie-table,
    .privacy-cookie-table tbody,
    .privacy-cookie-table tr,
    .privacy-cookie-table td {
        display: block;
        width: 100%;
    }

    .privacy-cookie-table thead {
        display: none;
    }

    .privacy-cookie-table tr {
        margin-bottom: 18px;
        overflow: hidden;
        background: #ffffff;
        border: 1px solid #dddddd;
        border-radius: 8px;
    }

    .privacy-cookie-table td {
        position: relative;
        padding: 12px 14px 12px 135px;
        border: 0;
        border-bottom: 1px solid #eeeeee;
        box-sizing: border-box;
    }

    .privacy-cookie-table td:last-child {
        border-bottom: 0;
    }

    .privacy-cookie-table td::before {
        position: absolute;
        top: 12px;
        left: 14px;
        width: 108px;
        color: #c8a96b;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.5;
    }

    .privacy-cookie-table td:nth-child(1)::before {
        content: "Category";
    }

    .privacy-cookie-table td:nth-child(2)::before {
        content: "Purpose";
    }

    .privacy-cookie-table td:nth-child(3)::before {
        content: "Duration";
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .privacy-cookie-table td {
        padding: 12px 14px;
    }

    .privacy-cookie-table td::before {
        position: static;
        display: block;
        width: auto;
        margin-bottom: 5px;
    }
}


.service-content p {
    font-size: 15px !important;
}

aside.gc-trip-card {
    top: 0px !important;
}












