/*
==================================================

ACCESS HOLIDAYS V3.5
Components
Part 1

Header
Navigation
Offer Ticker
Hero

==================================================
*/

/*==================================================
HEADER
==================================================*/

#header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:var(--header-height);

    display:flex;

    align-items:center;

    z-index:var(--z-header);

    transition:var(--transition);

    background:rgba(11,45,115,.15);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

}

#header.scrolled{

    background:rgba(255,255,255,.96);

    box-shadow:var(--shadow-md);

}

.nav-container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:100%;

}

/*==================================================
LOGO
==================================================*/

.logo{

    display:flex;

    align-items:center;

}

.logo img{

    width:190px;

    transition:var(--transition);

}

#header.scrolled .logo img{

    transform:scale(.96);

}

/*==================================================
NAVIGATION
==================================================*/

.nav-menu{

    display:flex;

    align-items:center;

    gap:34px;

}

.nav-menu li{

    position:relative;

}

.nav-menu a{

    position:relative;

    color:#fff;

    font-size:15px;

    font-weight:600;

    letter-spacing:.3px;

    transition:var(--transition);

}

#header.scrolled .nav-menu a{

    color:var(--dark);

}

.nav-menu a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:var(--secondary);

    transition:var(--transition);

}

.nav-menu a:hover::after,

.nav-menu a.active::after{

    width:100%;

}

.nav-menu a:hover{

    color:var(--secondary);

}

.menu-new{

    position:absolute;

    top:-12px;

    right:-24px;

    padding:2px 8px;

    border-radius:999px;

    background:var(--secondary);

    color:#fff;

    font-size:10px;

    font-weight:700;

}

/*==================================================
NAV ACTIONS
==================================================*/

.nav-actions{

    display:flex;

    align-items:center;

    gap:18px;

}

.btn-header{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    height:48px;

    padding:0 28px;

    border-radius:999px;

    background:var(--gradient-gold);

    color:var(--dark);

    font-size:15px;

    font-weight:700;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.btn-header:hover{

    transform:translateY(-3px);

    box-shadow:var(--shadow-lg);

}

#mobileMenu{

    display:none;

    color:#fff;

    font-size:30px;

}

#header.scrolled #mobileMenu{

    color:var(--dark);

}

/*==================================================
OFFER TICKER
==================================================*/

.offer-ticker{

    margin-top:var(--header-height);

    height:30px;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:var(--gradient-primary);

    border-top:1px solid rgba(255,255,255,.08);

}

.ticker{

    width:100%;

    overflow:hidden;

}

.ticker-track{

    display:flex;

    gap:40px;

    width:max-content;

    animation:ticker 35s linear infinite;

}

.ticker-track span{

    display:flex;

    align-items:center;

    color:#fff;

    font-size:15px;

    font-weight:600;

    white-space:nowrap;

}

@keyframes ticker{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}

/*==================================================
HERO
==================================================*/

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    padding:0;

    background:#08152F;

}

.hero-media{

    position:absolute;

    inset:0;

}

.hero-video{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    opacity:0;

    transition:opacity 1.2s ease;

}

.hero-video.active{

    opacity:1;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

        rgba(7,27,69,.45),

        rgba(7,27,69,.35)

    );

    z-index:1;

}

/*==================================================
HERO CONTAINER
==================================================*/

.hero-container{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:1fr 1.15fr;

    gap:70px;

    align-items:center;

    min-height:calc(100vh - 110px);

    padding:120px 0 70px;

}

/*==================================================
LEFT CONTENT
==================================================*/

.hero-content{

    color:#fff;

}

.hero-tag{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:12px 22px;

    margin-bottom:28px;

    border-radius:999px;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(12px);

    color:#fff;

    font-weight:600;

}

.hero-content h1{

    color:#fff;

    font-size:clamp(58px,7vw,82px);

    letter-spacing:-2px;

    font-weight:800;

    line-height:1.08;

    margin-bottom:26px;

}

.hero-content h1 span{

    color:var(--secondary);

}

.hero-content p{

    max-width:520px;

    color:rgba(255,255,255,.88);

    font-size:18px;

    line-height:1.9;

    margin-bottom:40px;

}

/*==================================================
BUTTONS
==================================================*/

.hero-buttons{

    display:flex;

    gap:18px;

    margin-top:25px;

    margin-bottom:20px;

}

/*==================================================
STATS
==================================================*/

.hero-stats{

    display:grid;

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

    gap:20px;

}

.hero-stats article{

    padding:24px;

    border-radius:20px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(12px);

    text-align:center;

}

.hero-stats h3{

    color:var(--secondary);

    font-size:34px;

    margin-bottom:8px;

}

.hero-stats p{

    color:#fff;

    font-size:14px;

    margin:0;

}

/*==================================================
HERO PACKAGE
==================================================*/

.hero-package{

    position:relative;

    display:flex;

    justify-content:flex-end;

}

.package-card{

    position:relative;

    overflow:hidden;

    border-radius:34px;

    background:

        linear-gradient(

            145deg,

            rgba(255,255,255,.13),

            rgba(255,255,255,.07)

        );

    backdrop-filter:blur(30px);

    -webkit-backdrop-filter:blur(30px);

    border:1px solid rgba(255,255,255,.16);

    box-shadow:

        0 30px 80px rgba(0,0,0,.28),

        inset 0 1px 1px rgba(255,255,255,.12);

    transition:

        transform .45s ease,

        box-shadow .45s ease;

}

.package-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:

        radial-gradient(

            circle at top right,

            rgba(255,255,255,.12),

            transparent 45%

        );

    pointer-events:none;

}

.package-card:hover::before{

    left:160%;

}

.package-card:hover{

    transform:

        translateY(-8px);

    box-shadow:

        0 45px 100px rgba(0,0,0,.38);

}

/*==================================================
PACKAGE IMAGE
==================================================*/

.package-media{

    position:relative;

    height:290px;

    overflow:hidden;

}

.package-media img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:1.5s ease;

}

