/*====================================================

WOJHAT Travel & Tourism
Premium Travel Website

Main Stylesheet

Author: ChatGPT

====================================================*/

/*====================================
GOOGLE FONTS
====================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Montserrat:wght@500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap');

/*====================================
CSS VARIABLES
====================================*/

:root {
    --primary: #a8d65b;
    --primary-dark:  #f37b64;
    --primary-light: #f2df79;

    --secondary: #6BAF92;

    --accent: #D9B36C;
    --accent-light: #F4E8CE;

    --dark: #263238;
    --text: #34454A;
    --muted: #6B7778;

    --white: #FFFFFF;
    --background: #F8FAF8;
    --light-bg: #EEF6F3;

    --border: #DDE8E5;

    --shadow: 0 15px 40px rgba(7, 94, 104, 0.10);

    --gradient-primary:
        linear-gradient(
            135deg,
            #075E68,
            #087F8C
        );

    --gradient-soft:
        linear-gradient(
            135deg,
            #EEF6F3,
            #FFFFFF
        );
}

/*====================================
RESET
====================================*/

*{

margin:0;

padding:0;

box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;
 background: var(--background);
    color: var(--text);

line-height:1.7;

overflow-x:hidden;
opacity:1;

}

/*====================================
SCROLLBAR
====================================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#f4f4f4;

}

::-webkit-scrollbar-thumb{

background:var(--primary);

border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

background:var(--gold);

}

/*====================================
IMAGES
====================================*/

img{

width:100%;

display:block;

}

/*====================================
LINKS
====================================*/

a{

text-decoration:none;

transition:var(--transition);

color:inherit;

}

/*====================================
LIST
====================================*/

ul{

list-style:none;

}

/*====================================
CONTAINER
====================================*/

.container{

width:90%;

max-width:1400px;

margin:auto;

}

/*====================================
SECTION SPACING
====================================*/

section{

padding:100px 0;

position:relative;

}

/*====================================
HEADINGS
====================================*/

h1{

font-size:72px;

font-family:'Playfair Display',serif;

font-weight:700;

line-height:1.15;

}

h2{

font-size:48px;

font-family:'Playfair Display',serif;

margin-bottom:20px;

}

h3{

font-size:28px;

margin-bottom:15px;

}

h4{

font-size:20px;

}

p{

color:var(--gray);

}

/*====================================
SECTION TITLE
====================================*/

.section-title{

text-align:center;

margin-bottom:70px;

}

.section-title span{

display:inline-block;

padding:10px 24px;

background:#EDF5FF;

color:var(--primary);

border-radius:40px;

font-size:14px;

font-weight:600;

letter-spacing:2px;

margin-bottom:20px;

text-transform:uppercase;

}

.section-title h2{

margin-bottom:20px;

}

.section-title p{

max-width:720px;

margin:auto;

}

/*====================================
BUTTONS
====================================*/

.btn-primary{

display:inline-flex;

align-items:center;

justify-content:center;

padding:16px 40px;

background:linear-gradient(135deg,var(--primary),var(--secondary));

color:#fff;

border-radius:50px;

font-weight:600;

transition:.4s;

box-shadow:var(--shadow);

}

.btn-primary:hover{

transform:translateY(-5px);

box-shadow:var(--shadow-hover);

}

.btn-secondary{

display:inline-flex;

align-items:center;

justify-content:center;

padding:16px 38px;

border:2px solid #fff;

color:#fff;

border-radius:50px;

font-weight:600;

transition:.4s;

}

.btn-secondary:hover{

background:#fff;

color:var(--primary);

}

/*====================================
PRELOADER
====================================*/

#preloader{

position:fixed;

left:0;

top:0;

width:100%;

height:100%;

background:#fff;

display:flex;

align-items:center;

justify-content:center;

z-index:99999;

}

.loader{

display:flex;

gap:12px;

}

.loader span{

width:18px;

height:18px;

background:var(--primary);

border-radius:50%;

animation:bounce 1s infinite;

}

.loader span:nth-child(2){

animation-delay:.2s;

}

.loader span:nth-child(3){

animation-delay:.4s;

}

@keyframes bounce{

0%,100%{

transform:translateY(0);

}

50%{

transform:translateY(-18px);

}

}

/*====================================
HEADER
====================================*/


.header {
    background: rgba(255, 255, 255, 0.96);
    color: var(--dark);
    border-bottom: 1px solid var(--border);
    box-shadow: 0 5px 25px rgba(7, 94, 104, 0.06);
}

header.scrolled{

background:#fff;

box-shadow:var(--shadow);

}

header .container{

display:flex;

align-items:center;

justify-content:space-between;

}

.logo h2{

font-size:34px;

margin:0;

color:#fff;

}

header.scrolled .logo h2{

color:var(--secondary);

}

.logo span{

display:block;

font-size:13px;

font-family:Poppins;

letter-spacing:3px;

color:var(--gold);

}

/*====================================
NAVIGATION
====================================*/

.nav-links{

display:flex;

gap:34px;
color: var(--dark);

}

.nav-links a{

color: var(--dark);

font-weight:500;

position:relative;

}

header.scrolled .nav-links a{

color:#222;

}

.nav-links a::after{

content:"";

position:absolute;

left:0;

bottom:-10px;

width:0;

height:2px;

background:var(--gold);

transition:.4s;

}

.nav-links a:hover::after{

width:100%;

}

/*====================================
HEADER RIGHT
====================================*/

.header-right{

display:flex;

align-items:center;

gap:15px;

}

.header-right select{

padding:10px 15px;

border:none;

border-radius:30px;

outline:none;

background:rgba(255,255,255,.18);

backdrop-filter:blur(15px);

color:#fff;

}

header.scrolled .header-right select{

background:#F2F5FA;

color:#333;

}

.book-btn{

padding:14px 28px;

border-radius:40px;

background:var(--gold);

color:#111;

font-weight:700;

transition:.4s;

}

.book-btn:hover{

transform:translateY(-3px);

}

.menu-btn{

display:none;

font-size:30px;

color:#fff;

cursor:pointer;

}

header.scrolled .menu-btn{

color:#222;

}
/*====================================================
HERO SECTION
====================================================*/

.hero{
    position:relative;
    height:100vh;
    min-height:850px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:url("../images/hero/hero-bg.jpg") center center/cover no-repeat;
}

/* Dark Gradient Overlay */

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            120deg,
            rgba(4,20,45,.85),
            rgba(8,44,90,.65),
            rgba(0,0,0,.35)
        );
    z-index:1;
}

/* Animated Background */

.overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        -45deg,
        rgba(10,77,140,.15),
        rgba(212,175,55,.08),
        rgba(8,43,89,.15),
        rgba(255,255,255,.05)
    );

    background-size:400% 400%;

    animation:gradientAnimation 15s ease infinite;

    z-index:2;
}

@keyframes gradientAnimation{

0%{
background-position:0 50%;
}

50%{
background-position:100% 50%;
}

100%{
background-position:0 50%;
}

}

/*=====================================
VIDEO PLACEHOLDER
=====================================*/

.video-placeholder{

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

z-index:0;

overflow:hidden;

}

.video-placeholder video{

width:100%;
height:100%;

object-fit:cover;

}

/*=====================================
HERO CONTENT
=====================================*/

.hero-content{

position:relative;

z-index:20;

max-width:760px;

padding-left:8%;

color:#fff;

}

.hero-content h4{

display:inline-block;

padding:12px 26px;

background:rgba(255,255,255,.15);

backdrop-filter:blur(12px);

border:1px solid rgba(255,255,255,.2);

border-radius:50px;

letter-spacing:3px;

margin-bottom:25px;

font-size:14px;

font-weight:600;

text-transform:uppercase;

}

.hero-content h1{

font-size:76px;

margin-bottom:30px;

line-height:1.15;

}

.hero-content h1 span{

display:block;

color:var(--gold);

}

.hero-content p{

font-size:20px;

color:#F2F2F2;

max-width:650px;

margin-bottom:45px;

}

/*=====================================
HERO BUTTONS
=====================================*/

.hero-buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

align-items:center;

}

.video-btn{

display:flex;

align-items:center;

gap:15px;

color:#fff;

font-weight:600;

}

.video-btn i{

width:65px;

height:65px;

background:rgba(255,255,255,.18);

backdrop-filter:blur(15px);

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

font-size:20px;

transition:.4s;

}

.video-btn:hover i{

background:var(--gold);

color:#111;

transform:scale(1.1);

}

/*=====================================
FLOATING PLANE
=====================================*/

.plane{

position:absolute;

top:18%;

right:-120px;

font-size:70px;

color:rgba(255,255,255,.85);

z-index:5;

animation:planeFly 18s linear infinite;

}

@keyframes planeFly{

0%{

transform:translateX(0) translateY(0) rotate(0deg);

}

50%{

transform:translateX(-900px) translateY(-120px) rotate(-8deg);

}

100%{

transform:translateX(-1800px) translateY(0);

}

}

/*=====================================
FLOATING CLOUDS
=====================================*/

