/* ========================================   CSS Variables and Global Styles   ======================================== */:root {    --deep-teal: #0C4F58;    --bright-cyan-glow: #30DDE0;    --secondary-teal: #2BA6A0;    --pure-white: #FFFFFF;    --deep-gray: #333333;    --light-gray: #F8F9FA;    --accent-gray: #666666;    --hover-blue: #2BA6A0;    /* Fonts */    --font-heading: 'Playfair Display', serif;    --font-body: 'Montserrat', sans-serif;    /* Retreat-specific variables */    --border-color: #ddd;    --text-light: #777;    --rating-gold: #f5c518;}* {    margin: 0;    padding: 0;    box-sizing: border-box;}/* Image Performance Optimizations */img {    max-width: 100%;    height: auto;    display: block;}html, body {    margin: 0;    padding: 0;    overflow-x: hidden;    scroll-behavior: smooth;}body {    font-family: var(--font-body);    line-height: 1.6;    color: var(--deep-gray);    background: var(--light-gray);}/* ========================================   Topbar and Header (Corrected)   ======================================== */.topbar {    background: var(--deep-teal);    color: var(--pure-white);    padding: 8px 0;    font-size: 0.85rem;    position: fixed;    top: 0;    width: 100%;    z-index: 1002;    height: 35px; /* Adjusted fixed height */    display: flex;    align-items: center;}.topbar-container {    display: flex;    justify-content: space-between; /* Adjusted to space-between */    align-items: center;    max-width: 1200px;    margin: 0 auto;    padding: 0 2rem;    width: 100%;}.topbar-left {    display: flex;    align-items: center;    gap: 2rem;}.topbar-contact {    display: flex;    align-items: center;    gap: 0.5rem;}.topbar-social {    display: flex;    align-items: center;    gap: 1rem;}.topbar-social a {    color: var(--pure-white);    text-decoration: none;    font-size: 1.1rem;    transition: all 0.3s ease;    width: 28px; /* Adjusted size */    height: 28px; /* Adjusted size */    display: flex;    align-items: center;    justify-content: center;    border-radius: 50%;    background: rgba(255, 255, 255, 0.1);}.topbar-social a:hover {    color: var(--bright-cyan-glow);    background: rgba(48, 221, 224, 0.2);    transform: translateY(-2px);}.topbar-contact i {    margin-right: 6px;    color: var(--bright-cyan-glow);}/* Header */.header {    position: fixed;    top: 35px; /* Positioned directly below the topbar */    width: 100%;    z-index: 1001;    background: var(--pure-white);    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);}.nav-container {    display: flex;    justify-content: space-between;    align-items: center;    width: 100%;    padding: 0 2rem;    position: relative;    background: var(--pure-white);    height: 120px;    border-bottom: 1px solid #e5e5e5;    overflow: visible;}.nav-items {    display: flex;    gap: 1.5rem;    list-style: none;    align-items: center;    z-index: 10;    white-space: nowrap;}.nav-items-left {    justify-content: flex-start;    flex: 1;}.nav-items-right {    justify-content: flex-end;    flex: 1;}.logo {    position: absolute;    left: 50%;    transform: translateX(-50%);    z-index: 20;}.logo img {    height: 100px;    width: auto;    transition: transform 0.3s ease;}.logo:hover img {    transform: scale(1.05);}.nav-link {    font-family: var(--font-body);    font-weight: 600;    color: var(--deep-teal);    text-decoration: none;    transition: all 0.3s ease;    padding: 0.5rem 0.75rem;    display: inline-block;    position: relative;}.nav-link:hover {    color: var(--bright-cyan-glow);}.nav-link::after {    content: '';    position: absolute;    bottom: 0;    left: 50%;    width: 0;    height: 2px;    background: var(--bright-cyan-glow);    transition: all 0.3s ease;    transform: translateX(-50%);}.nav-link:hover::after {    width: 80%;}.nav-item {    position: relative;}.has-dropdown > .nav-link i {    font-size: 0.7em;    margin-left: 5px;    transition: transform 0.3s ease;}.has-dropdown:hover > .nav-link i {    transform: rotate(180deg);}.dropdown-content {    position: absolute;    top: 100%;    left: 0;    background: var(--pure-white);    min-width: 280px;    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);    border-radius: 12px;    opacity: 0;    visibility: hidden;    transition: all 0.3s ease;    padding: 1rem 0;    z-index: 1001;    margin-top: 10px;}.nav-item:hover .dropdown-content {    opacity: 1;    visibility: visible;    margin-top: 0;}.dropdown-content a {    display: block;    padding: 0.8rem 1.5rem;    color: var(--accent-gray);    text-decoration: none;    font-size: 0.9rem;    transition: all 0.2s ease;    border-left: 3px solid transparent;}.dropdown-content a:hover {    background: var(--light-gray);    color: var(--hover-blue);    border-left-color: var(--bright-cyan-glow);    padding-left: 2rem;}/* Mobile styles */.mobile-menu-toggle {    display: none;}.mobile-menu-overlay {    display: none;}/* ========================================   Hero Section======================================== */.hero-section {    margin-top: 155px;    height: 100vh;    display: flex;    align-items: center;    justify-content: center;    position: relative;    overflow: hidden;    text-align: center;}/* Background video container */.hero-bg-container {    position: absolute;    top: 0;    left: 0;    width: 100%;    height: 100%;    z-index: 0;}/* Background video */.hero-bg-video {    width: 100%;    height: 100%;    object-fit: cover;    filter: brightness(1); /* show video as it is */}/* Hero content */.hero-content {    color: var(--pure-white);    z-index: 2;    max-width: 900px;    padding: 0 2rem;    animation: fadeInUp 1.5s ease-out;    position: relative;    top: 150px; /* move button down */    text-align: center;}/* CTA Button */.cta-buttons {    display: flex !important;    justify-content: center !important;    flex-wrap: wrap !important;    margin-top: 4rem !important;}.btn, .btn-tertiary {    font-family: var(--font-body) !important;    padding: 18px 40px !important;    border: none !important;    border-radius: 50px !important;    font-weight: 600 !important;    text-decoration: none !important;    font-size: 1.1rem !important;    display: inline-block !important;    cursor: pointer !important;    transition: all 0.4s ease !important;    text-align: center !important;    color: var(--pure-white) !important;    background: #D4AF37 !important; /* brand gold */}.btn:hover, .btn-tertiary:hover {    transform: translateY(-3px) !important;    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2) !important;    background: #FFD700 !important; /* bright gold on hover */}/* Responsive Adjustments */@media (max-width: 1024px) {    .hero-content {        top: 120px;        padding: 0 1.5rem;    }}@media (max-width: 768px) {    .hero-content {        top: 100px;        padding: 0 1rem;    }}@media (max-width: 480px) {    .hero-content {        top: 80px;        padding: 0 1rem;    }    .cta-buttons {        flex-direction: column !important;        gap: 1rem !important;    }}/* ========================================   Features Section - Updated for Horizontal Layout   ======================================== */.features-section {    background: var(--pure-white);    padding: 40px 0; /* Reduced padding for slimmer height */    border-top: 1px solid rgba(43, 166, 160, 0.1);    border-bottom: 1px solid rgba(43, 166, 160, 0.1);    height: auto; /* Remove fixed height for natural slim appearance */}.features-container {    max-width: 1200px;    margin: 0 auto;    padding: 0 2rem;}.features-grid {    display: flex; /* Changed from grid to flex for horizontal layout */    justify-content: space-between; /* Distribute items evenly */    align-items: center;    gap: 2rem;    flex-wrap: wrap; /* Allow wrapping on smaller screens */}.feature-item {    display: flex;    flex-direction: column;    align-items: center;    text-align: center;    flex: 1; /* Equal width for all items */    min-width: 150px; /* Minimum width to prevent too much shrinking */    opacity: 0;    transform: translateY(30px);    animation: fadeInUp 0.8s ease-out forwards;}.feature-item:nth-child(1) { animation-delay: 0.1s; }.feature-item:nth-child(2) { animation-delay: 0.2s; }.feature-item:nth-child(3) { animation-delay: 0.3s; }.feature-item:nth-child(4) { animation-delay: 0.4s; }.feature-icon {    width: 50px; /* Slightly smaller for horizontal layout */    height: 50px;    margin-bottom: 0.8rem; /* Reduced margin for slimmer look */    display: flex;    align-items: center;    justify-content: center;    border-radius: 50%;    background: linear-gradient(135deg, var(--secondary-teal), var(--bright-cyan-glow));    color: var(--pure-white);    font-size: 1.3rem; /* Adjusted font size */    transition: transform 0.3s ease, box-shadow 0.3s ease;}.feature-icon:hover {    transform: translateY(-3px) scale(1.1); /* Reduced transform for subtler effect */    box-shadow: 0 8px 20px rgba(43, 166, 160, 0.3);}.feature-title {    font-family: var(--font-heading);    font-size: 1rem; /* Slightly smaller for horizontal layout */    font-weight: 600;    color: var(--deep-teal);    margin: 0;    line-height: 1.3;    transition: color 0.3s ease;}.feature-item:hover .feature-title {    color: var(--secondary-teal);}/* =======================   Welcome Section - Updated for Left Alignment======================= */.welcome-section {    background: linear-gradient(135deg, var(--light-gray) 0%, var(--pure-white) 100%);    padding: 0;    position: relative;    overflow: hidden;    height: auto;}.welcome-section::before {    content: '';    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;    background: radial-gradient(circle at 20% 80%, rgba(48, 221, 224, 0.1) 0%, transparent 50%),                radial-gradient(circle at 80% 20%, rgba(12, 79, 88, 0.08) 0%, transparent 50%);    pointer-events: none;}.welcome-container {    max-width: 1200px;    margin: 0 auto;    padding: 2rem 2rem;    display: grid;    grid-template-columns: 1fr 1fr;    gap: 4rem;    align-items: center;    position: relative;    z-index: 2;}.welcome-content {    color: var(--deep-teal);    text-align: left;    display: flex;    flex-direction: column;    justify-content: center;}.greeting-text {    font-size: 1.2rem;    margin-bottom: 0.5rem;    opacity: 0.8;    font-weight: 300;    color: var(--deep-gray);    text-align: left;}.main-title {    font-family: var(--font-heading);    font-size: clamp(3rem, 6vw, 5rem);    font-weight: 700;    line-height: 1.1;    margin-bottom: 1rem;    color: var(--secondary-teal);    text-shadow: 0 2px 10px rgba(48, 221, 224, 0.1);    text-align: left;}.main-title .highlight {    color: var(--deep-teal);    text-shadow: 0 2px 10px rgba(12, 79, 88, 0.1);}.description-text {    font-size: 1.1rem;    line-height: 1.8;    margin-bottom: 1.5rem;    opacity: 0.9;    max-width: 500px;    color: var(--deep-gray);    text-align: left;}.cta-button {    display: inline-block;    background: var(--deep-teal);    color: var(--pure-white);    padding: 1rem 2rem;    border: none;    border-radius: 8px;    font-size: 1rem;    font-weight: 600;    text-decoration: none;    transition: all 0.3s ease;    cursor: pointer;    box-shadow: 0 4px 15px rgba(12, 79, 88, 0.3);}.cta-button:hover {    background: #0a3d45;    transform: translateY(-2px);    box-shadow: 0 6px 20px rgba(12, 79, 88, 0.4);}.welcome-image {    position: relative;    border-radius: 20px;    overflow: hidden;    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);    transform: perspective(1000px) rotateY(-5deg);}.welcome-image img {    width: 100%;    height: auto;    display: block;    transition: transform 0.3s ease;}.welcome-image:hover img {    transform: scale(1.05);}/* Decorative Elements */.decorative-circle {    position: absolute;    border-radius: 50%;    background: linear-gradient(45deg, var(--secondary-teal), var(--bright-cyan-glow));    opacity: 0.1;    z-index: 1;}.decorative-circle:nth-child(1) {    width: 200px;    height: 200px;    top: 10%;    left: -5%;    animation: float-welcome 8s ease-in-out infinite;}.decorative-circle:nth-child(2) {    width: 150px;    height: 150px;    bottom: 20%;    right: -3%;    animation: float-welcome 6s ease-in-out infinite reverse;}.decorative-circle:nth-child(3) {    width: 100px;    height: 100px;    top: 30%;    right: 10%;    animation: float-welcome 10s ease-in-out infinite;}/* =======================   Animations======================= */@keyframes fadeInUp {    from {        opacity: 0;        transform: translateY(50px);    }    to {        opacity: 1;        transform: translateY(0);    }}@keyframes float-hero {    0%, 100% {        transform: translateY(0);    }    50% {        transform: translateY(-20px);    }}@keyframes float-welcome {    0%, 100% {        transform: translateY(0) rotateY(-5deg);    }    50% {        transform: translateY(-20px) rotateY(-5deg);    }}/* =======================   MOBILE STYLES (768px and below)======================= */@media (max-width: 768px) {    .topbar {        position: static;        padding: 0.5rem;        text-align: center;        height: auto; /* Allow height to adjust on mobile */    }        .topbar-container {        flex-direction: column;        gap: 0.5rem;        padding: 0 1rem;    }        .topbar-contact {        justify-content: center;        align-items: center;        font-size: 0.75rem;    }    .topbar-social {        margin-left: 0;        justify-content: center;    }    .header {        top: 0;        height: 80px;    }    .nav-container {        justify-content: space-between;        padding: 0 1rem;        height: 80px;        border-bottom: none;    }    .nav-items-left,    .nav-items-right {        display: none;    }    .mobile-menu-toggle {        display: flex;        flex-direction: column;        justify-content: space-around;        width: 30px;        height: 25px;        cursor: pointer;        position: absolute;        right: 1rem;        top: 50%;        transform: translateY(-50%);        z-index: 1002;    }    .mobile-menu-toggle span {        display: block;        width: 100%;        height: 3px;        background: var(--deep-teal);        border-radius: 2px;        transition: all 0.3s ease-in-out;    }    .mobile-menu-toggle.active span:nth-child(1) {        transform: translateY(11px) rotate(45deg);    }    .mobile-menu-toggle.active span:nth-child(2) {        opacity: 0;    }    .mobile-menu-toggle.active span:nth-child(3) {        transform: translateY(-11px) rotate(-45deg);    }    .logo {        position: relative;        left: auto;        transform: none;        margin-left: 0;        z-index: 1001;    }    .logo img {        height: 60px;    }    .mobile-menu-overlay {        display: block;        position: fixed;        top: 0;        left: 0;        width: 100%;        height: 100%;        background: linear-gradient(135deg, var(--deep-gray), var(--deep-teal));        z-index: 1000;        transform: translateX(-100%);        transition: transform 0.4s ease-in-out;        padding-top: 80px;        overflow-y: auto;    }    .mobile-menu-overlay.active {        transform: translateX(0);    }    .nav-items-mobile {        list-style: none;        padding: 0;    }    .nav-items-mobile .nav-link {        padding: 1.2rem 1rem;        font-size: 1.1rem;        text-align: center;        color: var(--pure-white);        display: block;        border-bottom: 1px solid rgba(255, 255, 255, 0.1);    }    .nav-items-mobile .nav-link:hover {        background-color: rgba(255, 255, 255, 0.1);        color: var(--bright-cyan-glow);    }    .nav-items-mobile .dropdown-content {        position: static;        opacity: 1;        visibility: visible;        background-color: rgba(255, 255, 255, 0.05);        display: none;        box-shadow: none;        border-radius: 0;    }        .nav-items-mobile .nav-item.active .dropdown-content {        display: block;    }    .nav-items-mobile .dropdown-content a {        font-size: 1rem;        padding: 0.9rem 1rem;        text-align: center;        color: var(--light-gray);        border-left: none;    }    .nav-items-mobile .dropdown-content a:hover {        background-color: rgba(48, 221, 224, 0.1);        padding-left: 1rem;    }    body.menu-open {        overflow: hidden;    }    .hero-section {        margin-top: 80px; /* Adjusted margin to account for mobile header height */        height: auto;        padding: 4rem 0;    }        .cta-buttons {        flex-direction: column;        align-items: center;        gap: 1rem;    }    .btn {        width: 80%;        max-width: 300px;        padding: 15px 30px;        font-size: 1rem;    }        .features-section {        padding: 30px 0; /* Even slimmer on mobile */    }    .features-grid {        flex-direction: column; /* Stack vertically on mobile */        gap: 1.5rem;    }    .feature-icon {        width: 45px;        height: 45px;        font-size: 1.2rem;    }    .feature-title {        font-size: 0.95rem;    }        .welcome-container {        grid-template-columns: 1fr;        gap: 3rem;        text-align: left;        padding: 0 1rem;        height: auto;    }    .welcome-content {        height: auto;        justify-content: flex-start;    }    .welcome-image {        height: auto;    }    .welcome-image {        order: -1;        transform: none;        max-width: 500px;        margin: 0; /* Remove auto margin to maintain left alignment */    }    .main-title {        font-size: clamp(2.5rem, 8vw, 4rem);        text-align: left; /* Explicitly left align on mobile */    }    .description-text {        font-size: 1rem;        text-align: left; /* Left align on mobile */    }        .greeting-text {        text-align: left; /* Left align on mobile */    }}@media (max-width: 480px) {    .features-grid {        gap: 2rem;    }    .features-container {        padding: 0 1rem;    }        .welcome-section {        padding: 0;        height: auto;    }    .welcome-container {        padding: 0 1rem;        gap: 2rem;    }    .main-title {        font-size: clamp(2rem, 10vw, 3rem);        text-align: left; /* Maintain left alignment */    }    .description-text {        font-size: 1rem;        text-align: left; /* Maintain left alignment */    }        .greeting-text {        text-align: left; /* Maintain left alignment */    }}/* 2. Style the Sections to be Scroll Snap Items */.hero-section,.features-section,.welcome-section {    scroll-snap-align: start; /* Aligns the top of the section to the top of the viewport */    overflow: hidden; /* Ensures no content spills over and causes unwanted scrolling */    position: relative;}/* Override height for features section to allow natural slim height */.features-section {    height: auto !important; /* Override the 100vh from scroll snap */    min-height: auto; /* Allow natural height based on content */}/* 3. Adjust the Hero Section specifically */.hero-section {    height: 100vh;    display: flex;    justify-content: center;    align-items: center;    text-align: center;    padding-top: 0; /* Remove padding from hero, as content is centered */    margin-top: 155px;}.welcome-section {    height: auto;    display: block;}/* 4. Adjust the main content area */main {    overflow: hidden;}/* Retreats Carousel Section */.retreats-section {    padding: 4rem 1rem;    background: var(--pure-white);}.section-header {    display: flex;    justify-content: space-between;    align-items: center;    flex-wrap: wrap;    margin-bottom: 2rem;    gap: 1rem;}.section-title {    font-family: var(--font-heading);    font-size: 1.8rem;    color: #333;    font-weight: 600;}.section-nav {    display: flex;    align-items: center;    gap: 1rem;}.page-indicator {    color: #666;    font-size: 0.9rem;}.nav-arrows {    display: flex;    gap: 0.5rem;}.nav-arrow {    width: 32px;    height: 32px;    border: 1px solid #ddd;    border-radius: 50%;    background: white;    display: flex;    align-items: center;    justify-content: center;    cursor: pointer;    transition: all 0.3s ease;}.nav-arrow:hover {    border-color: #2d6a6a;    color: #2d6a6a;}.nav-arrow.disabled {    opacity: 0.3;    cursor: not-allowed;}/* Grid for Retreat Cards */.retreats-grid {    display: grid;    grid-template-columns: repeat(4, 1fr);    gap: 1.5rem;    margin-bottom: 3rem;}.retreat-card {    background: white;    border-radius: 12px;    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);    overflow: hidden;    transition: all 0.3s ease;    border: 1px solid #ddd;    text-decoration: none;    color: inherit;    display: block;}.retreat-card:hover {    transform: translateY(-4px);    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);}.retreat-image {    position: relative;    height: 200px;    overflow: hidden;}.retreat-image img {    width: 100%;    height: 100%;    object-fit: cover;    transition: transform 0.3s ease;}.retreat-card:hover .retreat-image img {    transform: scale(1.05);}.heart-icon {    position: absolute;    top: 12px;    right: 12px;    width: 28px;    height: 28px;    background: rgba(255, 255, 255, 0.9);    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    cursor: pointer;    transition: all 0.3s ease;}.heart-icon:hover {    background: white;    transform: scale(1.1);}.heart-icon i {    font-size: 14px;    color: #666;}.retreat-content {    padding: 1.2rem;}.retreat-title {    font-size: 1.1rem;    font-weight: 600;    color: #333;    margin-bottom: 0.5rem;    line-height: 1.3;}.retreat-content p {    font-size: 0.9rem;    color: #666;    margin-bottom: 0.8rem;    line-height: 1.5;}.retreat-content p strong {    color: #333;    font-weight: 600;}.retreat-footer {    display: flex;    justify-content: space-between;    align-items: center;    padding-top: 0.8rem;    border-top: 1px solid #ddd;    margin-top: 0.8rem;}.price-section {    display: flex;    flex-direction: column;}.price-amount {    font-size: 1.3rem;    font-weight: 700;    color: #333;}.rating-section {    display: flex;    align-items: center;    gap: 4px;}.rating-section i {    font-size: 12px;    color: #ffa500;}.rating-score {    font-size: 0.85rem;    font-weight: 600;    color: #333;    margin-left: 4px;}/* Responsive Breakpoints */@media (max-width: 1024px) {    .retreats-grid {        grid-template-columns: repeat(2, 1fr);    }}@media (max-width: 768px) {    .section-header {        flex-direction: column;        align-items: flex-start;    }    .retreats-grid {        grid-template-columns: 1fr;        gap: 1rem;    }}@media (max-width: 480px) {    .retreats-section {        padding: 2rem 1rem;    }    .section-title {        font-size: 1.5rem;    }    .retreat-content {        padding: 1rem;    }    .retreat-image {        height: 180px;    }    .price-amount {        font-size: 1.1rem;    }}/* ==========================================================================   ECOSYSTEM SECTION STYLES   ========================================================================== *//* Main Section Container */.ecosystem-section {    padding: 6rem 0;    background: linear-gradient(135deg, var(--light-gray) 0%, var(--pure-white) 50%, var(--light-gray) 100%);    position: relative;    overflow: hidden;}/* Animated Background Overlay */.ecosystem-section::before {    content: '';    position: absolute;    top: -50%;    left: -50%;    width: 200%;    height: 200%;    background: radial-gradient(circle at 30% 20%, rgba(48, 221, 224, 0.05) 0%, transparent 50%),                radial-gradient(circle at 70% 80%, rgba(12, 79, 88, 0.05) 0%, transparent 50%);    animation: float 20s infinite ease-in-out;    z-index: 0;}/* Floating Animation for Background */@keyframes float {    0%, 100% { transform: translate(0, 0) rotate(0deg); }    25% { transform: translate(-20px, -30px) rotate(1deg); }    50% { transform: translate(20px, -20px) rotate(-1deg); }    75% { transform: translate(-10px, 30px) rotate(0.5deg); }}/* ==========================================================================   LAYOUT CONTAINERS   ========================================================================== *//* Main Container */.container {    max-width: 1600px;    margin: 0 auto;    padding: 0 1rem;    position: relative;    z-index: 1;}/* ==========================================================================   SECTION HEADER   ========================================================================== */.section-header {    text-align: center;    margin-bottom: 4rem;    position: relative;}/* Main Section Title */.section-title {    font-family: var(--font-heading);    font-size: clamp(2.5rem, 5vw, 3.5rem);    font-weight: 600;    color: var(--deep-teal);    margin-bottom: 1rem;    background: linear-gradient(135deg, var(--deep-teal) 0%, var(--secondary-teal) 100%);    -webkit-background-clip: text;    -webkit-text-fill-color: transparent;    background-clip: text;    animation: slideInDown 1s ease-out;}/* Section Subtitle */.section-subtitle {    font-size: 1.2rem;    color: var(--accent-gray);    font-weight: 300;    max-width: 600px;    margin: 0 auto;    animation: slideInUp 1s ease-out 0.2s both;}/* ==========================================================================   ECOSYSTEM GRID LAYOUT   ========================================================================== */.ecosystem-grid {    display: grid;    grid-template-columns: repeat(4, 1fr); /* 4 equal columns */    gap: 0.8rem; /* Reduced gap between cards */    margin-top: 2rem;}/* ==========================================================================   PILLAR CARDS   ========================================================================== *//* Base Card Styling */.pillar-card {    background: var(--pure-white);    border-radius: 20px;    padding: 1.8rem 1.5rem; /* Increased padding for better proportions */    box-shadow: 0 6px 24px rgba(12, 79, 88, 0.06);    transition: all 0.3s ease;    position: relative;    overflow: hidden;    border: 1px solid rgba(48, 221, 224, 0.1);    opacity: 0;    transform: translateY(30px);    min-width: 0;    width: 100%; /* Ensure cards take full width of grid cell */}/* Staggered Animation for Cards */.pillar-card:nth-child(1) { animation: slideInUp 0.8s ease-out 0.3s forwards; }.pillar-card:nth-child(2) { animation: slideInUp 0.8s ease-out 0.4s forwards; }.pillar-card:nth-child(3) { animation: slideInUp 0.8s ease-out 0.5s forwards; }.pillar-card:nth-child(4) { animation: slideInUp 0.8s ease-out 0.6s forwards; }/* Top Border Animation */.pillar-card::before {    content: '';    position: absolute;    top: 0;    left: 0;    right: 0;    height: 4px;    background: linear-gradient(90deg, var(--bright-cyan-glow), var(--secondary-teal));    transform: scaleX(0);    transform-origin: left;    transition: transform 0.4s ease;}/* Hover Effects */.pillar-card:hover::before {    transform: scaleX(1);}.pillar-card:hover {    transform: translateY(-12px);    box-shadow: 0 25px 60px rgba(12, 79, 88, 0.15);    border-color: rgba(48, 221, 224, 0.3);}/* Card Color Variants */.retreats { --card-color: var(--deep-teal); }.circles { --card-color: var(--secondary-teal); }.markets { --card-color: var(--bright-cyan-glow); }.global { --card-color: var(--hover-blue); }/* ==========================================================================   CARD CONTENT   ========================================================================== *//* Image Container */.pillar-image {    width: 100%;    height: 280px;    margin-bottom: 1rem;    border-radius: 16px;    overflow: hidden;    display: flex;    align-items: center;    justify-content: center;    background-color: #f0f0f0;}/* Card Images */.pillar-image img {    width: 100%;    height: 100%;    object-fit: cover;    transition: transform 0.4s ease;    flex-shrink: 0;}/* Image Hover Effect */.pillar-card:hover .pillar-image img {    transform: scale(1.05);}/* Text Content Container */.pillar-content {    text-align: left;}/* Card Titles */.pillar-title {    font-family: var(--font-heading);    font-size: 1.5rem;    font-weight: 600;    color: var(--deep-teal);    margin-bottom: 0.8rem;    transition: color 0.3s ease;}/* Title Hover Effect */.pillar-card:hover .pillar-title {    color: var(--secondary-teal);}/* Card Descriptions */.pillar-description {    color: var(--accent-gray);    font-size: 0.95rem;    line-height: 1.6;    transition: color 0.3s ease;}/* Description Hover Effect */.pillar-card:hover .pillar-description {    color: var(--deep-gray);}/* ==========================================================================   ANIMATIONS   ========================================================================== *//* Slide In From Top */@keyframes slideInDown {    from {        opacity: 0;        transform: translateY(-50px);    }    to {        opacity: 1;        transform: translateY(0);    }}/* Slide In From Bottom */@keyframes slideInUp {    from {        opacity: 0;        transform: translateY(40px);    }    to {        opacity: 1;        transform: translateY(0);    }}/* ==========================================================================   RESPONSIVE DESIGN   ========================================================================== *//* Mobile Devices (up to 768px) */@media (max-width: 768px) {    .ecosystem-section {        padding: 4rem 0;    }    .container {        padding: 0 1rem;    }    .section-header {        margin-bottom: 3rem;    }    /* Single column layout for mobile */    .ecosystem-grid {        grid-template-columns: 1fr;        gap: 1.5rem; /* More space on mobile for better separation */    }    .pillar-card {        padding: 2rem 1.5rem;    }    .pillar-title {        font-size: 1.3rem;    }    .pillar-image {        height: 320px;    }}/* Tablet Devices (769px - 1024px) */@media (max-width: 1024px) and (min-width: 769px) {    /* Two column layout for tablets */    .ecosystem-grid {        grid-template-columns: repeat(2, 1fr);        gap: 1.2rem; /* Moderate spacing for tablets */    }}/* Large Screens (1400px+) */@media (min-width: 1400px) {    .container {        max-width: 1400px;    }    /* Slightly more spacing on very large screens */    .ecosystem-grid {        gap: 1.5rem;    }}/* =======================   Destinations Section======================= */.destinations-section {  padding: 4rem 2rem;  background: var(--pure-white);}.destinations-section .section-title {  font-family: var(--font-heading);  font-size: 2.5rem;  margin-bottom: 40px;  color: var(--deep-teal);  text-align: left;  /* Title aligned left */}.destinations-grid {  display: flex;  flex-wrap: nowrap;           /* Keep in one row */  justify-content: space-between;  gap: 1.5rem;                 /* Spacing between cards */}.destination-card {  flex: 1;                     /* Distribute evenly */  min-width: 200px;            /* Prevent cards from shrinking too small */  max-width: 1fr;              /* Ensure they scale within row */  background: var(--light-gray);  border-radius: 12px;  overflow: hidden;  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);  transition: transform 0.3s ease, box-shadow 0.3s ease;}.destination-card:hover {  transform: translateY(-6px);  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);}.destination-image img {  width: 100%;  height: 320px;  object-fit: cover;  display: block;}.destination-content {  padding: 1rem;  text-align: left;}.destination-content h3 {  font-size: 1.2rem;  font-weight: 600;  color: var(--deep-teal);  margin-bottom: 0.5rem;}.destination-content p {  font-size: 0.95rem;  color: var(--deep-gray);  line-height: 1.5;}/* Stories and Inspirations */.stories-inspirations * {            margin: 0;            padding: 0;            box-sizing: border-box;        }        .stories-inspirations {            --deep-teal: #0C4F58;            --bright-cyan-glow: #30DDE0;            --secondary-teal: #2BA6A0;            --golden-amber: #FFB347;            --pure-white: #FFFFFF;            --deep-gray: #333333;            --light-gray: #F8F9FA;            --accent-gray: #666666;            --hover-blue: #2BA6A0;            --font-heading: 'Playfair Display', serif;            --font-body: 'Montserrat', sans-serif;            font-family: var(--font-body);            line-height: 1.6;            color: var(--deep-gray);            background: transparent;            overflow-x: hidden;        }        .stories-inspirations .section {            padding: 4rem 0;            background: linear-gradient(135deg, var(--deep-teal) 0%, var(--secondary-teal) 100%);            position: relative;            overflow: hidden;        }        .stories-inspirations .section::before {            content: '';            position: absolute;            top: 0;            left: 0;            right: 0;            bottom: 0;            background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="25" cy="25" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="75" cy="75" r="3" fill="rgba(255,255,255,0.05)"/><circle cx="50" cy="10" r="1.5" fill="rgba(255,255,255,0.08)"/></svg>') repeat;            animation: si-float 20s ease-in-out infinite;        }        @keyframes si-float {            0%, 100% { transform: translateY(0px) rotate(0deg); }            50% { transform: translateY(-20px) rotate(180deg); }        }        .stories-inspirations .container {            max-width: 1200px;            margin: 0 auto;            padding: 0 2rem;            position: relative;            z-index: 2;        }        .stories-inspirations .flagship-section h2 {            color: white;            text-align: center;            font-family: var(--font-heading);            font-size: 3rem;            margin-bottom: 2rem;            text-shadow: 2px 2px 4px rgba(0,0,0,0.3);        }        .stories-inspirations .flagship-section p {            text-align: center;            font-size: 1.2rem;            margin-bottom: 3rem;            max-width: 800px;            margin-left: auto;            margin-right: auto;            color: rgba(255, 255, 255, 0.95);            line-height: 1.7;        }        /* Stories Grid */        .stories-inspirations .stories-grid {            display: grid;            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));            gap: 2rem;            margin: 3rem 0;        }        .stories-inspirations .story-card {            background: rgba(255, 255, 255, 0.1);            border-radius: 20px;            padding: 2rem;            backdrop-filter: blur(15px);            border: 1px solid rgba(255, 255, 255, 0.2);            transition: all 0.4s ease;            position: relative;            overflow: hidden;        }        .stories-inspirations .story-card:hover {            transform: translateY(-10px);            background: rgba(255, 255, 255, 0.15);            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);        }        .stories-inspirations .story-card::before {            content: '';            position: absolute;            top: 0;            left: 0;            width: 100%;            height: 4px;            background: linear-gradient(90deg, var(--bright-cyan-glow), var(--golden-amber));        }        /* Video Testimonial Cards */        .stories-inspirations .video-story {            position: relative;            height: 250px;            background: linear-gradient(135deg, rgba(0,0,0,0.6), rgba(0,0,0,0.3)),                         var(--bg-image) center/cover;            border-radius: 15px;            display: flex;            align-items: center;            justify-content: center;            cursor: pointer;            overflow: hidden;            transition: transform 0.3s ease;        }        .stories-inspirations .video-amara {            --bg-image: url('https://images.unsplash.com/photo-1594736797933-d0401ba2fe65?w=500&h=300&fit=crop&crop=face');        }        .stories-inspirations .video-marcus {            --bg-image: url('https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=500&h=300&fit=crop&crop=face');        }        .stories-inspirations .video-ubuntu {            --bg-image: url('https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?w=500&h=300&fit=crop&crop=face');        }        .stories-inspirations .video-story:hover {            transform: scale(1.02);        }        .stories-inspirations .play-button {            width: 80px;            height: 80px;            background: rgba(255, 255, 255, 0.9);            border-radius: 50%;            display: flex;            align-items: center;            justify-content: center;            transition: all 0.3s ease;            position: relative;        }        .stories-inspirations .play-button:hover {            background: var(--bright-cyan-glow);            transform: scale(1.1);        }        .stories-inspirations .play-button i {            color: var(--deep-teal);            font-size: 2rem;            margin-left: 5px;        }        .stories-inspirations .video-overlay {            position: absolute;            bottom: 0;            left: 0;            right: 0;            background: linear-gradient(transparent, rgba(0,0,0,0.8));            padding: 2rem 1.5rem 1.5rem;            color: white;        }        .stories-inspirations .video-title {            font-family: var(--font-heading);            font-size: 1.3rem;            margin-bottom: 0.5rem;        }        .stories-inspirations .video-description {            font-size: 0.9rem;            opacity: 0.9;        }        /* Text Story Cards */        .stories-inspirations .text-story {            text-align: center;        }        .stories-inspirations .story-quote {            font-family: var(--font-heading);            font-size: 1.4rem;            color: var(--bright-cyan-glow);            margin-bottom: 1.5rem;            position: relative;            font-style: italic;            line-height: 1.5;        }        .stories-inspirations .story-quote::before,        .stories-inspirations .story-quote::after {            content: '"';            font-size: 2rem;            color: var(--golden-amber);            position: absolute;        }        .stories-inspirations .story-quote::before {            top: -10px;            left: -15px;        }        .stories-inspirations .story-quote::after {            bottom: -20px;            right: -15px;        }        .stories-inspirations .story-author {            display: flex;            align-items: center;            justify-content: center;            gap: 1rem;            margin-bottom: 1rem;        }        .stories-inspirations .author-avatar {            width: 50px;            height: 50px;            border-radius: 50%;            background: var(--avatar-image) center/cover;            border: 3px solid var(--golden-amber);            flex-shrink: 0;        }        .stories-inspirations .avatar-kemi {            --avatar-image: url('https://images.unsplash.com/photo-1531123897727-8f129e1688ce?w=100&h=100&fit=crop&crop=face');        }        .stories-inspirations .avatar-esi {            --avatar-image: url('https://images.unsplash.com/photo-1580489944761-15a19d654956?w=100&h=100&fit=crop&crop=face');        }        .stories-inspirations .avatar-thabo {            --avatar-image: url('https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=100&h=100&fit=crop&crop=face');        }        .stories-inspirations .author-info h4 {            color: white;            margin-bottom: 0.2rem;        }        .stories-inspirations .author-info span {            color: rgba(255, 255, 255, 0.7);            font-size: 0.9rem;        }        .stories-inspirations .story-tags {            display: flex;            flex-wrap: wrap;            gap: 0.5rem;            justify-content: center;        }        .stories-inspirations .tag {            background: rgba(255, 255, 255, 0.2);            color: white;            padding: 0.3rem 0.8rem;            border-radius: 20px;            font-size: 0.8rem;            border: 1px solid rgba(255, 255, 255, 0.3);        }                /* Responsive Design */        @media (max-width: 768px) {            .stories-inspirations .flagship-section h2 {                font-size: 2.2rem;            }            .stories-inspirations .stories-grid {                grid-template-columns: 1fr;                gap: 1.5rem;            }            .stories-inspirations .story-card {                padding: 1.5rem;            }            .stories-inspirations .video-story {                height: 200px;            }            .stories-inspirations .container {                padding: 0 1rem;            }            .stories-inspirations .btn {                display: block;                margin: 0.5rem 0;            }        }        /* Animation for cards */        .stories-inspirations .story-card {            animation: si-fadeInUp 0.6s ease forwards;        }        .stories-inspirations .story-card:nth-child(2) { animation-delay: 0.1s; }        .stories-inspirations .story-card:nth-child(3) { animation-delay: 0.2s; }        .stories-inspirations .story-card:nth-child(4) { animation-delay: 0.3s; }        @keyframes si-fadeInUp {            from {                opacity: 0;                transform: translateY(30px);            }            to {                opacity: 1;                transform: translateY(0);            }        }/* =======================   Newsletter & Connection SECTION   ======================= */.section {    padding: 5rem 0;}.container {    max-width: 1200px;    margin: 0 auto;    padding: 0 2rem;}.section-title {    font-family: var(--font-heading);    font-size: 3rem;    text-align: center;    margin-bottom: 1.5rem;    color: var(--deep-teal);    font-weight: 600;}.section-subtitle {    font-size: 1.2rem;    text-align: center;    color: var(--accent-gray);    margin-bottom: 3rem;    max-width: 600px;    margin-left: auto;    margin-right: auto;}/* Newsletter Section Styles */.newsletter-section {    background: transparent;    position: relative;    overflow: hidden;}.newsletter-content {    position: relative;    z-index: 2;    text-align: center;}.newsletter-section .section-title {    color: var(--deep-teal);    font-size: 2.8rem;    margin-bottom: 1rem;}.newsletter-section .section-subtitle {    color: var(--accent-gray);    margin-bottom: 3rem;}/* Two-Column Layout for Form and Image */.two-column-layout {    display: flex;    align-items: center;    justify-content: center;    gap: 4rem; /* Spacing between the columns */    text-align: left;}.form-column {    flex: 1; /* Allows the form column to grow and shrink */}.image-column {    flex: 1;    display: flex;    justify-content: center;    align-items: center;}.newsletter-image {    max-width: 100%;    height: auto;    border-radius: 25px;    box-shadow: 0 10px 30px rgba(0,0,0,0.1);}/* Newsletter Form */.newsletter-form {    max-width: none; /* Override previous max-width */    width: 100%;    margin: 0; /* Remove top/bottom margin */    background: var(--pure-white);    border-radius: 25px;    padding: 2rem;    box-shadow: 0 10px 30px rgba(0,0,0,0.1);    border: 1px solid rgba(12, 79, 88, 0.1);}.form-group {    margin-bottom: 1.5rem;    position: relative;}.form-input {    width: 100%;    padding: 1rem 1.5rem;    border: 2px solid rgba(12, 79, 88, 0.1);    border-radius: 15px;    font-size: 1rem;    background: var(--pure-white);    transition: all 0.3s ease;    font-family: var(--font-body);}.form-input:focus {    outline: none;    border-color: var(--bright-cyan-glow);    box-shadow: 0 0 20px rgba(48, 221, 224, 0.3);    transform: translateY(-2px);}.form-input::placeholder {    color: var(--accent-gray);    font-weight: 400;}.form-checkbox-group {    display: flex;    align-items: center;    justify-content: flex-start; /* Changed to left-align */    margin-bottom: 2rem;    color: var(--accent-gray);}.form-checkbox {    margin-right: 0.5rem;    transform: scale(1.2);}.btn {    display: inline-block;    padding: 1rem 3rem;    border: none;    border-radius: 50px;    font-family: var(--font-body);    font-weight: 600;    font-size: 1.1rem;    text-decoration: none;    cursor: pointer;    transition: all 0.4s cubic-bezier(0.23, 1, 0.320, 1);    position: relative;    overflow: hidden;}.btn-primary {    background: linear-gradient(135deg, var(--bright-cyan-glow), var(--secondary-teal));    color: var(--deep-teal);    box-shadow: 0 10px 30px rgba(48, 221, 224, 0.4);}.btn-primary:hover {    transform: translateY(-5px);    box-shadow: 0 20px 40px rgba(48, 221, 224, 0.6);}/* Responsive Design */@media (max-width: 900px) {    .two-column-layout {        flex-direction: column;        gap: 2rem;    }    .form-column, .image-column {        width: 100%;    }    .newsletter-content {        text-align: center;    }    .form-checkbox-group {        justify-content: center;    }}/* =======================           FOOTER           ======================= */.footer {            background: var(--deep-teal);            color: var(--pure-white);            padding: 4rem 0 2rem;            margin-top: auto;            position: relative;            font-family: var(--font-body);        }        .footer::before {            content: '';            position: absolute;            top: 0;            left: 0;            right: 0;            height: 4px;            background: linear-gradient(90deg, var(--bright-cyan-glow), var(--secondary-teal), var(--bright-cyan-glow));        }        .footer-container {            max-width: 1400px;            margin: 0 auto;            padding: 0 2rem;        }        .footer-main {            display: grid;            grid-template-columns: 1fr 1fr 1fr 1fr;            gap: 2rem;            margin-bottom: 3rem;        }        .footer-brand {            text-align: left;        }        .footer-logo {            display: inline-block;            margin-bottom: 1rem;            padding: 0.8rem;            background: #ffffff;            border-radius: 8px;        }        .footer-logo img {            max-width: 180px;            height: auto;            display: block;            opacity: 1;        }        .brand-description {            font-size: 0.9rem;            color: rgba(255, 255, 255, 0.8);            margin-bottom: 2rem;            line-height: 1.5;        }        .nav-column h4,        .social-section h4 {            font-family: var(--font-heading);            color: var(--bright-cyan-glow);            font-size: 1.1rem;            font-weight: 600;            margin-bottom: 1rem;            text-transform: uppercase;            letter-spacing: 0.5px;            position: relative;            padding-bottom: 0.5rem;        }        .nav-column h4::after {            content: '';            position: absolute;            bottom: 0;            left: 0;            width: 30px;            height: 2px;            background: var(--secondary-teal);        }        .nav-links {            list-style: none;            padding: 0;            margin: 0;        }        .nav-links li {            margin-bottom: 0.5rem;        }        .nav-links a {            color: rgba(255, 255, 255, 0.8);            text-decoration: none;            font-size: 0.9rem;            font-weight: 400;            transition: all 0.3s ease;            display: block;        }        .nav-links a:hover {            color: var(--bright-cyan-glow);            transform: translateX(5px);        }        .contact-info {            display: flex;            flex-direction: column;            gap: 0.8rem;            margin-top: 2rem;        }        .contact-item {            display: flex;            align-items: center;            gap: 0.8rem;            color: rgba(255, 255, 255, 0.9);            font-size: 0.9rem;            transition: color 0.3s ease;        }        .contact-item:hover {            color: var(--bright-cyan-glow);        }        .contact-item i {            width: 20px;            color: var(--bright-cyan-glow);            font-size: 1.1rem;            text-align: center;        }        .social-section {            margin-top: 2rem;        }        .social-links {            display: flex;            gap: 1rem;            flex-wrap: wrap;        }        .social-links a {            display: inline-flex;            align-items: center;            justify-content: center;            width: 40px;            height: 40px;            background: var(--secondary-teal);            border-radius: 50%;            color: var(--pure-white);            text-decoration: none;            transition: all 0.3s ease;            font-size: 1.1rem;        }        .social-links a:hover {            background: var(--bright-cyan-glow);            color: var(--deep-teal);            transform: translateY(-3px) scale(1.1);            box-shadow: 0 6px 20px rgba(48, 221, 224, 0.4);        }      /* Partner Logos Section */.partners-section {    background: var(--pure-white);    border-top: 1px solid rgba(48, 221, 224, 0.3);    border-bottom: 1px solid rgba(48, 221, 224, 0.3);    padding: 2.5rem 0;    margin-bottom: 2rem;}.partners-title {    font-family: var(--font-heading);    color: var(--deep-teal);    font-size: 1.2rem;    font-weight: 600;    text-align: center;    margin-bottom: 1.5rem;    text-transform: uppercase;    letter-spacing: 1px;}/* Scrollable container */.partners-slider-wrapper {    overflow: hidden;    width: 100%;    max-width: 1200px;    margin: 0 auto;}/* Flex slider */.partners-slider {    display: flex;    gap: 1rem; /* reduced gap */    width: max-content; /* allow continuous scrolling */    animation: scroll 20s linear infinite;}/* Each logo */.partner-logo {    flex: 0 0 calc((100% - 3rem)/4); /* 4 logos per row with reduced spacing */    display: flex;    align-items: center;    justify-content: center;    padding: 0.5rem; /* smaller padding */    transition: all 0.3s ease;}.partner-logo img {    width: 100%;    max-width: 150px; /* slightly smaller to fit 4 per row */    height: auto;    object-fit: contain;    filter: brightness(1) contrast(1);    opacity: 0.8;    transition: all 0.3s ease;}.partner-logo:hover img {    filter: brightness(1.1) contrast(1.2);    opacity: 1;    transform: scale(1.05);}/* Scroll animation */@keyframes scroll {    0% {        transform: translateX(0);    }    100% {        transform: translateX(-50%);    }}/* Responsive */@media (max-width: 1024px) {    .partner-logo {        flex: 0 0 calc((100% - 2rem)/3); /* 3 per row */        padding: 0.5rem;    }}@media (max-width: 768px) {    .partner-logo {        flex: 0 0 calc((100% - 1.5rem)/2); /* 2 per row */        padding: 0.5rem;    }}@media (max-width: 480px) {    .partner-logo {        flex: 0 0 100%; /* 1 per row */        padding: 0.5rem;    }}        /* =======================   COMPACT LAYOUT OVERRIDES   ======================= *//* Remove default section padding and margins */.hero-section,.features-section,.welcome-section,.retreats-section,.ecosystem-section,.stories-inspirations .section,.newsletter-section,.footer,.section {    padding: 0 !important;    margin: 0 !important;}/* Remove spacing from containers */.welcome-container,.features-container,.container,.footer-container {    padding: 0 !important;    margin: 0 auto !important;    width: 100% !important;}/* COMPACT HERO SECTION */.hero-section {    height: 100vh !important;    padding: 1rem 0 !important;    margin: 0 !important;    display: flex;    align-items: center;}/* Compact individual sections */.features-section,.welcome-section,.ecosystem-section,.retreats-section,.stories-inspirations .section,.newsletter-section,.footer {    padding: 1.5rem 0 !important;}/* Section header spacing */.section-header {    margin: 0 0 1rem 0 !important;    padding: 0 !important;}/* Titles and texts */.main-title,.description-text,.greeting-text {    margin-bottom: 0.5rem !important;}/* CTA buttons spacing */.cta-buttons {    margin-top: 1rem !important;}.hero-section,.features-section,.welcome-section {    scroll-snap-align: none !important;}/* Prevent height conflicts */.welcome-section,.hero-section {    min-height: unset !important;}/* Compact footer */.footer {    padding: 1.5rem 0 0.5rem !important;}/* =====================   RESPONSIVE: MOBILE   ===================== */@media (max-width: 768px) {    .hero-section {        height: auto !important;        padding: 1rem 0 !important;    }    .features-section,    .welcome-section,    .ecosystem-section,    .retreats-section,    .stories-inspirations .section,    .newsletter-section,    .footer {        padding: 1rem 0 !important;    }}/* Smooth fade-in for lazy-loaded images */img[loading="lazy"] {    opacity: 0;    transition: opacity 0.5s ease-in;}img[loading="lazy"].loaded {    opacity: 1;}/* ========================================   TOP DESTINATIONS SLIDER SECTION   ======================================== */.top-destinations-section {    padding: 80px 0;    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);    overflow: hidden;}.top-destinations-section .container {    max-width: 100%;    padding: 0;}.destinations-header {    text-align: center;    max-width: 900px;    margin: 0 auto 60px;    padding: 0 40px;}.destinations-header .section-subtitle {    display: inline-block;    color: #D4AF37;    font-size: 16px;    font-weight: 500;    letter-spacing: 2px;    text-transform: none;    margin-bottom: 15px;    font-family: 'Montserrat', sans-serif;}.destinations-header .section-title {    font-size: 48px;    font-weight: 700;    color: #1a3a3a;    margin-bottom: 20px;    font-family: 'Playfair Display', serif;    line-height: 1.2;}.destinations-header .section-description {    font-size: 18px;    line-height: 1.8;    color: #666;    font-family: 'Open Sans', sans-serif;}.destinations-slider-wrapper {    position: relative;    padding: 0 40px;    max-width: 100%;}.destinations-cta {    text-align: center;    margin-top: 50px;    padding: 0 20px;}.btn-destinations {    display: inline-block;    padding: 16px 40px;    background: #D4AF37;    color: #ffffff;    font-size: 16px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;    text-decoration: none;    border-radius: 50px;    transition: all 0.3s ease;    box-shadow: 0 5px 20px rgba(212, 165, 116, 0.3);    text-transform: uppercase;    letter-spacing: 1px;}.btn-destinations:hover {    background: #1a3a3a;    transform: translateY(-3px);    box-shadow: 0 8px 25px rgba(26, 58, 58, 0.4);}.destinations-swiper {    overflow: visible;    width: 100%;}.destinations-swiper .swiper-wrapper {    display: flex;    align-items: stretch;    box-sizing: border-box;    transition-timing-function: linear !important;}.destinations-swiper .swiper-slide {    height: auto;    display: flex;    align-items: stretch;}/* Ensure smooth continuous animation */.destinations-swiper.swiper-autoheight .swiper-wrapper {    transition-timing-function: linear !important;}.destinations-swiper .swiper-slide {    width: 320px !important;    flex-shrink: 0;}.destination-slide-card {    position: relative;    height: 450px;    width: 100%;    max-width: 320px;    border-radius: 20px;    overflow: hidden;    cursor: pointer;    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);}.destination-slide-card img {    width: 100%;    height: 100%;    object-fit: cover;    object-position: center;    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);    display: block;}.destination-overlay {    position: absolute;    bottom: 0;    left: 0;    right: 0;    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.6) 50%, transparent 100%);    padding: 40px 30px;    transform: translateY(100%);    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);}.destination-info h3 {    font-size: 28px;    font-weight: 700;    color: #ffffff;    margin-bottom: 12px;    font-family: 'Playfair Display', serif;    transform: translateY(20px);    opacity: 0;    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;}.destination-info p {    font-size: 16px;    line-height: 1.6;    color: #f0f0f0;    font-family: 'Open Sans', sans-serif;    transform: translateY(20px);    opacity: 0;    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.2s;}/* Hover Effects */.destination-slide-card:hover {    transform: translateY(-10px);    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);}.destination-slide-card:hover img {    transform: scale(1.1);}.destination-slide-card:hover .destination-overlay {    transform: translateY(0);}.destination-slide-card:hover .destination-info h3,.destination-slide-card:hover .destination-info p {    transform: translateY(0);    opacity: 1;}/* Responsive Design */@media (min-width: 1600px) {    .destinations-slider-wrapper {        padding: 0 60px;    }        .destination-slide-card {        height: 480px;    }}@media (max-width: 1024px) {    .destinations-header .section-title {        font-size: 40px;    }    .destination-slide-card {        height: 400px;    }    .destinations-slider-wrapper {        padding: 0 40px;    }}@media (max-width: 768px) {    .top-destinations-section {        padding: 60px 0;    }    .destinations-header {        margin-bottom: 40px;        padding: 0 30px;    }    .destinations-header .section-title {        font-size: 34px;    }    .destinations-header .section-description {        font-size: 16px;    }    .destination-slide-card {        height: 380px;    }    .destinations-slider-wrapper {        padding: 0 30px;    }    .destination-info h3 {        font-size: 24px;    }    .destination-info p {        font-size: 14px;    }}@media (max-width: 480px) {    .destinations-header {        padding: 0 20px;    }    .destinations-header .section-title {        font-size: 28px;    }    .destination-slide-card {        height: 320px;    }    .destinations-slider-wrapper {        padding: 0 20px;    }    .destination-overlay {        padding: 30px 20px;    }    .destination-info h3 {        font-size: 20px;    }}/* ========================================   ACTIVITIES & DEALS SECTION   ======================================== */.activities-deals-section {    padding: 60px 0;    background: #ffffff;}.activities-deals-grid {    display: grid;    grid-template-columns: 40% 60%;    gap: 25px;    max-width: 1600px;    margin: 0 auto;    padding: 0 40px;}.activity-card,.deals-card {    position: relative;    height: 450px;    border-radius: 25px;    overflow: hidden;    background-size: cover;    background-position: center;    display: flex;    align-items: center;    cursor: pointer;    transition: transform 0.3s ease;    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);}.activity-card {    align-items: flex-start;}.deals-card {    align-items: center;}.activity-card {    background-image: url('../assets/images/slide1.jpg');}.deals-card {    background-image: url('../assets/images/slide2.jpg');}.activity-card:hover,.deals-card:hover {    transform: translateY(-5px);}.activity-card-overlay,.deals-card-overlay {    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;    background: linear-gradient(135deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 100%);}.activity-card-content,.deals-card-content {    position: relative;    z-index: 2;    padding: 45px 50px;    color: #ffffff;    width: 100%;}.activity-subtitle {    font-size: 24px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    line-height: 1.4;    margin-bottom: 8px;    color: #ffffff;}.activity-description {    font-size: 19px;    font-weight: 400;    font-family: 'Open Sans', sans-serif;    line-height: 1.7;    margin-bottom: 15px;    color: #ffffff;    opacity: 0.95;}.activity-title,.deals-title {    font-size: 38px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    line-height: 1.3;    margin-bottom: 25px;    color: #ffffff;    max-width: 350px;}.deals-main-title {    font-size: 26px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    line-height: 1.3;    margin-bottom: 15px;    color: #ffffff;}.deals-subtitle {    display: block;    font-size: 15px;    font-weight: 400;    font-family: 'Open Sans', sans-serif;    margin-bottom: 12px;    color: #ffffff;    opacity: 0.95;}.deals-description {    font-size: 15px;    font-weight: 400;    font-family: 'Open Sans', sans-serif;    line-height: 1.7;    margin-bottom: 15px;    color: #ffffff;    opacity: 0.95;}.deals-tagline {    font-size: 17px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;    line-height: 1.5;    margin-bottom: 20px;    color: #ffffff;    font-style: italic;}.btn-activity,.btn-deals {    display: inline-block;    padding: 13px 32px;    font-size: 15px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;    text-decoration: none;    border-radius: 8px;    transition: all 0.3s ease;    text-transform: capitalize;}.btn-activity {    background: #D4AF37;    color: #ffffff;    border: none;}.btn-activity:hover {    background: #c49563;    transform: translateY(-2px);    box-shadow: 0 5px 15px rgba(212, 165, 116, 0.4);}.btn-deals {    background: transparent;    color: #ffffff;    border: 2px solid #ffffff;}.btn-deals:hover {    background: #ffffff;    color: #1a3a3a;    transform: translateY(-2px);}/* Responsive Design */@media (min-width: 1600px) {    .activity-card,    .deals-card {        height: 500px;    }    .activity-subtitle {        font-size: 26px;    }    .activity-description {        font-size: 20px;    }    .activity-title,    .deals-title {        font-size: 42px;    }}@media (max-width: 1200px) {    .activities-deals-grid {        padding: 0 30px;        grid-template-columns: 40% 60%;    }    .activity-subtitle {        font-size: 22px;    }    .activity-description {        font-size: 14px;    }    .deals-main-title {        font-size: 24px;    }    .deals-description {        font-size: 14px;    }    .deals-tagline {        font-size: 16px;    }    .activity-title,    .deals-title {        font-size: 34px;    }    .activity-card,    .deals-card {        height: 420px;    }}@media (max-width: 768px) {    .activities-deals-section {        padding: 50px 0;    }    .activities-deals-grid {        grid-template-columns: 1fr;        gap: 20px;        padding: 0 20px;    }    .activity-card,    .deals-card {        height: auto;        min-height: 380px;    }    .activity-subtitle {        font-size: 20px;    }    .activity-description {        font-size: 14px;    }    .deals-main-title {        font-size: 22px;    }    .deals-description {        font-size: 14px;    }    .deals-tagline {        font-size: 15px;    }    .activity-title,    .deals-title {        font-size: 30px;    }    .activity-card-content,    .deals-card-content {        padding: 35px 40px;    }}@media (max-width: 480px) {    .activity-card,    .deals-card {        min-height: 350px;    }    .activity-subtitle {        font-size: 18px;        margin-bottom: 6px;    }    .activity-description {        font-size: 13px;        margin-bottom: 12px;    }    .deals-main-title {        font-size: 20px;        margin-bottom: 10px;    }    .deals-description {        font-size: 13px;        margin-bottom: 12px;    }    .deals-tagline {        font-size: 14px;        margin-bottom: 15px;    }    .activity-title,    .deals-title {        font-size: 26px;        margin-bottom: 20px;    }    .activity-card-content,    .deals-card-content {        padding: 30px;    }    .btn-activity,    .btn-deals {        padding: 11px 26px;        font-size: 14px;    }}/* ========================================   MOST POPULAR TOURS SECTION   ======================================== */.popular-tours-section {    padding: 80px 0;    background: #f5f5f5;}.tours-header {    display: flex;    justify-content: space-between;    align-items: flex-start;    margin-bottom: 50px;    gap: 40px;}.tours-header-left {    flex: 1;}.tours-subtitle {    display: inline-block;    font-size: 16px;    font-weight: 500;    font-family: 'Playfair Display', serif;    color: #D4AF37;    margin-bottom: 10px;    font-style: italic;}.tours-title {    font-size: 42px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    color: #1a3a3a;    margin-bottom: 15px;    line-height: 1.2;}.tours-description {    font-size: 16px;    font-weight: 400;    font-family: 'Open Sans', sans-serif;    color: #666;    line-height: 1.7;    max-width: 600px;}.tours-header-right {    flex-shrink: 0;}.btn-view-all {    display: inline-block;    padding: 14px 32px;    background: transparent;    color: #1a3a3a;    font-size: 15px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;    text-decoration: none;    border: 2px solid #1a3a3a;    border-radius: 8px;    transition: all 0.3s ease;}.btn-view-all:hover {    background: #1a3a3a;    color: #ffffff;}.tours-grid {    display: grid;    grid-template-columns: repeat(3, 1fr);    gap: 30px;}.tour-card {    background: #ffffff;    border-radius: 15px;    overflow: hidden;    transition: transform 0.3s ease, box-shadow 0.3s ease;    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);}.tour-card:hover {    transform: translateY(-8px);    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);}.tour-images-wrapper {    display: flex;    gap: 10px;    height: 280px;}.tour-image-main {    position: relative;    flex: 1;    overflow: hidden;    border-radius: 15px 0 0 0;}.tour-image-main img {    width: 100%;    height: 100%;    object-fit: cover;    transition: transform 0.3s ease;}.tour-card:hover .tour-image-main img {    transform: scale(1.1);}.tour-thumbnails {    display: flex;    flex-direction: column;    gap: 10px;    width: 100px;}.tour-thumbnail {    flex: 1;    overflow: hidden;    border-radius: 8px;}.tour-thumbnail:first-child {    border-radius: 0 15px 0 0;}.tour-thumbnail img {    width: 100%;    height: 100%;    object-fit: cover;    transition: transform 0.3s ease;}.tour-thumbnail:hover img {    transform: scale(1.1);}.tour-badge {    position: absolute;    top: 15px;    left: 15px;    background: #D4AF37;    color: #ffffff;    padding: 6px 14px;    border-radius: 5px;    font-size: 13px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;}.tour-wishlist {    position: absolute;    top: 15px;    right: 15px;    width: 40px;    height: 40px;    background: #ffffff;    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    cursor: pointer;    transition: all 0.3s ease;}.tour-wishlist:hover {    background: #D4AF37;    color: #ffffff;}.tour-wishlist i {    font-size: 18px;}.tour-content {    padding: 25px;}.tour-meta {    display: flex;    justify-content: space-between;    align-items: center;    margin-bottom: 15px;    font-size: 14px;    color: #666;}.tour-duration {    display: flex;    align-items: center;    gap: 5px;    font-family: 'Open Sans', sans-serif;}.tour-rating {    display: flex;    align-items: center;    gap: 5px;    font-family: 'Montserrat', sans-serif;    font-weight: 600;}.tour-rating i {    color: #ffa500;    font-size: 12px;}.tour-name {    font-size: 20px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    color: #1a3a3a;    margin-bottom: 10px;    line-height: 1.3;}.tour-location {    font-size: 14px;    font-family: 'Open Sans', sans-serif;    color: #D4AF37;    margin-bottom: 10px;    display: flex;    align-items: center;    gap: 5px;}.tour-excerpt {    font-size: 14px;    font-family: 'Open Sans', sans-serif;    color: #666;    line-height: 1.6;    margin-bottom: 20px;}.tour-footer {    display: flex;    justify-content: space-between;    align-items: center;    padding-top: 20px;    border-top: 1px solid #e0e0e0;}.tour-price {    display: flex;    align-items: center;    gap: 10px;}.price-current {    font-size: 22px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    color: #1a3a3a;}.price-old {    font-size: 16px;    font-weight: 400;    font-family: 'Open Sans', sans-serif;    color: #999;    text-decoration: line-through;}.btn-explore {    display: inline-block;    padding: 10px 24px;    background: #D4AF37;    color: #ffffff;    font-size: 14px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;    text-decoration: none;    border-radius: 6px;    transition: all 0.3s ease;}.btn-explore:hover {    background: #c49563;    transform: translateY(-2px);}/* Responsive Design */@media (max-width: 1024px) {    .tours-grid {        grid-template-columns: repeat(2, 1fr);        gap: 25px;    }    .tours-title {        font-size: 36px;    }}@media (max-width: 768px) {    .popular-tours-section {        padding: 60px 0;    }    .tours-header {        flex-direction: column;        margin-bottom: 40px;    }    .tours-title {        font-size: 32px;    }    .tours-grid {        grid-template-columns: 1fr;        gap: 20px;    }    .tour-images-wrapper {        height: 240px;    }    .tour-thumbnails {        width: 80px;        gap: 8px;    }}@media (max-width: 480px) {    .tours-title {        font-size: 28px;    }    .tours-description {        font-size: 14px;    }    .tour-content {        padding: 20px;    }    .tour-name {        font-size: 18px;    }    .price-current {        font-size: 20px;    }}/* ========================================   COUNTER SECTION   ======================================== */.counter-section {    position: relative;    padding: 80px 0;    background-image: url('../assets/images/slide1.jpg');    background-size: cover;    background-position: center;    background-attachment: fixed;}.counter-overlay {    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;    background: rgba(26, 58, 58, 0.85);}.counter-grid {    position: relative;    z-index: 2;    display: grid;    grid-template-columns: repeat(4, 1fr);    gap: 40px;    max-width: 1200px;    margin: 0 auto;}.counter-item {    text-align: center;    color: #ffffff;}.counter-icon {    width: 80px;    height: 80px;    margin: 0 auto 25px;    background: rgba(255, 255, 255, 0.1);    border: 2px solid rgba(255, 255, 255, 0.3);    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    transition: all 0.3s ease;}.counter-icon i {    font-size: 32px;    color: #ffffff;}.counter-item:hover .counter-icon {    background: #D4AF37;    border-color: #D4AF37;    transform: scale(1.1);}.counter-number {    font-size: 48px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    color: #ffffff;    margin-bottom: 15px;    line-height: 1;}.counter-label {    font-size: 16px;    font-weight: 500;    font-family: 'Open Sans', sans-serif;    color: #ffffff;    opacity: 0.9;}/* Responsive Design */@media (max-width: 1024px) {    .counter-grid {        grid-template-columns: repeat(2, 1fr);        gap: 40px 30px;    }    .counter-number {        font-size: 42px;    }}@media (max-width: 768px) {    .counter-section {        padding: 60px 0;        background-attachment: scroll;    }    .counter-grid {        grid-template-columns: repeat(2, 1fr);        gap: 35px 25px;    }    .counter-icon {        width: 70px;        height: 70px;        margin-bottom: 20px;    }    .counter-icon i {        font-size: 28px;    }    .counter-number {        font-size: 38px;    }    .counter-label {        font-size: 14px;    }}@media (max-width: 480px) {    .counter-section {        padding: 50px 0;    }    .counter-grid {        grid-template-columns: 1fr;        gap: 30px;    }    .counter-icon {        width: 65px;        height: 65px;    }    .counter-icon i {        font-size: 26px;    }    .counter-number {        font-size: 36px;    }}/* ========================================   BROWSE BY CATEGORY SECTION   ======================================== */.category-section {    padding: 80px 0;    background: #f8f9fa;}.category-header {    text-align: center;    max-width: 700px;    margin: 0 auto 60px;}.category-subtitle {    display: inline-block;    font-size: 16px;    font-weight: 500;    font-family: 'Playfair Display', serif;    color: #D4AF37;    margin-bottom: 10px;    font-style: italic;}.category-title {    font-size: 42px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    color: #1a3a3a;    margin-bottom: 15px;    line-height: 1.2;}.category-description {    font-size: 16px;    font-weight: 400;    font-family: 'Open Sans', sans-serif;    color: #666;    line-height: 1.7;}.category-grid {    display: grid;    grid-template-columns: repeat(4, 1fr);    gap: 25px;    max-width: 1400px;    margin: 0 auto;}.category-card {    background: #ffffff;    border-radius: 12px;    overflow: hidden;    transition: all 0.3s ease;    cursor: pointer;    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);    display: flex;    align-items: center;    gap: 15px;    padding: 15px;}.category-card:hover {    transform: translateY(-5px);    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);}.category-image {    width: 110px;    height: 90px;    flex-shrink: 0;    overflow: hidden;    border-radius: 8px;}.category-image img {    width: 100%;    height: 100%;    object-fit: cover;    transition: transform 0.3s ease;}.category-card:hover .category-image img {    transform: scale(1.1);}.category-content {    flex: 1;}.category-name {    font-size: 18px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    color: #1a3a3a;    margin-bottom: 8px;    line-height: 1.3;}.category-desc {    font-size: 14px;    font-weight: 400;    font-family: 'Open Sans', sans-serif;    color: #666;    line-height: 1.5;}/* Responsive Design */@media (max-width: 1200px) {    .category-grid {        grid-template-columns: repeat(3, 1fr);        gap: 20px;    }}@media (max-width: 768px) {    .category-section {        padding: 60px 0;    }    .category-header {        margin-bottom: 40px;    }    .category-title {        font-size: 32px;    }    .category-grid {        grid-template-columns: repeat(2, 1fr);        gap: 18px;    }    .category-card {        padding: 12px;        gap: 12px;    }    .category-image {        width: 90px;        height: 75px;    }    .category-name {        font-size: 16px;    }    .category-desc {        font-size: 13px;    }}@media (max-width: 480px) {    .category-title {        font-size: 28px;    }    .category-description {        font-size: 14px;    }    .category-grid {        grid-template-columns: 1fr;        gap: 15px;    }    .category-card {        padding: 15px;    }    .category-image {        width: 100px;        height: 85px;    }}/* ========================================   BELIEFS SECTION   ======================================== */.beliefs-section {    padding: 80px 0;    background: #ffffff;}.beliefs-container {    display: grid;    grid-template-columns: 45% 55%;    gap: 60px;    max-width: 1400px;    margin: 0 auto;    padding: 0 40px;    align-items: center;}.beliefs-content {    padding-right: 20px;}.beliefs-subtitle {    display: inline-block;    font-size: 14px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;    color: #D4AF37;    margin-bottom: 12px;    letter-spacing: 1.5px;    text-transform: uppercase;}.beliefs-title {    font-size: 38px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    color: #1a3a3a;    margin-bottom: 15px;    line-height: 1.3;}.beliefs-intro {    font-size: 16px;    font-weight: 400;    font-family: 'Open Sans', sans-serif;    color: #666;    line-height: 1.7;    margin-bottom: 30px;}.beliefs-list {    list-style: none;    padding: 0;    margin: 0 0 35px 0;}.belief-item {    display: flex;    align-items: flex-start;    gap: 12px;    margin-bottom: 18px;    font-size: 16px;    font-family: 'Open Sans', sans-serif;    color: #333;    line-height: 1.6;}.belief-item i {    color: #D4AF37;    font-size: 18px;    margin-top: 2px;    flex-shrink: 0;}.btn-contact {    display: inline-block;    padding: 14px 35px;    background: #1a3a3a;    color: #ffffff;    font-size: 15px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;    text-decoration: none;    border-radius: 8px;    transition: all 0.3s ease;}.btn-contact:hover {    background: #D4AF37;    transform: translateY(-2px);    box-shadow: 0 5px 20px rgba(212, 165, 116, 0.4);}.beliefs-image {    position: relative;    height: 500px;    border-radius: 20px;    overflow: hidden;}.beliefs-image img {    width: 100%;    height: 100%;    object-fit: cover;}.beliefs-badge {    position: absolute;    bottom: 30px;    right: 30px;    background: rgba(26, 58, 58, 0.95);    padding: 30px;    border-radius: 15px;    text-align: center;    min-width: 280px;    backdrop-filter: blur(10px);}.badge-label {    display: block;    font-size: 18px;    font-weight: 400;    font-family: 'Playfair Display', serif;    color: #ffffff;    margin-bottom: 8px;    font-style: italic;}.badge-subtitle {    display: block;    font-size: 13px;    font-weight: 400;    font-family: 'Open Sans', sans-serif;    color: #ffffff;    margin-bottom: 20px;    opacity: 0.9;}.badge-discount {    margin-bottom: 15px;}.discount-number {    font-size: 56px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    color: #D4AF37;    line-height: 1;}.discount-percent {    font-size: 20px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;    color: #D4AF37;    margin-left: 5px;}.badge-text {    font-size: 15px;    font-weight: 500;    font-family: 'Open Sans', sans-serif;    color: #ffffff;    margin-bottom: 20px;}.btn-book {    display: inline-block;    padding: 12px 30px;    background: #D4AF37;    color: #ffffff;    font-size: 14px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;    text-decoration: none;    border-radius: 8px;    transition: all 0.3s ease;}.btn-book:hover {    background: #c49563;    transform: translateY(-2px);}/* Responsive Design */@media (max-width: 1024px) {    .beliefs-container {        grid-template-columns: 1fr;        gap: 40px;    }    .beliefs-content {        padding-right: 0;    }    .beliefs-image {        height: 450px;    }    .beliefs-badge {        bottom: 20px;        right: 20px;        min-width: 250px;        padding: 25px;    }}@media (max-width: 768px) {    .beliefs-section {        padding: 60px 0;    }    .beliefs-container {        padding: 0 20px;    }    .beliefs-title {        font-size: 32px;    }    .beliefs-intro {        font-size: 15px;    }    .belief-item {        font-size: 15px;    }    .beliefs-image {        height: 400px;    }    .beliefs-badge {        position: static;        margin-top: 20px;        min-width: auto;    }    .discount-number {        font-size: 48px;    }}@media (max-width: 480px) {    .beliefs-title {        font-size: 28px;    }    .beliefs-intro {        font-size: 14px;    }    .belief-item {        font-size: 14px;        gap: 10px;    }    .beliefs-image {        height: 350px;    }    .beliefs-badge {        padding: 20px;    }    .discount-number {        font-size: 42px;    }}/* ========================================   BLOG SECTION - RECENT ARTICLES & POSTS   ======================================== */.blog-section {    padding: 80px 0;    background: #f8f9fa;}.blog-header {    text-align: center;    max-width: 700px;    margin: 0 auto 60px;}.blog-subtitle {    display: inline-block;    font-size: 16px;    font-weight: 500;    font-family: 'Playfair Display', serif;    color: #D4AF37;    margin-bottom: 10px;    font-style: italic;}.blog-title {    font-size: 42px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    color: #1a3a3a;    margin-bottom: 15px;    line-height: 1.2;}.blog-description {    font-size: 16px;    font-weight: 400;    font-family: 'Open Sans', sans-serif;    color: #666;    line-height: 1.7;}.blog-grid {    display: grid;    grid-template-columns: 1fr 1fr;    gap: 30px;    max-width: 1400px;    margin: 0 auto;}.blog-card {    background: #ffffff;    border-radius: 15px;    overflow: hidden;    transition: all 0.3s ease;    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);}.blog-card:hover {    transform: translateY(-8px);    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);}.blog-card-large {    grid-row: span 2;}.blog-card-large .blog-image {    height: 400px;}.blog-card-small .blog-image {    height: 200px;}.blog-image {    overflow: hidden;}.blog-image img {    width: 100%;    height: 100%;    object-fit: cover;    transition: transform 0.3s ease;}.blog-card:hover .blog-image img {    transform: scale(1.1);}.blog-content {    padding: 25px;}.blog-meta {    display: flex;    align-items: center;    gap: 15px;    margin-bottom: 15px;    font-size: 13px;    font-family: 'Open Sans', sans-serif;    color: #999;}.blog-meta span {    display: flex;    align-items: center;    gap: 5px;}.blog-author,.blog-date {    position: relative;}.blog-author::after,.blog-date::after {    content: '•';    margin-left: 15px;    color: #ddd;}.blog-post-title {    font-size: 22px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    color: #1a3a3a;    margin-bottom: 15px;    line-height: 1.4;    transition: color 0.3s ease;}.blog-card:hover .blog-post-title {    color: #D4AF37;}.blog-card-small .blog-post-title {    font-size: 18px;}.blog-excerpt {    font-size: 15px;    font-family: 'Open Sans', sans-serif;    color: #666;    line-height: 1.7;    margin-bottom: 20px;}.blog-read-more {    display: inline-flex;    align-items: center;    gap: 8px;    font-size: 14px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;    color: #1a3a3a;    text-decoration: none;    transition: all 0.3s ease;}.blog-read-more:hover {    color: #D4AF37;    gap: 12px;}.blog-read-more i {    font-size: 12px;    transition: transform 0.3s ease;}.blog-read-more:hover i {    transform: translateX(5px);}/* Blog CTA */.blog-cta {    text-align: center;    margin-top: 3rem;}.btn-view-all-blogs {    display: inline-block;    padding: 1rem 2.5rem;    background: var(--secondary-teal);    color: var(--pure-white);    text-decoration: none;    border-radius: 30px;    font-weight: 600;    font-size: 1rem;    transition: all 0.3s ease;}.btn-view-all-blogs:hover {    background: var(--deep-teal);    transform: translateY(-2px);    box-shadow: 0 5px 15px rgba(43, 166, 160, 0.3);}/* Responsive Design */@media (max-width: 1024px) {    .blog-grid {        gap: 25px;    }    .blog-card-large .blog-image {        height: 350px;    }    .blog-title {        font-size: 36px;    }}@media (max-width: 768px) {    .blog-section {        padding: 60px 0;    }    .blog-header {        margin-bottom: 40px;    }    .blog-title {        font-size: 32px;    }    .blog-grid {        grid-template-columns: 1fr;        gap: 20px;    }    .blog-card-large {        grid-row: span 1;    }    .blog-card-large .blog-image {        height: 280px;    }    .blog-card-small .blog-image {        height: 220px;    }    .blog-content {        padding: 20px;    }    .blog-post-title {        font-size: 20px;    }    .blog-card-small .blog-post-title {        font-size: 18px;    }}@media (max-width: 480px) {    .blog-title {        font-size: 28px;    }    .blog-description {        font-size: 14px;    }    .blog-card-large .blog-image,    .blog-card-small .blog-image {        height: 200px;    }    .blog-content {        padding: 18px;    }    .blog-post-title {        font-size: 18px;    }    .blog-card-small .blog-post-title {        font-size: 16px;    }    .blog-excerpt {        font-size: 14px;    }}/* ========================================   SUPPORT & NEWSLETTER SECTION   ======================================== */.support-newsletter-section {    padding: 60px 0;    background: #f0f0f0;    border-top: 1px solid #e0e0e0;}.support-newsletter-grid {    display: grid;    grid-template-columns: 1fr 1fr auto;    gap: 50px;    max-width: 1400px;    margin: 0 auto;    align-items: center;}.support-box,.newsletter-box {    background: transparent;}.support-title,.newsletter-title {    font-size: 28px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    color: #1a3a3a;    margin-bottom: 12px;    line-height: 1.3;}.support-text,.newsletter-text {    font-size: 15px;    font-weight: 400;    font-family: 'Open Sans', sans-serif;    color: #666;    line-height: 1.6;    margin-bottom: 20px;}.support-avatars {    display: flex;    align-items: center;    margin-bottom: 25px;}.support-avatars .avatar {    width: 45px;    height: 45px;    border-radius: 50%;    border: 3px solid #ffffff;    margin-left: -12px;    object-fit: cover;    transition: transform 0.3s ease;}.support-avatars .avatar:first-child {    margin-left: 0;}.support-avatars .avatar:hover {    transform: scale(1.15);    z-index: 10;}.btn-chat {    display: inline-block;    padding: 13px 35px;    background: #1a3a3a;    color: #ffffff;    font-size: 15px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;    text-decoration: none;    border-radius: 8px;    transition: all 0.3s ease;}.btn-chat:hover {    background: #D4AF37;    transform: translateY(-2px);    box-shadow: 0 5px 20px rgba(212, 165, 116, 0.4);}.newsletter-form {    position: relative;    max-width: 450px;}.newsletter-input {    width: 100%;    padding: 15px 60px 15px 20px;    border: 1px solid #ddd;    border-radius: 8px;    font-size: 15px;    font-family: 'Open Sans', sans-serif;    color: #333;    background: #ffffff;    transition: all 0.3s ease;}.newsletter-input:focus {    outline: none;    border-color: #D4AF37;    box-shadow: 0 0 0 3px rgba(212, 165, 116, 0.1);}.newsletter-input::placeholder {    color: #999;}.newsletter-submit {    position: absolute;    right: 5px;    top: 50%;    transform: translateY(-50%);    width: 45px;    height: 45px;    background: #D4AF37;    border: none;    border-radius: 6px;    color: #ffffff;    font-size: 16px;    cursor: pointer;    transition: all 0.3s ease;    display: flex;    align-items: center;    justify-content: center;}.newsletter-submit:hover {    background: #c49563;    transform: translateY(-50%) scale(1.05);}.support-illustration {    width: 200px;    flex-shrink: 0;}.support-illustration img {    width: 100%;    height: auto;    display: block;}/* Responsive Design */@media (max-width: 1024px) {    .support-newsletter-grid {        grid-template-columns: 1fr 1fr;        gap: 40px;    }    .support-illustration {        grid-column: span 2;        width: 180px;        margin: 0 auto;    }    .support-title,    .newsletter-title {        font-size: 24px;    }}@media (max-width: 768px) {    .support-newsletter-section {        padding: 50px 0;    }    .support-newsletter-grid {        grid-template-columns: 1fr;        gap: 35px;    }    .support-illustration {        grid-column: 1;        width: 160px;    }    .support-title,    .newsletter-title {        font-size: 22px;    }    .support-text,    .newsletter-text {        font-size: 14px;    }    .support-avatars .avatar {        width: 40px;        height: 40px;    }    .newsletter-form {        max-width: 100%;    }}@media (max-width: 480px) {    .support-title,    .newsletter-title {        font-size: 20px;    }    .support-avatars .avatar {        width: 35px;        height: 35px;        margin-left: -10px;    }    .newsletter-input {        padding: 13px 55px 13px 18px;        font-size: 14px;    }    .newsletter-submit {        width: 40px;        height: 40px;        font-size: 14px;    }    .support-illustration {        width: 140px;    }}/* ========================================   GLOBAL CONSISTENCY OVERRIDES   ======================================== *//* Consistent Section Padding */.welcome-section,.retreats-section,.ecosystem-section,.destinations-section,.popular-tours-section,.category-section,.beliefs-section,.blog-section {    padding: 80px 0;}/* Consistent Section Titles */.section-title,.tours-title,.category-title,.beliefs-title,.blog-title {    font-size: 42px;    font-weight: 700;    font-family: 'Montserrat', sans-serif;    color: #1a3a3a;    line-height: 1.2;    margin-bottom: 15px;}/* Consistent Section Subtitles */.section-subtitle,.tours-subtitle,.category-subtitle,.beliefs-subtitle,.blog-subtitle {    font-size: 16px;    font-weight: 500;    font-family: 'Playfair Display', serif;    color: #D4AF37;    font-style: italic;    display: inline-block;    margin-bottom: 10px;}/* Consistent Section Descriptions */.section-description,.tours-description,.category-description,.beliefs-intro,.blog-description {    font-size: 16px;    font-weight: 400;    font-family: 'Open Sans', sans-serif;    color: #666;    line-height: 1.7;}/* Consistent Primary Buttons */.btn-primary,.btn-tertiary,.btn-destinations,.btn-explore,.btn-activity,.btn-book,.btn-contact,.btn-chat {    display: inline-block;    padding: 14px 35px;    font-size: 15px;    font-weight: 600;    font-family: 'Montserrat', sans-serif;    text-decoration: none;    border-radius: 8px;    transition: all 0.3s ease;    border: none;    cursor: pointer;}/* Gold Buttons */.btn-primary,.btn-destinations,.btn-explore,.btn-activity,.btn-book {    background: #D4AF37;    color: #ffffff;}.btn-primary:hover,.btn-destinations:hover,.btn-explore:hover,.btn-activity:hover,.btn-book:hover {    background: #c49563;    transform: translateY(-2px);    box-shadow: 0 5px 20px rgba(212, 165, 116, 0.4);}/* Dark Green Buttons */.btn-tertiary,.btn-contact,.btn-chat {    background: #1a3a3a;    color: #ffffff;}.btn-tertiary:hover,.btn-contact:hover,.btn-chat:hover {    background: #D4AF37;    transform: translateY(-2px);    box-shadow: 0 5px 20px rgba(212, 165, 116, 0.4);}/* Outlined Buttons */.btn-deals,.btn-view-all {    background: transparent;    color: #1a3a3a;    border: 2px solid #1a3a3a;}.btn-deals:hover,.btn-view-all:hover {    background: #1a3a3a;    color: #ffffff;}/* Consistent Card Styles */.retreat-card,.tour-card,.category-card,.blog-card {    background: #ffffff;    border-radius: 15px;    overflow: hidden;    transition: all 0.3s ease;    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);}.retreat-card:hover,.tour-card:hover,.category-card:hover,.blog-card:hover {    transform: translateY(-8px);    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);}/* Consistent Icon Colors */.feature-icon,.counter-icon i,.belief-item i,.tour-rating i {    color: #D4AF37;}/* Consistent Link Hover Colors */a:hover,.nav-link:hover {    color: #D4AF37;}/* Consistent Background Colors */.top-destinations-section,.popular-tours-section,.category-section,.blog-section {    background: #f8f9fa;}.welcome-section,.beliefs-section {    background: #ffffff;}/* Consistent Container Max-Width */.container {    max-width: 1400px;    margin: 0 auto;    padding: 0 40px;}/* Responsive Consistency */@media (max-width: 768px) {    .welcome-section,    .retreats-section,    .ecosystem-section,    .destinations-section,    .popular-tours-section,    .category-section,    .beliefs-section,    .blog-section {        padding: 60px 0;    }    .section-title,    .tours-title,    .category-title,    .beliefs-title,    .blog-title {        font-size: 32px;    }    .container {        padding: 0 20px;    }    .btn-primary,    .btn-tertiary,    .btn-destinations,    .btn-explore,    .btn-activity,    .btn-book,    .btn-contact,    .btn-chat {        padding: 12px 28px;        font-size: 14px;    }}@media (max-width: 480px) {    .section-title,    .tours-title,    .category-title,    .beliefs-title,    .blog-title {        font-size: 28px;    }    .section-description,    .tours-description,    .category-description,    .beliefs-intro,    .blog-description {        font-size: 14px;    }}/* ========================================   ENHANCED MOBILE RESPONSIVENESS   ======================================== *//* Mobile-First Base Adjustments */@media (max-width: 1024px) {    /* Hero Section */    .hero-section {        min-height: 70vh;    }    /* Destinations Slider */    .destinations-header {        padding: 0 20px;    }    .destinations-header .section-title {        font-size: 36px;    }    /* Activities & Deals */    .activities-deals-grid {        grid-template-columns: 1fr;        gap: 20px;    }    .activity-card,    .deals-card {        height: auto;        min-height: 400px;    }    .activity-card-content,    .deals-card-content {        padding: 35px 40px;    }    /* Tours Section */    .tours-header {        flex-direction: column;        align-items: flex-start;        gap: 20px;    }    .tours-images-wrapper {        height: 250px;    }    .tour-thumbnails {        width: 90px;    }}@media (max-width: 768px) {    /* Global Typography */    body {        font-size: 14px;    }    h1 {        font-size: 32px;    }    h2 {        font-size: 28px;    }    h3 {        font-size: 20px;    }    /* Hero Section */    .hero-section {        min-height: 60vh;    }    .hero-content {        padding: 0 20px;    }    /* Top Bar */    .topbar {        padding: 8px 0;    }    .topbar-container {        flex-direction: column;        gap: 10px;        padding: 0 15px;    }    .topbar-left {        flex-direction: column;        gap: 8px;        align-items: center;    }    .topbar-contact {        font-size: 12px;    }    /* Navigation */    .header {        padding: 12px 0;    }    .logo-img {        max-height: 45px;    }    /* Features Section */    .features-grid {        grid-template-columns: repeat(2, 1fr);        gap: 20px;    }    .feature-title {        font-size: 14px;    }    /* Welcome Section */    .welcome-container {        grid-template-columns: 1fr;        gap: 30px;    }    .welcome-image {        order: -1;        height: 300px;    }    .main-title {        font-size: 32px;    }    .description-text {        font-size: 15px;    }    /* Destinations Slider */    .destination-slide-card {        height: 360px;    }    .destinations-slider-wrapper {        padding: 0 20px;    }    .destinations-cta {        margin-top: 35px;    }    /* Activities & Deals */    .activity-subtitle {        font-size: 20px;    }    .activity-description,    .deals-description {        font-size: 14px;    }    .deals-main-title {        font-size: 22px;    }    .deals-title {        font-size: 30px;    }    /* Tours Section */    .tour-images-wrapper {        flex-direction: column;        height: auto;    }    .tour-image-main {        height: 220px;        border-radius: 15px 15px 0 0;    }    .tour-thumbnails {        flex-direction: row;        width: 100%;        height: 80px;        gap: 8px;    }    .tour-thumbnail {        border-radius: 0;    }    .tour-thumbnail:first-child {        border-radius: 0;    }    .tour-thumbnail:last-child {        border-radius: 0 0 15px 0;    }    .tour-content {        padding: 20px;    }    .tour-name {        font-size: 18px;    }    .tour-excerpt {        font-size: 13px;    }    /* Counter Section */    .counter-section {        background-attachment: scroll;    }    .counter-number {        font-size: 36px;    }    .counter-label {        font-size: 14px;    }    /* Category Section */    .category-card {        padding: 12px;    }    .category-image {        width: 85px;        height: 70px;    }    .category-name {        font-size: 15px;    }    .category-desc {        font-size: 12px;    }    /* Beliefs Section */    .beliefs-container {        grid-template-columns: 1fr;        gap: 35px;    }    .beliefs-image {        height: 380px;    }    .belief-item {        font-size: 15px;    }    /* Blog Section */    .blog-grid {        grid-template-columns: 1fr;    }    .blog-card-large {        grid-row: span 1;    }    .blog-card-large .blog-image {        height: 250px;    }    .blog-card-small .blog-image {        height: 200px;    }    /* Support & Newsletter */    .support-newsletter-grid {        grid-template-columns: 1fr;        gap: 30px;    }    .support-illustration {        width: 150px;        margin: 0 auto;    }    /* Newsletter Form */    .newsletter-form {        max-width: 100%;    }    /* Ecosystem Section */    .ecosystem-grid {        grid-template-columns: repeat(2, 1fr);        gap: 20px;    }    /* Destinations Section */    .destinations-grid {        grid-template-columns: 1fr;        gap: 20px;    }    /* Stories Section */    .stories-grid {        grid-template-columns: 1fr;        gap: 20px;    }    /* Footer */    .footer-main {        grid-template-columns: 1fr;        gap: 30px;    }    .footer-brand {        text-align: center;    }    .nav-column {        text-align: center;    }    .contact-info {        justify-content: center;    }}@media (max-width: 480px) {    /* Global Adjustments */    .container {        padding: 0 15px;    }    /* Hero Section */    .hero-section {        min-height: 50vh;    }    .btn-tertiary {        padding: 12px 25px;        font-size: 14px;    }    /* Features Section */    .features-grid {        grid-template-columns: 1fr;        gap: 15px;    }    .feature-icon {        width: 50px;        height: 50px;    }    .feature-icon svg {        width: 20px;        height: 20px;    }    /* Welcome Section */    .greeting-text {        font-size: 14px;    }    .main-title {        font-size: 28px;    }    .description-text {        font-size: 14px;    }    .cta-button {        padding: 12px 28px;        font-size: 14px;    }    /* Retreats Section */    .retreat-card {        margin-bottom: 15px;    }    .retreat-title {        font-size: 18px;    }    .retreat-content p {        font-size: 13px;    }    .price-amount {        font-size: 20px;    }    /* Destinations Slider */    .destinations-header .section-title {        font-size: 26px;    }    .destinations-header .section-description {        font-size: 14px;    }    .destination-slide-card {        height: 250px;    }    .destination-info h3 {        font-size: 18px;    }    .destination-info p {        font-size: 13px;    }    /* Activities & Deals */    .activity-subtitle {        font-size: 18px;    }    .activity-description,    .deals-description {        font-size: 13px;    }    .deals-main-title {        font-size: 20px;    }    .deals-title {        font-size: 26px;    }    .activity-card-content,    .deals-card-content {        padding: 25px;    }    /* Tours Section */    .tour-image-main {        height: 200px;    }    .tour-thumbnails {        height: 70px;    }    .tour-content {        padding: 18px;    }    .tour-name {        font-size: 17px;    }    .tour-meta {        font-size: 12px;    }    .price-current {        font-size: 20px;    }    .btn-explore {        padding: 9px 20px;        font-size: 13px;    }    /* Counter Section */    .counter-icon {        width: 60px;        height: 60px;    }    .counter-icon i {        font-size: 24px;    }    .counter-number {        font-size: 32px;    }    .counter-label {        font-size: 13px;    }    /* Category Section */    .category-card {        padding: 10px;    }    .category-image {        width: 75px;        height: 65px;    }    .category-name {        font-size: 14px;    }    .category-desc {        font-size: 11px;    }    /* Beliefs Section */    .beliefs-title {        font-size: 26px;    }    .beliefs-intro {        font-size: 14px;    }    .belief-item {        font-size: 14px;    }    .beliefs-image {        height: 320px;    }    .beliefs-badge {        padding: 20px;    }    .discount-number {        font-size: 40px;    }    /* Blog Section */    .blog-card-large .blog-image,    .blog-card-small .blog-image {        height: 200px;    }    .blog-content {        padding: 18px;    }    .blog-post-title {        font-size: 18px;    }    .blog-excerpt {        font-size: 13px;    }    /* Support & Newsletter */    .support-title,    .newsletter-title {        font-size: 20px;    }    .support-text,    .newsletter-text {        font-size: 13px;    }    .support-avatars .avatar {        width: 32px;        height: 32px;    }    .newsletter-input {        padding: 12px 50px 12px 16px;        font-size: 13px;    }    .newsletter-submit {        width: 38px;        height: 38px;    }    /* Ecosystem Section */    .ecosystem-grid {        grid-template-columns: 1fr;    }    .pillar-title {        font-size: 18px;    }    /* Footer */    .footer-logo img {        max-width: 140px;    }    .brand-description {        font-size: 13px;    }    .nav-links li {        font-size: 13px;    }    .contact-item {        font-size: 13px;    }    .partners-slider-wrapper {        padding: 0 10px;    }}/* Extra Small Devices */@media (max-width: 360px) {    .hero-section {        min-height: 45vh;    }    .main-title {        font-size: 24px;    }    .section-title,    .tours-title,    .category-title,    .beliefs-title,    .blog-title {        font-size: 24px;    }    .destination-slide-card {        height: 220px;    }    .activity-card,    .deals-card {        min-height: 350px;    }    .counter-number {        font-size: 28px;    }}/* Landscape Mobile Orientation */@media (max-width: 768px) and (orientation: landscape) {    .hero-section {        min-height: 100vh;    }    .destination-slide-card {        height: 220px;    }    .activity-card,    .deals-card {        min-height: 320px;    }}/* Touch Device Optimizations */@media (hover: none) and (pointer: coarse) {    /* Increase touch targets */    .btn-primary,    .btn-tertiary,    .btn-destinations,    .btn-explore,    .btn-activity,    .btn-book,    .btn-contact,    .btn-chat {        min-height: 44px;        min-width: 44px;    }    /* Remove hover effects on touch devices */    .retreat-card:hover,    .tour-card:hover,    .category-card:hover,    .blog-card:hover {        transform: none;    }    /* Larger tap areas for navigation */    .nav-link {        padding: 12px 15px;    }    /* Easier to tap form inputs */    .newsletter-input {        min-height: 48px;    }}

/* Activ
ity and Deals Card Images */
.activity-card-image,
.deals-card-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}