.package-card:hover img{

    transform:scale(1.08);

}

.package-gradient{

    position:absolute;

    inset:0;

    background:linear-gradient(

        transparent,

        rgba(0,0,0,.45)

    );

}

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:12px 18px;

    border-radius:999px;

    background:

        linear-gradient(

            135deg,

            #D4AF37,

            #FFD86A

        );

    color:#071B45;

    font-weight:700;

    letter-spacing:.05em;

    box-shadow:

        0 12px 24px rgba(212,175,55,.28);

}

.wishlist{

    position:absolute;

    right:20px;

    top:20px;

    width:48px;

    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.18);

    color:#fff;

    backdrop-filter:blur(10px);

}

/*==================================================
PACKAGE BODY
==================================================*/

.package-body{

    padding:34px;

}

.package-country{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:7px 14px;

    border-radius:999px;

    background:rgba(255,255,255,.08);

    color:#FFD54A;

    font-weight:700;

    letter-spacing:.08em;

    margin-bottom:18px;

}

.package-body h2{

    color:#fff;

    font-size:42px;

    font-weight:800;

    line-height:1.08;

    margin-bottom:10px;

    letter-spacing:-1px;

    text-shadow:

        0 2px 20px rgba(255,255,255,.15);

}

.package-subtitle{

    color:rgba(255,255,255,.96);

    font-size:18px;

    line-height:1.6;

}

.package-divider{

    width:70px;

    height:4px;

    background:linear-gradient(

        90deg,

        #FFD54A,

        transparent

    );

    border-radius:999px;

    margin-bottom:30px;

}

/*==================================================
META
==================================================*/

.package-meta{

    display:grid;

    gap:16px;

    margin-bottom:32px;

}

.meta-item{

    display:flex;

    align-items:center;

    gap:15px;

    color:#fff;

    font-size:15px;

    font-weight:500;

}

.meta-item i{

    color:#FFD54A;

    font-size:18px;

}

/*==================================================
PROGRESS
==================================================*/

.hero-progress{

    height:8px;

    border-radius:999px;

    overflow:hidden;

    background:

        rgba(255,255,255,.12);

}

.progress-header{

    display:flex;

    justify-content:space-between;

    color:#fff;

    margin-bottom:12px;

    font-size:14px;

}

.progress-bar{

    height:10px;

    overflow:hidden;

    border-radius:999px;

    background:rgba(255,255,255,.15);

}

.progress-bar span{

    display:block;

    height:100%;

    border-radius:999px;

    background:var(--gradient-gold);

}

/*==================================================
PRICE
==================================================*/

.package-footer{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    gap:25px;

}

.price-box small{

    display:block;

    color:rgba(255,255,255,.70);

    margin-bottom:8px;

}

.price-box h3{

    font-size:46px;

    font-weight:800;

    color:#fff;

    line-height:1;

    text-shadow:

        0 0 18px rgba(255,215,0,.28);

}

.package-actions{

    display:flex;

    flex-direction:column;

     width:210px;

    gap:12px;

}

.package-actions a{

    justify-content:center;

}

/*==================================================
SCROLL INDICATOR
==================================================*/

.scroll-indicator{

    position:absolute;

    bottom:40px;

    left:50%;

    transform:translateX(-50%);

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:12px;

    color:#fff;

    z-index:5;

}

.scroll-indicator span{

    font-size:13px;

    letter-spacing:2px;

    text-transform:uppercase;

}

.scroll-indicator i{

    animation:bounce 2s infinite;

}

@keyframes bounce{

    0%,20%,50%,80%,100%{

        transform:translateY(0);

    }

    40%{

        transform:translateY(8px);

    }

    60%{

        transform:translateY(4px);

    }

}



/*==================================================
DESTINATION EXPLORER
==================================================*/

/*==================================================
DESTINATION BACKGROUND
==================================================*/

.destinations{

    position:relative;

    overflow:hidden;

    isolation:isolate;

    background:
        radial-gradient(circle at top right,
            rgba(212,175,55,.08),
            transparent 38%),

        radial-gradient(circle at bottom left,
            rgba(8,31,74,.05),
            transparent 42%),

        linear-gradient(
            180deg,
            #fdfcf8 0%,
            #ffffff 40%,
            #fbfaf6 100%
        );

}

.destinations::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    right:-260px;

    top:-220px;

    border-radius:50%;

    background:

        radial-gradient(

            circle,

            rgba(212,175,55,.12),

            transparent 72%

        );

    filter:blur(90px);

    animation:destinationGlow 22s ease-in-out infinite alternate;

}

.destinations::after{

    content:"";

    position:absolute;

    width:600px;

    height:600px;

    left:-220px;

    bottom:-220px;

    border-radius:50%;

    background:

        radial-gradient(

            circle,

            rgba(7,27,69,.05),

            transparent 72%

        );

    filter:blur(90px);

    animation:destinationGlow2 28s ease-in-out infinite alternate;

}

.destination-explorer{

    background:var(--bg);

}

.destination-search{

    max-width:850px;

    margin:0 auto 45px;

}

.destination-price{

    display:flex;

    flex-direction:column;

    margin:28px 0;

}

.price-label{

    font-size:12px;

    text-transform:uppercase;

    letter-spacing:.18em;

    color:#9B9B9B;

    font-weight:700;

}

.price-amount{

    font-size:66px;

    color:#D4AF37;

    line-height:1;

    font-weight:800;

    margin:8px 0;

}

.price-unit{

    color:#555;

    font-size:15px;

    font-weight:500;

}

.search-box{

    display:flex;

    align-items:center;

    gap:18px;

    padding:16px;

    background:#fff;

    border-radius:999px;

    border:1px solid var(--border);

    box-shadow:var(--shadow-md);

}

.search-box i{

    color:var(--primary);

    font-size:20px;

    margin-left:10px;

}

.search-box input{

    flex:1;

    font-size:17px;

    background:none;

}