.cloud{

position:absolute;

background:rgba(255,255,255,.55);

filter:blur(1px);

border-radius:100px;

opacity:.55;

z-index:3;

}

.cloud::before,
.cloud::after{

content:"";

position:absolute;

background:inherit;

border-radius:inherit;

}

.cloud1{

width:180px;

height:60px;

top:18%;

left:-200px;

animation:cloudMove1 70s linear infinite;

}

.cloud1::before{

width:80px;

height:80px;

left:25px;

top:-30px;

}

.cloud1::after{

width:90px;

height:90px;

right:20px;

top:-35px;

}

.cloud2{

width:240px;

height:75px;

top:38%;

left:-300px;

animation:cloudMove2 95s linear infinite;

}

.cloud2::before{

width:95px;

height:95px;

left:35px;

top:-38px;

}

.cloud2::after{

width:110px;

height:110px;

right:35px;

top:-45px;

}

.cloud3{

width:150px;

height:55px;

top:65%;

left:-180px;

animation:cloudMove3 80s linear infinite;

}

.cloud3::before{

width:65px;

height:65px;

left:20px;

top:-25px;

}

.cloud3::after{

width:70px;

height:70px;

right:18px;

top:-28px;

}

@keyframes cloudMove1{

from{

transform:translateX(0);

}

to{

transform:translateX(1800px);

}

}

@keyframes cloudMove2{

from{

transform:translateX(0);

}

to{

transform:translateX(2200px);

}

}

@keyframes cloudMove3{

from{

transform:translateX(0);

}

to{

transform:translateX(2000px);

}

}

/*=====================================
SCROLL INDICATOR
=====================================*/

.scroll-down{

position:absolute;

left:50%;

bottom:35px;

transform:translateX(-50%);

z-index:25;

}

.scroll-down span{

display:block;

width:34px;

height:58px;

border:2px solid #fff;

border-radius:30px;

position:relative;

}

.scroll-down span::before{

content:"";

position:absolute;

left:50%;

top:12px;

transform:translateX(-50%);

width:7px;

height:14px;

background:#fff;

border-radius:10px;

animation:scrollMouse 2s infinite;

}

@keyframes scrollMouse{

0%{

opacity:1;

transform:translate(-50%,0);

}

100%{

opacity:0;

transform:translate(-50%,22px);

}

}

/*====================================================
STATISTICS SECTION
====================================================*/

.statistics{

margin-top:-70px;

position:relative;

z-index:50;
background:#fff;

}

.statistics .container{

display:grid;

grid-template-columns:repeat(5,1fr);

gap:30px;

}

.stat-box{

background:#fff;

border-radius:22px;

padding:40px;

text-align:center;

box-shadow:var(--shadow);

transition:.4s;

}

.stat-box:hover{

transform:translateY(-12px);

box-shadow:var(--shadow-hover);

}

.stat-box h2{

font-size:52px;

color:var(--primary);

margin-bottom:12px;

font-family:'Montserrat',sans-serif;

}

.stat-box p{

font-size:16px;

font-weight:500;

color:var(--gray);

}
/*====================================================
ABOUT SECTION
====================================================*/

.about-preview{
    background:#fff;
    position:relative;
}

.about-preview .container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

.about-image{
    position:relative;
}

.about-image img{
    border-radius:25px;
    overflow:hidden;
    box-shadow:0 30px 60px rgba(0,0,0,.18);
    transition:.5s;
}

.about-image:hover img{
    transform:scale(1.03);
}

.about-content h5{
    color:var(--gold);
    letter-spacing:3px;
    text-transform:uppercase;
    margin-bottom:15px;
    font-weight:600;
}

.about-content h2{
    margin-bottom:25px;
}

.about-content p{
    margin-bottom:20px;
    font-size:17px;
    color:var(--gray);
}

.about-features{
    margin:45px 0;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
}

.feature{
    display:flex;
    align-items:center;
    gap:18px;
    padding:22px;
    background:#fff;
    border-radius:18px;
    box-shadow:var(--shadow);
    transition:.35s;
}

.feature:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-hover);
}

.feature i{
    width:65px;
    height:65px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:24px;
}

.feature h4{
    margin:0;
    color:var(--secondary);
}

/*====================================================
WHY CHOOSE US
====================================================*/

.why-choose{
    background:linear-gradient(180deg,#F8FAFD,#EEF4FB);
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}

.why-card{

    background:rgba(255,255,255,.75);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.5);

    border-radius:24px;

    padding:45px 30px;

    text-align:center;

    transition:.45s;

    box-shadow:var(--shadow);

}

.why-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-hover);

}

.why-card .icon{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:25px;

    border-radius:50%;

    background:linear-gradient(135deg,var(--primary),var(--secondary));

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    font-size:34px;

}

.why-card h3{

    margin-bottom:18px;

    color:var(--secondary);

}

.why-card p{

    font-size:15px;

    color:var(--gray);

}

/*====================================================
SERVICES SECTION
====================================================*/

.services{

    background:#fff;

}

.services-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.service-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:.45s;

    position:relative;

}

.service-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-hover);

}

.service-card img{

    height:250px;

    object-fit:cover;

    transition:.5s;

}

.service-card:hover img{

    transform:scale(1.08);

}

.service-content{

    padding:35px;

    position:relative;

}

.service-content i{

    width:70px;

    height:70px;

    border-radius:50%;

    background:linear-gradient(135deg,var(--primary),var(--secondary));

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:28px;

    margin-top:-70px;

    margin-bottom:25px;

    border:6px solid #fff;

    box-shadow:0 10px 25px rgba(0,0,0,.15);

}

.service-content h3{

    color:var(--secondary);

    margin-bottom:15px;

}

.service-content p{

    font-size:15px;

    margin-bottom:25px;

    color:var(--gray);

}

.service-content a{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--primary);

    font-weight:600;

    transition:.3s;

}

.service-content a:hover{

    color:var(--gold);

}

.service-content a i{

    width:auto;

    height:auto;

    background:none;

    border:none;

    box-shadow:none;

    margin:0;

    color:inherit;

    font-size:16px;

}

/*====================================================
SECTION BACKGROUND DECORATION
====================================================*/

.services::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:320px;

    height:320px;

    background:rgba(10,77,140,.05);

    border-radius:50%;

    filter:blur(60px);

}

.services::after{

    content:"";

    position:absolute;

    right:0;

    bottom:0;

    width:300px;

    height:300px;

    background:rgba(212,175,55,.08);

    border-radius:50%;

    filter:blur(60px);

}
/*====================================================
DESTINATIONS SECTION
====================================================*/

.destinations,
.international-destinations{

    position:relative;
    background:#fff;
    overflow:hidden;

}

.destinations{

    background:linear-gradient(180deg,#ffffff,#F7FAFD);

}

.international-destinations{

    background:#081B38;

}

/*==================================
WORLD MAP BACKGROUND
==================================*/

.world-map{

    position:absolute;

    inset:0;

    background:url("../images/world-map.png") center center/contain no-repeat;

    opacity:.05;

    pointer-events:none;

}

.international-destinations .section-title h2,
.international-destinations .section-title span,
.international-destinations .section-title p{

    color:#fff;

}

.international-destinations .section-title span{

    background:rgba(255,255,255,.08);

}

/*==================================
DESTINATION GRID
==================================*/

.destination-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

/*==================================
DESTINATION CARD
==================================*/

.destination-card{

    position:relative;

    overflow:hidden;

    border-radius:24px;

    box-shadow:var(--shadow);

    cursor:pointer;

    transition:.45s;

    background:#fff;

}

.destination-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-hover);

}

.destination-card img{

    width:100%;

    height:420px;

    object-fit:cover;

    transition:.6s;

}

.destination-card:hover img{

    transform:scale(1.12);

}

/*==================================
OVERLAY
==================================*/

.destination-overlay{

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    padding:30px;

    background:linear-gradient(

        transparent,

        rgba(0,0,0,.92)

    );

    color:#fff;

}

.destination-overlay h3{

    margin:12px 0;

    font-size:28px;

    color:#fff;

}

.destination-overlay p{

    color:#F2F2F2;

    margin-bottom:20px;

}

.country{

    display:inline-block;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(15px);

    padding:8px 18px;

    border-radius:30px;

    font-size:13px;

}

.rating{

    display:inline-flex;

    align-items:center;

    gap:6px;

    padding:8px 18px;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(15px);

    border-radius:30px;

    font-size:13px;

}

.rating i{

    color:#FFD43B;

}

/*==================================
DESTINATION FOOTER
==================================*/

.destination-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:20px;

}

.destination-footer span{

    color:#FFD43B;

    font-weight:600;

}

.destination-footer a,
.explore-btn{

    display:inline-block;

    padding:12px 26px;

    border-radius:40px;

    background:var(--gold);

    color:#111;

    font-weight:600;

    transition:.35s;

}

.destination-footer a:hover,
.explore-btn:hover{

    background:#fff;

    transform:translateY(-3px);

}

/*====================================================
HOLIDAY PACKAGES
====================================================*/

