﻿/* ============================================
           CSS VARIABLES & RESET
           ============================================ */
        :root {
            /* Modern safari palette */
            --charcoal: #111111;
            --sand: #E8751A;
            --ivory: #111111;
            --olive: #3F6B3A;
            --gold: #D4A72C;
            --gold-light: rgba(212, 167, 44, 0.16);
            --primary-dark: #111111;
            --primary-gold: #E8751A;
            --primary-gold-dark: #B9570D;
            --primary-cream: #FFFFFF;
            --primary-warm: #333333;
            --bg-primary: #FFFFFF;
            --bg-secondary: #FFFFFF;
            --bg-card: #FFFFFF;
            --bg-input: #FFFFFF;
            --text-primary: #111111;
            --text-secondary: #333333;
            --text-muted: #5F6360;
            --border-color: #D9DED8;
            --border-light: #C9D0C8;
            --overlay-dark: rgba(17, 17, 17, 0.72);
            --overlay-light: rgba(17, 17, 17, 0.24);
            --bg-image-overlay: rgba(17, 17, 17, 0.58);
            --footer-bg: #111111;
            --footer-text: rgba(255, 255, 255, 0.72);
            --footer-text-hover: #FFFFFF;
            --footer-border: rgba(212, 167, 44, 0.28);
            
            /* ==========================================
               TYPOGRAPHY SYSTEM
               ========================================== */
            --font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
            --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            
            --font-weight-heading-light: 400;
            --font-weight-heading-regular: 500;
            --font-weight-heading-medium: 600;
            --font-weight-heading-bold: 700;
            --font-weight-heading-extrabold: 800;
            --font-weight-heading-black: 900;
            
            --font-weight-body-regular: 400;
            --font-weight-body-medium: 500;
            --font-weight-body-bold: 700;
            
            --letter-spacing-tight: -0.03em;
            --letter-spacing-normal: -0.01em;
            --letter-spacing-wide: 0.04em;
            --letter-spacing-wider: 0.08em;
            --letter-spacing-widest: 0.15em;
            
            --line-height-tight: 0.95;
            --line-height-normal: 1.1;
            --line-height-relaxed: 1.2;
            --line-height-body: 1.6;
            --line-height-reading: 1.8;
            
            --transition-slow: 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            --transition-medium: 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            --transition-fast: 0.3s ease;
        }

        /* ============================================
           LIGHT MODE OVERRIDES
           ============================================ */
        [data-theme="light"] {
            --bg-primary: #FFFFFF;
            --bg-secondary: #FFFFFF;
            --bg-card: #FFFFFF;
            --bg-input: #FFFFFF;
            --text-primary: #111111;
            --text-secondary: #333333;
            --text-muted: #5F6360;
            --border-color: #D9DED8;
            --border-light: #C9D0C8;
            --charcoal: #111111;
            --ivory: #111111;
            --overlay-dark: rgba(17, 17, 17, 0.72);
            --overlay-light: rgba(17, 17, 17, 0.24);
            --bg-image-overlay: rgba(17, 17, 17, 0.58);
            --footer-bg: #111111;
            --footer-text: rgba(255, 255, 255, 0.72);
            --footer-text-hover: #FFFFFF;
            --footer-border: rgba(212, 167, 44, 0.28);
        }

        [data-theme="dark"] {
            --bg-primary: #171814;
            --bg-secondary: #1F211C;
            --bg-card: #20221D;
            --bg-input: #20221D;
            --text-primary: #F4F0E7;
            --text-secondary: rgba(244, 240, 231, 0.9);
            --text-muted: rgba(244, 240, 231, 0.66);
            --border-color: rgba(216, 194, 157, 0.14);
            --border-light: rgba(216, 194, 157, 0.22);
            --charcoal: #171814;
            --ivory: #F4F0E7;
            --overlay-dark: rgba(23, 24, 20, 0.7);
            --overlay-light: rgba(23, 24, 20, 0.3);
            --bg-image-overlay: rgba(23, 24, 20, 0.6);
            --footer-bg: #0F100E;
            --footer-text: rgba(244, 240, 231, 0.66);
            --footer-text-hover: #F4F0E7;
            --footer-border: rgba(216, 194, 157, 0.12);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        body {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            background: var(--bg-primary);
            color: var(--text-primary);
            line-height: var(--line-height-body);
            overflow-x: hidden;
            transition: background var(--transition-medium), color var(--transition-medium);
        }

        body.modal-open {
            overflow: hidden;
        }

        @media (prefers-reduced-motion: reduce) {
            *,
            *::before,
            *::after {
                scroll-behavior: auto !important;
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
            }
        }

        a {
            text-decoration: none;
            color: inherit;
        }

        img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .container {
            max-width: 1280px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        /* ============================================
           IMAGE PLACEHOLDER HELPER
           ============================================ */
        .image-placeholder {
            position: relative;
            overflow: hidden;
            background: var(--bg-secondary);
        }

        .image-placeholder img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .image-placeholder .placeholder-label {
            display: none;
        }

        /* ============================================
           THEME TOGGLE BUTTON
           ============================================ */
        .theme-toggle {
            position: fixed;
            bottom: 100px;
            right: 30px;
            z-index: 9998;
            background: var(--bg-secondary);
            color: var(--text-primary);
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.4rem;
            border: 1px solid var(--border-light);
            cursor: pointer;
            transition: all var(--transition-fast);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
        }

        .theme-toggle:hover {
            transform: scale(1.1);
            border-color: var(--primary-gold);
        }

        .theme-toggle .fa-moon {
            display: block;
        }

        .theme-toggle .fa-sun {
            display: none;
        }

        [data-theme="light"] .theme-toggle .fa-moon {
            display: none;
        }

        [data-theme="light"] .theme-toggle .fa-sun {
            display: block;
        }

        .theme-toggle .tooltip {
            position: absolute;
            right: 60px;
            background: var(--bg-secondary);
            color: var(--text-primary);
            padding: 0.4rem 1rem;
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.7rem;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            transition: all var(--transition-fast);
            border: 1px solid var(--border-light);
        }

        .theme-toggle:hover .tooltip {
            opacity: 1;
            visibility: visible;
        }

        /* ============================================
           UTILITY
           ============================================ */
        .section-label {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.7rem;
            letter-spacing: var(--letter-spacing-widest);
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 1rem;
            display: block;
        }

        .section-title {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-bold);
            font-size: clamp(2.4rem, 6vw, 4.8rem);
            line-height: var(--line-height-normal);
            letter-spacing: var(--letter-spacing-tight);
            color: var(--text-primary);
        }

        .section-title .highlight {
            color: var(--primary-gold);
        }

        .btn-primary {
            display: inline-block;
            padding: 1rem 2.4rem;
            background: var(--primary-gold);
            color: #111111;
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-bold);
            font-size: 0.75rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            border: none;
            cursor: pointer;
            transition: all var(--transition-fast);
            position: relative;
        }

        .btn-primary:hover {
            background: var(--primary-gold-dark);
            transform: translateY(-2px);
            box-shadow: 0 12px 40px rgba(200, 169, 110, 0.25);
        }

        .btn-outline {
            display: inline-block;
            padding: 1rem 2.4rem;
            background: transparent;
            color: var(--text-primary);
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.75rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            border: 1px solid var(--border-light);
            cursor: pointer;
            transition: all var(--transition-fast);
        }

        .btn-outline:hover {
            background: var(--text-primary);
            color: var(--bg-primary);
            border-color: var(--text-primary);
        }

        .btn-gold {
            display: inline-block;
            padding: 1rem 2.8rem;
            background: var(--primary-gold);
            color: #111111;
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-bold);
            font-size: 0.75rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            border: none;
            cursor: pointer;
            transition: all var(--transition-fast);
        }

        .btn-gold:hover {
            background: var(--primary-gold-dark);
            transform: translateY(-2px);
            box-shadow: 0 12px 40px rgba(200, 169, 110, 0.3);
        }

        .btn-arrow {
            display: inline-flex;
            align-items: center;
            gap: 0.6rem;
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.75rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            color: var(--primary-gold);
            transition: all var(--transition-fast);
            cursor: pointer;
            border: none;
            background: none;
            padding: 0;
        }

        .btn-arrow:hover {
            color: var(--text-primary);
            gap: 1rem;
        }

        .btn-arrow::after {
            content: '→';
            font-size: 1.2rem;
            transition: transform var(--transition-fast);
        }

        .btn-arrow:hover::after {
            transform: translateX(4px);
        }

        .btn-close {
            background: none;
            border: none;
            color: var(--text-primary);
            font-size: 2rem;
            cursor: pointer;
            padding: 0.5rem;
            transition: transform var(--transition-fast);
            line-height: 1;
        }

        .btn-close:hover {
            transform: rotate(90deg);
        }

        /* ============================================
           FLOATING WHATSAPP ICON
           ============================================ */
        .whatsapp-float {
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 9999;
            background: #25D366;
            color: white;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
            transition: all var(--transition-fast);
            cursor: pointer;
            border: none;
            text-decoration: none;
        }

        .whatsapp-float:hover {
            transform: scale(1.1);
            box-shadow: 0 8px 30px rgba(37, 211, 102, 0.5);
        }

        .whatsapp-float .whatsapp-tooltip {
            position: absolute;
            right: 70px;
            background: var(--bg-secondary);
            color: var(--text-primary);
            padding: 0.6rem 1.2rem;
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.8rem;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            transition: all var(--transition-fast);
            border: 1px solid var(--border-light);
        }

        .whatsapp-float:hover .whatsapp-tooltip {
            opacity: 1;
            visibility: visible;
        }

        /* ============================================
           NAVIGATION
           ============================================ */
        .navbar {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            padding: 1rem 2rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            transition: all var(--transition-medium);
            background: transparent;
        }

        .navbar.scrolled {
            background: var(--bg-primary);
            padding: 0.6rem 2rem;
            box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
        }

        .logo {
            display: flex;
            align-items: center;
            z-index: 1001;
        }

        .logo img {
            height: 50px;
            width: auto;
            object-fit: contain;
            display: block;
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 2.4rem;
            list-style: none;
        }

        .nav-links a {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.7rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            color: var(--text-secondary);
            transition: color var(--transition-fast);
        }

        .nav-links a:hover {
            color: var(--text-primary);
        }

        .navbar:not(.scrolled) .nav-links a {
            color: #FFFFFF;
        }

        .navbar:not(.scrolled) .nav-links a:hover {
            color: var(--primary-gold);
        }

        .nav-cta {
            background: var(--primary-gold);
            color: #111111 !important;
            padding: 0.6rem 1.4rem;
            border-radius: 0;
            font-weight: var(--font-weight-body-bold) !important;
            transition: all var(--transition-fast);
        }

        .nav-cta:hover {
            background: var(--primary-gold-dark) !important;
            transform: translateY(-1px);
        }

        /* Mobile Hamburger */
        .hamburger {
            display: none;
            flex-direction: column;
            gap: 6px;
            cursor: pointer;
            z-index: 1001;
            background: none;
            border: none;
            padding: 4px;
        }

        .hamburger span {
            display: block;
            width: 28px;
            height: 2px;
            background: var(--text-primary);
            transition: all var(--transition-fast);
            transform-origin: center;
        }

        .navbar:not(.scrolled) .hamburger span {
            background: #FFFFFF;
        }

        .hamburger.active span:nth-child(1) {
            transform: rotate(45deg) translate(5px, 5px);
        }

        .hamburger.active span:nth-child(2) {
            opacity: 0;
        }

        .hamburger.active span:nth-child(3) {
            transform: rotate(-45deg) translate(5px, -5px);
        }

        /* Mobile Menu */
        .mobile-menu {
            position: fixed;
            top: 0;
            right: -100%;
            width: 100%;
            max-width: 400px;
            height: 100vh;
            background: var(--bg-primary);
            padding: 6rem 2.4rem 2.4rem;
            display: flex;
            flex-direction: column;
            gap: 2rem;
            transition: right var(--transition-medium);
            z-index: 999;
            overflow-y: auto;
        }

        .mobile-menu.open {
            right: 0;
        }

        .mobile-menu a {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-regular);
            font-size: 1.8rem;
            letter-spacing: var(--letter-spacing-tight);
            color: var(--text-primary);
            transition: color var(--transition-fast);
        }

        .mobile-menu a:hover {
            color: var(--primary-gold);
        }

        .mobile-menu .mobile-cta {
            margin-top: auto;
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-bold);
            font-size: 1rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
        }

        /* ============================================
           HERO
           ============================================ */
        .hero {
            position: relative;
            height: 100vh;
            min-height: 700px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            background: var(--bg-primary);
        }

        .hero-bg {
            position: absolute;
            inset: 0;
            background: 
                linear-gradient(135deg, var(--bg-image-overlay) 0%, var(--overlay-light) 100%),
                url('Assest/lion.webp') center/cover no-repeat;
            background-size: cover;
            background-position: center;
            transform: scale(1.05);
            animation: heroZoom 20s ease-in-out infinite alternate;
            transition: background var(--transition-medium);
        }

        .hero-bg::after {
            content: '';
            position: absolute;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background: rgba(0, 0, 0, 0.7);
            color: var(--primary-gold);
            padding: 4px 16px;
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.6rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            border: 1px solid rgba(200, 169, 110, 0.2);
            pointer-events: none;
            z-index: 3;
            white-space: nowrap;
        }

        @keyframes heroZoom {
            0% { transform: scale(1.05); }
            100% { transform: scale(1.15); }
        }

        .hero-content {
            position: relative;
            z-index: 2;
            text-align: center;
            max-width: 820px;
            padding: 0 2rem;
        }

        .hero-eyebrow {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.7rem;
            letter-spacing: var(--letter-spacing-widest);
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 1.5rem;
            opacity: 0.8;
        }

        .hero-title {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-black);
            font-size: clamp(3.2rem, 12vw, 8rem);
            line-height: var(--line-height-tight);
            letter-spacing: var(--letter-spacing-tight);
            color: var(--text-primary);
            margin-bottom: 1.5rem;
        }

        .hero-title .highlight {
            color: var(--primary-gold);
        }

        .hero-title,
        .hero-sub,
        .hero-scroll,
        .hero .btn-outline {
            color: #FFFFFF;
        }

        .hero-sub {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: clamp(1rem, 1.4vw, 1.2rem);
            color: var(--text-secondary);
            max-width: 540px;
            margin: 0 auto 2.4rem;
            line-height: var(--line-height-reading);
            letter-spacing: var(--letter-spacing-normal);
        }

        .hero-buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 1rem;
            justify-content: center;
        }

        .hero-scroll {
            position: absolute;
            bottom: 2.4rem;
            left: 50%;
            transform: translateX(-50%);
            z-index: 2;
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.6rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            color: var(--text-muted);
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.4rem;
            animation: bounceDown 2.4s ease-in-out infinite;
        }

        .hero-scroll .arrow {
            font-size: 1.2rem;
        }

        .hero-sub,
        .hero-scroll {
            color: #FFFFFF;
        }

        @keyframes bounceDown {
            0%, 100% { transform: translateX(-50%) translateY(0); }
            50% { transform: translateX(-50%) translateY(8px); }
        }

        /* ============================================
           INTRODUCTION
           ============================================ */
        .intro {
            padding: 8rem 2rem;
            background: var(--bg-primary);
            position: relative;
            overflow: hidden;
            transition: background var(--transition-medium);
        }

        .intro::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(to right, transparent, var(--primary-gold), transparent);
            opacity: 0.2;
        }

        .intro-content {
            max-width: 780px;
            margin: 0 auto;
            text-align: center;
        }

        .intro-content .section-title {
            font-size: clamp(2.8rem, 7vw, 5.6rem);
            margin-bottom: 1.6rem;
        }

        .intro-content .section-title .highlight {
            color: var(--primary-gold);
        }

        .intro-text {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-light);
            font-size: clamp(1.1rem, 1.6vw, 1.4rem);
            line-height: var(--line-height-reading);
            color: var(--text-secondary);
            font-style: italic;
            max-width: 640px;
            margin: 0 auto;
            letter-spacing: var(--letter-spacing-normal);
        }

        .intro-text .accent {
            color: var(--primary-gold);
            font-style: normal;
            font-weight: var(--font-weight-heading-medium);
        }

        .intro-divider {
            width: 60px;
            height: 2px;
            background: var(--primary-gold);
            margin: 2rem auto;
            opacity: 0.4;
        }

        /* ============================================
           ABOUT ONYX NOMAD
           ============================================ */
        .about-onyx {
            padding: 7rem 2rem;
            background: var(--bg-secondary);
            border-top: 1px solid var(--border-color);
            border-bottom: 1px solid var(--border-color);
            transition: background var(--transition-medium);
        }

        .about-onyx-content {
            max-width: 820px;
            margin: 0 auto;
            text-align: center;
        }

        .about-onyx-content .section-title {
            font-size: clamp(2.4rem, 6vw, 4.6rem);
        }

        .about-onyx-text {
            max-width: 720px;
            margin: 0 auto 1.2rem;
            color: var(--text-secondary);
            font-size: 1.05rem;
            line-height: var(--line-height-reading);
        }

        .about-onyx-signoff {
            margin-top: 2rem;
            color: var(--primary-gold);
            font-family: var(--font-heading);
            font-size: 1.3rem;
            font-style: italic;
        }

        /* ============================================
           DESTINATIONS / TOURS
           ============================================ */
        .destinations {
            padding: 7rem 2rem;
            background: var(--bg-secondary);
            border-top: 1px solid var(--border-color);
            transition: background var(--transition-medium);
        }

        .destinations-header {
            text-align: center;
            margin-bottom: 4rem;
        }

        .destinations-header .sub {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 1.05rem;
            color: var(--text-muted);
            margin-top: 0.8rem;
            line-height: var(--line-height-relaxed);
            letter-spacing: var(--letter-spacing-normal);
        }

        .category-block {
            margin-bottom: 4rem;
        }

        .category-block:last-child {
            margin-bottom: 0;
        }

        .category-title {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-bold);
            font-size: 1.6rem;
            color: var(--olive);
            margin-bottom: 1.6rem;
            letter-spacing: var(--letter-spacing-normal);
            position: relative;
            padding-bottom: 0.8rem;
        }

        .category-title::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 60px;
            height: 2px;
            background: var(--gold);
            opacity: 0.4;
        }

        .category-title span {
            color: var(--text-primary);
        }

        .destinations-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
        }

        .dest-card {
            position: relative;
            overflow: hidden;
            aspect-ratio: 4/5;
            background: var(--bg-primary);
            cursor: pointer;
            transition: transform var(--transition-medium);
        }

        .dest-card:hover {
            transform: translateY(-6px);
        }

        .dest-card .image-placeholder {
            width: 100%;
            height: 100%;
        }

        .dest-card .image-placeholder img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform var(--transition-medium);
        }

        .dest-card:hover .image-placeholder img {
            transform: scale(1.06);
        }

        .dest-card-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(23, 24, 20, 0.92) 0%, transparent 50%);
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 2rem;
            transition: all var(--transition-medium);
            z-index: 2;
        }

        .dest-card-overlay .duration-badge {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.6rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            color: var(--gold);
            background: rgba(23, 24, 20, 0.6);
            padding: 0.3rem 0.8rem;
            display: inline-block;
            width: fit-content;
            margin-bottom: 0.6rem;
            border: 1px solid rgba(200, 169, 110, 0.15);
        }

        .dest-card-overlay .name {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-bold);
            font-size: 1.6rem;
            color: #F4F0E7;
            margin-bottom: 0.2rem;
            line-height: var(--line-height-normal);
            letter-spacing: var(--letter-spacing-tight);
        }

        .dest-card-overlay .tagline {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-light);
            font-style: italic;
            color: #FFFFFF;
            font-size: 0.95rem;
            margin-bottom: 0.4rem;
            letter-spacing: var(--letter-spacing-normal);
        }

        .dest-card-overlay .desc {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.85rem;
            color: rgba(255, 255, 255, 0.78);
            line-height: var(--line-height-relaxed);
            display: -webkit-box;
            -webkit-line-clamp: 2;
            line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            margin-bottom: 0.8rem;
            letter-spacing: var(--letter-spacing-normal);
        }

        .dest-card-overlay .btn-arrow {
            margin-top: 0.4rem;
            opacity: 0;
            transform: translateY(12px);
            transition: all var(--transition-medium);
        }

        .dest-card:hover .dest-card-overlay .btn-arrow {
            opacity: 1;
            transform: translateY(0);
        }

        /* ============================================
           TOUR DETAIL MODAL
           ============================================ */
        .tour-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(23, 24, 20, 0.92);
            z-index: 2000;
            overflow-y: auto;
            opacity: 0;
            visibility: hidden;
            transition: all var(--transition-medium);
            padding: 2rem;
        }

        .tour-modal.open {
            opacity: 1;
            visibility: visible;
        }

        .tour-modal-inner {
            max-width: 1000px;
            margin: 2rem auto;
            background: var(--bg-primary);
            position: relative;
            transform: translateY(30px);
            transition: transform var(--transition-medium);
            border: 1px solid var(--border-color);
            overflow: hidden;
        }

        .tour-modal.open .tour-modal-inner {
            transform: translateY(0);
        }

        .tour-modal-close {
            position: sticky;
            top: 0;
            z-index: 10;
            display: flex;
            justify-content: flex-end;
            padding: 1rem 1.5rem;
            background: var(--bg-primary);
            border-bottom: 1px solid var(--border-color);
        }

        .tour-modal-hero {
            position: relative;
            height: 50vh;
            min-height: 350px;
            overflow: hidden;
        }

        .tour-modal-hero .image-placeholder {
            width: 100%;
            height: 100%;
        }

        .tour-modal-hero .image-placeholder img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .tour-modal-hero .hero-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, transparent 40%, rgba(23, 24, 20, 0.9) 100%);
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 3rem;
            z-index: 2;
        }

        .tour-modal-hero .hero-overlay .duration {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.7rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            color: var(--primary-gold);
            margin-bottom: 0.3rem;
        }

        .tour-modal-hero .hero-overlay h2 {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-bold);
            font-size: clamp(2rem, 4vw, 3.4rem);
            color: #F4F0E7;
            line-height: var(--line-height-normal);
            letter-spacing: var(--letter-spacing-tight);
        }

        .tour-modal-hero .hero-overlay .location {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.9rem;
            color: rgba(244, 240, 231, 0.5);
            margin-top: 0.2rem;
            letter-spacing: var(--letter-spacing-normal);
        }

        .tour-modal-body {
            padding: 3rem;
        }

        .tour-modal-body .intro-text {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-light);
            font-size: 1.1rem;
            line-height: var(--line-height-reading);
            color: var(--text-secondary);
            font-style: italic;
            margin-bottom: 2rem;
            letter-spacing: var(--letter-spacing-normal);
        }

        .tour-modal-body h3 {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-bold);
            font-size: 1.4rem;
            color: var(--primary-gold);
            margin: 2rem 0 1rem;
            letter-spacing: var(--letter-spacing-normal);
        }

        .tour-modal-body h3:first-of-type {
            margin-top: 0;
        }

        .tour-modal-body ul {
            list-style: none;
            padding: 0;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.6rem 1.5rem;
        }

        .tour-modal-body ul li {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.9rem;
            color: var(--text-secondary);
            padding-left: 1.2rem;
            position: relative;
            line-height: var(--line-height-relaxed);
            letter-spacing: var(--letter-spacing-normal);
        }

        .tour-modal-body ul li::before {
            content: '•';
            position: absolute;
            left: 0;
            color: var(--primary-gold);
        }

        .tour-modal-body .itinerary-item {
            padding: 1rem 0;
            border-bottom: 1px solid var(--border-color);
        }

        .tour-modal-body .itinerary-item:last-child {
            border-bottom: none;
        }

        .tour-modal-body .itinerary-item .day {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-bold);
            font-size: 0.7rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            color: var(--primary-gold);
        }

        .tour-modal-body .itinerary-item .desc {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.95rem;
            color: var(--text-secondary);
            margin-top: 0.2rem;
            line-height: var(--line-height-relaxed);
            letter-spacing: var(--letter-spacing-normal);
        }

        .tour-modal-body .itinerary-item .meal-plan {
            display: inline-flex;
            align-items: center;
            margin-top: 0.9rem;
            padding: 0.55rem 0.8rem;
            background: var(--primary-gold);
            color: #111111;
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-bold);
            font-size: 0.7rem;
            letter-spacing: var(--letter-spacing-wide);
            line-height: 1.2;
            text-transform: uppercase;
            border-left: 4px solid var(--primary-gold-dark);
        }

        .tour-modal-body .itinerary-item .meal-plan strong {
            margin-right: 0.35rem;
        }

        .tour-modal-body .included-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem;
            margin: 1rem 0;
        }

        .tour-modal-body .included-grid .col {
            background: var(--bg-card);
            padding: 1.5rem;
            border: 1px solid var(--border-color);
        }

        .tour-modal-body .included-grid .col h4 {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-bold);
            font-size: 0.7rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            color: var(--primary-gold);
            margin-bottom: 0.6rem;
        }

        .tour-modal-body .included-grid .col ul {
            display: flex;
            flex-direction: column;
            gap: 0.3rem;
        }

        .tour-modal-body .included-grid .col ul li {
            font-size: 0.85rem;
            padding-left: 1rem;
        }

        .tour-modal-body .cta-section {
            margin-top: 2.5rem;
            padding-top: 2rem;
            border-top: 1px solid var(--border-color);
            text-align: center;
        }

        .tour-modal-body .cta-section p {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            color: var(--text-muted);
            font-size: 0.85rem;
            margin-bottom: 1rem;
            letter-spacing: var(--letter-spacing-normal);
        }

        .important-info {
            margin: 1.5rem 0 0.5rem;
            padding: 1.5rem;
            background: var(--bg-card);
            border-left: 3px solid var(--primary-gold);
            border-radius: 0;
        }

        .important-info h4 {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-medium);
            font-size: 1.1rem;
            color: var(--primary-gold);
            margin-bottom: 0.8rem;
            letter-spacing: var(--letter-spacing-normal);
        }

        .important-info ul {
            display: flex;
            flex-direction: column;
            gap: 0.4rem;
            padding: 0;
        }

        .important-info ul li {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.9rem;
            color: var(--text-secondary);
            padding-left: 1.2rem;
            position: relative;
            line-height: var(--line-height-relaxed);
            list-style: none;
            letter-spacing: var(--letter-spacing-normal);
        }

        .important-info ul li::before {
            content: '›';
            position: absolute;
            left: 0;
            color: var(--primary-gold);
            font-weight: var(--font-weight-body-bold);
        }

        /* ============================================
           TAILOR-MADE
           ============================================ */
        .tailor-made {
            padding: 7rem 2rem;
            background: var(--bg-secondary);
            position: relative;
            overflow: hidden;
            content-visibility: auto;
            contain-intrinsic-size: 560px;
            transition: background var(--transition-medium);
        }

        .tailor-made::before {
            content: '';
            position: absolute;
            inset: 0;
            background: 
                linear-gradient(135deg, var(--bg-image-overlay) 0%, var(--overlay-light) 100%),
                url('Assest/culture.webp') center/cover no-repeat;
            background-size: cover;
            background-position: center;
            transition: background var(--transition-medium);
        }

        .tailor-made::after {
            content: '';
            position: absolute;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background: rgba(0, 0, 0, 0.7);
            color: var(--primary-gold);
            padding: 4px 16px;
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.6rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            border: 1px solid rgba(200, 169, 110, 0.2);
            pointer-events: none;
            z-index: 1;
            white-space: nowrap;
        }

        .tailor-made-content {
            position: relative;
            z-index: 2;
            max-width: 780px;
            margin: 0 auto;
            text-align: center;
        }

        .tailor-made-content .section-title {
            margin-bottom: 0.8rem;
        }

        .tailor-made-content .section-title .highlight {
            color: var(--primary-gold);
        }

        .tailor-made-content .section-title,
        .tailor-made-content .sub,
        .tailor-made-content .tailor-options span {
            color: #FFFFFF;
        }

        .tailor-made-content .sub {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 1.1rem;
            color: var(--text-secondary);
            margin-bottom: 2.4rem;
            line-height: var(--line-height-relaxed);
            letter-spacing: var(--letter-spacing-normal);
        }

        .tailor-options {
            display: flex;
            flex-wrap: wrap;
            gap: 0.8rem;
            justify-content: center;
            margin-bottom: 2.8rem;
        }

        .tailor-options span {
            padding: 0.6rem 1.6rem;
            border: 1px solid var(--border-light);
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.7rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            color: var(--text-secondary);
            transition: all var(--transition-fast);
        }

        .tailor-options span:hover {
            border-color: var(--primary-gold);
            color: var(--text-primary);
            background: rgba(200, 169, 110, 0.05);
        }

        /* ============================================
           EXPERIENCES
           ============================================ */
        .experiences {
            padding: 7rem 2rem;
            background: var(--bg-primary);
            content-visibility: auto;
            contain-intrinsic-size: 560px;
            transition: background var(--transition-medium);
        }

        .experiences-header {
            text-align: center;
            margin-bottom: 4rem;
        }

        .experiences-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 1.6rem;
        }

        .exp-card {
            text-align: center;
            padding: 2.4rem 1.6rem;
            border: 1px solid var(--border-color);
            transition: all var(--transition-medium);
            background: var(--bg-card);
        }

        .exp-card:hover {
            border-color: rgba(200, 169, 110, 0.2);
            transform: translateY(-4px);
            background: var(--bg-secondary);
        }

        .exp-card .exp-image {
            width: 150px;
            height: 150px;
            border-radius: 50%;
            overflow: hidden;
            margin: 0 auto 1.2rem;
            border: 3px solid var(--primary-gold);
            position: relative;
        }

        .exp-card .exp-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .exp-card .exp-image .placeholder-label {
            display: none;
        }

        .exp-card .name {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-bold);
            font-size: 1.2rem;
            color: var(--text-primary);
            letter-spacing: var(--letter-spacing-normal);
        }

        .exp-card .desc {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.85rem;
            color: var(--text-muted);
            margin-top: 0.4rem;
            line-height: var(--line-height-relaxed);
            letter-spacing: var(--letter-spacing-normal);
        }

        /* ============================================
           MEET YOUR GUIDE
           ============================================ */
        .guide {
            padding: 7rem 2rem;
            background: var(--bg-secondary);
            border-top: 1px solid var(--border-color);
            content-visibility: auto;
            contain-intrinsic-size: 560px;
            transition: background var(--transition-medium);
        }

        .guide-layout {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
            max-width: 1100px;
            margin: 0 auto;
        }

        .guide-image {
            aspect-ratio: 4/5;
            overflow: hidden;
            background: var(--bg-primary);
            position: relative;
        }

        .guide-image .image-placeholder {
            width: 100%;
            height: 100%;
        }

        .guide-image .image-placeholder img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform var(--transition-medium);
        }

        .guide-image:hover .image-placeholder img {
            transform: scale(1.03);
        }

        .guide-content .section-title {
            font-size: clamp(2rem, 4vw, 3.4rem);
            margin-bottom: 0.6rem;
        }

        .guide-content .section-title .highlight {
            color: var(--primary-gold);
        }

        .guide-content .bio {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-light);
            font-size: 1.05rem;
            line-height: var(--line-height-reading);
            color: var(--text-secondary);
            margin: 1.6rem 0 2rem;
            font-style: italic;
            letter-spacing: var(--letter-spacing-normal);
        }

        /* ============================================
           INSTAGRAM GALLERY
           ============================================ */
        .instagram {
            padding: 7rem 2rem;
            background: var(--bg-primary);
            content-visibility: auto;
            contain-intrinsic-size: 560px;
            transition: background var(--transition-medium);
        }

        .instagram-header {
            text-align: center;
            margin-bottom: 3rem;
        }

        .instagram-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 0.6rem;
        }

        .instagram-grid .ig-item {
            aspect-ratio: 1;
            overflow: hidden;
            background: var(--bg-primary);
            position: relative;
        }

        .instagram-grid .ig-item .image-placeholder {
            width: 100%;
            height: 100%;
        }

        .instagram-grid .ig-item .image-placeholder img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform var(--transition-medium);
        }

        .instagram-grid .ig-item:hover .image-placeholder img {
            transform: scale(1.06);
        }

        .instagram-footer {
            text-align: center;
            margin-top: 2.4rem;
        }

        .instagram-footer .handle {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-regular);
            font-size: 1.6rem;
            color: var(--primary-gold);
            margin-bottom: 0.8rem;
            letter-spacing: var(--letter-spacing-normal);
        }

        /* ============================================
           TESTIMONIALS
           ============================================ */
        .testimonials {
            padding: 7rem 2rem;
            background: var(--bg-secondary);
            border-top: 1px solid var(--border-color);
            content-visibility: auto;
            contain-intrinsic-size: 560px;
            transition: background var(--transition-medium);
        }

        .testimonials-header {
            text-align: center;
            margin-bottom: 4rem;
        }

        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2rem;
            max-width: 1000px;
            margin: 0 auto;
        }

        .testimonial-card {
            background: var(--bg-card);
            padding: 2.4rem;
            border: 1px solid var(--border-color);
            text-align: center;
            transition: all var(--transition-medium);
        }

        .testimonial-card:hover {
            border-color: rgba(200, 169, 110, 0.15);
        }

        .testimonial-card .testimonial-image {
            width: 160px;
            height: 160px;
            border-radius: 50%;
            overflow: hidden;
            margin: 0 auto 1.5rem;
            border: 3px solid var(--primary-gold);
            position: relative;
        }

        .testimonial-card .testimonial-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .testimonial-card .testimonial-image .placeholder-label {
            display: none;
        }

        .testimonial-card .stars {
            color: var(--gold);
            font-size: 1.2rem;
            letter-spacing: 4px;
            margin-bottom: 1rem;
        }

        .testimonial-card .quote {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-light);
            font-size: 1.05rem;
            font-style: italic;
            color: var(--text-secondary);
            line-height: var(--line-height-reading);
            margin-bottom: 1rem;
            letter-spacing: var(--letter-spacing-normal);
        }

        .testimonial-card .author {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.85rem;
            color: var(--primary-gold);
            letter-spacing: var(--letter-spacing-normal);
        }

        /* ============================================
           WHY ONYX NOMAD
           ============================================ */
        .why {
            padding: 7rem 2rem;
            background: var(--bg-primary);
            content-visibility: auto;
            contain-intrinsic-size: 560px;
            transition: background var(--transition-medium);
        }

        .why-header {
            text-align: center;
            margin-bottom: 4rem;
        }

        .why-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 2.4rem;
            max-width: 1000px;
            margin: 0 auto;
        }

        .why-item {
            text-align: center;
        }

        .why-item .number {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-black);
            font-size: 3rem;
            color: var(--primary-gold);
            opacity: 0.3;
            display: block;
            margin-bottom: 0.4rem;
            letter-spacing: var(--letter-spacing-tight);
        }

        .why-item h4 {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-bold);
            font-size: 1.2rem;
            color: var(--text-primary);
            margin-bottom: 0.4rem;
            letter-spacing: var(--letter-spacing-normal);
        }

        .why-item p {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.9rem;
            color: var(--text-muted);
            line-height: var(--line-height-relaxed);
            letter-spacing: var(--letter-spacing-normal);
        }

        /* ============================================
           SAFARI PLANNER
           ============================================ */
        .planner {
            padding: 7rem 2rem;
            background: var(--bg-secondary) linear-gradient(135deg, rgba(232, 117, 26, 0.06), transparent 45%);
            border-top: 1px solid var(--border-color);
            content-visibility: auto;
            contain-intrinsic-size: 560px;
            transition: background var(--transition-medium);
        }

        .planner-layout {
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: 4rem;
            max-width: 1100px;
            margin: 0 auto;
            align-items: start;
        }

        .planner-info .section-title {
            margin-bottom: 0.8rem;
        }

        .planner-info .section-title .highlight {
            color: var(--primary-gold);
        }

        .planner-info p {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            color: var(--text-muted);
            margin-bottom: 1.6rem;
            line-height: var(--line-height-relaxed);
            letter-spacing: var(--letter-spacing-normal);
        }

        .planner-form {
            display: flex;
            flex-direction: column;
            gap: 1.2rem;
        }

        .planner-form .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.2rem;
        }

        .planner-form input,
        .planner-form select,
        .planner-form textarea {
            width: 100%;
            padding: 0.9rem 1.2rem;
            background: var(--bg-input);
            border: 1px solid var(--border-light);
            color: var(--text-primary);
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.9rem;
            transition: border var(--transition-fast);
            outline: none;
            border-radius: 0;
            letter-spacing: var(--letter-spacing-normal);
        }

        .planner-form input:focus,
        .planner-form select:focus,
        .planner-form textarea:focus {
            border-color: var(--primary-gold);
        }

        .planner-form input::placeholder,
        .planner-form textarea::placeholder {
            color: var(--text-muted);
        }

        .planner-form select {
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C8A96E' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 1.2rem center;
            cursor: pointer;
        }

        .planner-form select option {
            background: var(--bg-primary);
            color: var(--text-primary);
        }

        .planner-form textarea {
            resize: vertical;
            min-height: 100px;
        }

        .planner-whatsapp {
            text-align: center;
            margin-top: 2rem;
            padding-top: 2rem;
            border-top: 1px solid var(--border-color);
        }

        .planner-whatsapp .btn-whatsapp {
            display: inline-flex;
            align-items: center;
            gap: 0.8rem;
            padding: 0.8rem 2rem;
            background: #25D366;
            color: white;
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-bold);
            font-size: 0.85rem;
            border: none;
            cursor: pointer;
            transition: all var(--transition-fast);
            letter-spacing: var(--letter-spacing-normal);
        }

        .planner-whatsapp .btn-whatsapp:hover {
            background: #1da851;
            transform: scale(1.02);
        }

        /* ============================================
           FINAL CTA
           ============================================ */
        .final-cta {
            position: relative;
            padding: 10rem 2rem;
            min-height: 80vh;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            overflow: hidden;
            background: var(--bg-secondary);
        }

        .final-cta::before {
            content: '';
            position: absolute;
            inset: 0;
            background: 
                linear-gradient(135deg, var(--bg-image-overlay) 0%, var(--overlay-light) 100%),
                url('Assest/coast.webp') center/cover no-repeat;
            background-size: cover;
            background-position: center;
            transition: background var(--transition-medium);
        }

        .final-cta::after {
            content: '';
            position: absolute;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background: rgba(0, 0, 0, 0.7);
            color: var(--primary-gold);
            padding: 4px 16px;
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.6rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            border: 1px solid rgba(200, 169, 110, 0.2);
            pointer-events: none;
            z-index: 1;
            white-space: nowrap;
        }

        .final-cta-content {
            position: relative;
            z-index: 2;
            max-width: 700px;
        }

        .final-cta-content .section-title {
            font-size: clamp(3.6rem, 10vw, 7rem);
            line-height: var(--line-height-tight);
            margin-bottom: 0.8rem;
        }

        .final-cta-content .section-title .highlight {
            color: var(--primary-gold);
        }

        .final-cta-content .section-title,
        .final-cta-content .sub {
            color: #FFFFFF;
        }

        .final-cta-content .sub {
            font-family: var(--font-heading);
            font-weight: var(--font-weight-heading-light);
            font-size: 1.4rem;
            color: var(--text-secondary);
            margin-bottom: 2.4rem;
            font-style: italic;
            letter-spacing: var(--letter-spacing-normal);
        }

        /* ============================================
           FOOTER - UPDATED
           ============================================ */
        .footer {
            background: var(--footer-bg);
            padding: 4rem 2rem 2rem;
            border-top: 1px solid var(--footer-border);
            transition: background var(--transition-medium), border-color var(--transition-medium);
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr;
            gap: 3rem;
            max-width: 1200px;
            margin: 0 auto;
        }

        .footer-brand .logo img {
            height: 45px;
            width: auto;
            object-fit: contain;
            margin-bottom: 0.5rem;
        }

        .footer-brand .tagline {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.85rem;
            color: var(--footer-text);
            letter-spacing: var(--letter-spacing-normal);
            transition: color var(--transition-medium);
        }

        .footer-brand .brand-tagline {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-medium);
            font-size: 0.75rem;
            color: var(--primary-gold);
            margin-top: 0.5rem;
            letter-spacing: var(--letter-spacing-wider);
        }

        .footer-col h4 {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-bold);
            font-size: 0.65rem;
            letter-spacing: var(--letter-spacing-wider);
            text-transform: uppercase;
            color: var(--primary-gold);
            margin-bottom: 1rem;
        }

        .footer-col p {
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.85rem;
            color: var(--footer-text);
            margin-bottom: 0.4rem;
            transition: color var(--transition-fast);
            letter-spacing: var(--letter-spacing-normal);
        }

        .footer-col p:hover {
            color: var(--footer-text-hover);
        }

        .footer-divider {
            max-width: 1200px;
            margin: 3rem auto 0;
            padding-top: 1.5rem;
            border-top: 1px solid var(--footer-border);
            color: var(--footer-text);
            font-family: var(--font-body);
            font-weight: var(--font-weight-body-regular);
            font-size: 0.75rem;
            text-align: center;
            letter-spacing: var(--letter-spacing-normal);
            transition: color var(--transition-medium), border-color var(--transition-medium);
        }

        /* ============================================
           RESPONSIVE
           ============================================ */
        @media (max-width: 1024px) {
            .guide-layout {
                gap: 2.5rem;
            }

            .planner-layout {
                grid-template-columns: 1fr;
                gap: 2.5rem;
            }

            .tour-modal-hero {
                height: 40vh;
                min-height: 250px;
            }

            .tour-modal-body {
                padding: 2rem;
            }
        }

        @media (max-width: 768px) {
            .nav-links {
                display: none;
            }

            .hamburger {
                display: flex;
            }

            .guide-layout {
                grid-template-columns: 1fr;
                gap: 2rem;
            }

            .guide-image {
                aspect-ratio: 3/2;
            }

            .destinations-grid {
                grid-template-columns: 1fr;
                max-width: 450px;
                margin: 0 auto;
            }

            .tour-modal-hero .hero-overlay {
                padding: 2rem;
            }

            .tour-modal-hero .hero-overlay h2 {
                font-size: 1.8rem;
            }

            .tour-modal-body {
                padding: 1.5rem;
            }

            .tour-modal-body ul {
                grid-template-columns: 1fr;
            }

            .tour-modal-body .included-grid {
                grid-template-columns: 1fr;
            }

            .tour-modal-body .cta-section {
                flex-direction: column;
                gap: 0.8rem;
            }

            .footer-grid {
                grid-template-columns: 1fr 1fr;
                gap: 2rem;
            }

            .planner-form .form-row {
                grid-template-columns: 1fr;
            }

            .testimonials-grid {
                grid-template-columns: 1fr;
                max-width: 450px;
                margin: 0 auto;
            }

            .why-grid {
                grid-template-columns: 1fr 1fr;
            }

            .whatsapp-float {
                width: 50px;
                height: 50px;
                font-size: 1.6rem;
                bottom: 20px;
                right: 20px;
            }

            .whatsapp-float .whatsapp-tooltip {
                display: none;
            }

            .hero-bg::after,
            .tailor-made::after,
            .final-cta::after {
                font-size: 0.5rem;
                padding: 3px 10px;
                bottom: 10px;
            }

            .theme-toggle {
                width: 42px;
                height: 42px;
                font-size: 1.2rem;
                bottom: 85px;
                right: 20px;
            }

            .testimonial-card .testimonial-image {
                width: 130px;
                height: 130px;
            }

            .exp-card .exp-image {
                width: 120px;
                height: 120px;
            }
        }

        @media (max-width: 480px) {
            .hero-title {
                font-size: 2.8rem;
            }

            .hero-sub {
                font-size: 0.95rem;
            }

            .hero-buttons {
                flex-direction: column;
                align-items: center;
            }

            .hero-buttons .btn-primary,
            .hero-buttons .btn-outline {
                width: 100%;
                text-align: center;
            }

            .tour-modal {
                padding: 0.5rem;
            }

            .tour-modal-inner {
                margin: 0.5rem auto;
            }

            .tour-modal-hero {
                height: 30vh;
                min-height: 200px;
            }

            .tour-modal-hero .hero-overlay {
                padding: 1.2rem;
            }

            .tour-modal-body {
                padding: 1rem;
            }

            .tour-modal-body h3 {
                font-size: 1.2rem;
            }

            .tour-modal-body .intro-text {
                font-size: 0.95rem;
            }

            .category-title {
                font-size: 1.3rem;
            }

            .dest-card-overlay .name {
                font-size: 1.3rem;
            }

            .footer-grid {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }

            .why-grid {
                grid-template-columns: 1fr;
                max-width: 350px;
                margin: 0 auto;
            }

            .experiences-grid {
                grid-template-columns: 1fr 1fr;
            }

            .logo img {
                height: 40px;
            }

            .whatsapp-float {
                width: 45px;
                height: 45px;
                font-size: 1.4rem;
                bottom: 15px;
                right: 15px;
            }

            .hero-bg::after,
            .tailor-made::after,
            .final-cta::after {
                font-size: 0.45rem;
                padding: 2px 8px;
                bottom: 8px;
                white-space: normal;
                max-width: 90%;
            }

            .theme-toggle {
                width: 38px;
                height: 38px;
                font-size: 1rem;
                bottom: 75px;
                right: 15px;
            }

            .testimonial-card .testimonial-image {
                width: 100px;
                height: 100px;
            }

            .exp-card .exp-image {
                width: 90px;
                height: 90px;
            }
        }

        @media (max-width: 380px) {
            .experiences-grid {
                grid-template-columns: 1fr;
                max-width: 300px;
                margin: 0 auto;
            }
        }