.search-box button{

    height:54px;

    padding:0 34px;

    border-radius:999px;

    background:var(--gradient-primary);

    color:#fff;

    font-weight:600;

}

.search-box button:hover{

    transform:translateY(-2px);

}

.search-suggestions{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:12px;

    margin-top:24px;

}

.search-suggestions button{

    padding:10px 18px;

    border-radius:999px;

    background:#fff;

    border:1px solid var(--border);

    transition:var(--transition);

}

.search-suggestions button:hover{

    background:var(--primary);

    color:#fff;

}

/*==================================================
CATEGORY CHIPS
==================================================*/

.destination-categories{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:16px;

    margin-bottom:60px;

}

.destination-categories button{

    padding:12px 22px;

    border-radius:999px;

    background:#fff;

    border:1px solid var(--border);

    font-weight:600;

    transition:var(--transition);

}

.destination-categories button.active,

.destination-categories button:hover{

    background:var(--gradient-primary);

    color:#fff;

}

/*==================================================
GRID
==================================================*/

.destination-grid{

    display:grid;

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

    gap:34px;

}

/*==================================================
DESTINATION CARD
==================================================*/

.destination-card{

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    border:1px solid var(--border);

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.destination-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-xl);

}

.destination-image{

    position:relative;

    height:260px;

    overflow:hidden;

}

.destination-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:1.4s ease;

}

.destination-card:hover img{

    transform:scale(1.08);

}

.destination-badge{

    position:absolute;

    top:20px;

    left:20px;

    padding:8px 16px;

    border-radius:999px;

    background:var(--gradient-gold);

    color:var(--dark);

    font-size:13px;

    font-weight:700;

}

.destination-content{

    padding:30px;

}

.destination-country{

    display:inline-block;

    color:var(--secondary);

    font-weight:700;

    margin-bottom:10px;

    text-transform:uppercase;

}

.destination-content h3{

    margin-bottom:12px;

    font-size:30px;

}

.destination-content p{

    color:var(--text-light);

    line-height:1.7;

    margin-bottom:24px;

}

.destination-info{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:24px;

    color:var(--text);

    font-weight:600;

}

.destination-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    border-top:1px solid var(--border);

    padding-top:24px;

}

.destination-footer small{

    display:block;

    color:var(--text-light);

    margin-bottom:6px;

}

.destination-footer strong{

    color:var(--primary);

    font-size:22px;

}

.destination-footer a{

    padding:12px 22px;

    border-radius:999px;

    background:var(--gradient-primary);

    color:#fff;

    font-weight:600;

    transition:var(--transition);

}

.destination-footer a:hover{

    transform:translateY(-3px);

}

/*==================================================
SECTION BUTTON
==================================================*/

.section-action{

    text-align:center;

    margin-top:70px;

}

/*==================================================
UNIVERSAL CARD EFFECT
==================================================*/

.destination-card,
.plan-card,
.cruise-card,
.review-card,
.story-card,
.why-card{

    transition:var(--transition);

}

.destination-card:hover,
.plan-card:hover,
.cruise-card:hover,
.review-card:hover,
.story-card:hover,
.why-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-xl);

}

/*==================================================
FLEXI HOLIDAY PLAN
==================================================*/

.flexi-plan{

    position:relative;

    overflow:hidden;

    padding:120px 0;

    background:

radial-gradient(
circle at 12% 18%,
rgba(212,175,55,.14),
transparent 28%
),

radial-gradient(
circle at 90% 12%,
rgba(7,27,69,.08),
transparent 35%
),

radial-gradient(
circle at 82% 82%,
rgba(212,175,55,.08),
transparent 30%
),

linear-gradient(
135deg,
#F8F9FC 0%,
#FCFCFD 35%,
#F6F8FC 70%,
#FFFFFF 100%
);

}

.flexi-plan::before{

    content:"";

    position:absolute;

    width:950px;

    height:950px;

    top:-420px;

    right:-320px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(212,175,55,.32) 0%,
            rgba(212,175,55,.12) 35%,
            transparent 72%
        );

    filter:blur(110px);

    animation:flexiGlowOne 16s ease-in-out infinite alternate;

}

.flexi-plan::after{

    content:"";

    position:absolute;

    width:900px;

    height:900px;

    left:-320px;

    bottom:-350px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(7,27,69,.18) 0%,
            rgba(7,27,69,.08) 45%,
            transparent 75%
        );

    filter:blur(120px);

    animation:flexiGlowTwo 18s ease-in-out infinite alternate;

}

/*==================================================
FLEXI BENEFITS
==================================================*/

.flexi-benefits{

    display:grid;

    gap:22px;

    margin:40px 0;

}

.benefit-card{

    display:flex;

    gap:20px;

    align-items:flex-start;

    padding:24px;

    border-radius:18px;

    background:rgba(255,250,240,.85);

backdrop-filter:blur(22px);

-webkit-backdrop-filter:blur(18px);

border:1px solid rgba(212,175,55,.22);

    transition:.35s;

}

.benefit-card:hover{

    transform:translateY(-6px);

    box-shadow:0 20px 40px rgba(7,27,69,.12);

}