.packages{

    background:linear-gradient(

        180deg,

        #F7FAFD,

        #EEF5FB

    );

}

.package-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:35px;

}

/*==================================
PACKAGE CARD
==================================*/

.package-card{

    position:relative;

    background:#fff;

    border-radius:25px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:.45s;

}

.package-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-hover);

}

/*==================================
FEATURED CARD
==================================*/

.package-card.featured{

    transform:scale(1.06);

    border:3px solid var(--gold);

}

.package-card.featured:hover{

    transform:translateY(-12px) scale(1.06);

}

.popular{

    position:absolute;

    top:20px;

    right:-40px;

    background:var(--gold);

    color:#111;

    padding:8px 55px;

    font-size:13px;

    font-weight:700;

    transform:rotate(45deg);

}

/*==================================
PACKAGE HEADER
==================================*/

.package-header{

    text-align:center;

    padding:45px 30px;

    background:linear-gradient(

        135deg,

        var(--primary),

        var(--secondary)

    );

    color:#fff;

}

.package-header i{

    font-size:46px;

    margin-bottom:20px;

}

.package-header h3{

    color:#fff;

    margin-bottom:15px;

}

.package-header h4{

    font-size:15px;

    font-weight:400;

    opacity:.9;

}

.price{

    font-size:52px;

    font-weight:700;

    margin-top:15px;

}

.price span{

    font-size:24px;

    vertical-align:top;

}

/*==================================
PACKAGE FEATURES
==================================*/

.package-card ul{

    padding:35px;

}

.package-card ul li{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:18px;

    color:#555;

}

.package-card ul li i{

    color:#27AE60;

}

/*==================================
PACKAGE BUTTON
==================================*/

.btn-package{

    display:block;

    margin:0 35px 35px;

    padding:16px;

    border-radius:50px;

    text-align:center;

    background:linear-gradient(

        135deg,

        var(--primary),

        var(--secondary)

    );

    color:#fff;

    font-weight:600;

    transition:.4s;

}

.btn-package:hover{

    background:var(--gold);

    color:#111;

}

/*==================================
SECTION BUTTON
==================================*/

.section-button{

    text-align:center;

    margin-top:60px;

}
/*====================================================
PREMIUM GALLERY
====================================================*/

.gallery-section{

    background:#fff;
    position:relative;

}

.gallery-filter{

    display:flex;
    justify-content:center;
    gap:15px;
    flex-wrap:wrap;
    margin-bottom:50px;

}

.gallery-filter button{

    padding:14px 28px;

    border:none;

    border-radius:50px;

    background:#EEF4FA;

    color:#333;

    font-weight:600;

    cursor:pointer;

    transition:.35s;

}

.gallery-filter button.active,
.gallery-filter button:hover{

    background:linear-gradient(135deg,var(--primary),var(--secondary));

    color:#fff;

}

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.gallery-item{

    position:relative;

    overflow:hidden;

    border-radius:20px;

    cursor:pointer;

    box-shadow:var(--shadow);

}

.gallery-item img{

    width:100%;

    height:320px;

    object-fit:cover;

    transition:.6s;

}

.gallery-item:hover img{

    transform:scale(1.15);

}

/*======================================
Gallery Overlay
======================================*/

.gallery-overlay{

    position:absolute;

    inset:0;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:30px;

    background:linear-gradient(

        transparent,

        rgba(0,0,0,.88)

    );

    opacity:0;

    transition:.4s;

}

.gallery-item:hover .gallery-overlay{

    opacity:1;

}

.gallery-overlay h3{

    color:#fff;

    margin-bottom:8px;

}

.gallery-overlay p{

    color:#eee;

    margin-bottom:18px;

}

.gallery-view{

    width:55px;

    height:55px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--gold);

    color:#111;

    border-radius:50%;

    font-size:18px;

    transition:.35s;

}

.gallery-view:hover{

    transform:rotate(90deg);

    background:#fff;

}

/*======================================
LIGHTBOX
======================================*/

#lightbox{

    position:fixed;

    inset:0;

    display:none;

    justify-content:center;

    align-items:center;

    background:rgba(0,0,0,.95);

    z-index:99999;

}

#lightbox.active{

    display:flex;

}

#lightbox img{

    width:90%;

    max-width:1100px;

    border-radius:15px;

}

#closeLightbox{

    position:absolute;

    right:40px;

    top:30px;

    font-size:45px;

    color:#fff;

    cursor:pointer;

}

/*====================================================
TESTIMONIALS
====================================================*/

.testimonials{

    background:linear-gradient(180deg,#F8FBFE,#EEF5FA);

}

.testimonial-slider{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.testimonial-card{

    background:rgba(255,255,255,.78);

    backdrop-filter:blur(20px);

    border-radius:25px;

    padding:40px;

    box-shadow:var(--shadow);

    transition:.4s;

}

.testimonial-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-hover);

}

.quote{

    font-size:42px;

    color:var(--gold);

    margin-bottom:20px;

}

.testimonial-card p{

    margin-bottom:25px;

    color:#555;

    font-size:16px;

}

.stars{

    color:#FFD43B;

    margin-bottom:25px;

}

.client{

    display:flex;

    align-items:center;

    gap:15px;

}

.client img{

    width:70px;

    height:70px;

    border-radius:50%;

    object-fit:cover;

}

.client h4{

    margin-bottom:5px;

    color:var(--secondary);

}

.client span{

    color:var(--gray);

    font-size:14px;

}

/*======================================
Slider Controls
======================================*/

.testimonial-controls{

    display:flex;

    justify-content:center;

    gap:20px;

    margin-top:50px;

}

.testimonial-controls button{

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:linear-gradient(135deg,var(--primary),var(--secondary));

    color:#fff;

    cursor:pointer;

    transition:.35s;

}

.testimonial-controls button:hover{

    background:var(--gold);

    color:#111;

}

/*====================================================
PARTNERS
====================================================*/

.partners{

    background:#fff;

}

.partners-slider{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:35px;

    align-items:center;

}

.partner-logo{

    background:#fff;

    padding:30px;

    border-radius:18px;

    box-shadow:var(--shadow);

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.4s;

}

.partner-logo:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-hover);

}

.partner-logo img{

    width:140px;

    height:80px;

    object-fit:contain;

    filter:grayscale(100%);

    opacity:.7;

    transition:.4s;

}

.partner-logo:hover img{

    filter:none;

    opacity:1;

    transform:scale(1.08);

}

/*======================================
Gallery Button
======================================*/

.gallery-button{

    text-align:center;

    margin-top:60px;

}

/*======================================
Fade Animation
======================================*/

.fade-up{

    animation:fadeUp .8s ease forwards;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}
/*====================================================
BOOKING SECTION
====================================================*/

.booking-section{

    background:linear-gradient(180deg,#F7FAFD,#EEF5FB);

}

.booking-form{

    max-width:1100px;

    margin:auto;

    background:#fff;

    padding:50px;

    border-radius:25px;

    box-shadow:var(--shadow);

}

.form-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

}

.booking-form input,
.booking-form select,
.booking-form textarea{

    width:100%;

    padding:18px 20px;

    border:1px solid #ddd;

    border-radius:15px;

    font-size:15px;

    outline:none;

    transition:.3s;

    font-family:inherit;

}

.booking-form textarea{

    grid-column:1/-1;

    resize:vertical;

    min-height:160px;

}

.booking-form input:focus,
.booking-form select:focus,
.booking-form textarea:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(10,77,140,.12);

}

.booking-form button{

    margin-top:35px;

}

/*====================================================
FAQ
====================================================*/

.faq-section{

    background:#fff;

}

.faq{

    max-width:900px;

    margin:auto;

}

.faq-item{

    background:#fff;

    border-radius:18px;

    margin-bottom:20px;

    padding:28px;

    box-shadow:var(--shadow);

    transition:.35s;

}

.faq-item:hover{

    transform:translateY(-4px);

}

.faq-item h3{

    color:var(--secondary);

    margin-bottom:15px;

}

.faq-item p{

    color:var(--gray);

}

/*====================================================
BLOG
====================================================*/

.blog-section{

    background:#F7FAFD;

}

.blog-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.blog-card{

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:.4s;

}

.blog-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-hover);

}

.blog-card img{

    height:240px;

    object-fit:cover;

    transition:.5s;

}

.blog-card:hover img{

    transform:scale(1.08);

}

.blog-content{

    padding:30px;

}

.blog-content span{

    color:var(--gold);

    font-weight:600;

    font-size:14px;

}

.blog-content h3{

    margin:18px 0;

    color:var(--secondary);

    font-size:24px;

}

.blog-content a{

    color:var(--primary);

    font-weight:600;

}

.blog-content a:hover{

    color:var(--gold);

}

/*====================================================
CONTACT
====================================================*/

.contact-section{

    background:#081B38;

    color:#fff;

}

.contact-wrapper{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:50px;

    align-items:center;

}

.contact-info h2{

    color:#fff;

}

.contact-info p{

    color:#ddd;

    margin-bottom:35px;

}