/* Remove CSS background images to use HTML images only */
.activity-card {
    background-image: none !important;
}


/* Fix z-index stacking for images to appear */
.activity-card,
.deals-card {
    position: relative;
}

.activity-card-image,
.deals-card-image {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 1 !important;
}

.activity-card-overlay,
.deals-card-overlay {
    position: absolute !important;
    z-index: 2 !important;
}

.activity-card-content,
.deals-card-content {
    position: relative !important;
    z-index: 3 !important;
}


/* Performance Optimizations */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Reduce animations on low-end devices */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* GPU acceleration for smooth scrolling */
.hero-section,
.destinations-swiper,
.activity-card,
.deals-card,
.tour-card {
    will-change: transform;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}

/* Optimize images */
img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

/* Reduce repaints */
.swiper-wrapper {
    will-change: transform;
}


/* Image Quality and Fitting Improvements */
img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    object-position: center;
}

/* Ensure images maintain quality */
.blog-image img,
.blog-post-image img,
.tour-image-main img,
.tour-thumbnail img,
.destination-slide-card img,
.activity-card-image,
.deals-card-image,
.detail-hero-image img,
.gallery-item img,
.category-image img,
.recent-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    image-rendering: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Prevent image distortion */
.pillar-image img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}

/* Fix container heights for proper image display */
.blog-image,
.blog-post-image {
    overflow: hidden;
    position: relative;
}

.tour-image-main,
.tour-thumbnail {
    overflow: hidden;
    position: relative;
}

/* Smooth image loading */
img[loading="lazy"] {
    opacity: 0;
    transition: opacity 0.3s ease-in;
}

img[loading="lazy"].loaded,
img.loaded {
    opacity: 1;
}


/* Disable animations while scrolling for better performance */
body.is-scrolling * {
    animation-play-state: paused !important;
    transition-duration: 0s !important;
}

/* Optimize swiper performance */
.destinations-swiper {
    contain: layout style paint;
}

.swiper-slide {
    will-change: auto;
}

/* Reduce animations on low-performance devices */
.low-performance * {
    animation-duration: 0.1s !important;
    transition-duration: 0.1s !important;
}

.low-performance .destinations-swiper {
    animation: none !important;
}

/* Optimize video container */
.hero-bg-container {
    contain: layout style paint;
}

.hero-bg-video {
    will-change: auto;
}

/* Reduce paint areas */
.tour-card,
.blog-card,
.destination-slide-card {
    contain: layout style paint;
}

/* Optimize counter animation */
.counter-section {
    contain: layout style;
}

/* Prevent layout shifts */
.destinations-swiper,
.tours-grid,
.blog-grid {
    min-height: 400px;
}