.benefit-card i{

    width:58px;

    height:58px;

    display:grid;

    place-items:center;

    border-radius:18px;

    background:linear-gradient(135deg,#D4AF37,#FFD76A);

    color:#071B45;

    font-size:22px;

}

.benefit-card h4{

    color:#071B45;

    font-size:22px;

    margin-bottom:8px;

}

.benefit-card p{

    color:#667085;

    line-height:1.8;

}


.flexi-plan .container{

    position:relative;

    z-index:2;

}

/*==================================================
WRAPPER
==================================================*/

.flexi-wrapper{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:70px;

    align-items:center;

}

/*==================================================
LEFT CONTENT
==================================================*/

.flexi-content .section-tag{

    background:#FFF8E4;

    color:#C69717;

    border:1px solid #F2D47D;

}

.flexi-content h2{

    color:#071B45;

    font-size:clamp(48px,5vw,64px);

    line-height:1.05;

    font-weight:800;

    letter-spacing:-2px;

    margin-bottom:24px;

}

.flexi-content h2 span{

    display:block;

    color:#D4AF37;

}

.flexi-content p{

    color:#667085;

    font-size:18px;

    line-height:1.9;

    max-width:620px;

}

.flexi-message{

    margin:35px 0;

    padding-left:18px;

    border-left:4px solid #D4AF37;

    font-size:20px;

    color:#071B45;

    font-weight:500;

}

.flexi-message strong{

    color:#D4AF37;

}

/*==================================================
FEATURES
==================================================*/

.flexi-highlights{

    display:grid;

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

    gap:18px;

    margin-bottom:45px;

}

.flexi-highlights div{

    display:flex;

    align-items:center;

    gap:14px;

    padding:18px 20px;

    border-radius:18px;

    background:#ffffff;

    border:1px solid rgba(7,27,69,.08);

    box-shadow:0 10px 30px rgba(7,27,69,.05);

    color:#071B45;

    font-weight:600;

}

/*==================================================
BUTTONS
==================================================*/

.flexi-buttons{

    display:flex;

    gap:18px;

}

/*==================================================
RIGHT CARD
==================================================*/

.flexi-card{

    position:relative;

    padding:42px;

    border-radius:26px;

    background:#fff;

    border:1px solid rgba(7,27,69,.08);

    box-shadow:

        0 25px 70px rgba(7,27,69,.12);

    transition:.4s ease;

}

.flexi-card:hover{

    transform:translateY(-10px);

}

.flexi-card-header{

    display:inline-flex;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(212,175,55,.18);

    color:#F5D96B;

    margin-bottom:24px;

    font-size:14px;

    font-weight:700;

}

.flexi-card h3{

    color:#071B45;;

    font-size:30px;

    margin-bottom:28px;

}

.flexi-card ul{

    display:grid;

    gap:18px;

    margin-bottom:40px;

}

.flexi-card li{

    display:flex;

    align-items:center;

    gap:14px;

    color:#344054;

    font-size:17px;

}

.flexi-validity{

    padding:24px;

    border-radius:18px;

     background:#F8FAFD;

    border:1px solid rgba(7,27,69,.08);

    text-align:center;

}

.flexi-validity strong{

    display:block;

    color:#667085;

    margin-bottom:10px;

}

.flexi-validity h2{

    color:var(--secondary);

    font-size:42px;

}

/*==================================================
PREMIUM MESSAGE
==================================================*/

.flexi-premium-message{

    display:flex;

    gap:18px;

    align-items:flex-start;

    margin-top:28px;

    padding:22px;

    border-radius:18px;

    background:

        linear-gradient(

            135deg,

            rgba(212,175,55,.10),

            rgba(255,255,255,.92)

        );

    border:1px solid rgba(212,175,55,.25);

}

.flexi-premium-message i{

    width:54px;

    height:54px;

    display:grid;

    place-items:center;

    border-radius:16px;

    background:

        linear-gradient(

            135deg,

            #D4AF37,

            #FFD76A

        );

    color:#071B45;

    font-size:22px;

}

.flexi-premium-message h4{

    color:#071B45;

    margin-bottom:8px;

    font-size:20px;

    font-weight:700;

}

.flexi-premium-message p{

    color:#667085;

    line-height:1.8;

    margin:0;

}

/*==================================================
FLEXI DIVIDER
==================================================*/

.flexi-divider{

    margin:28px 0;

    border:none;

    height:1px;

    background:

    linear-gradient(

        90deg,

        transparent,

        rgba(212,175,55,.45),

        transparent

    );

}

/*==================================================
BOTTOM TRUST
==================================================*/

.flexi-trust-grid{

    display:grid;

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

    gap:14px;

    margin-top:25px;

}

.flexi-trust-grid div{

    text-align:center;

    padding:16px 10px;

    border-radius:16px;

    background:

        linear-gradient(

            180deg,

            rgba(255,255,255,.95),

            rgba(248,248,248,.90)

        );

    border:1px solid rgba(212,175,55,.18);

    transition:.35s;

}

.flexi-trust-grid div:hover{

    transform:translateY(-5px);

    box-shadow:

        0 12px 25px rgba(7,27,69,.08);

}

.flexi-trust-grid i{

    display:block;

    font-size:22px;

    color:#D4AF37;

    margin-bottom:10px;

}

.flexi-trust-grid span{

    font-size:14px;

    font-weight:700;

    color:#071B45;

}

/*==================================================
CHOOSE YOUR FLEXI PLAN
==================================================*/

.flexi-plans{

    margin-top:100px;

}

.plan-grid{

    display:grid;

    grid-template-columns:repeat(2,minmax(380px,520px));

    justify-content:center;

    gap:30px;

}

/*==================================================
PLAN CARD
==================================================*/

.plan-card{

    position:relative;

    overflow:hidden;

    background:rgba(255,255,255,.82);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(212,175,55,.18);

    border-radius:24px;

    padding:28px;

    box-shadow:
        0 15px 45px rgba(7,27,69,.08),
        0 5px 20px rgba(7,27,69,.04);

    transition:.45s;

}

.plan-card:hover{

    transform:
        translateY(-10px)
        scale(1.015);

    border-color:#D4AF37;

    box-shadow:
        0 25px 60px rgba(212,175,55,.18),
        0 15px 35px rgba(7,27,69,.10);

}

.plan-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:

    linear-gradient(

        90deg,

        #D4AF37,

        #FFD76A,

        #D4AF37

    );

}

.plan-card::after{

    content:"";

    position:absolute;

    top:0;

    left:-150%;

    width:55%;

    height:100%;

    background:

    linear-gradient(

        90deg,

        transparent,

        rgba(255,255,255,.45),

        transparent

    );

    transform:skewX(-20deg);

    transition:1.2s;

}

.plan-card:hover::after{

    left:180%;

}