.contact-info ul li{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:20px;

    color:#fff;

}

.contact-info ul li i{

    width:50px;

    height:50px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    color:var(--gold);

}

.social-links{

    display:flex;

    gap:15px;

    margin-top:35px;

}

.social-links a{

    width:50px;

    height:50px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(255,255,255,.12);

    color:#fff;

    transition:.35s;

}

.social-links a:hover{

    background:var(--gold);

    color:#111;

}

.map iframe{

    width:100%;

    height:450px;

    border:none;

    border-radius:20px;

}

/*====================================================
FOOTER
====================================================*/

footer{

    background:#051326;

    color:#fff;

    padding:80px 0 25px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1.5fr;

    gap:45px;

    margin-bottom:50px;

}

.footer-grid h3,
.footer-grid h4{

    color:#fff;

    margin-bottom:25px;

}

.footer-grid p{

    color:#bbb;

}

.footer-grid ul li{

    margin-bottom:15px;

}

.footer-grid ul li a{

    color:#bbb;

    transition:.3s;

}

.footer-grid ul li a:hover{

    color:var(--gold);

    padding-left:8px;

}

.footer-grid input{

    width:100%;

    padding:15px;

    border:none;

    border-radius:12px;

    margin-bottom:15px;

}

.footer-grid button{

    width:100%;

}

.copyright{

    border-top:1px solid rgba(255,255,255,.1);

    padding-top:25px;

    text-align:center;

    color:#999;

}

/*====================================================
FLOATING BUTTONS
====================================================*/

.whatsapp-btn{

    position:fixed;

    right:25px;

    bottom:90px;

    width:65px;

    height:65px;

    border-radius:50%;

    background:#25D366;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:30px;

    z-index:999;

    box-shadow:0 15px 35px rgba(0,0,0,.25);

    transition:.35s;

}

.whatsapp-btn:hover{

    transform:scale(1.1);

}

#backToTop{

    position:fixed;

    right:25px;

    bottom:20px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    cursor:pointer;

    display:none;

    transition:.35s;

    z-index:999;

}

#backToTop:hover{

    background:var(--gold);

    color:#111;

}

/*====================================================
UTILITY CLASSES
====================================================*/

.text-center{

    text-align:center;

}

.mt-50{

    margin-top:50px;

}

.mb-50{

    margin-bottom:50px;

}

.shadow{

    box-shadow:var(--shadow);

}

.rounded{

    border-radius:20px;

}

/*====================================================
SMOOTH ANIMATIONS
====================================================*/

.fade-in{

    animation:fadeIn .8s ease forwards;

}

.zoom-in{

    animation:zoomIn .6s ease;

}