/*=========================
PLAN SECTIONS
=========================*/

/*====================================
PLAN DETAILS GRID
====================================*/

.plan-details-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:22px;

    margin:22px 0 18px;

}

.plan-section{

    background:#FAFBFD;

    border:1px solid rgba(7,27,69,.06);

    border-radius:16px;

    padding:16px;

}

.plan-section h5{

    display:flex;

    align-items:center;

    gap:8px;

    margin-bottom:12px;

    color:#C89B16;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.08em;

}

.plan-info{

    font-size:15px;

    color:#475467;

    padding:6px 0;

}

.plan-card hr{

    border:none;

    height:1px;

    background:rgba(7,27,69,.08);

    margin:18px 0;

}

.plan-section-center h5{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:8px;

    margin-bottom:12px;

    color:#C89B16;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.08em;

}

.plan-section-center .plan-info{

    justify-content:center;

    text-align:center;

    width:100%;

}

.plan-info{

    display:flex;

    align-items:center;

    gap:10px;

    padding:6px 0;

    color:#344054;

    font-size:15px;

}

.plan-icon{

    color:#D4AF37;

    font-size:40px;

    margin:10px 0 18px;

}
/*==================================================
FEATURED PLAN
==================================================*/

.plan-card.featured{

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

    animation:floatCard 6s ease-in-out infinite;

}

.plan-card.featured:hover{

    transform:translateY(-14px) scale(1.03);

}

.popular-badge{

    background:

        linear-gradient(

            135deg,

            #D4AF37,

            #FFD76A

        );

    color:#071B45;

    font-weight:700;

    letter-spacing:.05em;

    box-shadow:

        0 10px 20px rgba(212,175,55,.30);

}



/*==================================================
PLAN HEADER
==================================================*/

.plan-icon{

    font-size:42px;

    margin:10px 0 16px;

    display:inline-block;

}

.plan-card h3{

    color:#071B45;

    font-size:30px;

    font-weight:800;

    margin-bottom:8px;

}

/*==================================
PLAN BADGE
==================================*/

.plan-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    margin:8px 0 18px;

    padding:8px 16px;

    border-radius:999px;

    background:linear-gradient(
        135deg,
        rgba(212,175,55,.12),
        rgba(212,175,55,.22)
    );

    border:1px solid rgba(212,175,55,.28);

    color:#B8860B;

    font-size:13px;

    font-weight:700;

    letter-spacing:.03em;

    box-shadow:
        0 8px 20px rgba(212,175,55,.10);

}

.plan-card p{

    color:#667085;

    font-size:16px;

    line-height:1.8;

}

.plan-description{

    margin:12px 0 18px;

    line-height:1.7;

    color:#667085;

}

/*==================================================
FEATURES
==================================================*/

.plan-features{

    margin:18px 0;

    display:flex;

    flex-direction:column;

    gap:10px;

}

.plan-features li{

    padding:4px 0;

    font-size:15px;

}

.plan-features i{

    width:36px;

    height:36px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#FFF7DF;

    color:#D4AF37;

}

.plan-price{

    margin-top:34px;

}

.plan-price h2{

    font-size:54px;

    color:#071B45;

    font-weight:800;

}

.plan-price span{

    color:#98A2B3;

}

.plan-card .btn-primary{

    width:100%;

    margin-top:28px;

    justify-content:center;

    border-radius:18px;

    font-weight:700;

}

/*==================================
PLAN ORNAMENT
==================================*/

.plan-ornament{

    text-align:center;

    margin:18px 0 22px;

    color:#D4AF37;

    font-size:14px;

    letter-spacing:10px;

    opacity:.9;

}


/*==================================================
ACTION
==================================================*/

.plan-action{

    display:flex;

    justify-content:center;

    margin-top:18px;

}

.plan-action .btn-primary,

.plan-action .btn-outline{

    width:250px;

    height:56px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:999px;

    font-size:18px;

    font-weight:700;

    white-space:nowrap;

}

/*==================================================
TRUST STRIP
==================================================*/

.flexi-trust{

    margin-top:70px;

    display:grid;

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

    gap:20px;

}

.flexi-trust article{

    padding:22px;

    text-align:center;

    border-radius:22px;

    background:#fff;

    border:1px solid rgba(7,27,69,.08);

    box-shadow:0 10px 25px rgba(7,27,69,.05);

}

.flexi-trust i{

    display:block;

    font-size:26px;

    color:var(--secondary);

    margin-bottom:12px;

}

.flexi-trust h4{

    color:#071B45;

    font-size:17px;

}

.flexi-trust p{

    color:#667085;

    font-size:14px;

    margin-top:8px;

}

/*==================================================
TAGLINE
==================================================*/

.flexi-tagline{

    margin-top:60px;

    padding:28px;

    border-radius:24px;

    background:var(--gradient-gold);

    text-align:center;

    box-shadow:var(--shadow-xl);

}

.flexi-tagline h3{

    color:var(--dark);

    font-size:34px;

    margin-bottom:10px;

}

.flexi-tagline p{

    color:#4A3A0A;

    font-size:18px;

    font-weight:600;

}

/*=========================================
FLOATING ANIMATION
=========================================*/

@keyframes floatCard{

    0%{

        transform:translateY(0);

    }

    25%{

        transform:translateY(-4px);

    }

    50%{

        transform:translateY(-10px);

    }

    75%{

        transform:translateY(-4px);

    }

    100%{

        transform:translateY(0);

    }

}

@keyframes flexiGlowOne{

    from{

        transform:
            translate(0,0)
            scale(1);

    }

    to{

        transform:
            translate(-120px,80px)
            scale(1.35);

    }

}

@keyframes flexiGlowTwo{

    from{

        transform:
            translate(0,0)
            scale(1);

    }

    to{

        transform:
            translate(120px,-80px)
            scale(1.25);

    }

}

@keyframes destinationGlow{

    from{

        transform:
            translate(0,0)
            scale(1);

    }

    to{

        transform:
            translate(-70px,40px)
            scale(1.12);

    }

}

@keyframes destinationGlow2{

    from{

        transform:
            translate(0,0)
            scale(1);

    }

    to{

        transform:
            translate(80px,-30px)
            scale(1.08);

    }

}

@media(max-width:992px){

.journey-showcase{

    grid-template-columns:1fr;

    gap:45px;

}


#journeyTitle{

    font-size:42px;

}

.price-amount{

    font-size:48px;

}

}

@keyframes floatJourney{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-8px);
}

100%{
transform:translateY(0);
}

}

@keyframes rotateDivider{

0%{

transform:
translate(-50%,-50%)
rotate(0deg);

}

45%{

transform:
translate(-50%,-50%)
rotate(180deg);

}

55%{

transform:
translate(-50%,-50%)
rotate(180deg);

}

100%{

transform:
translate(-50%,-50%)
rotate(360deg);

}

}

.reveal-line{

animation:
rotateDivider 10s ease-in-out infinite;

}

/* Featured Card Animation */
.plan-card.featured{

    animation:floatCard 6s ease-in-out infinite;

}

/*==================================================
LUXURY PARTICLES
==================================================*/

.luxury-particles{

    position:absolute;

    inset:0;

    overflow:hidden;

    pointer-events:none;

    z-index:1;

}

.luxury-particles span{

    position:absolute;

    bottom:-40px;

    border-radius:50%;

    background:#FFD54A;

    box-shadow:

        0 0 14px rgba(255,215,0,.85);

    animation:luxuryParticle linear infinite;

}

@keyframes luxuryParticle{

    0%{

        transform:

            translateY(0)

            translateX(0)

            scale(.2);

        opacity:0;

    }

    10%{

        opacity:1;

    }

    40%{

        transform:

            translateY(-300px)

            translateX(15px)

            scale(1);

    }

    70%{

        transform:

            translateY(-650px)

            translateX(-15px)

            scale(.8);

    }

    100%{

        transform:

            translateY(-1000px)

            translateX(10px)

            scale(.2);

        opacity:0;

    }

}

/*==================================================
WOMEN'S SIGNATURE JOURNEYS
==================================================*/

.women-special{

    position:relative;

    overflow:hidden;

    background:#FFF8FC;

}

.women-special::before{

    content:"";

    position:absolute;

    right:-120px;

    top:-120px;

    width:380px;

    height:380px;

    border-radius:50%;

    background:rgba(212,175,55,.08);

    filter:blur(25px);

}

.women-special .container{

    position:relative;

    z-index:2;

}

/*==================================================
WRAPPER
==================================================*/

.women-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

/*==================================================
IMAGE
==================================================*/

.women-image{

    position:relative;

    overflow:hidden;

    border-radius:34px;

    box-shadow:var(--shadow-xl);

}

.women-image img{

    width:100%;

    height:700px;

    object-fit:cover;

    transition:1.5s ease;

}

.women-image:hover img{

    transform:scale(1.08);

}

.women-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

        transparent,

        rgba(0,0,0,.45)

    );

}

.women-floating{

    position:absolute;

    left:30px;

    bottom:30px;

    padding:14px 24px;

    border-radius:999px;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(18px);

    color:#fff;

    font-weight:700;

}

/*==================================================
CONTENT
==================================================*/

.women-content h3{

    font-size:48px;

    margin-bottom:25px;

    color:var(--heading);

    line-height:1.2;

}

.women-content p{

    font-size:18px;

    line-height:1.9;

    margin-bottom:35px;

}

/*==================================================
FEATURES
==================================================*/

.women-features{

    display:grid;

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

    gap:18px;

    margin-bottom:40px;

}

.women-features div{

    display:flex;

    align-items:center;

    gap:14px;

    padding:18px;

    border-radius:18px;

    background:#fff;

    border:1px solid var(--border);

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.women-features div:hover{

    transform:translateY(-5px);

}

.women-features div::before{

    content:"✓";

    width:28px;

    height:28px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--gradient-primary);

    color:#fff;

    font-size:13px;

    font-weight:700;

}

/*==================================================
CRUISE COLLECTION
==================================================*/

.cruise-collection{

    background:var(--white);

}

.cruise-grid{

    display:grid;

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

    gap:35px;

}

.cruise-card{

    overflow:hidden;

    border-radius:30px;

    background:#fff;

    border:1px solid var(--border);

    box-shadow:var(--shadow-md);

    transition:var(--transition);

}

.cruise-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-xl);

}

.cruise-card img{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:1.5s ease;

}

.cruise-card:hover img{

    transform:scale(1.08);

}

.cruise-content{

    padding:30px;

}

.cruise-content h3{

    margin-bottom:12px;

}

.cruise-content p{

    margin-bottom:25px;

    color:var(--text-light);

}

/*==================================================
WHY ACCESS HOLIDAYS
==================================================*/

.why-access{

    background:var(--bg);

}

.why-grid{

    display:grid;

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

    gap:35px;

}

.why-card{

    padding:40px;

    border-radius:30px;

    background:#fff;

    border:1px solid var(--border);

    box-shadow:var(--shadow-sm);

    text-align:center;

    transition:var(--transition);

}

.why-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-xl);

}

.why-icon{

    width:82px;

    height:82px;

    margin:0 auto 24px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--gradient-primary);

    color:#fff;

    font-size:34px;

}

.why-card h3{

    margin-bottom:16px;

}

.why-card p{

    line-height:1.8;

}

/*==================================================
ACHIEVEMENTS
==================================================*/

.company-achievements{

    background:var(--gradient-primary);

    color:#fff;

}

.achievement-grid{

    display:grid;

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

    gap:35px;

    text-align:center;

}

.achievement-grid article{

    padding:45px 20px;

}

.achievement-grid h2{

    color:var(--secondary);

    font-size:58px;

    margin-bottom:10px;

}

.achievement-grid span{

    color:#fff;

    font-size:17px;

    letter-spacing:.5px;

}