@keyframes fadeIn{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

@keyframes zoomIn{

    from{

        opacity:0;

        transform:scale(.85);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}

/*====================================================
SELECTION
====================================================*/

::selection{

    background:var(--primary);

    color:#fff;

}
/* Reveal Animation */
.fade-in-up{
    animation:fadeInUp .8s ease forwards;
}

@keyframes fadeInUp{
    from{
        opacity:0;
        transform:translateY(50px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* Ripple Effect */
.btn-primary,
.btn-secondary{
    position:relative;
    overflow:hidden;
}

.ripple{
    position:absolute;
    border-radius:50%;
    background:rgba(255,255,255,.4);
    transform:scale(0);
    animation:ripple .6s linear;
    pointer-events:none;
}

@keyframes ripple{
    to{
        transform:scale(4);
        opacity:0;
    }
}

/* Scroll Progress */
#scroll-progress{
    position:fixed;
    top:0;
    left:0;
    width:0;
    height:4px;
    background:linear-gradient(90deg,#0A4D8C,#D4AF37);
    z-index:99999;
}

/* Smooth Page Load */
body{
    opacity:1;
    
}


/*====================================================
END OF MAIN STYLESHEET
====================================================*/
/*====================================================
HERO REDESIGN — INTERNATIONAL TRAVEL
Only affects the homepage hero section.
====================================================*/

.hero{
    position:relative;
    isolation:isolate;
    background:#081B38;
}

/* Slow cinematic movement on the supplied hero image */
.hero::after{
    content:"";
    position:absolute;
    inset:-5%;
    z-index:0;
    background:url("./images/hero/wojhat-world-hero.png") center center/cover no-repeat;
    transform:scale(1.04);
    animation:heroImageDrift 18s ease-in-out infinite alternate;
    will-change:transform;
}

/* Stronger left-side contrast for readable international-travel messaging */
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(90deg,
            rgba(4,20,42,.88) 0%,
            rgba(4,25,49,.74) 34%,
            rgba(4,25,49,.38) 57%,
            rgba(4,25,49,.08) 82%,
            rgba(4,25,49,.16) 100%),
        linear-gradient(180deg,
            rgba(4,18,38,.24) 0%,
            rgba(4,18,38,.02) 45%,
            rgba(4,18,38,.34) 100%);
}

/* Replace the old moving gradient with a subtle premium light sweep */
.hero .overlay{
    z-index:2;
    background:
        radial-gradient(circle at 18% 45%, rgba(217,179,108,.16), transparent 30%),
        linear-gradient(110deg, transparent 0%, rgba(255,255,255,.045) 45%, transparent 62%);
    background-size:100% 100%, 220% 100%;
    animation:heroLightSweep 12s ease-in-out infinite;
    pointer-events:none;
}

.hero-content{
    z-index:20;
    max-width:780px;
    padding-left:8%;
    color:#fff;
    animation:heroContentIn 1.05s cubic-bezier(.22,1,.36,1) both;
    text-shadow:0 3px 18px rgba(0,0,0,.28);
}

.hero-content h4{
    color:#fff;
    background:rgba(5,28,52,.58);
    border:1px solid rgba(255,255,255,.32);
    box-shadow:0 10px 30px rgba(0,0,0,.14);
    backdrop-filter:blur(12px);
    animation:heroEyebrowIn 1s .08s cubic-bezier(.22,1,.36,1) both;
}

.hero-content h1{
    color:#fff;
    letter-spacing:-1.5px;
    text-shadow:0 5px 28px rgba(0,0,0,.38);
}

.hero-content h1 span{
    color:#F2C978;
    text-shadow:0 4px 22px rgba(0,0,0,.34);
}

.hero-content p{
    color:#F8FBFF;
    text-shadow:0 2px 14px rgba(0,0,0,.42);
}

.hero-buttons{
    animation:heroButtonsIn 1s .25s cubic-bezier(.22,1,.36,1) both;
}

.hero .btn-primary{
    background:linear-gradient(135deg,#D9B36C,#F0CF88);
    color:#142333;
    box-shadow:0 12px 30px rgba(0,0,0,.22);
}

.hero .btn-primary:hover{
    background:linear-gradient(135deg,#F0CF88,#D9B36C);
}

.hero .btn-secondary{
    background:rgba(5,28,52,.34);
    border-color:rgba(255,255,255,.72);
    color:#fff;
    backdrop-filter:blur(10px);
}

.hero .btn-secondary:hover{
    background:#fff;
    color:#075E68;
}

.hero .video-btn{
    color:#fff;
    text-shadow:0 2px 12px rgba(0,0,0,.35);
}

.hero .video-btn i{
    background:rgba(5,28,52,.52);
    border:1px solid rgba(255,255,255,.28);
    box-shadow:0 10px 28px rgba(0,0,0,.16);
}

.hero .video-btn:hover i{
    background:#D9B36C;
    color:#142333;
}

/* Remove the previous plane/cloud animation so it does not compete with the supplied artwork. */
.hero .plane,
.hero .cloud{
    display:none;
}

.scroll-down{
    z-index:25;
    animation:scrollHint 2.8s ease-in-out infinite;
}

.scroll-down span{
    border-color:rgba(255,255,255,.9);
    box-shadow:0 0 22px rgba(255,255,255,.12);
}

.scroll-down span::before{
    background:#F2C978;
}

@keyframes heroImageDrift{
    0%{
        transform:scale(1.04) translate3d(0,0,0);
    }
    50%{
        transform:scale(1.08) translate3d(-.8%, -.4%, 0);
    }
    100%{
        transform:scale(1.05) translate3d(.7%, .3%, 0);
    }
}

@keyframes heroLightSweep{
    0%,100%{
        background-position:0 0, 0% 0;
        opacity:.72;
    }
    50%{
        background-position:0 0, 100% 0;
        opacity:1;
    }
}

@keyframes heroContentIn{
    from{
        opacity:0;
        transform:translate3d(-34px,20px,0);
    }
    to{
        opacity:1;
        transform:translate3d(0,0,0);
    }
}

@keyframes heroEyebrowIn{
    from{
        opacity:0;
        transform:translateY(16px) scale(.96);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

@keyframes heroButtonsIn{
    from{
        opacity:0;
        transform:translateY(22px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes scrollHint{
    0%,100%{transform:translateX(-50%) translateY(0);}
    50%{transform:translateX(-50%) translateY(7px);}
}

@media (prefers-reduced-motion: reduce){
    .hero::after,
    .hero .overlay,
    .hero-content,
    .hero-content h4,
    .hero-buttons,
    .scroll-down{
        animation:none !important;
    }
}

@media (max-width: 768px){
    .hero::after{
        background-position:58% center;
    }

    .hero::before{
        background:
            linear-gradient(90deg,
                rgba(4,20,42,.86) 0%,
                rgba(4,25,49,.70) 62%,
                rgba(4,25,49,.34) 100%),
            linear-gradient(180deg,
                rgba(4,18,38,.22) 0%,
                rgba(4,18,38,.18) 100%);
    }

    .hero-content{
        padding-left:5%;
        padding-right:5%;
    }
}
.header-logo {
    display: block;
    width: 100px;
    height: auto;
    object-fit: contain;
}

/* Video popup: always stay fixed to the browser viewport, never below the footer */
html.video-modal-active,
body.video-modal-open {
    overflow: hidden !important;
}

#videoModal.video-modal {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    min-width: 100% !important;
    min-height: 100% !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    z-index: 2147483647 !important;
}

#videoModal.video-modal.active {
    display: flex !important;
}

#videoModal .video-modal-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.88) !important;
    z-index: 1 !important;
}

#videoModal .video-modal-content {
    position: relative !important;
    z-index: 2 !important;
    width: min(100%, 1000px) !important;
    max-width: 1000px !important;
    max-height: calc(100vh - 40px) !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

#videoModal #videoModalPlayer {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100vh - 40px) !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}

#videoModal .video-modal-close {
    position: absolute !important;
    top: -42px !important;
    right: 0 !important;
    z-index: 3 !important;
    cursor: pointer !important;
    font-size: 36px !important;
    line-height: 1 !important;
    color: #fff !important;
}

@media (max-width: 600px) {
    #videoModal.video-modal {
        padding: 15px !important;
    }
    #videoModal .video-modal-close {
        top: -38px !important;
        font-size: 32px !important;
    }
    #videoModal .video-modal-content,
    #videoModal #videoModalPlayer {
        max-height: calc(100vh - 30px) !important;
    }
}

/* ==========================================
   WORLDWIDE HERO IMAGE
   Uses landing.png as the main hero visual
   ========================================== */
 .hero {
            position: relative;
            width: 100%;
            height: 700px;
            overflow: hidden;
            background: #111;
        }

        /* =========================
           SLIDER
        ========================= */
        .slides {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
        }

        .slide {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            visibility: hidden;
            transition:
                opacity 1.2s ease-in-out,
                transform 6s ease;
            transform: scale(1.08);
        }

        .slide.active {
            opacity: 1;
            visibility: visible;
            transform: scale(1);
        }

        .slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        
        /* =========================
           ARROWS
        ========================= */
        .slider-arrow {
            position: absolute;
            z-index: 10;
            top: 50%;
            transform: translateY(-50%);

            width: 52px;
            height: 52px;

            border: 1px solid rgba(255,255,255,0.5);
            background: rgba(0,0,0,0.25);
            color: white;

            border-radius: 50%;
            cursor: pointer;

            font-size: 25px;

            display: flex;
            align-items: center;
            justify-content: center;

            transition: 0.3s ease;
        }

        .slider-arrow:hover {
            background: white;
            color: #222;
            transform: translateY(-50%) scale(1.08);
        }

        .prev {
            left: 25px;
        }

        .next {
            right: 25px;
        }

        /* =========================
           DOT NAVIGATION
        ========================= */
        .slider-dots {
            position: absolute;
            z-index: 10;
            bottom: 35px;
            left: 50%;
            transform: translateX(-50%);

            display: flex;
            gap: 10px;
        }

        .dot {
            width: 11px;
            height: 11px;

            border-radius: 50%;
            border: 2px solid white;

            background: transparent;
            cursor: pointer;

            transition: 0.3s ease;
        }

        .dot.active {
            background: white;
            transform: scale(1.3);
        }

        /* =========================
           PROGRESS BAR
        ========================= */
        .progress {
            position: absolute;
            z-index: 10;
            bottom: 0;
            left: 0;

            width: 100%;
            height: 4px;

            background: rgba(255,255,255,0.2);
        }

        .progress-bar {
            height: 100%;
            width: 0%;
            background: #b28a45;
        }

        /* =========================
           MOBILE
        ========================= */
        @media (max-width: 768px) {

            .hero {
                height: 600px;
            }

            .hero-content {
                padding: 0 25px;
                justify-content: center;
            }

            .hero-content .small-title {
                font-size: 14px;
                letter-spacing: 2px;
            }

            .hero-content h1 {
                font-size: 42px;
            }

            .hero-content p {
                font-size: 16px;
                line-height: 1.6;
            }

            .slider-arrow {
                width: 42px;
                height: 42px;
                font-size: 20px;
            }

            .prev {
                left: 12px;
            }

            .next {
                right: 12px;
            }

            .hero-buttons {
                gap: 10px;
            }

            .hero-btn {
                padding: 13px 22px;
            }
        }

        @media (max-width: 480px) {

            .hero {
                height: 550px;
            }

            .hero-content h1 {
                font-size: 35px;
            }

            .hero-content p {
                font-size: 15px;
            }

            .slider-arrow {
                display: none;
            }
        }

/* Desktop */
@media (min-width: 1200px) {
    .hero {
        min-height: 780px;
    }

    .hero-image img {
        object-position: center bottom;
    }
}

/* Tablet */
@media (max-width: 991px) {
    .hero {
        min-height: 700px;
        height: auto;
    }

    .hero-image img {
        object-position: 58% bottom;
    }

    .hero-image-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,0.97) 0%,
                rgba(255,255,255,0.86) 45%,
                rgba(255,255,255,0.35) 100%
            ),
            linear-gradient(
                0deg,
                rgba(255,255,255,0.22) 0%,
                rgba(255,255,255,0) 55%
            );
    }
}

/* Mobile */
@media (max-width: 600px) {
    .hero {
        min-height: 720px;
    }

    .hero-image img {
        object-position: 63% bottom;
        min-width: 100%;
    }

    .hero-image-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,0.96) 0%,
                rgba(255,255,255,0.88) 48%,
                rgba(255,255,255,0.38) 100%
            );
    }

    .hero .hero-content {
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* ==========================================
   EXTRA HERO TEXT CLARITY
   ========================================== */

.hero .hero-content {
    position: relative !important;
    z-index: 10 !important;
    padding: 45px 50px !important;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.10);
}

.hero .hero-content h4 {
    color: #b07a22 !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    letter-spacing: 2px;
}

.hero .hero-content h1 {
    color: #17202a !important;
    font-weight: 700 !important;
    text-shadow: none !important;
    line-height: 1.12 !important;
}

.hero .hero-content h1 span {
    color: #9a6418 !important;
    text-shadow: none !important;
}

.hero .hero-content p {
    color: #26323b !important;
    font-weight: 500 !important;
    text-shadow: none !important;
    line-height: 1.75 !important;
    max-width: 650px;
}

/* Stronger background fade behind the text */
.hero-image-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.99) 0%,
            rgba(255,255,255,0.94) 25%,
            rgba(255,255,255,0.65) 48%,
            rgba(255,255,255,0.16) 78%,
            rgba(255,255,255,0.02) 100%
        ),
        linear-gradient(
            0deg,
            rgba(255,255,255,0.20) 0%,
            rgba(255,255,255,0) 55%
        ) !important;
}

@media (max-width: 991px) {
    .hero .hero-content {
        padding: 35px 35px !important;
        background: rgba(255,255,255,0.86);
    }
}

@media (max-width: 600px) {
    .hero .hero-content {
        padding: 28px 22px !important;
        border-radius: 18px;
        background: rgba(255,255,255,0.90);
    }

    .hero .hero-content h1 {
        line-height: 1.18 !important;
    }

    .hero .hero-content p {
        line-height: 1.6 !important;
    }
}

/* ==========================================
   WOJHAT BRAND COLORS — MATCHING LOGO
   Dark Gray: #404040
   Green:     #A5D15E
   Gold:      #EEDC7B
   Coral:     #F48065
   ========================================== */

/* Brand-colored welcome label */
.hero .hero-content h4 {
    color: #404040 !important;
    font-weight: 800 !important;
    letter-spacing: 2.5px !important;
}

/* Main headline */
.hero .hero-content h1 {
    color: #404040 !important;
    font-weight: 800 !important;
}

/* Highlighted headline uses the logo's green */
.hero .hero-content h1 span {
    color: #A5D15E !important;
    font-weight: 800 !important;
}

/* Body text stays dark gray for maximum readability */
.hero .hero-content p {
    color: #404040 !important;
    font-weight: 500 !important;
}

/* Primary button — logo green */
.hero .btn-primary {
    background: #A5D15E !important;
    border-color: #A5D15E !important;
    color: #404040 !important;
    font-weight: 700 !important;
}

.hero .btn-primary:hover {
    background: #EEDC7B !important;
    border-color: #EEDC7B !important;
    color: #404040 !important;
}

/* Secondary button — logo dark gray */
.hero .btn-secondary {
    color: #404040 !important;
    border-color: #404040 !important;
    font-weight: 700 !important;
    background: rgba(255,255,255,0.55) !important;
}

.hero .btn-secondary:hover {
    background: #404040 !important;
    border-color: #404040 !important;
    color: #ffffff !important;
}

/* Video button — gold brand accent */
.hero .video-btn {
    color: #404040 !important;
    font-weight: 700 !important;
}

.hero .video-btn i {
    color: #F48065 !important;
}

/* Subtle branded accent under/around the content */
.hero .hero-content {
    border-left: 5px solid #A5D15E !important;
}

/* Strong readable image treatment */
.hero-image-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.99) 0%,
            rgba(255,255,255,0.95) 24%,
            rgba(255,255,255,0.70) 48%,
            rgba(255,255,255,0.20) 78%,
            rgba(255,255,255,0.02) 100%
        ),
        linear-gradient(
            0deg,
            rgba(255,255,255,0.20) 0%,
            rgba(255,255,255,0) 55%
        ) !important;
}

/* Small brand-color highlight on the scroll indicator */
.hero .scroll-down span {
    background: #A5D15E !important;
    box-shadow: 0 0 0 4px rgba(165,209,94,0.20) !important;
}

@media (max-width: 600px) {
    .hero .hero-content {
        border-left-width: 4px !important;
    }
}

/* ==========================================
   HERO IMAGE — NO DARK SHADOW / OVERLAY
   ========================================== */

/* Remove the full-screen dark pseudo-element */
.hero::before,
.hero::after {
    content: none !important;
    display: none !important;
    background: none !important;
    opacity: 1 !important;
}

/* Keep the actual slider images completely clear */
.hero .slides,
.hero .slide,
.hero .slide img {
    position: absolute;
}

.hero .slides {
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero .slide {
    inset: 0;
}

/* If an overlay element exists elsewhere in the stylesheet,
   do not place a dark/white tint over the hero images. */
.hero .hero-image-overlay,
.hero-image-overlay {
    background: transparent !important;
    background-image: none !important;
    opacity: 1 !important;
}

/* Preserve the hero image itself */
.hero .slide img {
    filter: none !important;
    opacity: 1 !important;
}

/* Keep controls above the images */
.hero .slider-arrow,
.hero .slider-dots,
.hero .progress {
    z-index: 20 !important;
}

/* ==========================================
   FINAL HERO SLIDER FIX
   - Automatic sliding enabled
   - 6 second interval
   - No hover pause
   - No dark overlay
   ========================================== */

.hero {
    position: relative !important;
    overflow: hidden !important;
}

.hero .slides {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.hero .slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 1.2s ease-in-out, transform 6s ease !important;
}

.hero .slide.active {
    opacity: 1 !important;
    visibility: visible !important;
}

.hero .slide img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    filter: none !important;
}

/* Completely remove any full-screen hero overlay */
.hero::before,
.hero::after,
.hero .hero-image-overlay,
.hero-image-overlay {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    opacity: 1 !important;
}

.hero .slider-arrow,
.hero .slider-dots,
.hero .progress {
    z-index: 50 !important;
}

/* Previous WOJHAT header restored */
#header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  transform:none!important;
  z-index:99999!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  border-radius:0!important;
  transition:background .45s ease, box-shadow .45s ease, transform .45s ease!important;
}
#header .container{
  width:min(1240px,calc(100% - 40px))!important;
  min-height:82px!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:25px!important;
}
#header .header-logo{
  width:92px!important;
  height:auto!important;
  max-height:58px!important;
  object-fit:contain!important;
  display:block!important;
}
#header nav{
  display:block!important;
  margin-left:auto!important;
}
#header .nav-links{
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
#header .nav-links a{
  display:inline-block!important;
  color:#202720!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:700!important;
  white-space:nowrap!important;
  transition:color .3s ease, transform .3s ease!important;
}
#header .nav-links a:hover{
  color:#658d3a!important;
  transform:translateY(-1px)!important;
}
#header .header-right{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
#header .header-right select{
  height:38px!important;
  min-width:54px!important;
  padding:0 25px 0 12px!important;
  border:1px solid rgba(32,39,32,.12)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.8)!important;
  color:#202720!important;
  font-size:11px!important;
  font-weight:700!important;
}
#header .book-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:0 19px!important;
  border-radius:999px!important;
  background:#A5D15E!important;
  color:#172016!important;
  font-size:12px!important;
  font-weight:800!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:0 8px 25px rgba(165,209,94,.22)!important;
  transition:transform .3s ease,box-shadow .3s ease!important;
}
#header .book-btn:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 13px 32px rgba(165,209,94,.32)!important;
}
#header .menu-btn{
  display:none!important;
}
#header.scrolled{
  top:0!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 8px 35px rgba(0,0,0,.10)!important;
}
@media(max-width:1050px){
  #header .container{width:calc(100% - 30px)!important;gap:15px!important}
  #header .nav-links{gap:14px!important}
  #header .nav-links a{font-size:11px!important}
  #header .header-right select{min-width:48px!important}
  #header .book-btn{padding:0 14px!important}
}
@media(max-width:760px){
  #header .container{
    width:calc(100% - 24px)!important;
    min-height:68px!important;
  }
  #header .header-logo{width:78px!important}
  #header nav{display:none!important}
  #header .header-right select{display:none!important}
  #header .header-right{margin-left:auto!important}
  #header .book-btn{
    min-height:38px!important;
    padding:0 13px!important;
    font-size:10px!important;
  }
  #header .menu-btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:40px!important;
    height:40px!important;
    border-radius:50%!important;
    border:1px solid rgba(32,39,32,.13)!important;
    background:#fff!important;
    color:#202720!important;
    cursor:pointer!important;
    font-size:16px!important;
  }
}
@media(max-width:430px){
  #header .container{min-height:62px!important}
  #header .header-logo{width:70px!important}
  #header .book-btn{display:none!important}
}

#wojhat-chat-window{transform-origin:bottom right;animation:wojhatPop .45s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.28);box-shadow:0 24px 70px rgba(0,0,0,.25)!important;overflow:hidden}
#wojhat-chat-window.wojhat-closing{animation:wojhatClose .25s ease forwards}
#wojhat-chat-toggle{transition:transform .3s ease,box-shadow .3s ease;animation:wojhatFloat 3s ease-in-out infinite}
#wojhat-chat-toggle:hover{transform:translateY(-5px) scale(1.06);box-shadow:0 15px 35px rgba(16,185,129,.42)}
#wojhat-chat-window .wojhat-chat-header{position:relative;overflow:hidden}
#wojhat-chat-window .wojhat-chat-header:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.22) 45%,transparent 70%);transform:translateX(-120%);animation:wojhatShine 4s infinite}
#wojhat-chat-window .wojhat-message{animation:wojhatMessage .35s both}
#wojhat-chat-window button{transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
#wojhat-chat-window button:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(16,185,129,.18)}
@keyframes wojhatPop{from{opacity:0;transform:translateY(18px) scale(.92)}to{opacity:1;transform:none}}
@keyframes wojhatClose{to{opacity:0;transform:translateY(12px) scale(.95)}}
@keyframes wojhatFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes wojhatShine{0%,55%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
@keyframes wojhatMessage{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#wojhat-chat-toggle,#wojhat-chat-window,#wojhat-chat-window .wojhat-message,#wojhat-chat-window .wojhat-chat-header:after{animation:none!important;transition:none!important}}

/* Chatbot header alignment fix */
#wojhat-chat-window {
  display: none;
  flex-direction: column;
  box-sizing: border-box;
}
#wojhat-chat-window.open {
  display: flex;
}
#wojhat-chat-window > .wojhat-chat-head {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  width: 100%;
  min-height: 80px;
  margin: 0 !important;
  padding: 16px 16px 15px !important;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #202720;
  border: 0;
  border-radius: 0;
}
#wojhat-chat-window > .wojhat-chat-head > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}
#wojhat-chat-window .wojhat-chat-head strong {
  display: block;
  margin: 0;
  line-height: 1.25;
  font-size: 16px;
  font-weight: 700;
}
#wojhat-chat-window .wojhat-chat-head small {
  display: block;
  margin: 0;
  line-height: 1.35;
  font-size: 12px;
  color: #d7e8c0;
}
#wojhat-chat-window .wojhat-chat-close {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
#wojhat-chat-window .wojhat-chat-close:hover {
  background: rgba(255,255,255,.12);
  transform: none;
  box-shadow: none;
}
#wojhat-chat-window > .wojhat-chat-body {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
}
@media (max-width: 500px) {
  #wojhat-chat-window > .wojhat-chat-head {
    min-height: 76px;
    padding: 14px 15px 13px !important;
  }
}

/* =========================================================
   WOJHAT HERO V2
   Cinematic editorial + liquid motion
   ========================================================= */