/*==================================================
HOLIDAY CONCIERGE
==================================================*/

.holiday-planner{

    background:linear-gradient(
    135deg,
    #F8FAFD,
    #FFFFFF
    );

}

.planner-wrapper{

    display:grid;

    grid-template-columns:1fr .85fr;

    gap:60px;

    align-items:start;

}

.planner-form{

    background:#fff;

    padding:45px;

    border-radius:32px;

    border:1px solid var(--border);

    box-shadow:var(--shadow-lg);

}

.planner-group{

    margin-bottom:28px;

}

.planner-group label{

    display:block;

    margin-bottom:10px;

    font-weight:600;

    color:var(--heading);

}

.planner-group input,
.planner-group textarea,
.planner-group select{

    width:100%;

    padding:18px 20px;

    border-radius:18px;

    border:1px solid var(--border);

    background:#fff;

    transition:var(--transition);

}

.planner-group input:focus,
.planner-group textarea:focus,
.planner-group select:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(11,45,115,.08);

}

.planner-row{

    display:grid;

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

    gap:22px;

}

/*==================================================
TRAVEL STYLE CHIPS
==================================================*/

.travel-style{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

}

.style-chip{

    padding:12px 22px;

    border-radius:999px;

    border:1px solid var(--border);

    background:#fff;

    transition:var(--transition);

}

.style-chip.active,
.style-chip:hover{

    background:var(--gradient-primary);

    color:#fff;

}

.planner-actions{

    display:flex;

    gap:18px;

    margin-top:35px;

}

/*==================================================
PREVIEW
==================================================*/

.planner-preview{

    position:sticky;

    top:140px;

    padding:45px;

    border-radius:32px;

    background:var(--gradient-primary);

    color:#fff;

    box-shadow:var(--shadow-xl);

}

.preview-tag{

    display:inline-block;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.15);

    margin-bottom:22px;

}

.planner-preview h3{

    color:#fff;

    margin-bottom:20px;

}

.planner-preview p{

    color:rgba(255,255,255,.82);

    margin-bottom:35px;

}

.preview-features{

    display:grid;

    gap:14px;

    margin-bottom:40px;

}

.preview-features div{

    display:flex;

    align-items:center;

    gap:12px;

}

.preview-card{

    padding:28px;

    border-radius:24px;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(18px);

}

.preview-card span{

    display:block;

    margin-bottom:10px;

    color:rgba(255,255,255,.70);

}

.preview-card h4{

    color:#fff;

    margin-bottom:12px;

}

.preview-card strong{

    display:block;

    color:var(--secondary);

    margin:18px 0;

    font-size:24px;

}

/*==================================================
ACCESS MOMENTS
==================================================*/

.access-moments{

    background:#ffffff;

    overflow:hidden;

}

.featured-story{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

    align-items:center;

    margin-bottom:90px;

}

/*==================================================
VIDEO
==================================================*/

.story-video{

    position:relative;

    overflow:hidden;

    border-radius:34px;

    box-shadow:var(--shadow-xl);

}

.story-video img{

    width:100%;

    height:680px;

    object-fit:cover;

    transition:1.5s ease;

}

.story-video:hover img{

    transform:scale(1.08);

}

.story-video::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        transparent,

        rgba(0,0,0,.45)

    );

}

.play-button{

    position:absolute;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    width:90px;

    height:90px;

    border-radius:50%;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(16px);

    color:#fff;

    font-size:32px;

    z-index:3;

    transition:.4s ease;

}

.play-button:hover{

    transform:translate(-50%,-50%) scale(1.12);

}

.story-content h3{

    font-size:46px;

    margin:18px 0;

}

.story-content p{

    font-size:18px;

    line-height:1.9;

    margin-bottom:35px;

}

/*==================================================
INSTAGRAM STYLE GALLERY
==================================================*/

.moments-gallery{

    display:grid;

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

    gap:24px;

}

.moments-gallery article{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    cursor:pointer;

    aspect-ratio:9/16;

    box-shadow:var(--shadow-md);

}

.moments-gallery img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:1.4s ease;

}

.moments-gallery article:hover img{

    transform:scale(1.08);

}

.moments-gallery article::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        transparent 35%,

        rgba(0,0,0,.70)

    );

}

.moments-gallery article:hover::after{

    background:linear-gradient(

        transparent,

        rgba(0,0,0,.80)

    );

}

/*==================================================
REEL INFO
==================================================*/

.reel-info{

    position:absolute;

    left:18px;

    right:18px;

    bottom:20px;

    z-index:5;

    color:#fff;

}

.reel-location{

    display:inline-block;

    padding:8px 14px;

    border-radius:999px;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(10px);

    margin-bottom:14px;

    font-size:12px;

    font-weight:700;

}

.reel-info h4{

    color:#fff;

    font-size:20px;

    margin-bottom:8px;

}

.reel-info p{

    color:rgba(255,255,255,.85);

    font-size:14px;

    margin:0;

}

/*==================================================
PLAY ICON
==================================================*/

.reel-play{

    position:absolute;

    top:18px;

    right:18px;

    width:52px;

    height:52px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(10px);

    color:#fff;

    z-index:5;

    transition:.4s ease;

}

.moments-gallery article:hover .reel-play{

    transform:scale(1.12);

}

/*==================================================
CUSTOMER REVIEWS
==================================================*/

.customer-reviews{

    background:var(--bg);

}

.review-grid{

    display:grid;

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

    gap:35px;

}

.review-card{

    position:relative;

    padding:40px;

    border-radius:30px;

    background:#fff;

    border:1px solid var(--border);

    box-shadow:var(--shadow-md);

    transition:var(--transition);

}

.review-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-xl);

}

.review-stars{

    color:#FFC83D;

    font-size:24px;

    margin-bottom:20px;

}

.review-card p{

    font-size:17px;

    line-height:1.9;

    margin-bottom:28px;

}

.review-card h4{

    margin-bottom:6px;

}

.review-card span{

    color:var(--text-light);

}

.review-card::before{

    content:"“";

    position:absolute;

    top:22px;

    right:28px;

    font-size:72px;

    color:rgba(11,45,115,.08);

    font-family:serif;

}

/*==================================================
FAQ
==================================================*/

.faq-section{

    background:#ffffff;

}

.faq-wrapper{

    max-width:980px;

    margin:0 auto;

}

.faq-item{

    margin-bottom:22px;

    border-radius:24px;

    background:#fff;

    border:1px solid var(--border);

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.faq-item:hover{

    box-shadow:var(--shadow-md);

}

.faq-question{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:28px 34px;

    background:none;

    text-align:left;

    cursor:pointer;

}

.faq-question span{

    color:var(--heading);

    font-size:20px;

    font-weight:600;

}

.faq-question i{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--bg);

    color:var(--primary);

    transition:var(--transition);

}

.faq-item.active .faq-question i{

    transform:rotate(45deg);

    background:var(--primary);

    color:#fff;

}

.faq-answer{

    max-height:0;

    overflow:hidden;

    transition:max-height .45s ease;

}

.faq-item.active .faq-answer{

    max-height:300px;

}

.faq-answer p{

    padding:0 34px 30px;

    line-height:1.9;

    color:var(--text);

}

/*==================================================
NEWSLETTER
==================================================*/

.newsletter{

    position:relative;

    overflow:hidden;

    background:linear-gradient(
        135deg,
        #071B45,
        #0B2D73
    );

}

.newsletter::before{

    content:"";

    position:absolute;

    top:-180px;

    right:-180px;

    width:450px;

    height:450px;

    border-radius:50%;

    background:rgba(212,175,55,.08);

    filter:blur(30px);

}

.newsletter-wrapper{

    position:relative;

    z-index:2;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:60px;

}

.newsletter-content{

    max-width:620px;

}

.newsletter .section-tag{

    background:rgba(255,255,255,.12);

    color:#fff;

}

.newsletter h2{

    color:#fff;

    margin-bottom:22px;

}

.newsletter p{

    color:rgba(255,255,255,.82);

    font-size:18px;

    line-height:1.9;

}

.newsletter-form{

    display:flex;

    gap:18px;

    width:100%;

    max-width:560px;

}

.newsletter-form input{

    flex:1;

    height:60px;

    padding:0 24px;

    border-radius:999px;

    background:#fff;

}

.newsletter-form button{

    white-space:nowrap;

}

/*==================================================
FOOTER
==================================================*/

.footer{

    background:#06142F;

    color:#fff;

    padding-top:90px;

}

.footer-grid{

    display:grid;

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

    gap:60px;

    padding-bottom:60px;

}

.footer-logo{

    width:220px;

    margin-bottom:28px;

}

.footer p{

    color:rgba(255,255,255,.70);

    line-height:1.9;

}

.footer h4{

    color:#fff;

    margin-bottom:28px;

    font-size:22px;

}

.footer ul{

    display:grid;

    gap:16px;

}

.footer ul a{

    color:rgba(255,255,255,.72);

    transition:var(--transition);

}

.footer ul a:hover{

    color:var(--secondary);

    padding-left:6px;

}

.social-links{

    display:flex;

    gap:16px;

    margin-top:30px;

}

.social-links a{

    width:48px;

    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    transition:var(--transition);

}

.social-links a:hover{

    background:var(--secondary);

    color:var(--dark);

    transform:translateY(-5px);

}

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

    padding:28px 0;

    border-top:1px solid rgba(255,255,255,.10);

}

.footer-bottom p{

    margin:0;

}

.footer-bottom div{

    display:flex;

    gap:24px;

}

.footer-bottom a{

    color:rgba(255,255,255,.72);

}

.footer-bottom a:hover{

    color:var(--secondary);

}

/*=====================================================
SECTION HEADING
=====================================================*/

.section-heading{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.section-heading h2{

    font-size:clamp(2.2rem,4vw,3.6rem);

    font-weight:800;

    line-height:1.2;

    color:var(--primary);

}

.section-heading .heading-gold{

    display:block;

    margin-top:8px;

    background:linear-gradient(
        135deg,
        var(--gold-light),
        var(--gold),
        var(--gold-dark)
    );

   -webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;

}

.section-heading p{

    margin-top:22px;

    color:var(--text-light);

    font-size:18px;

    line-height:1.8;

}

/*=====================================================
CARD
=====================================================*/

.card{

    background:#fff;

    border-radius:var(--radius-lg);

    border:1px solid var(--border);

    overflow:hidden;

    transition:.35s;

    box-shadow:var(--shadow-soft);

}

.card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-hover);

}

/*=====================================================
PRIMARY BUTTON
=====================================================*/

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:16px 34px;

    border-radius:999px;

    background:linear-gradient(
        135deg,
        var(--gold-light),
        var(--gold)
    );

    color:#071C4D;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

.btn-primary:hover{

    transform:translateY(-3px);

}

.btn-outline{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    border-radius:999px;

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

    color:var(--primary);

    text-decoration:none;

    font-weight:700;

    transition:.3s;

}

.btn-outline:hover{

    background:var(--primary);

    color:#fff;

}

.badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 16px;

    border-radius:999px;

    background:#EEF4FF;

    color:var(--primary);

    font-weight:600;

}

.feature-card{

    padding:28px;

    border-radius:24px;

    background:#fff;

    border:1px solid var(--border);

    transition:.35s;

}

.feature-card:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow-medium);

}

.section{

    padding:100px 0;

}

.image-cover{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}

.glass{

    backdrop-filter:blur(18px);

    background:rgba(255,255,255,.85);

    border:1px solid rgba(255,255,255,.5);

    border-radius:28px;

}

@media(max-width:768px){

.section{

    padding:70px 0;

}

.section-heading{

    margin-bottom:45px;

}

.section-heading p{

    font-size:16px;

}

.btn-primary,
.btn-outline{

    width:100%;

}

}