.hero-v2 {
    --v2-green: #A5D15E;
    --v2-gold: #EEDC7B;
    --v2-coral: #F48065;
    --v2-white: #fff;
    --v2-dark: #111513;
    --v2-speed: 7000ms;
    --v2-transition: 1250ms;
    --v2-ease: cubic-bezier(.16, 1, .3, 1);

    position: relative !important;
    width: 100% !important;
    height: clamp(680px, 88vh, 920px) !important;
    min-height: 650px !important;
    overflow: hidden !important;
    background: #0b0d0c !important;
    isolation: isolate;
}

.hero-v2 .v2-stage,
.hero-v2 .v2-slides,
.hero-v2 .v2-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero-v2 .v2-stage {
    overflow: hidden;
    perspective: 1600px;
    transform: translateZ(0);
}

.hero-v2 .v2-slide {
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    clip-path: inset(0 0 0 0);
    transform: scale(1.06);
    transition:
        opacity var(--v2-transition) var(--v2-ease),
        transform var(--v2-transition) var(--v2-ease),
        visibility 0s linear var(--v2-transition);
    will-change: opacity, transform;
}

.hero-v2 .v2-slide.is-active {
    z-index: 4;
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    transition:
        opacity var(--v2-transition) var(--v2-ease),
        transform 1500ms var(--v2-ease);
}

.hero-v2 .v2-image-wrap {
    position: absolute;
    inset: -5%;
    width: 110%;
    height: 110%;
    overflow: hidden;
    transform: translate3d(0,0,0);
}

.hero-v2 .v2-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(8,11,10,.18), transparent 42%, rgba(8,11,10,.06)),
        linear-gradient(0deg, rgba(8,11,10,.23), transparent 42%, rgba(8,11,10,.06));
    pointer-events: none;
}

.hero-v2 .v2-slide img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    display: block;
    filter: saturate(1.05) contrast(1.015);
    transform: scale(1.13) translate3d(0,0,0);
    transition:
        transform 7600ms cubic-bezier(.12,.72,.2,1),
        filter 1200ms ease;
    will-change: transform;
}

.hero-v2 .v2-slide.is-active img {
    transform: scale(1.015) translate3d(0,0,0);
}

/* Alternating image choreography */
.hero-v2 .v2-slide:nth-child(4n+1).is-active img {
    transform: scale(1.018) translate3d(-.65%, .25%, 0);
}
.hero-v2 .v2-slide:nth-child(4n+2).is-active img {
    transform: scale(1.025) translate3d(.7%, -.2%, 0);
}
.hero-v2 .v2-slide:nth-child(4n+3).is-active img {
    transform: scale(1.02) translate3d(-.5%, -.35%, 0);
}
.hero-v2 .v2-slide:nth-child(4n).is-active img {
    transform: scale(1.027) translate3d(.5%, .3%, 0);
}

/* Liquid color bloom behind each slide */
.hero-v2 .v2-color-orb {
    position: absolute;
    width: 35vw;
    height: 35vw;
    max-width: 520px;
    max-height: 520px;
    border-radius: 50%;
    filter: blur(90px);
    opacity: .10;
    pointer-events: none;
    mix-blend-mode: screen;
    animation: v2OrbFloat 9s ease-in-out infinite alternate;
}

.hero-v2 .orb-a {
    left: -12%;
    top: 12%;
    background: var(--v2-green);
}
.hero-v2 .orb-b {
    right: -14%;
    bottom: -15%;
    background: var(--v2-coral);
    animation-delay: -3s;
}

@keyframes v2OrbFloat {
    0% { transform: translate3d(0,0,0) scale(.9); }
    100% { transform: translate3d(5vw,-3vh,0) scale(1.08); }
}

/* Editorial grid */
.hero-v2 .v2-grid {
    position: absolute;
    inset: 0;
    z-index: 7;
    pointer-events: none;
    opacity: .055;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.8) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.8) 1px, transparent 1px);
    background-size: 12.5vw 100%, 100% 25%;
    mask-image: linear-gradient(90deg, #000, transparent 80%);
    -webkit-mask-image: linear-gradient(90deg, #000, transparent 80%);
}

/* Premium edge vignette */
.hero-v2 .v2-vignette {
    position: absolute;
    inset: 0;
    z-index: 8;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 42%, transparent 35%, rgba(0,0,0,.08) 78%, rgba(0,0,0,.24) 100%),
        linear-gradient(90deg, rgba(0,0,0,.12), transparent 24%, transparent 76%, rgba(0,0,0,.10));
}

/* Moving light leak */
.hero-v2 .v2-light-leak {
    position: absolute;
    z-index: 9;
    top: -35%;
    left: -15%;
    width: 50%;
    height: 170%;
    pointer-events: none;
    background: linear-gradient(
        105deg,
        transparent 0%,
        rgba(255,255,255,.04) 40%,
        rgba(165,209,94,.11) 50%,
        rgba(255,255,255,.03) 58%,
        transparent 100%
    );
    transform: rotate(10deg);
    animation: v2LightSweep 11s ease-in-out infinite;
}

@keyframes v2LightSweep {
    0%, 55% { transform: translate3d(-45vw,0,0) rotate(10deg); }
    78%, 100% { transform: translate3d(145vw,0,0) rotate(10deg); }
}

/* Film grain */
.hero-v2 .v2-grain {
    position: absolute;
    inset: -50%;
    z-index: 10;
    pointer-events: none;
    opacity: .035;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
    animation: v2Grain .9s steps(2) infinite;
}

@keyframes v2Grain {
    0% { transform: translate(0,0); }
    25% { transform: translate(2%,-1%); }
    50% { transform: translate(-1%,2%); }
    75% { transform: translate(1%,1%); }
    100% { transform: translate(0,0); }
}

/* Left editorial content */
.hero-v2 .v2-copy {
    position: absolute;
    left: clamp(30px, 7vw, 110px);
    top: 50%;
    z-index: 20;
    width: min(650px, 53vw);
    color: #fff;
    transform: translateY(-46%);
    text-shadow: 0 3px 24px rgba(0,0,0,.28);
}

.hero-v2 .v2-kicker {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 21px;
    font: 700 10px/1.2 "Montserrat", Arial, sans-serif;
    letter-spacing: 3.2px;
}

.hero-v2 .v2-kicker-line {
    width: 42px;
    height: 2px;
    background: var(--v2-green);
    box-shadow: 0 0 18px rgba(165,209,94,.65);
}

.hero-v2 .v2-copy h1 {
    margin: 0;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(50px, 6.2vw, 100px);
    line-height: .91;
    font-weight: 800;
    letter-spacing: -.055em;
}

.hero-v2 .v2-title-line {
    display: block;
    overflow: hidden;
}

.hero-v2 .v2-title-accent {
    color: var(--v2-green);
    padding-bottom: .09em;
}

.hero-v2 .v2-copy p {
    width: min(530px, 100%);
    margin: 27px 0 30px;
    font: 400 16px/1.75 "Montserrat", Arial, sans-serif;
    color: rgba(255,255,255,.90);
}

.hero-v2 .v2-actions {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

.hero-v2 .v2-primary-btn,
.hero-v2 .v2-secondary-btn {
    text-decoration: none;
    font-family: "Montserrat", Arial, sans-serif;
}

.hero-v2 .v2-primary-btn {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 15px 20px 15px 23px;
    border-radius: 999px;
    background: var(--v2-green);
    color: #1b2418;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .4px;
    box-shadow: 0 16px 42px rgba(0,0,0,.20);
    transition: transform 400ms var(--v2-ease), box-shadow 400ms ease;
}

.hero-v2 .v2-primary-btn i {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,.58);
    font-style: normal;
    font-size: 16px;
}

.hero-v2 .v2-primary-btn:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 45px rgba(0,0,0,.28);
}

.hero-v2 .v2-secondary-btn {
    position: relative;
    padding: 8px 0;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.3px;
}

.hero-v2 .v2-secondary-btn::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    height: 1px;
    background: rgba(255,255,255,.65);
    transform-origin: right;
    transform: scaleX(.45);
    transition: transform 450ms var(--v2-ease);
}

.hero-v2 .v2-secondary-btn:hover::after {
    transform-origin: left;
    transform: scaleX(1);
}

/* Right editorial index */
.hero-v2 .v2-index {
    position: absolute;
    right: clamp(30px, 6vw, 95px);
    top: 50%;
    z-index: 20;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    transform: translateY(-50%);
    color: #fff;
}

.hero-v2 .v2-index-label {
    margin-bottom: 8px;
    font: 700 9px/1 "Montserrat", Arial, sans-serif;
    letter-spacing: 2.8px;
    opacity: .72;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.hero-v2 .v2-index-number {
    font: 800 clamp(54px, 6vw, 94px)/.85 "Montserrat", Arial, sans-serif;
    letter-spacing: -.08em;
    color: var(--v2-green);
    text-shadow: 0 4px 24px rgba(0,0,0,.25);
}

.hero-v2 .v2-index-total {
    margin-top: 9px;
    font: 600 10px/1 "Montserrat", Arial, sans-serif;
    letter-spacing: 2px;
    opacity: .75;
}

/* Bottom control bar */
.hero-v2 .v2-bottom-bar {
    position: absolute;
    left: clamp(30px, 6vw, 95px);
    right: clamp(30px, 6vw, 95px);
    bottom: 32px;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 12px;
}

.hero-v2 .v2-nav {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 50%;
    background: rgba(255,255,255,.09);
    color: #fff;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    cursor: pointer;
    transition: transform 400ms var(--v2-ease), background 300ms ease;
}

.hero-v2 .v2-nav:hover {
    background: var(--v2-green);
    color: #1b2418;
    transform: scale(1.08);
}

.hero-v2 .v2-nav-icon {
    font-size: 18px;
}

.hero-v2 .v2-progress-track {
    position: relative;
    width: min(170px, 16vw);
    height: 2px;
    overflow: hidden;
    background: rgba(255,255,255,.27);
}

.hero-v2 .v2-progress-fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    background: linear-gradient(90deg, var(--v2-green), var(--v2-gold));
    box-shadow: 0 0 14px rgba(165,209,94,.6);
}

.hero-v2 .v2-dots {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: 5px;
}

.hero-v2 .v2-dot {
    width: 6px;
    height: 6px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.45);
    cursor: pointer;
    transition: width 450ms var(--v2-ease), background 300ms ease, transform 300ms ease;
}

.hero-v2 .v2-dot:hover {
    transform: scale(1.5);
    background: #fff;
}

.hero-v2 .v2-dot.is-active {
    width: 28px;
    border-radius: 999px;
    background: var(--v2-green);
    box-shadow: 0 0 14px rgba(165,209,94,.55);
}

.hero-v2 .v2-scroll {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255,255,255,.75);
    font: 600 8px/1 "Montserrat", Arial, sans-serif;
    letter-spacing: 2px;
}

.hero-v2 .v2-scroll-mouse {
    position: relative;
    width: 17px;
    height: 25px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 12px;
}

.hero-v2 .v2-scroll-mouse::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 5px;
    width: 2px;
    height: 5px;
    border-radius: 5px;
    background: var(--v2-green);
    transform: translateX(-50%);
    animation: v2ScrollDot 1.8s ease-in-out infinite;
}

@keyframes v2ScrollDot {
    0%,100% { opacity: .35; transform: translate(-50%,0); }
    50% { opacity: 1; transform: translate(-50%,7px); }
}

/* Transition choreography */
.hero-v2.is-transitioning .v2-copy {
    animation: v2CopyOut 620ms var(--v2-ease) both;
}

@keyframes v2CopyOut {
    0% { opacity: 1; transform: translateY(-46%); }
    100% { opacity: .35; transform: translateY(-50%); }
}

/* Responsive */
@media (max-width: 1100px) {
    .hero-v2 {
        height: 720px !important;
    }

    .hero-v2 .v2-copy {
        width: min(600px, 68vw);
    }

    .hero-v2 .v2-index {
        right: 35px;
    }

    .hero-v2 .v2-scroll {
        display: none;
    }
}

@media (max-width: 760px) {
    .hero-v2 {
        height: 76svh !important;
        min-height: 600px !important;
    }

    .hero-v2 .v2-copy {
        left: 25px;
        right: 25px;
        top: 45%;
        width: auto;
        transform: translateY(-42%);
    }

    .hero-v2 .v2-copy h1 {
        font-size: clamp(43px, 11.5vw, 72px);
    }

    .hero-v2 .v2-copy p {
        max-width: 490px;
        margin-top: 20px;
        font-size: 14px;
        line-height: 1.65;
    }

    .hero-v2 .v2-index {
        right: 23px;
        top: 25%;
        transform: none;
    }

    .hero-v2 .v2-index-label {
        display: none;
    }

    .hero-v2 .v2-index-number {
        font-size: 42px;
    }

    .hero-v2 .v2-bottom-bar {
        left: 20px;
        right: 20px;
        bottom: 21px;
        gap: 7px;
    }

    .hero-v2 .v2-nav {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .hero-v2 .v2-progress-track {
        width: 70px;
    }

    .hero-v2 .v2-dots {
        gap: 4px;
        margin-left: 1px;
    }

    .hero-v2 .v2-dot {
        width: 5px;
        height: 5px;
    }

    .hero-v2 .v2-dot.is-active {
        width: 21px;
    }
}

@media (max-width: 480px) {
    .hero-v2 {
        min-height: 570px !important;
    }

    .hero-v2 .v2-kicker {
        font-size: 8px;
        letter-spacing: 2px;
    }

    .hero-v2 .v2-kicker-line {
        width: 27px;
    }

    .hero-v2 .v2-copy h1 {
        font-size: 42px;
        line-height: .94;
    }

    .hero-v2 .v2-copy p {
        font-size: 13px;
        margin: 17px 0 21px;
    }

    .hero-v2 .v2-actions {
        gap: 15px;
    }

    .hero-v2 .v2-primary-btn {
        padding: 12px 15px 12px 17px;
        font-size: 10px;
    }

    .hero-v2 .v2-primary-btn i {
        width: 27px;
        height: 27px;
    }

    .hero-v2 .v2-secondary-btn {
        font-size: 9px;
    }

    .hero-v2 .v2-index {
        top: 18%;
    }

    .hero-v2 .v2-index-number {
        font-size: 34px;
    }

    .hero-v2 .v2-progress-track {
        display: none;
    }

    .hero-v2 .v2-dots {
        margin-left: 3px;
        overflow: hidden;
        max-width: 105px;
    }

    .hero-v2 .v2-dot:nth-child(n+9) {
        display: none;
    }
}

/* Accessibility */
.hero-v2 button:focus-visible,
.hero-v2 a:focus-visible {
    outline: 2px solid var(--v2-green);
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    .hero-v2 .v2-slide,
    .hero-v2 .v2-slide img,
    .hero-v2 .v2-nav,
    .hero-v2 .v2-dot,
    .hero-v2 .v2-color-orb,
    .hero-v2 .v2-light-leak,
    .hero-v2 .v2-grain,
    .hero-v2 .v2-scroll-mouse::after {
        transition-duration: 1ms !important;
        animation: none !important;
    }
}

/* Keep the chatbot heading flush at the very top of the popup */
#wojhat-chat-window {
  padding: 0 !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
}
#wojhat-chat-window > .wojhat-chat-head {
  order: 0 !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
}
#wojhat-chat-window > .wojhat-chat-body {
  order: 1 !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}
#wojhat-chat-window > .wojhat-quick { order: 2 !important; }
#wojhat-chat-window > .wojhat-chat-form { order: 3 !important; }

#wojhat-chat-toggle{position:fixed;right:24px;bottom:24px;width:62px;height:62px;border:0;border-radius:50%;background:#A5D15E;color:#202720;font-size:25px;cursor:pointer;z-index:999999;box-shadow:0 10px 30px rgba(0,0,0,.2)}
#wojhat-chat-window{position:fixed;right:24px;bottom:98px;width:min(380px,calc(100vw - 30px));height:560px;max-height:calc(100vh - 125px);background:#fff;border:1px solid #e5e7eb;border-radius:22px;overflow:hidden;display:none;flex-direction:column;z-index:999998;box-shadow:0 20px 60px rgba(0,0,0,.22);font-family:Arial,sans-serif}
#wojhat-chat-window.open{display:flex}
.wojhat-chat-head{background:#202720;color:#fff;padding:18px;display:flex;align-items:center;justify-content:space-between}
.wojhat-chat-head strong{font-size:16px}.wojhat-chat-head small{display:block;color:#d7e8c0;margin-top:4px}
.wojhat-chat-close{background:none;border:0;color:#fff;font-size:24px;cursor:pointer}
.wojhat-chat-body{flex:1;padding:15px;overflow-y:auto;background:#f7f9f5}
.wojhat-msg{max-width:86%;padding:11px 13px;border-radius:15px;margin:8px 0;font-size:13px;line-height:1.55;white-space:pre-line}
.wojhat-bot{background:#fff;color:#263126;border:1px solid #e5eadf;border-bottom-left-radius:4px}
.wojhat-user{margin-left:auto;background:#A5D15E;color:#202720;border-bottom-right-radius:4px}
.wojhat-quick{display:flex;gap:7px;flex-wrap:wrap;padding:10px 12px;background:#fff;border-top:1px solid #eee}
.wojhat-quick button{border:1px solid #cbdcae;background:#f5faed;border-radius:20px;padding:7px 10px;font-size:11px;cursor:pointer;color:#35452b}
.wojhat-chat-form{display:flex;gap:8px;padding:12px;background:#fff;border-top:1px solid #eee}
.wojhat-chat-form input{flex:1;min-width:0;border:1px solid #ddd;border-radius:22px;padding:11px 14px;outline:none}
.wojhat-chat-form button{width:42px;border:0;border-radius:50%;background:#A5D15E;cursor:pointer}
@media(max-width:500px){#wojhat-chat-toggle{right:15px;bottom:15px}#wojhat-chat-window{right:15px;bottom:88px}}

