/* ================================================================
   SAFARI EXPERT TANZANIA - Premium Luxury Design System
   Inspired by world-class safari operators
   ================================================================ */

/* --- CSS Custom Properties --- */
:root {
    /* ── PRIMARY — Deep Safari Green ──────────────────────── */
    --gold: #1B331E;
    --gold-light: #3D7D48;
    --gold-dark: #152817;
    --gold-muted: rgba(27,51,30,0.08);
    --green-50: #E8F0E9;
    --green-100: #C5D9C8;
    --green-200: #9EBFA3;
    --green-300: #77A57E;
    --green-400: #5A9163;
    --green-500: #3D7D48;
    --green-600: #2D5E35;
    --green-700: #1B331E;
    --green-800: #152817;
    --green-900: #0F1C10;

    /* ── SECONDARY — Serengeti Sunset Gold ────────────────── */
    --tan-50: #FDF6E8;
    --tan-100: #FAEAC5;
    --tan-200: #F5D99E;
    --tan-300: #F0C877;
    --tan-400: #E8B558;
    --tan-500: #E09F3E;
    --tan-600: #C08A2E;
    --tan-700: #9A6F24;
    --tan-800: #74531B;
    --gold-on-dark: #FAEDCD;

    /* ── ACCENT — Luxury Desert Sand ──────────────────────── */
    --accent: #E09F3E;
    --accent-light: #F0C877;
    --accent-dark: #C08A2E;
    --accent-muted: rgba(224,159,62,0.1);

    /* ── NEUTRALS ─────────────────────────────────────────── */
    --dark: #1B331E;
    --dark-deep: #0F1C10;
    --dark-mid: #152817;
    --cream: #F8F9FA;
    --cream-dark: #F1F4F6;
    --white: #ffffff;
    --warm-white: #FDFAF5;
    --gray-50: #F8F9FA;
    --gray-100: #F1F4F6;
    --gray-200: #E2E7EB;
    --gray-300: #CBD2D9;
    --gray-400: #9AA5B1;
    --gray-500: #6B7785;
    --gray-600: #4A5568;
    --gray-700: #374151;
    --gray-800: #1F2937;
    --gray-900: #212529;
    --green: #22C55E;
    --red: #EF4444;

    /* ── SHADOWS ──────────────────────────────────────────── */
    --shadow-xs: 0 1px 3px rgba(0,0,0,0.04);
    --shadow-sm: 0 2px 12px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 24px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 40px rgba(0,0,0,0.1);
    --shadow-xl: 0 16px 64px rgba(0,0,0,0.14);
    --shadow-gold: 0 4px 24px rgba(224,159,62,0.25);
    --shadow-card: 0 2px 16px rgba(0,0,0,0.05);

    /* ── DESIGN TOKENS ────────────────────────────────────── */
    --radius-xs: 4px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --radius-2xl: 32px;
    --radius-full: 50%;
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-bounce: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    --font-display: 'Marcellus', Georgia, serif;
    --font-body: 'Onest', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-accent: 'Dancing Script', cursive;
    --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --container: 1200px;
    --container-wide: 1400px;
    --container-narrow: 900px;
    --header-height: 80px;
}

/* --- Reset & Base --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
    font-family: var(--font-body);
    color: var(--gray-700);
    background: var(--warm-white);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; transition: var(--transition); }
ul, ol { list-style: none; }
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 1.15;
    color: var(--dark);
}
.container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.container-wide { max-width: var(--container-wide); margin: 0 auto; padding: 0 24px; }
.container-narrow { max-width: var(--container-narrow); margin: 0 auto; padding: 0 24px; }

/* --- Utility Classes --- */
.text-center { text-align: center; }
.text-gold { color: var(--gold); }
.text-white { color: var(--white); }
.text-dark { color: var(--dark); }
.bg-dark { background: var(--dark); }
.bg-cream { background: var(--cream); }
.bg-gold { background: var(--gold); }
.section-padding { padding: 80px 0; }
.section-padding-sm { padding: 80px 0; }
.animate-item { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease, transform 0.7s ease; }
.animate-item.visible { opacity: 1; transform: translateY(0); }
.animate-item:nth-child(2) { transition-delay: 0.1s; }
.animate-item:nth-child(3) { transition-delay: 0.2s; }
.animate-item:nth-child(4) { transition-delay: 0.3s; }

/* --- Section Headers --- */
.section-header { text-align: center; margin-bottom: 40px; }
.section-header .subtitle {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--tan-600);
    margin-bottom: 16px;
    position: relative;
    padding: 0 24px;
}
.section-header .subtitle::before,
.section-header .subtitle::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 32px;
    height: 1px;
    background: var(--tan-500);
    opacity: 0.4;
}
.section-header .subtitle::before { left: -16px; }
.section-header .subtitle::after { right: -16px; }
.section-header h2 {
    font-size: 44px;
    color: var(--dark);
    margin-bottom: 16px;
    letter-spacing: -0.5px;
}
.section-header p {
    font-size: 17px;
    color: var(--gray-500);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.7;
}
.section-header.light h2 { color: var(--white); }
.section-header.light p { color: rgba(255,255,255,0.6); }
.section-header.light .subtitle { color: var(--gold-on-dark); }
.section-header.left { text-align: left; }
.section-header.left .subtitle { padding-left: 0; }
.section-header.left .subtitle::before { display: none; }
.section-header.left .subtitle::after { display: none; }

/* --- Buttons --- */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 36px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: var(--transition);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    position: relative;
    overflow: hidden;
}
.btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    transition: left 0.5s;
}
.btn:hover::after { left: 100%; }
.btn svg { width: 16px; height: 16px; }
.btn-gold {
    background: var(--gold);
    color: var(--white);
    box-shadow: 0 2px 12px rgba(224,159,62,0.2);
}
.btn-gold:hover {
    background: var(--gold-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-gold);
}
.btn-white {
    background: var(--white);
    color: var(--dark);
}
.btn-white:hover {
    background: var(--cream);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}
.btn-outline {
    background: transparent;
    color: var(--white);
    border: 1.5px solid rgba(255,255,255,0.35);
}
.btn-outline:hover {
    background: var(--white);
    color: var(--dark);
    border-color: var(--white);
}
.btn-outline-gold {
    background: transparent;
    color: var(--gold);
    border: 1.5px solid var(--gold);
}
.btn-outline-gold:hover {
    background: var(--gold);
    color: var(--white);
}
.btn-dark {
    background: var(--dark);
    color: var(--white);
}
.btn-dark:hover {
    background: var(--dark-deep);
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}
.btn-sm { padding: 10px 20px; font-size: 12px; }
.btn-lg { padding: 18px 44px; font-size: 14px; }

/* ================================================================
   HEADER / NAVIGATION
   ================================================================ */
.main-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    transition: var(--transition);
    background: rgba(27,51,30,0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--header-height);
    padding: 0 32px;
}
.logo {
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 1001;
}
.logo-icon {
    width: 44px;
    height: 44px;
    background: var(--gold);
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: var(--white);
    font-weight: 700;
    font-family: var(--font-display);
}
.logo-text {
    display: flex;
    flex-direction: column;
}
.logo-text .brand {
    font-family: var(--font-display);
    font-size: 19px;
    font-weight: 700;
    color: var(--white);
    line-height: 1.1;
}
.logo-text .tagline {
    font-size: 9px;
    color: var(--gold);
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 600;
}

/* Navigation */
.main-nav { display: flex; align-items: center; }
.nav-list { display: flex; align-items: center; gap: 0; }
.nav-list > li { position: relative; }
.nav-list > li > a {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 10px 18px;
    font-size: 12px;
    font-weight: 500;
    color: rgba(255,255,255,0.75);
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: var(--transition);
    position: relative;
}
.nav-list > li > a::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 18px;
    right: 18px;
    height: 1.5px;
    background: var(--gold);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}
.nav-list > li > a:hover,
.nav-list > li.active > a {
    color: var(--white);
}
.nav-list > li > a:hover::after,
.nav-list > li.active > a::after {
    transform: scaleX(1);
}

/* Header CTA */
.header-cta {
    display: flex;
    align-items: center;
    gap: 20px;
}
.header-cta .btn { padding: 10px 24px; font-size: 11px; }
.header-phone {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.8);
    font-size: 13px;
    font-weight: 500;
}
.header-phone svg {
    width: 16px;
    height: 16px;
    fill: var(--gold-on-dark);
}

/* Mobile Toggle */
.mobile-toggle {
    display: none;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
    z-index: 1100;
    padding: 8px;
}
.mobile-toggle span {
    width: 24px;
    height: 2px;
    background: var(--white);
    transition: var(--transition);
    border-radius: 2px;
    transform-origin: center;
}
.mobile-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.mobile-toggle.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.mobile-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

/* ── MOBILE SLIDE-IN MENU ──────────────────────────────── */
.mobile-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(4px);
    z-index: 1200;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}
.mobile-overlay.active {
    opacity: 1;
    pointer-events: auto;
}

.mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    max-width: 85vw;
    height: 100vh;
    height: 100dvh;
    background: var(--white);
    z-index: 1300;
    transform: translateX(-100%);
    transition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overscroll-behavior: contain;
    box-shadow: 8px 0 40px rgba(0,0,0,0.15);
}
.mobile-menu.active {
    transform: translateX(0);
}

/* Menu Header */
.mobile-menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--gray-200);
    flex-shrink: 0;
}
.mobile-menu-logo img {
    height: 40px;
    width: auto;
}
.mobile-menu-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    background: var(--gray-100);
    border: none;
    cursor: pointer;
    transition: var(--transition);
    color: var(--gray-700);
}
.mobile-menu-close:hover {
    background: var(--gold-muted);
    color: var(--gold);
}
.mobile-menu-close svg {
    width: 20px;
    height: 20px;
}

/* Navigation Links */
.mobile-menu-nav {
    flex: 1;
    padding: 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.mobile-menu-link {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-radius: var(--radius-md);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 500;
    color: var(--gray-700);
    transition: var(--transition);
    text-decoration: none;
}
.mobile-menu-link svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: var(--gray-400);
    transition: var(--transition);
}
.mobile-menu-link:hover {
    background: var(--gold-muted);
    color: var(--gold);
}
.mobile-menu-link:hover svg {
    color: var(--gold);
}
.mobile-menu-link.active {
    background: rgba(27,51,30,0.06);
    color: var(--gold);
    font-weight: 600;
}
.mobile-menu-link.active svg {
    color: var(--gold);
}

/* Divider */
.mobile-menu-divider {
    height: 1px;
    background: var(--gray-200);
    margin: 0 24px;
    flex-shrink: 0;
}

/* Action Buttons */
.mobile-menu-actions {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
}
.mobile-menu-cta-quote {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    background: var(--gold);
    color: var(--white);
    border-radius: var(--radius-md);
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
    box-shadow: 0 4px 16px rgba(224,159,62,0.3);
}
.mobile-menu-cta-quote svg {
    width: 18px;
    height: 18px;
}
.mobile-menu-cta-quote:hover {
    background: var(--gold-dark, #A68540);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(224,159,62,0.4);
}
.mobile-menu-cta-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    background: #25D366;
    color: var(--white);
    border-radius: var(--radius-md);
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
}
.mobile-menu-cta-whatsapp svg {
    width: 20px;
    height: 20px;
}
.mobile-menu-cta-whatsapp:hover {
    background: #1EB851;
    transform: translateY(-1px);
}

/* Contact Info */
.mobile-menu-contact {
    padding: 16px 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-top: 1px solid var(--gray-200);
    flex-shrink: 0;
}
.mobile-menu-contact a {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--gray-500);
    text-decoration: none;
    transition: var(--transition);
}
.mobile-menu-contact a svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}
.mobile-menu-contact a:hover {
    color: var(--gold);
}

/* ================================================================
   HERO SECTION
   ================================================================ */
.hero {
    position: relative;
    height: 100vh;
    min-height: 700px;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding-bottom: 90px;
}
.hero-slider {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.8s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity;
}
.hero-slide.active { opacity: 1; }
.hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.12);
    transition: transform 12s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}
.hero-slide.active img { transform: scale(1); }
.hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(15,28,16,0.35) 0%, rgba(15,28,16,0.1) 30%, rgba(15,28,16,0.25) 60%, rgba(15,28,16,0.85) 100%),
        linear-gradient(90deg, rgba(15,28,16,0.2) 0%, transparent 50%);
    z-index: 2;
}
.hero-content {
    position: relative;
    z-index: 3;
    max-width: 700px;
    padding: 0 40px;
    margin: 0 auto;
    text-align: center;
}
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(224,159,62,0.08);
    border: 1px solid rgba(224,159,62,0.18);
    padding: 10px 24px;
    border-radius: 50px;
    color: var(--tan-500);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 28px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.hero-badge svg {
    width: 14px;
    height: 14px;
    fill: var(--tan-500);
}
.hero h1 {
    font-size: 62px;
    color: var(--white);
    line-height: 1.06;
    margin-bottom: 24px;
    font-weight: 700;
    letter-spacing: -1px;
}
.hero h1 span {
    color: var(--tan-500);
    display: block;
    font-style: italic;
}
.hero p {
    font-size: 18px;
    color: rgba(255,255,255,0.6);
    line-height: 1.75;
    margin-bottom: 40px;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}
.hero-buttons {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
}

/* Hero Stats Bar */
.hero-stats {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3;
    background: rgba(15,28,16,0.85);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-top: 1px solid rgba(224,159,62,0.2);
}
.hero-stats .container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
.stat-item {
    padding: 24px 20px;
    text-align: center;
    border-right: 1px solid rgba(255,255,255,0.06);
    transition: background 0.3s;
}
.stat-item:hover {
    background: rgba(224,159,62,0.06);
}
.stat-item:last-child { border-right: none; }
.stat-item .number {
    font-family: var(--font-display);
    font-size: 34px;
    font-weight: 700;
    color: var(--tan-500);
    line-height: 1;
    margin-bottom: 6px;
}
.stat-item .label {
    font-size: 10px;
    color: rgba(255,255,255,0.5);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 500;
}

/* Hero Slider Dots */
.hero-dots {
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.hero-dot {
    width: 10px;
    height: 10px;
    border-radius: var(--radius-full);
    border: 1.5px solid rgba(255,255,255,0.25);
    cursor: pointer;
    transition: all 0.3s ease;
}
.hero-dot.active {
    background: var(--tan-500);
    border-color: var(--tan-500);
    transform: scale(1.3);
}

/* ================================================================
   CONTACT PAGE
   ================================================================ */
.contact-hero {
    position: relative;
    height: 60vh;
    min-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-top: var(--header-height);
}
.contact-hero-bg { position: absolute; inset: 0; }
.contact-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.contact-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(27,51,30,0.88) 0%, rgba(27,51,30,0.55) 100%);
}
.contact-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 0 24px;
}
.contact-hero-tag {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold-on-dark);
    margin-bottom: 20px;
}
.contact-hero-content h1 {
    font-size: 48px;
    color: var(--white);
    line-height: 1.1;
    margin-bottom: 16px;
}
.contact-hero-content h1 span { color: var(--gold-on-dark); font-style: italic; }
.contact-hero-content p {
    font-size: 18px;
    color: rgba(255,255,255,0.6);
    max-width: 600px;
    margin: 0 auto 28px;
}
.contact-hero-trust {
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
}
.cht-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255,255,255,0.7);
}
.cht-item svg { width: 16px; height: 16px; fill: var(--green); }
.contact-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    align-items: start;
}
.contact-form-wrapper {
    background: var(--white);
    border-radius: var(--radius-xl);
    padding: 40px;
    box-shadow: var(--shadow-md);
    border: 1px solid rgba(0,0,0,0.04);
}
.contact-form-tag {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 12px;
}
.contact-form-header h2 {
    font-size: 32px;
    color: var(--dark);
    margin-bottom: 12px;
}
.contact-form-header p {
    font-size: 15px;
    color: var(--gray-500);
    line-height: 1.7;
    margin-bottom: 32px;
}
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.cf-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.cf-field label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--gray-700);
    margin-bottom: 8px;
}
.cf-field input,
.cf-field select,
.cf-field textarea {
    width: 100%;
    padding: 14px 18px;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--radius-sm);
    font-size: 15px;
    font-family: var(--font-body);
    transition: var(--transition);
    outline: none;
    background: var(--white);
}
.cf-field input:focus,
.cf-field select:focus,
.cf-field textarea:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(224,159,62,0.1);
}
.cf-field textarea { resize: vertical; min-height: 120px; }
.cf-note {
    font-size: 12px;
    color: var(--gray-400);
    text-align: center;
    margin-top: -4px;
}
.contact-sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.cs-cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.cs-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 20px;
    background: var(--white);
    border-radius: var(--radius-md);
    border: 1px solid rgba(0,0,0,0.04);
    transition: var(--transition);
    text-decoration: none;
}
.cs-card:hover {
    transform: translateX(4px);
    box-shadow: var(--shadow-sm);
    border-color: rgba(224,159,62,0.2);
}
.cs-card-icon {
    width: 48px;
    height: 48px;
    background: var(--gold-muted);
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cs-card-icon svg { width: 22px; height: 22px; fill: var(--gold); }
.cs-icon-whatsapp { background: rgba(37,211,102,0.1); }
.cs-icon-whatsapp svg { fill: #25d366; }
.cs-card-text { display: flex; flex-direction: column; }
.cs-card-label {
    font-size: 11px;
    color: var(--gray-400);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 2px;
}
.cs-card-text strong {
    font-size: 14px;
    color: var(--dark);
}
.cs-card-whatsapp:hover strong { color: #25d366; }
.cs-hours {
    background: var(--dark);
    border-radius: var(--radius-md);
    padding: 24px;
}
.cs-hours h4 {
    font-size: 15px;
    color: var(--white);
    margin-bottom: 18px;
    font-family: var(--font-body);
    font-weight: 600;
}
.cs-hours-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.cs-hours-item {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
}
.cs-hours-item span { color: rgba(255,255,255,0.5); }
.cs-hours-item strong { color: var(--gold); }
.cs-closed { color: rgba(255,255,255,0.35) !important; }
.cs-promise {
    display: flex;
    gap: 16px;
    padding: 20px;
    background: var(--cream);
    border-radius: var(--radius-md);
    border-left: 3px solid var(--gold);
}
.cs-promise-icon {
    width: 44px;
    height: 44px;
    background: var(--gold-muted);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cs-promise strong {
    display: block;
    font-size: 14px;
    color: var(--dark);
    margin-bottom: 4px;
}
.cs-promise p {
    font-size: 13px;
    color: var(--gray-500);
    line-height: 1.6;
}
.contact-map-section { background: var(--cream); }
.contact-map-wrapper {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 24px;
    align-items: stretch;
}
.contact-map-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.cmi-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: var(--white);
    border-radius: var(--radius-md);
    border: 1px solid rgba(0,0,0,0.04);
}
.cmi-icon {
    width: 44px;
    height: 44px;
    background: var(--gold-muted);
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cmi-icon svg { width: 20px; height: 20px; fill: var(--gold); }
.cmi-icon-whatsapp { background: rgba(37,211,102,0.1); }
.cmi-icon-whatsapp svg { fill: #25d366; }
.cmi-card strong {
    display: block;
    font-size: 14px;
    color: var(--dark);
    margin-bottom: 2px;
}
.cmi-card p {
    font-size: 13px;
    color: var(--gray-500);
    margin: 0;
}
.cmi-card a { color: var(--gold); }
.cmi-card a:hover { text-decoration: underline; }
.contact-map-embed {
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    min-height: 450px;
}
.contact-map-embed iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 450px;
}
@media (max-width: 1024px) {
    .contact-map-wrapper { grid-template-columns: 1fr; }
    .contact-map-info { flex-direction: row; flex-wrap: wrap; }
    .cmi-card { flex: 1; min-width: 200px; }
}
@media (max-width: 768px) {
    .contact-map-info { flex-direction: column; }
    .cmi-card { min-width: auto; }
    .contact-map-embed { min-height: 300px; }
    .contact-map-embed iframe { min-height: 300px; }
}
@media (max-width: 1024px) {
    .contact-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 768px) {
    .contact-hero { height: 50vh; min-height: 380px; }
    .contact-hero-content h1 { font-size: 34px; }
    .cf-row { grid-template-columns: 1fr; }
    .contact-form-wrapper { padding: 28px; }
    .contact-hero-trust { flex-direction: column; gap: 12px; align-items: center; }
}

/* ================================================================
   ABOUT PAGE
   ================================================================ */
.page-hero {
    position: relative;
    height: 48vh;
    min-height: 380px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-top: var(--header-height);
}
.page-hero-bg { position: absolute; inset: 0; }
.page-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.page-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(27,51,30,0.4) 0%, rgba(27,51,30,0.85) 100%);
}
.page-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 0 24px;
}
.page-hero-content h1 {
    font-size: 52px;
    color: var(--white);
    margin-bottom: 12px;
}
.page-hero-content p {
    font-size: 17px;
    color: rgba(255,255,255,0.65);
    max-width: 550px;
    margin: 0 auto;
}
.breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
    font-size: 13px;
}
.breadcrumb a { color: rgba(255,255,255,0.4); transition: var(--transition); }
.breadcrumb a:hover { color: var(--gold); }
.breadcrumb span { color: var(--gold); font-weight: 500; }
.breadcrumb-sep { color: rgba(255,255,255,0.2); }

/* ================================================================
   WHY CHOOSE US
   ================================================================ */
.why-us { background: var(--cream); }
.why-us-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.why-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 40px 28px;
    text-align: center;
    transition: var(--transition);
    border: 1px solid rgba(0,0,0,0.04);
    position: relative;
    overflow: hidden;
}
.why-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--gold);
    transform: scaleX(0);
    transition: var(--transition);
}
.why-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
}
.why-card:hover::before { transform: scaleX(1); }
.why-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 24px;
    background: var(--gold-muted);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}
.why-icon svg {
    width: 30px;
    height: 30px;
    fill: var(--gold);
    transition: var(--transition);
}
.why-card:hover .why-icon {
    background: var(--gold);
    transform: scale(1.08);
}
.why-card:hover .why-icon svg { fill: var(--white); }
.why-card h3 {
    font-size: 18px;
    color: var(--dark);
    margin-bottom: 12px;
    font-family: var(--font-body);
    font-weight: 700;
}
.why-card p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.7;
}

/* ================================================================
   SAFARI PACKAGES (Homepage Cards)
   ================================================================ */
.safari-packages { background: var(--white); }
.safari-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.safari-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: var(--transition);
    border: 1px solid rgba(0,0,0,0.04);
}
.safari-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-xl);
}
.safari-card-image {
    position: relative;
    height: 260px;
    overflow: hidden;
}
.safari-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition-slow);
}
.safari-card:hover .safari-card-image img { transform: scale(1.08); }
.safari-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: var(--gold);
    color: var(--white);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.safari-price {
    position: absolute;
    bottom: 16px;
    right: 16px;
    background: rgba(27,51,30,0.85);
    color: var(--white);
    padding: 10px 16px;
    border-radius: var(--radius-sm);
    backdrop-filter: blur(12px);
    text-align: right;
}
.safari-price .from { font-size: 9px; color: rgba(255,255,255,0.45); text-transform: uppercase; letter-spacing: 1px; }
.safari-price .amount {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1.1;
}
.safari-card-body { padding: 24px; }
.safari-card-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
    font-size: 12px;
    color: var(--gray-500);
}
.safari-card-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}
.safari-card-meta svg {
    width: 14px;
    height: 14px;
    fill: var(--gold);
}
.safari-card-body h3 {
    font-size: 20px;
    color: var(--dark);
    margin-bottom: 10px;
    line-height: 1.3;
}
.safari-card-body h3 a:hover { color: var(--gold); }
.safari-card-body p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.7;
    margin-bottom: 18px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.safari-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 16px;
    border-top: 1px solid var(--gray-200);
}

/* ================================================================
   KILIMANJARO SECTION
   ================================================================ */
.kilimanjaro-section {
    position: relative;
    padding: 80px 0;
    overflow: hidden;
}
.kilimanjaro-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.kilimanjaro-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.kilimanjaro-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(27,51,30,0.92) 0%, rgba(27,51,30,0.78) 100%);
    z-index: 2;
}
.kilimanjaro-content {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.kilimanjaro-text h2 {
    font-size: 42px;
    color: var(--white);
    margin-bottom: 20px;
}
.kilimanjaro-text h2 span { color: var(--gold-on-dark); }
.kilimanjaro-text p {
    font-size: 16px;
    color: rgba(255,255,255,0.6);
    line-height: 1.8;
    margin-bottom: 32px;
}
.kilimanjaro-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 40px;
}
.kilo-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: rgba(255,255,255,0.04);
    border-radius: var(--radius-sm);
    border: 1px solid rgba(255,255,255,0.06);
}
.kilo-feature svg {
    width: 18px;
    height: 18px;
    fill: var(--gold-on-dark);
    flex-shrink: 0;
}
.kilo-feature span {
    font-size: 13px;
    color: rgba(255,255,255,0.8);
    font-weight: 500;
}
.kilimanjaro-routes {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.route-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: var(--radius-sm);
    padding: 18px;
    transition: var(--transition);
    cursor: pointer;
}
.route-card:hover {
    background: rgba(224,159,62,0.08);
    border-color: rgba(224,159,62,0.25);
    transform: translateX(8px);
}
.route-card-icon {
    width: 44px;
    height: 44px;
    background: rgba(224,159,62,0.12);
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}
.route-card-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-sm);
}
.route-card-icon svg {
    width: 20px;
    height: 20px;
    fill: var(--gold);
}
.route-card-info h4 {
    font-size: 15px;
    color: var(--white);
    margin-bottom: 3px;
    font-family: var(--font-body);
    font-weight: 600;
}
.route-card-info span {
    font-size: 12px;
    color: rgba(255,255,255,0.35);
}
.route-card-arrow {
    margin-left: auto;
    width: 32px;
    height: 32px;
    background: rgba(255,255,255,0.04);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    flex-shrink: 0;
}
.route-card:hover .route-card-arrow { background: var(--gold); }
.route-card-arrow svg {
    width: 14px;
    height: 14px;
    fill: rgba(255,255,255,0.35);
    transition: var(--transition);
}
.route-card:hover .route-card-arrow svg { fill: var(--white); }

/* ================================================================
   DESTINATIONS
   ================================================================ */
.destinations { background: var(--cream); }
.destinations-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 300px 300px;
    gap: 16px;
}
.dest-card {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    cursor: pointer;
}
.dest-card:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.dest-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition-slow);
}
.dest-card:hover img { transform: scale(1.08); }
.dest-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(27,51,30,0.82) 0%, transparent 55%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    transition: var(--transition);
}
.dest-card:hover .dest-overlay {
    background: linear-gradient(to top, rgba(27,51,30,0.92) 0%, rgba(27,51,30,0.15) 100%);
}
.dest-overlay h3 {
    font-size: 20px;
    color: var(--white);
    margin-bottom: 4px;
}
.dest-overlay span {
    font-size: 11px;
    color: var(--gold-on-dark);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 500;
}

/* ================================================================
   ZANZIBAR SECTION
   ================================================================ */
.zanzibar-section {
    position: relative;
    padding: 80px 0;
    overflow: hidden;
}
.zanzibar-bg {
    position: absolute;
    inset: 0;
}
.zanzibar-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.zanzibar-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(27,51,30,0.9) 0%, rgba(27,51,30,0.88) 100%);
}
.zanzibar-content {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.zanzibar-text h2 {
    font-size: 42px;
    color: var(--white);
    margin-bottom: 20px;
}
.zanzibar-text h2 span { color: var(--gold-on-dark); }
.zanzibar-text p {
    font-size: 16px;
    color: rgba(255,255,255,0.6);
    line-height: 1.8;
    margin-bottom: 32px;
}
.zanzibar-cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.zanzibar-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: var(--radius-sm);
    padding: 18px;
    transition: var(--transition);
}
.zanzibar-card:hover {
    background: rgba(224,159,62,0.08);
    border-color: rgba(224,159,62,0.25);
    transform: translateX(8px);
}
.zanzibar-card-icon {
    width: 44px;
    height: 44px;
    background: rgba(224,159,62,0.12);
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}
.zanzibar-card-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-sm);
}
.zanzibar-card-icon svg {
    width: 20px;
    height: 20px;
    fill: var(--gold-on-dark);
}
.zanzibar-card-info h4 {
    font-size: 15px;
    color: var(--white);
    margin-bottom: 3px;
    font-family: var(--font-body);
    font-weight: 600;
}
.zanzibar-card-info span {
    font-size: 12px;
    color: rgba(255,255,255,0.35);
}

/* ================================================================
   TESTIMONIALS
   ================================================================ */
.testimonials { background: var(--white); }
.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.testimonial-card {
    background: var(--cream);
    border-radius: var(--radius-lg);
    padding: 36px;
    position: relative;
    transition: var(--transition);
    border: 1px solid rgba(0,0,0,0.03);
}
.testimonial-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
}
.testimonial-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 16px;
}
.testimonial-stars svg {
    width: 15px;
    height: 15px;
    fill: var(--gold);
}
.testimonial-quote {
    font-size: 15px;
    color: var(--gray-700);
    line-height: 1.8;
    margin-bottom: 24px;
    font-style: italic;
}
.testimonial-quote::before {
    content: '\201C';
    font-size: 52px;
    color: var(--gold);
    font-family: var(--font-display);
    line-height: 0;
    vertical-align: -16px;
    margin-right: 6px;
    opacity: 0.5;
}
.testimonial-author {
    display: flex;
    align-items: center;
    gap: 14px;
}
.testimonial-avatar {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
    background: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-weight: 700;
    font-size: 15px;
    flex-shrink: 0;
}
.testimonial-info h4 {
    font-size: 14px;
    color: var(--dark);
    font-family: var(--font-body);
    font-weight: 600;
}
.testimonial-info span {
    font-size: 12px;
    color: var(--gray-500);
}

/* ================================================================
   CTA SECTION
   ================================================================ */
.cta-section {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
}
.cta-bg {
    position: absolute;
    inset: 0;
}
.cta-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cta-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(224,159,62,0.94) 0%, rgba(192,138,46,0.94) 100%);
}
.cta-content {
    position: relative;
    z-index: 3;
    text-align: center;
    max-width: 680px;
    margin: 0 auto;
}
.cta-content h2 {
    font-size: 40px;
    color: var(--white);
    margin-bottom: 18px;
}
.cta-content p {
    font-size: 17px;
    color: rgba(255,255,255,0.85);
    margin-bottom: 36px;
    line-height: 1.7;
}

/* ================================================================
   PARTNERS
   ================================================================ */
/* ================================================================
   FOOTER
   ================================================================ */
.footer {
    background: var(--dark-deep);
    color: rgba(255,255,255,0.55);
    padding-top: 80px;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 48px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.footer-brand .logo { margin-bottom: 20px; }
.footer-brand p {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 24px;
    color: rgba(255,255,255,0.45);
}
.footer-social {
    display: flex;
    gap: 10px;
}
.footer-social a {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    background: rgba(255,255,255,0.04);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}
.footer-social a:hover {
    background: var(--gold);
    transform: translateY(-3px);
}
.footer-social a svg {
    width: 15px;
    height: 15px;
    fill: rgba(255,255,255,0.5);
}
.footer-social a:hover svg { fill: var(--white); }
.footer h4 {
    font-size: 15px;
    color: var(--white);
    margin-bottom: 24px;
    font-family: var(--font-body);
    font-weight: 600;
    letter-spacing: 0.5px;
}
.footer-links li { margin-bottom: 12px; }
.footer-links a {
    font-size: 13px;
    color: rgba(255,255,255,0.4);
    transition: var(--transition);
    display: flex;
    align-items: center;
    gap: 8px;
}
.footer-links a::before {
    content: '';
    width: 0;
    height: 1px;
    background: var(--gold);
    transition: var(--transition);
}
.footer-links a:hover {
    color: var(--gold);
    padding-left: 10px;
}
.footer-links a:hover::before { width: 14px; }
.footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    font-size: 13px;
}
.footer-contact svg {
    width: 16px;
    height: 16px;
    fill: var(--gold-on-dark);
    flex-shrink: 0;
    margin-top: 3px;
}
.footer-bottom {
    padding: 24px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    color: rgba(255,255,255,0.3);
}

/* ================================================================
   WHATSAPP FLOAT
   ================================================================ */
.whatsapp-float {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 999;
    width: 60px;
    height: 60px;
    background: #25d366;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 24px rgba(37,211,102,0.35);
    transition: var(--transition);
    animation: pulse-whatsapp 2.5s infinite;
}
.whatsapp-float:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 32px rgba(37,211,102,0.45);
}
.whatsapp-float svg {
    width: 30px;
    height: 30px;
    fill: var(--white);
}
@keyframes pulse-whatsapp {
    0% { box-shadow: 0 0 0 0 rgba(37,211,102,0.35); }
    70% { box-shadow: 0 0 0 18px rgba(37,211,102,0); }
    100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}

/* ================================================================
   SCROLL TO TOP
   ================================================================ */
.scroll-top {
    position: fixed;
    bottom: 28px;
    left: 28px;
    z-index: 999;
    width: 48px;
    height: 48px;
    background: var(--dark);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
    cursor: pointer;
    box-shadow: var(--shadow-md);
}
.scroll-top.visible { opacity: 1; visibility: visible; }
.scroll-top:hover {
    background: var(--gold);
    transform: translateY(-3px);
}
.scroll-top svg {
    width: 20px;
    height: 20px;
    fill: var(--white);
}

/* ================================================================
   KILIMANJARO PAGE
   ================================================================ */
.kili-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--white);
    min-width: 800px;
}
.kili-table thead tr {
    background: var(--dark);
    color: var(--white);
}
.kili-table th {
    padding: 16px 20px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.kili-table th:first-child { text-align: left; }
.kili-table th:last-child { text-align: right; }
.kili-table td {
    padding: 14px 20px;
    font-size: 14px;
    border-bottom: 1px solid var(--gray-200);
}
.kili-table tbody tr:nth-child(even) { background: var(--cream); }
.kili-table tbody tr:hover { background: var(--gold-muted); }
.diff-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

/* ================================================================
   SAFARI PACKAGES - PREMIUM GRID
   ================================================================ */
.sp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.sp-card {
    background: var(--white);
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: var(--transition);
    border: 1px solid rgba(0,0,0,0.04);
}
.sp-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-xl);
}
.sp-card-visual {
    position: relative;
    height: 260px;
    overflow: hidden;
}
.sp-card-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.sp-card:hover .sp-card-visual img {
    transform: scale(1.08);
}
.sp-card-overlay {
    position: absolute;
    top: 16px;
    left: 16px;
    right: 16px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    z-index: 2;
}
.sp-tag {
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    backdrop-filter: blur(12px);
}
.sp-tag-featured {
    background: var(--gold);
    color: var(--white);
}
.sp-tag-duration {
    background: rgba(27,51,30,0.7);
    color: var(--white);
}
.sp-card-price {
    position: absolute;
    bottom: 16px;
    right: 16px;
    background: rgba(27,51,30,0.85);
    backdrop-filter: blur(12px);
    color: var(--white);
    padding: 10px 16px;
    border-radius: var(--radius-sm);
    text-align: right;
    z-index: 2;
}
.sp-price-from {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: rgba(255,255,255,0.6);
}
.sp-price-amount {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    color: var(--tan-500);
}
.sp-price-per {
    font-size: 10px;
    color: rgba(255,255,255,0.5);
    margin-left: 2px;
}
.sp-card-content {
    padding: 20px 24px 24px;
}
.sp-card-tags {
    display: flex;
    gap: 6px;
    margin-bottom: 12px;
}
.sp-dest-tag {
    padding: 4px 12px;
    background: var(--cream);
    color: var(--gray-600);
    border-radius: 50px;
    font-size: 11px;
    font-weight: 500;
}
.sp-card-content h3 {
    font-size: 18px;
    color: var(--dark);
    margin-bottom: 8px;
    font-family: var(--font-display);
    line-height: 1.3;
}
.sp-card-content h3 a:hover { color: var(--gold); }
.sp-card-content p {
    font-size: 13px;
    color: var(--gray-500);
    line-height: 1.65;
    margin-bottom: 14px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.sp-card-highlights {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 20px;
}
.sp-card-highlights span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--gray-600);
}
.sp-card-highlights svg {
    width: 14px;
    height: 14px;
    fill: var(--green);
    flex-shrink: 0;
}
.sp-card-actions {
    display: flex;
    gap: 10px;
}
.sp-card-actions .btn {
    flex: 1;
    justify-content: center;
    padding: 11px 14px;
    font-size: 11px;
    border-radius: var(--radius-sm);
    letter-spacing: 0.5px;
}
.sp-card-actions .btn-dark {
    background: var(--dark);
    color: var(--white);
    border: 1.5px solid var(--dark);
}
.sp-card-actions .btn-dark:hover {
    background: var(--dark-deep);
    border-color: var(--dark-deep);
}
.sp-card-actions .btn-outline-gold {
    background: transparent;
    color: var(--gold);
    border: 1.5px solid var(--gold);
}
.sp-card-actions .btn-outline-gold:hover {
    background: var(--gold);
    color: var(--white);
}

@media (max-width: 1024px) {
    .sp-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .sp-grid { grid-template-columns: 1fr; }
    .sp-card-visual { height: 220px; }
    .sp-card-actions { flex-direction: column; }
    .sp-card-actions .btn { width: 100%; }
}

/* ================================================================
   SAFARI CARD GRID
   ================================================================ */
.pkg-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.pkg-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.04);
    box-shadow: var(--shadow-card);
    transition: var(--transition);
}
.pkg-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-xl);
}
.pkg-card-img {
    position: relative;
    height: 240px;
    overflow: hidden;
}
.pkg-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s;
}
.pkg-card:hover .pkg-card-img img { transform: scale(1.06); }
.pkg-card-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--gold);
    color: var(--white);
    padding: 5px 14px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.pkg-card-meta {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(27,51,30,0.82);
    backdrop-filter: blur(12px);
    display: flex;
}
.pkg-meta-item {
    flex: 1;
    padding: 12px 14px;
    text-align: center;
    border-right: 1px solid rgba(255,255,255,0.08);
    color: var(--white);
    font-size: 11px;
}
.pkg-meta-item:last-child { border-right: none; }
.pkg-meta-item strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 2px;
}
.pkg-card-body { padding: 24px; }
.pkg-card-dest {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.pkg-card-dest span {
    padding: 4px 10px;
    background: var(--gold-muted);
    color: var(--gold-dark);
    border-radius: 50px;
    font-size: 11px;
    font-weight: 500;
}
.pkg-card-body h3 {
    font-size: 18px;
    color: var(--dark);
    margin-bottom: 10px;
    font-family: var(--font-display);
    line-height: 1.3;
}
.pkg-card-body h3 a:hover { color: var(--gold); }
.pkg-card-desc {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.65;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.pkg-card-features {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}
.pkg-card-features span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--gray-600);
}
.pkg-card-features svg {
    width: 16px;
    height: 16px;
    fill: var(--green);
    flex-shrink: 0;
}
.pkg-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 18px;
    border-top: 1px solid var(--gray-200);
}
.pkg-price {
    display: flex;
    flex-direction: column;
}
.pkg-price small {
    font-size: 10px;
    color: var(--gray-400);
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.pkg-price strong {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
}
.pkg-price span {
    font-size: 12px;
    color: var(--gray-500);
}
.pkg-card-btns {
    display: flex;
    gap: 8px;
}
.pkg-card-btns .btn { padding: 8px 16px; font-size: 11px; }

/* Included Grid */
.included-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    max-width: 800px;
    margin: 0 auto;
}
.included-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: var(--white);
    border-radius: var(--radius-sm);
    border: 1px solid rgba(0,0,0,0.04);
}
.included-item svg {
    width: 20px;
    height: 20px;
    fill: var(--green);
    flex-shrink: 0;
}
.included-item span {
    font-size: 14px;
    font-weight: 500;
    color: var(--dark);
}

/* FAQ List */
.faq-list {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.faq-item {
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    padding: 24px 28px;
    transition: var(--transition);
}
.faq-item:hover { border-color: rgba(224,159,62,0.3); }
.faq-item h3 {
    font-size: 16px;
    color: var(--dark);
    margin-bottom: 10px;
    font-family: var(--font-body);
    font-weight: 600;
}
.faq-item p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.75;
}

@media (max-width: 1024px) {
    .pkg-grid { grid-template-columns: repeat(2, 1fr); }
    .included-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .pkg-grid { grid-template-columns: 1fr; }
    .pkg-card-img { height: 200px; }
    .pkg-card-btns { flex-direction: column; }
    .pkg-card-btns .btn { width: 100%; justify-content: center; }
}

/* ================================================================
   SAFARI LISTING PAGES
   ================================================================ */
.safari-hero,
.zanzibar-hero,
.trip-hero,
.kili-hero {
    position: relative;
    height: 60vh;
    min-height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-top: var(--header-height);
}
.safari-hero-bg,
.zanzibar-hero-bg,
.trip-hero-bg,
.kili-hero-bg { position: absolute; inset: 0; }
.safari-hero-bg img,
.zanzibar-hero-bg img,
.trip-hero-bg img,
.kili-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.safari-hero-overlay,
.zanzibar-hero-overlay,
.trip-hero-overlay,
.kili-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(27,51,30,0.35) 0%, rgba(27,51,30,0.88) 100%);
}
.safari-hero-content,
.zanzibar-hero-content,
.trip-hero-content,
.kili-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 0 24px;
}
.safari-hero-badge,
.zanzibar-hero-badge,
.trip-hero-badge,
.kili-hero-badge {
    display: inline-block;
    background: rgba(224,159,62,0.12);
    border: 1px solid rgba(224,159,62,0.25);
    padding: 10px 24px;
    border-radius: 50px;
    color: var(--gold-on-dark);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 24px;
    backdrop-filter: blur(12px);
}
.safari-hero h1,
.zanzibar-hero h1,
.trip-hero h1,
.kili-hero h1 {
    font-size: 56px;
    color: var(--white);
    line-height: 1.08;
    margin-bottom: 18px;
}
.safari-hero h1 span,
.zanzibar-hero h1 span,
.trip-hero h1 span,
.kili-hero h1 span {
    color: var(--gold-on-dark);
    font-style: italic;
}
.safari-hero p,
.zanzibar-hero p,
.trip-hero p,
.kili-hero p {
    font-size: 17px;
    color: rgba(255,255,255,0.65);
    max-width: 650px;
    margin: 0 auto 32px;
    line-height: 1.75;
}
.safari-hero-stats,
.zanzibar-hero-stats,
.trip-hero-stats {
    display: flex;
    justify-content: center;
    gap: 36px;
    flex-wrap: wrap;
}
.sh-stat {
    color: rgba(255,255,255,0.55);
    font-size: 14px;
}
.sh-stat strong {
    color: var(--tan-500);
    font-family: var(--font-display);
    font-size: 22px;
}

/* Destination Cards Hover */
.destination-card { transition: transform 0.4s ease, box-shadow 0.4s ease; }
.destination-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.3); }
.destination-card:hover img { transform: scale(1.08); }
.destination-card img { transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); }

/* Filters */
.safari-filters {
    display: flex;
    gap: 28px;
    flex-wrap: wrap;
    padding: 24px 28px;
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(0,0,0,0.04);
    margin-bottom: 16px;
}
.sf-group label {
    display: block;
    font-size: 10px;
    font-weight: 600;
    color: var(--gray-400);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}
.sf-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.sf-pill {
    display: inline-block;
    padding: 7px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 500;
    color: var(--gray-600);
    background: var(--cream);
    border: 1px solid transparent;
    transition: var(--transition);
}
.sf-pill:hover { color: var(--gold); border-color: var(--gold); }
.sf-pill.active {
    background: var(--gold);
    color: var(--white);
    border-color: var(--gold);
}
.sf-results {
    font-size: 14px;
    color: var(--gray-500);
    margin-bottom: 8px;
}

/* Safari Grid Items */
.safaris-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.safari-item {
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.04);
    transition: var(--transition);
    box-shadow: var(--shadow-card);
}
.safari-item:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
}
.safari-item-img {
    position: relative;
    height: 240px;
    overflow: hidden;
}
.safari-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition-slow);
}
.safari-item:hover .safari-item-img img { transform: scale(1.06); }
.safari-item-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--gold);
    color: var(--white);
    padding: 5px 14px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.safari-item-duration {
    position: absolute;
    top: 14px;
    right: 14px;
    background: rgba(27,51,30,0.82);
    backdrop-filter: blur(8px);
    color: var(--white);
    padding: 5px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
}
.safari-item-body { padding: 24px; }
.safari-item-dest {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.safari-dest-tag {
    display: inline-block;
    padding: 4px 12px;
    background: var(--gold-muted);
    color: var(--gold-dark);
    border-radius: 50px;
    font-size: 11px;
    font-weight: 500;
}
.safari-item-body h3 {
    font-size: 18px;
    color: var(--dark);
    margin-bottom: 10px;
    line-height: 1.35;
    font-family: var(--font-display);
}
.safari-item-desc {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.7;
    margin-bottom: 18px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.safari-item-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 16px;
    border-top: 1px solid var(--gray-200);
}
.safari-item-price { display: flex; flex-direction: column; }
.sip-from {
    font-size: 10px;
    color: var(--gray-400);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.sip-amount {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
}
.safari-item-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: var(--gold);
    color: var(--white);
    border-radius: var(--radius-sm);
    font-size: 12px;
    font-weight: 600;
    transition: var(--transition);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.safari-item-btn:hover { background: var(--gold-dark); transform: translateX(4px); }
.safari-item-link { display: block; text-decoration: none; color: inherit; }

.kili-intro {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 60px;
    align-items: start;
}
.kili-intro-content h2 {
    font-size: 40px;
    color: var(--dark);
    margin-bottom: 24px;
    font-family: var(--font-display);
}
.kili-intro-content p {
    font-size: 17px;
    color: var(--gray-600);
    line-height: 1.85;
    margin-bottom: 20px;
}
.kili-intro-content strong {
    color: var(--dark);
    font-weight: 700;
}
.kili-intro-highlights {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.kili-intro-hl {
    background: var(--cream);
    border-radius: var(--radius-md);
    padding: 24px;
    border: 1px solid rgba(0,0,0,0.04);
    transition: var(--transition);
}
.kili-intro-hl:hover {
    border-color: rgba(224,159,62,0.2);
    transform: translateX(4px);
}
.kili-intro-hl-num {
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 6px;
}
.kili-intro-hl-text {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.5;
}

/* ================================================================
   KILIMANJARO OVERVIEW
   ================================================================ */
.kili-overview-stats {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
}
.kos-item {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: var(--radius-md);
    padding: 28px 16px;
    text-align: center;
    transition: var(--transition);
}
.kos-item:hover {
    background: rgba(224,159,62,0.08);
    border-color: rgba(224,159,62,0.2);
    transform: translateY(-4px);
}
.kos-num {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 700;
    color: var(--tan-500);
    line-height: 1;
    margin-bottom: 6px;
}
.kos-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 4px;
}
.kos-desc {
    font-size: 11px;
    color: rgba(255,255,255,0.4);
}
.kili-peaks-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}
.kili-peak {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: var(--radius-md);
    padding: 28px 20px;
    text-align: center;
    transition: var(--transition);
}
.kili-peak:hover {
    background: rgba(224,159,62,0.08);
    border-color: rgba(224,159,62,0.2);
    transform: translateY(-6px);
}
.kili-peak-altitude {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 12px;
}
.kili-peak h4 {
    font-size: 16px;
    color: var(--white);
    margin-bottom: 10px;
    font-family: var(--font-display);
}
.kili-peak p {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
    line-height: 1.6;
    margin-bottom: 14px;
}
.kili-peak-tag {
    display: inline-block;
    padding: 4px 12px;
    background: rgba(224,159,62,0.15);
    color: var(--gold);
    border-radius: 50px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.kili-zones {
    display: flex;
    gap: 16px;
    justify-content: center;
    align-items: flex-end;
}
.kili-zone {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    flex: 1;
    max-width: 120px;
}
.kili-zone-bar {
    width: 100%;
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    position: relative;
    min-height: 60px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 10px;
}
.kili-zone-alt {
    font-size: 10px;
    font-weight: 700;
    color: var(--white);
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
.kili-zone-info { text-align: center; }
.kili-zone-info h5 {
    font-size: 13px;
    color: var(--white);
    margin-bottom: 2px;
    font-family: var(--font-body);
    font-weight: 600;
}
.kili-zone-info span {
    font-size: 10px;
    color: rgba(255,255,255,0.4);
}

/* ================================================================
   KILIMANJARO PAGE
   ================================================================ */
.kili-hero {
    height: 100vh;
    min-height: 720px;
}
.kili-hero h1 {
    font-size: 76px;
}
.kili-hero > .kili-hero-content > p {
    font-size: 18px;
    color: rgba(255,255,255,0.65);
    line-height: 1.75;
    margin-bottom: 44px;
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}
.kili-hero-stats {
    display: flex;
    justify-content: center;
    gap: 0;
    margin-bottom: 44px;
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(20px);
    border-radius: var(--radius-lg);
    border: 1px solid rgba(255,255,255,0.06);
    overflow: hidden;
}
.kili-hero-stat {
    padding: 28px 40px;
    text-align: center;
    border-right: 1px solid rgba(255,255,255,0.06);
}
.kili-hero-stat:last-child { border-right: none; }
.kili-hero-stat-num {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    color: var(--tan-500);
    line-height: 1;
    margin-bottom: 6px;
}
.kili-hero-stat-label {
    font-size: 11px;
    color: rgba(255,255,255,0.4);
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.kili-hero-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}
.kili-hero-scroll {
    position: absolute;
    bottom: 36px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: rgba(255,255,255,0.35);
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    animation: bounce 2.5s infinite;
}
@keyframes bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(10px); }
}

/* Route Cards */
.kili-routes-grid {
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.kili-route-card {
    display: grid;
    grid-template-columns: 400px 1fr;
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.04);
    transition: var(--transition);
    box-shadow: var(--shadow-card);
}
.kili-route-card:hover {
    box-shadow: var(--shadow-lg);
    border-color: rgba(224,159,62,0.2);
    transform: translateY(-4px);
}
.kili-route-img {
    position: relative;
    height: 100%;
    min-height: 340px;
    overflow: hidden;
}
.kili-route-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition-slow);
}
.kili-route-card:hover .kili-route-img img { transform: scale(1.05); }
.kili-route-badge {
    position: absolute;
    top: 18px;
    left: 18px;
    background: var(--tan-500);
    color: var(--dark-deep);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.kili-route-price-tag {
    position: absolute;
    bottom: 18px;
    right: 18px;
    background: rgba(27,51,30,0.88);
    backdrop-filter: blur(12px);
    padding: 12px 18px;
    border-radius: var(--radius-sm);
    text-align: right;
}
.kili-route-from {
    display: block;
    font-size: 9px;
    color: rgba(255,255,255,0.4);
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.kili-route-price {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 700;
    color: var(--tan-500);
}
.kili-route-body {
    padding: 32px;
    display: flex;
    flex-direction: column;
}
.kili-route-top h3 {
    font-size: 24px;
    color: var(--dark);
    margin-bottom: 6px;
    font-family: var(--font-display);
}
.kili-route-subtitle {
    font-size: 14px;
    color: var(--tan-600);
    font-style: italic;
    margin-bottom: 18px;
}
.kili-route-quick-stats {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}
.kili-qs-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--gray-600);
}
.kili-difficulty-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}
.kili-route-gates {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    padding: 14px 18px;
    background: var(--cream);
    border-radius: var(--radius-sm);
}
.kili-gate { flex: 1; }
.kili-gate-label {
    display: block;
    font-size: 9px;
    color: var(--gray-400);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 2px;
}
.kili-gate-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--dark);
}
.kili-route-arrow { flex-shrink: 0; }
.kili-route-desc {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.75;
    margin-bottom: 18px;
    flex: 1;
}
.kili-route-meta {
    display: flex;
    gap: 22px;
    margin-bottom: 24px;
}
.kili-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--gray-500);
}
.kili-route-actions {
    display: flex;
    gap: 12px;
}
.kili-route-btn {
    flex: 1;
    text-align: center;
    justify-content: center;
    padding: 14px 22px;
    font-size: 12px;
}

/* ================================================================
   ROUTE DETAIL PAGE
   ================================================================ */
.rd-hero {
    position: relative;
    height: 75vh;
    min-height: 550px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    margin-top: var(--header-height);
}
.rd-hero-bg { position: absolute; inset: 0; }
.rd-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.rd-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15,93,70,0.2) 0%, rgba(15,93,70,0.85) 100%);
}
.rd-hero-content {
    position: relative;
    z-index: 2;
    padding: 40px;
    width: 100%;
}
.rd-hero-content h1 { font-size: 48px; color: var(--white); margin-bottom: 8px; }
.rd-hero-sub { font-size: 18px; color: var(--gold-on-dark); font-style: italic; margin-bottom: 20px; }
.rd-hero-meta { display: flex; gap: 24px; flex-wrap: wrap; }
.rdhm-item { display: flex; align-items: center; gap: 6px; font-size: 14px; color: rgba(255,255,255,0.8); font-weight: 500; }
.rdhm-dot { width: 8px; height: 8px; border-radius: var(--radius-full); display: inline-block; }
.rd-booking-bar {
    position: sticky;
    top: var(--header-height);
    z-index: 100;
    background: var(--white);
    border-bottom: 1px solid var(--gray-200);
    box-shadow: var(--shadow-sm);
    padding: 14px 0;
}
.rd-booking-bar .container { display: flex; align-items: center; justify-content: space-between; }
.rdbb-left { display: flex; align-items: center; gap: 20px; }
.rdbb-route { font-size: 16px; font-weight: 600; color: var(--dark); }
.rdbb-price { font-family: var(--font-display); font-size: 24px; font-weight: 700; color: var(--gold); }
.rdbb-price small { font-size: 12px; color: var(--gray-500); font-family: var(--font-body); font-weight: 400; }
.rdbb-right { display: flex; gap: 10px; }
.rd-layout { display: grid; grid-template-columns: 1fr 360px; gap: 48px; align-items: start; position: relative; }
.rd-section { margin-bottom: 48px; }
.rd-section h2 { font-size: 26px; color: var(--dark); margin-bottom: 20px; font-family: var(--font-display); }
.rd-overview-text { font-size: 16px; color: var(--gray-600); line-height: 1.85; }
.rd-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 40px; }
.rd-stat { text-align: center; padding: 24px 16px; background: var(--cream); border-radius: var(--radius-md); border: 1px solid rgba(0,0,0,0.04); }
.rd-stat-num { font-family: var(--font-display); font-size: 26px; font-weight: 700; color: var(--gold); line-height: 1; margin-bottom: 6px; }
.rd-stat-label { font-size: 11px; color: var(--gray-500); text-transform: uppercase; letter-spacing: 1px; }
.rd-gates { display: flex; align-items: center; gap: 16px; padding: 20px 24px; background: var(--cream); border-radius: var(--radius-md); margin-bottom: 40px; border: 1px solid rgba(0,0,0,0.04); }
.rd-gate { flex: 1; text-align: center; }
.rd-gate-label { display: block; font-size: 10px; color: var(--gray-400); text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 4px; }
.rd-gate-name { font-size: 15px; font-weight: 600; color: var(--dark); }
.rd-gate-arrow { flex-shrink: 0; }
.rd-itinerary { display: flex; flex-direction: column; }
.rd-itin-day { display: flex; gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--gray-200); }
.rd-itin-day:last-child { border-bottom: none; }
.rd-itin-marker { width: 48px; height: 48px; background: var(--gold-muted); border-radius: var(--radius-full); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rd-itin-marker span { font-family: var(--font-display); font-size: 18px; font-weight: 700; color: var(--gold); }
.rd-itin-content h4 { font-size: 18px; color: var(--dark); margin-bottom: 8px; font-family: var(--font-display); }
.rd-itin-content p { font-size: 15px; color: var(--gray-600); line-height: 1.75; margin-bottom: 14px; }
.rd-itin-stats { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.rd-itin-stat { display: flex; flex-direction: column; padding: 8px 14px; background: var(--cream); border-radius: var(--radius-sm); font-size: 13px; }
.rd-itin-stat strong { color: var(--dark); font-weight: 600; }
.rd-itin-stat span { font-size: 10px; color: var(--gray-400); text-transform: uppercase; letter-spacing: 0.5px; }
.rd-itin-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.rd-itin-tags span { padding: 4px 12px; background: var(--gold-muted); color: var(--gold-dark); border-radius: 50px; font-size: 11px; font-weight: 500; }
.rd-included, .rd-excluded { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rd-inc-item, .rd-exc-item { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: var(--radius-sm); font-size: 14px; color: var(--gray-700); }
.rd-inc-item { background: rgba(27,51,30,0.04); border: 1px solid rgba(27,51,30,0.1); }
.rd-inc-item svg { width: 18px; height: 18px; fill: var(--green); flex-shrink: 0; }
.rd-exc-item { background: rgba(192,57,43,0.04); border: 1px solid rgba(192,57,43,0.1); }
.rd-exc-item svg { width: 18px; height: 18px; fill: #c0392b; flex-shrink: 0; }
.rd-packing { font-size: 14px; color: var(--gray-600); line-height: 1.85; white-space: pre-line; background: var(--cream); padding: 28px; border-radius: var(--radius-md); border: 1px solid rgba(0,0,0,0.04); }
.rd-sidebar-card { background: var(--white); border-radius: var(--radius-lg); padding: 32px; border: 1px solid var(--gray-200); box-shadow: var(--shadow-sm); position: sticky; top: calc(var(--header-height) + 24px); align-self: start; }
.rd-sidebar-card h3 { font-size: 20px; color: var(--dark); margin-bottom: 24px; font-family: var(--font-display); }
.rd-sidebar-price { text-align: center; padding: 24px; background: var(--cream); border-radius: var(--radius-md); margin-bottom: 24px; }
.rsp-from { display: block; font-size: 11px; color: var(--gray-400); text-transform: uppercase; letter-spacing: 1.5px; }
.rsp-amount { display: block; font-family: var(--font-display); font-size: 36px; font-weight: 700; color: var(--gold); line-height: 1.1; margin: 4px 0; }
.rsp-per { font-size: 13px; color: var(--gray-500); }
.rd-sidebar-notes { padding: 18px; background: rgba(27,51,30,0.06); border-radius: var(--radius-md); border: 1px solid rgba(27,51,30,0.12); margin-bottom: 20px; }
.rd-sidebar-notes h4 { font-size: 14px; color: var(--dark); margin-bottom: 8px; font-family: var(--font-body); font-weight: 600; }
.rd-sidebar-notes p { font-size: 13px; color: var(--gray-600); line-height: 1.7; white-space: pre-line; }
.rd-sidebar-trust { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 1px solid var(--gray-200); }
.rst-item { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--gray-600); }
.rst-item svg { width: 18px; height: 18px; fill: var(--gold); flex-shrink: 0; }
.rd-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.rd-related-card { position: relative; height: 280px; border-radius: var(--radius-lg); overflow: hidden; display: block; }
.rd-related-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.rd-related-card:hover img { transform: scale(1.08); }
.rdrc-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(27,51,30,0.9) 0%, rgba(27,51,30,0.2) 60%, transparent 100%); display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; }
.rdrc-overlay h4 { font-size: 20px; color: var(--white); margin-bottom: 4px; font-family: var(--font-display); }
.rdrc-overlay span { font-size: 13px; color: rgba(255,255,255,0.6); }
.rdrc-price { display: block; margin-top: 8px; font-family: var(--font-display); font-size: 18px; font-weight: 700; color: var(--gold-light) !important; }
@media (max-width: 1024px) {
    .rd-layout { grid-template-columns: 1fr; }
    .rd-sidebar-card { position: static; }
    .rd-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .rd-hero { height: 60vh; min-height: 450px; }
    .rd-hero-content { padding: 24px; }
    .rd-hero-content h1 { font-size: 32px; }
    .rd-booking-bar { position: relative; }
    .rd-booking-bar .container { flex-direction: column; gap: 12px; text-align: center; }
    .rdbb-left { flex-direction: column; gap: 4px; }
    .rd-sidebar-card { position: static; }
    .rd-stats { grid-template-columns: repeat(2, 1fr); }
    .rd-included, .rd-excluded { grid-template-columns: 1fr; }
    .rd-related-grid { grid-template-columns: 1fr; }
    .rd-itin-day { flex-direction: column; gap: 12px; }
}

/* ================================================================
   DETAIL PAGES
   ================================================================ */
.detail-hero {
    position: relative;
    height: 65vh;
    min-height: 500px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    margin-top: var(--header-height);
}
.detail-hero-bg { position: absolute; inset: 0; }
.detail-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.detail-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(27,51,30,0.2) 0%, rgba(27,51,30,0.85) 100%);
}
.detail-hero-content {
    position: relative;
    z-index: 2;
    padding: 40px;
    width: 100%;
}
.detail-hero-content h1 {
    font-size: 44px;
    color: var(--white);
    margin-bottom: 12px;
}
.detail-hero-meta {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.detail-hero-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: rgba(255,255,255,0.65);
}
.detail-hero-meta svg {
    width: 16px;
    height: 16px;
    fill: var(--gold-on-dark);
}

/* Booking Bar */
.detail-booking-bar {
    position: sticky;
    top: var(--header-height);
    z-index: 100;
    background: var(--white);
    border-bottom: 1px solid var(--gray-200);
    box-shadow: var(--shadow-sm);
}
.detail-booking-bar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 16px;
    padding-bottom: 16px;
}
.detail-booking-bar .price-display {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 700;
    color: var(--gold);
}
.detail-booking-bar .price-display small {
    font-size: 13px;
    color: var(--gray-500);
    font-family: var(--font-body);
    font-weight: 400;
}
.detail-booking-bar .booking-actions {
    display: flex;
    gap: 12px;
}

/* Itinerary Timeline */
.itinerary-day {
    display: flex;
    gap: 24px;
    padding: 28px 0;
    border-bottom: 1px solid var(--gray-200);
}
.itinerary-day:last-child { border-bottom: none; }
.itinerary-day-num {
    flex-shrink: 0;
    width: 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}
.itinerary-day-num span {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--gray-400);
}
.itinerary-day-num strong {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
}
.itinerary-day-content {
    flex: 1;
    min-width: 0;
}
.itinerary-day-content h4 {
    font-size: 18px;
    color: var(--dark);
    margin-bottom: 10px;
    font-family: var(--font-display);
    line-height: 1.3;
}
.itinerary-desc {
    font-size: 14px;
    color: var(--gray-600);
    line-height: 1.8;
    margin-bottom: 12px;
}
.itinerary-desc br {
    display: block;
    content: '';
    margin-bottom: 4px;
}
.itinerary-details {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--gray-100);
}
.itinerary-detail-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--gray-600);
}
.itinerary-detail-item svg {
    flex-shrink: 0;
    color: var(--gold);
}
.itinerary-detail-item strong {
    color: var(--dark);
    font-weight: 600;
}
.itinerary-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}
.itinerary-highlight-tag {
    display: inline-block;
    padding: 3px 10px;
    background: var(--gold-muted);
    color: var(--gold);
    font-size: 11px;
    font-weight: 600;
    border-radius: 20px;
    letter-spacing: 0.3px;
}
.itinerary-marker {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background: var(--gold-muted);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    color: var(--gold);
}
.itinerary-content h3 {
    font-size: 18px;
    color: var(--dark);
    margin-bottom: 8px;
    font-family: var(--font-display);
}
.itinerary-content p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.75;
}

/* Quick Facts Sidebar */
.quick-facts {
    background: var(--cream);
    border-radius: var(--radius-lg);
    padding: 32px;
    border: 1px solid rgba(0,0,0,0.04);
}
.quick-facts h3 {
    font-size: 20px;
    color: var(--dark);
    margin-bottom: 24px;
    font-family: var(--font-display);
}
.quick-fact-item {
    display: flex;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid var(--gray-200);
    font-size: 14px;
}
.quick-fact-item:last-child { border-bottom: none; }
.quick-fact-item span:first-child { color: var(--gray-500); }
.quick-fact-item span:last-child { font-weight: 600; color: var(--dark); }

/* Includes/Excludes */
.includes-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.include-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--cream);
    border-radius: var(--radius-sm);
    font-size: 14px;
    color: var(--gray-700);
}
.include-item svg {
    width: 18px;
    height: 18px;
    fill: var(--green);
    flex-shrink: 0;
}
.exclude-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: rgba(192,57,43,0.04);
    border-radius: var(--radius-sm);
    border: 1px solid rgba(192,57,43,0.08);
    font-size: 14px;
    color: var(--gray-700);
}
.exclude-item svg {
    width: 18px;
    height: 18px;
    fill: var(--red);
    flex-shrink: 0;
}

/* ================================================================
   CONTACT PAGE
   ================================================================ */
.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    padding: 14px 18px;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--radius-sm);
    font-size: 15px;
    font-family: var(--font-body);
    transition: var(--transition);
    outline: none;
    background: var(--white);
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(224,159,62,0.1);
}
.contact-form label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--gray-700);
    margin-bottom: 8px;
}
.contact-info-card {
    display: flex;
    gap: 18px;
    padding: 28px;
    background: var(--cream);
    border-radius: var(--radius-md);
    transition: var(--transition);
}
.contact-info-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}
.contact-info-icon {
    width: 52px;
    height: 52px;
    background: var(--gold-muted);
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.contact-info-icon svg {
    width: 22px;
    height: 22px;
    fill: var(--gold);
}
.contact-info-card h4 {
    font-size: 16px;
    color: var(--dark);
    margin-bottom: 4px;
    font-family: var(--font-body);
    font-weight: 600;
}
.contact-info-card p {
    font-size: 14px;
    color: var(--gray-500);
}

/* ================================================================
   ABOUT PAGE
   ================================================================ */
.about-stats-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    background: var(--dark);
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin: -60px auto 0;
    max-width: 900px;
    position: relative;
    z-index: 10;
    box-shadow: var(--shadow-xl);
}
.about-stat {
    padding: 32px 24px;
    text-align: center;
    border-right: 1px solid rgba(255,255,255,0.06);
}
.about-stat:last-child { border-right: none; }
.about-stat .number {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    color: var(--tan-500);
    line-height: 1;
    margin-bottom: 6px;
}
.about-stat .label {
    font-size: 11px;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* ================================================================
   FAQ
   ================================================================ */
.faq-item {
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    padding: 24px 28px;
    transition: var(--transition);
}
.faq-item:hover {
    border-color: rgba(224,159,62,0.2);
}
.faq-item h3 {
    font-size: 16px;
    color: var(--dark);
    margin-bottom: 10px;
    font-family: var(--font-body);
    font-weight: 600;
}
.faq-item p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.75;
}

/* ================================================================
   REUSABLE GRIDS
   ================================================================ */
.grid-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.grid-2col-sidebar { display: grid; grid-template-columns: 1fr 380px; gap: 56px; align-items: start; }
.grid-3col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.grid-4col { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 1024px) {
    :root { --header-height: 70px; }
    .hero h1 { font-size: 50px; }
    .section-header h2 { font-size: 36px; }
    .why-us-grid { grid-template-columns: repeat(2, 1fr); }
    .safari-grid { grid-template-columns: repeat(2, 1fr); }
    .kilimanjaro-content,
    .zanzibar-content { grid-template-columns: 1fr; gap: 48px; }
    .destinations-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; }
    .dest-card:nth-child(1) { grid-column: span 2; }
    .testimonial-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .kili-route-card { grid-template-columns: 320px 1fr; }
    .kili-hero h1 { font-size: 60px; }
    .kili-hero-stats { flex-wrap: wrap; }
    .kili-hero-stat { padding: 20px 28px; }
    .safaris-grid { grid-template-columns: repeat(2, 1fr); }
    .about-stats-bar { grid-template-columns: repeat(2, 1fr); }
    .about-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); }
    .grid-2col { gap: 48px; }
    .grid-2col-sidebar { grid-template-columns: 1fr 1fr; gap: 40px; }
    .grid-3col { grid-template-columns: repeat(2, 1fr); }
    .grid-4col { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .main-nav { display: none; }
    .mobile-toggle { display: flex; }
    .header-cta { display: none; }

    /* ── Hero Sections — Mobile ─────────────────────────── */
    .hero {
        min-height: 100vh;
        min-height: 100dvh;
        padding-bottom: 0;
    }
    .hero h1 { font-size: 30px; letter-spacing: -0.5px; }
    .hero p { font-size: 14px; margin-bottom: 28px; }
    .hero-content { padding: 0 16px; }
    .hero-badge {
        padding: 8px 16px;
        font-size: 9px;
        letter-spacing: 2px;
        margin-bottom: 20px;
    }
    .hero-buttons { gap: 10px; }
    .hero-dots { display: none; }
    .hero-stats .container { grid-template-columns: repeat(2, 1fr); }
    .stat-item .number { font-size: 22px; }
    .stat-item .label { font-size: 9px; letter-spacing: 1px; }
    .stat-item { padding: 14px 10px; }

    .safari-hero,
    .zanzibar-hero,
    .trip-hero,
    .kili-hero {
        height: auto;
        min-height: 70vh;
        padding: 100px 16px 60px;
    }
    .safari-hero h1,
    .zanzibar-hero h1,
    .trip-hero h1 { font-size: 30px; }
    .kili-hero { min-height: 100vh; padding: 80px 16px 40px; }
    .kili-hero h1 { font-size: 36px; }
    .safari-hero-badge,
    .zanzibar-hero-badge,
    .trip-hero-badge,
    .kili-hero-badge {
        padding: 8px 16px;
        font-size: 9px;
        letter-spacing: 2px;
        margin-bottom: 16px;
    }
    .safari-hero p,
    .zanzibar-hero p,
    .trip-hero p,
    .kili-hero p {
        font-size: 14px;
        margin-bottom: 24px;
    }
    .safari-hero-stats,
    .zanzibar-hero-stats,
    .trip-hero-stats {
        gap: 20px;
    }
    .sh-stat { font-size: 12px; }
    .sh-stat strong { font-size: 18px; }

    .dest-hero { height: auto; min-height: 70vh; padding: 100px 16px 60px; }
    .dest-hero h1 { font-size: 32px; }
    .dest-hero-content { padding: 0 16px; }
    .dest-hero-stats .container { flex-wrap: wrap; }
    .dhs-item { padding: 14px 10px; }
    .dhs-item strong { font-size: 20px; }

    .about-hero { height: auto; min-height: 60vh; padding: 100px 16px 60px; }
    .about-hero h1 { font-size: 32px; }

    .contact-hero { height: auto; min-height: 50vh; padding: 100px 16px 60px; }
    .contact-hero h1 { font-size: 32px; }

    /* ── Kili Hero Stats — Mobile ───────────────────────── */
    .kili-hero-stats { flex-direction: column; gap: 0; }
    .kili-hero-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); padding: 14px 16px; }
    .kili-hero-stat:last-child { border-bottom: none; }
    .kili-hero-stat-num { font-size: 28px; }
    .kili-hero-scroll { display: none; }
    .kili-hero-buttons { flex-direction: column; gap: 10px; }

    /* ── General Sections — Mobile ──────────────────────── */
    .section-padding { padding: 48px 0; }
    .section-header h2 { font-size: 26px; }
    .section-header .subtitle { font-size: 10px; letter-spacing: 2px; }
    .why-us-grid { grid-template-columns: 1fr; }
    .safari-grid { grid-template-columns: 1fr; }
    .destinations-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
    .dest-card:nth-child(1) { grid-column: span 1; grid-row: span 1; min-height: 220px; }
    .testimonial-grid { grid-template-columns: 1fr; }
    .hero-dots { display: none; }
    .kilimanjaro-features { grid-template-columns: 1fr; }
    .kilimanjaro-text h2,
    .zanzibar-text h2 { font-size: 28px; }
    .cta-content h2 { font-size: 26px; }
    .kili-route-card { grid-template-columns: 1fr; }
    .kili-route-img { min-height: 200px; }
    .kili-route-body { padding: 20px 16px; }
    .kili-route-top h3 { font-size: 20px; }
    .kili-route-subtitle { font-size: 13px; }
    .kili-route-quick-stats { flex-wrap: wrap; gap: 8px; }
    .kili-qs-item { font-size: 12px; gap: 6px; }
    .kili-route-actions { flex-direction: column; }
    .kili-route-gates { flex-direction: column; gap: 10px; }
    .kili-route-desc { font-size: 13px; }
    .kili-route-meta { flex-wrap: wrap; gap: 8px; }
    .kili-meta-item { font-size: 11px; }
    .kili-hero-scroll { display: none; }
    .kili-overview-stats { grid-template-columns: repeat(2, 1fr); }
    .kili-peaks-grid { grid-template-columns: 1fr 1fr; }
    .kili-zones { flex-wrap: wrap; gap: 12px; }
    .kili-zone { max-width: none; flex: 0 0 calc(33% - 8px); }
    .kili-intro { grid-template-columns: 1fr; gap: 32px; }
    .kili-intro-content h2 { font-size: 30px; }
    .kili-intro-highlights { flex-direction: row; flex-wrap: wrap; gap: 12px; }
    .kili-intro-hl { flex: 1; min-width: 200px; }
    .safari-filters { flex-direction: column; gap: 18px; }
    .safaris-grid { grid-template-columns: 1fr; }
    .sf-pills { flex-wrap: wrap; }
    .sf-group { width: 100%; }
    .about-stats-bar { grid-template-columns: 1fr; margin: -40px 16px 0; }
    .includes-grid { grid-template-columns: 1fr; }
    .grid-2col,
    .grid-2col-sidebar,
    .grid-3col,
    .grid-4col { grid-template-columns: 1fr; gap: 24px; }
    .detail-hero { height: 50vh; min-height: 380px; }
    .detail-hero-content { padding: 24px; }
    .detail-hero-content h1 { font-size: 28px; }
    .detail-booking-bar .container {
        flex-direction: column;
        gap: 14px;
        text-align: center;
    }
    table { font-size: 13px; }
    th, td { padding: 12px 14px !important; }
}

/* ================================================================
   HOMEPAGE PREMIUM COMPONENTS
   ================================================================ */

/* --- Trust Bar (below hero) --- */
.trust-bar {
    background: var(--white);
    border-bottom: 1px solid rgba(0,0,0,0.04);
    padding: 0;
    position: relative;
    z-index: 10;
}
.trust-bar-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}
.trust-bar-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 32px;
    border-right: 1px solid rgba(0,0,0,0.06);
    flex: 1;
    text-align: center;
}
.trust-bar-item:last-child { border-right: none; }
.trust-bar-text strong {
    display: block;
    font-size: 14px;
    color: var(--dark);
    font-weight: 700;
    margin-bottom: 2px;
}
.trust-bar-text span {
    font-size: 11px;
    color: var(--gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.trust-bar-stars {
    display: flex;
    gap: 2px;
    justify-content: center;
    margin-bottom: 2px;
}
.trust-bar-stars svg { width: 12px; height: 12px; fill: var(--gold); }

/* --- How It Works --- */
.how-it-works { background: var(--cream); }
.hiw-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    position: relative;
}
.hiw-grid::before {
    content: '';
    position: absolute;
    top: 48px;
    left: 16%;
    right: 16%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
    opacity: 0.25;
}
.hiw-card {
    text-align: center;
    position: relative;
    padding: 0 16px;
}
.hiw-number {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-full);
    background: var(--gold);
    color: var(--white);
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    position: relative;
    z-index: 2;
    box-shadow: 0 4px 20px rgba(224,159,62,0.3);
}
.hiw-card h3 {
    font-size: 20px;
    color: var(--dark);
    margin-bottom: 12px;
    font-family: var(--font-display);
}
.hiw-card p {
    font-size: 15px;
    color: var(--gray-500);
    line-height: 1.7;
}

/* --- Experience Banner (full-width visual) --- */
.experience-banner {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
}
.experience-banner-bg {
    position: absolute;
    inset: 0;
}
.experience-banner-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.experience-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(27,51,30,0.88) 0%, rgba(27,51,30,0.6) 100%);
}
.experience-banner-content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}
.experience-banner-text h2 {
    font-size: 44px;
    color: var(--white);
    margin-bottom: 20px;
}
.experience-banner-text h2 span { color: var(--gold-on-dark); }
.experience-banner-text p {
    font-size: 17px;
    color: rgba(255,255,255,0.6);
    line-height: 1.8;
    margin-bottom: 32px;
}
.experience-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.exp-stat-card {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: var(--radius-md);
    padding: 28px 24px;
    text-align: center;
    backdrop-filter: blur(12px);
    transition: var(--transition);
}
.exp-stat-card:hover {
    background: rgba(224,159,62,0.08);
    border-color: rgba(224,159,62,0.2);
    transform: translateY(-4px);
}
.exp-stat-num {
    font-family: var(--font-display);
    font-size: 38px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 6px;
}
.exp-stat-label {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* --- Premium Safari Cards (bigger, more visual) --- */
.safari-premium-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.safari-premium-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: var(--transition);
    border: 1px solid rgba(0,0,0,0.04);
    display: flex;
    flex-direction: column;
}
.safari-premium-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-xl);
}
.spp-img {
    position: relative;
    height: 280px;
    overflow: hidden;
}
.spp-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}
.safari-premium-card:hover .spp-img img { transform: scale(1.08); }
.spp-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: var(--gold);
    color: var(--white);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    z-index: 2;
}
.spp-duration {
    position: absolute;
    top: 16px;
    right: 16px;
    background: rgba(27,51,30,0.82);
    backdrop-filter: blur(8px);
    color: var(--white);
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
    z-index: 2;
}
.spp-price-tag {
    position: absolute;
    bottom: 0;
    right: 0;
    background: var(--gold);
    color: var(--white);
    padding: 14px 22px;
    border-radius: var(--radius-lg) 0 0 0;
    text-align: right;
    z-index: 2;
}
.spp-price-tag small {
    display: block;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    opacity: 0.7;
}
.spp-price-tag strong {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
}
.spp-body {
    padding: 28px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.spp-dest {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.spp-dest span {
    padding: 4px 12px;
    background: var(--gold-muted);
    color: var(--gold-dark);
    border-radius: 50px;
    font-size: 11px;
    font-weight: 500;
}
.spp-body h3 {
    font-size: 20px;
    color: var(--dark);
    margin-bottom: 10px;
    font-family: var(--font-display);
    line-height: 1.3;
}
.spp-body h3 a:hover { color: var(--gold); }
.spp-body p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.7;
    margin-bottom: 20px;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.spp-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 18px;
    border-top: 1px solid var(--gray-200);
}
.spp-footer .btn { flex: 1; justify-content: center; }

/* --- Destinations Showcase --- */
.dest-showcase { background: var(--white); }
.dest-showcase-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: 320px 320px;
    gap: 16px;
}
.dest-showcase-grid .dest-card:first-child {
    grid-column: span 2;
    grid-row: span 2;
}

/* --- Testimonials Premium --- */
.testimonials-premium { background: var(--cream); }
.tp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.tp-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 36px;
    position: relative;
    transition: var(--transition);
    border: 1px solid rgba(0,0,0,0.04);
    box-shadow: var(--shadow-card);
}
.tp-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
}
.tp-card::before {
    content: '\201C';
    position: absolute;
    top: 20px;
    right: 28px;
    font-size: 72px;
    font-family: var(--font-display);
    color: var(--gold);
    opacity: 0.12;
    line-height: 1;
}
.tp-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 18px;
}
.tp-stars svg { width: 16px; height: 16px; fill: var(--gold); }
.tp-quote {
    font-size: 15px;
    color: var(--gray-700);
    line-height: 1.8;
    margin-bottom: 24px;
    font-style: italic;
    position: relative;
    z-index: 1;
}
.tp-author {
    display: flex;
    align-items: center;
    gap: 14px;
}
.tp-avatar {
    width: 50px;
    height: 50px;
    border-radius: var(--radius-full);
    background: linear-gradient(135deg, var(--gold), var(--gold-dark));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-weight: 700;
    font-size: 16px;
    flex-shrink: 0;
}
.tp-info h4 {
    font-size: 15px;
    color: var(--dark);
    font-family: var(--font-body);
    font-weight: 600;
}
.tp-info span {
    font-size: 12px;
    color: var(--gray-500);
}
.tp-source {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: 11px;
    color: var(--gray-400);
}
.tp-source svg { width: 12px; height: 12px; fill: var(--gray-400); }

/* --- Final CTA Premium --- */
.cta-premium {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
    background: var(--dark);
}
.cta-premium-bg {
    position: absolute;
    inset: 0;
}
.cta-premium-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.35;
}
.cta-premium-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(27,51,30,0.88) 0%, rgba(27,51,30,0.75) 50%, rgba(27,51,30,0.9) 100%);
}
.cta-premium-content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 750px;
    margin: 0 auto;
}
.cta-premium-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(224,159,62,0.18);
    border: 1px solid rgba(224,159,62,0.4);
    padding: 12px 28px;
    border-radius: 50px;
    color: #F0C060;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 28px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.cta-premium-content h2 {
    font-size: 52px;
    color: var(--white);
    margin-bottom: 20px;
    line-height: 1.1;
    text-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.cta-premium-content h2 span { color: #F0C060; }
.cta-premium-content p {
    font-size: 18px;
    color: rgba(255,255,255,0.7);
    line-height: 1.75;
    margin-bottom: 40px;
}
.cta-premium-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}
.cta-premium-buttons .btn-gold {
    background: var(--tan-500);
    color: #fff;
    font-weight: 700;
    padding: 18px 40px;
    font-size: 14px;
    border-radius: 14px;
    box-shadow: 0 4px 20px rgba(224,159,62,0.4);
    transition: all 0.3s ease;
    text-shadow: none;
}
.cta-premium-buttons .btn-gold:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(224,159,62,0.5);
    background: #D4A853;
}
.cta-premium-buttons .btn-outline {
    background: rgba(255,255,255,0.1);
    color: var(--white);
    border: 2px solid rgba(255,255,255,0.6);
    font-weight: 700;
    padding: 18px 40px;
    font-size: 14px;
    border-radius: 14px;
    transition: all 0.3s ease;
    text-shadow: none;
}
.cta-premium-buttons .btn-outline:hover {
    background: var(--white);
    color: var(--dark);
    border-color: var(--white);
    transform: translateY(-2px);
}
.cta-premium-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
    margin-top: 8px;
}
.cta-trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: rgba(255,255,255,0.75);
    letter-spacing: 0.3px;
}
.cta-trust-item svg {
    width: 18px;
    height: 18px;
    fill: var(--gold-on-dark);
    flex-shrink: 0;
}

/* --- Responsive for homepage premium --- */
@media (max-width: 1024px) {
    .trust-bar-inner { flex-wrap: wrap; }
    .trust-bar-item { border-right: none; border-bottom: 1px solid rgba(0,0,0,0.04); padding: 20px 24px; flex: unset; width: 50%; }
    .hiw-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .hiw-grid::before { display: none; }
    .experience-banner-content { grid-template-columns: 1fr; gap: 48px; }
    .safari-premium-grid { grid-template-columns: repeat(2, 1fr); }
    .dest-showcase-grid { grid-template-columns: repeat(3, 1fr); grid-template-rows: auto; }
    .dest-showcase-grid .dest-card:first-child { grid-column: span 2; grid-row: span 1; min-height: 300px; }
    .tp-grid { grid-template-columns: repeat(2, 1fr); }
    .cta-premium-content h2 { font-size: 38px; }
}
@media (max-width: 768px) {
    .section-padding { padding: 56px 0; }
    .section-header { margin-bottom: 40px; }
    .section-header h2 { font-size: 26px; }
    .section-header p { font-size: 14px; }

    /* Hero - shorter on mobile */
    .hero { min-height: 600px; }
    .hero-content { padding: 0 20px; max-width: 100%; }
    .hero h1 { font-size: 32px; line-height: 1.15; margin-bottom: 16px; }
    .hero p { font-size: 14px; line-height: 1.65; margin-bottom: 28px; max-width: 100%; }
    .hero-badge { font-size: 9px; padding: 8px 16px; letter-spacing: 2px; margin-bottom: 20px; }
    .hero-buttons { flex-direction: row; gap: 10px; }
    .hero-buttons .btn { flex: 1; justify-content: center; padding: 14px 16px; font-size: 11px; }
    .hero-dots { display: none; }

    /* Hero stats - compact 2x2 */
    .hero-stats .container { grid-template-columns: repeat(2, 1fr); gap: 0; }
    .stat-item { padding: 14px 10px; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); }
    .stat-item:nth-child(2) { border-right: none; }
    .stat-item:nth-child(3), .stat-item:nth-child(4) { border-bottom: none; }
    .stat-item .number { font-size: 22px; margin-bottom: 4px; }
    .stat-item .label { font-size: 8px; letter-spacing: 1px; }

    /* Trust bar - compact 2x2 */
    .trust-bar-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
    .trust-bar-item { border-right: none; border-bottom: 1px solid rgba(0,0,0,0.04); padding: 14px 12px; text-align: center; }
    .trust-bar-item:nth-child(2) { border-right: none; }
    .trust-bar-item:nth-child(3), .trust-bar-item:nth-child(4) { border-bottom: none; }
    .trust-bar-text strong { font-size: 12px; display: block; }
    .trust-bar-text span { font-size: 9px; letter-spacing: 0.5px; }
    .trust-bar-stars { justify-content: center; }

    /* Experience banner */
    .experience-banner-content { grid-template-columns: 1fr; gap: 32px; }
    .experience-banner-text h2 { font-size: 28px; }
    .experience-banner { padding: 64px 0; }

    /* How it works */
    .hiw-card h3 { font-size: 18px; }
    .hiw-card p { font-size: 14px; }
    .hiw-number { width: 52px; height: 52px; font-size: 22px; margin-bottom: 16px; }

    /* Grids */
    .hiw-grid { grid-template-columns: 1fr; gap: 24px; }
    .experience-stats-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .exp-stat-card { padding: 20px 16px; }
    .exp-stat-num { font-size: 28px; }
    .safari-premium-grid { grid-template-columns: 1fr; }
    .dest-showcase-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
    .dest-showcase-grid .dest-card:first-child { grid-column: span 1; min-height: 240px; }
    .dest-card { min-height: 200px; }
    .tp-grid { grid-template-columns: 1fr; }

    /* CTA */
    .cta-premium-content h2 { font-size: 28px; }
    .cta-premium { padding: 72px 0; }
    .cta-premium-trust { flex-direction: column; gap: 10px; }

    /* Horizontal scroll cards */
    .hs-card { flex: 0 0 300px; }
    .hs-card img { height: 220px; }
    .pkg-card { flex: 0 0 320px; }
    .pkg-card-img { height: 200px; }

    /* Testimonial large */
    .tl-grid { grid-template-columns: 1fr; gap: 32px; }
    .tl-stats { grid-template-columns: 1fr 1fr; gap: 12px; }
    .tl-stat { padding: 20px 16px; }
    .tl-stat-num { font-size: 28px; }
    .tl-quote-card { padding: 28px; }
    .tl-quote-text { font-size: 15px; }

    /* Kilimanjaro */
    .kilimanjaro-content { grid-template-columns: 1fr; gap: 32px; }
    .kilimanjaro-text h2 { font-size: 30px; }
    .kilimanjaro-features { grid-template-columns: 1fr; }

    /* Zanzibar */
    .zanzibar-content { grid-template-columns: 1fr; gap: 32px; }
    .zanzibar-text h2 { font-size: 30px; }

    /* Blog */
    .blog-grid { grid-template-columns: 1fr; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: 32px; }

    /* WhatsApp float - smaller on mobile */
    .whatsapp-float { width: 50px; height: 50px; bottom: 16px; right: 16px; }
    .whatsapp-float svg { width: 26px; height: 26px; }

    /* Scroll to top - smaller */
    .scroll-top { width: 40px; height: 40px; bottom: 16px; left: 16px; }

    /* Detail pages */
    .detail-hero { height: 50vh; min-height: 340px; }
    .detail-hero-content h1 { font-size: 26px; }

    /* Tables */
    table { font-size: 12px; }
    th, td { padding: 10px 12px !important; }
}

/* ================================================================
   DESTINATIONS PAGE
   ================================================================ */

/* Hero */
.dest-hero {
    position: relative;
    height: 85vh;
    min-height: 600px;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.dest-hero-bg { position: absolute; inset: 0; }
.dest-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.dest-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(27,51,30,0.85) 0%, rgba(27,51,30,0.4) 100%);
}
.dest-hero-content {
    position: relative;
    z-index: 2;
    max-width: 700px;
    padding: 0 40px;
    margin: 0 auto;
    text-align: center;
}
.dest-hero-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold-on-dark);
    margin-bottom: 20px;
}
.dest-hero-content h1 {
    font-size: 56px;
    color: var(--white);
    line-height: 1.1;
    margin-bottom: 20px;
}
.dest-hero-content h1 span { color: var(--gold-on-dark); font-style: italic; }
.dest-hero-content p {
    font-size: 17px;
    color: rgba(255,255,255,0.65);
    line-height: 1.75;
    margin-bottom: 32px;
}
.dest-hero-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* Hero Stats */
.dest-hero-stats {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3;
    background: rgba(27,51,30,0.85);
    backdrop-filter: blur(20px);
    border-top: 1px solid rgba(224,159,62,0.15);
}
.dest-hero-stats .container {
    display: flex;
    justify-content: space-between;
}
.dhs-item {
    flex: 1;
    text-align: center;
    padding: 20px 16px;
    border-right: 1px solid rgba(255,255,255,0.06);
}
.dhs-item:last-child { border-right: none; }
.dhs-item strong {
    display: block;
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 700;
    color: var(--tan-500);
    line-height: 1;
    margin-bottom: 4px;
}
.dhs-item span {
    font-size: 10px;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Why Tanzania Intro */
.dest-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}
.dest-intro-tag {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 16px;
}
.dest-intro-text h2 {
    font-size: 36px;
    color: var(--dark);
    margin-bottom: 20px;
}
.dest-intro-text p {
    font-size: 15px;
    color: var(--gray-500);
    line-height: 1.8;
    margin-bottom: 16px;
}
.dest-intro-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.dest-intro-stat {
    background: var(--cream);
    border-radius: var(--radius-md);
    padding: 24px;
    border: 1px solid rgba(0,0,0,0.04);
}
.dis-num {
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
    margin-bottom: 8px;
}
.dis-text {
    font-size: 13px;
    color: var(--gray-500);
    line-height: 1.5;
}

/* Circuit Tabs */
.circuit-tabs {
    display: flex;
    gap: 12px;
    margin-bottom: 40px;
    justify-content: center;
}
.circuit-tab {
    padding: 16px 28px;
    background: var(--white);
    border: 2px solid var(--gray-200);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: var(--transition);
    text-align: center;
}
.circuit-tab:hover { border-color: var(--gold); }
.circuit-tab.active {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--white);
}
.circuit-tab strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 4px;
}
.circuit-tab span {
    font-size: 12px;
    opacity: 0.7;
}
.circuit-tab.active span { opacity: 0.9; }
.circuit-content { display: none; }
.circuit-content.active { display: block; }
.circuit-intro h3 {
    font-size: 20px;
    color: var(--dark);
    margin-bottom: 28px;
    font-family: var(--font-display);
}

/* Destination Park Cards */
.dest-cards-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}
.dest-park-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.04);
    box-shadow: var(--shadow-card);
    transition: var(--transition);
}
.dest-park-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-xl);
}
.dpc-img {
    position: relative;
    height: 240px;
    overflow: hidden;
}
.dpc-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s;
}
.dest-park-card:hover .dpc-img img { transform: scale(1.06); }
.dpc-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--gold);
    color: var(--white);
    padding: 5px 14px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.dpc-unesco { background: #22C55E; }
.dpc-elephant { background: #8b6914; }
.dpc-scenic { background: #3a7bd5; }
.dpc-remote { background: #6c5ce7; }
.dpc-beach { background: #00b4d8; }
.dpc-size {
    position: absolute;
    top: 14px;
    right: 14px;
    background: rgba(27,51,30,0.75);
    backdrop-filter: blur(8px);
    color: var(--white);
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 600;
}
.dpc-body { padding: 24px; }
.dpc-subtitle {
    font-size: 12px;
    color: var(--gold);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 6px;
}
.dpc-body h4 {
    font-size: 20px;
    color: var(--dark);
    margin-bottom: 10px;
    font-family: var(--font-display);
}
.dpc-meta {
    display: flex;
    gap: 16px;
    margin-bottom: 14px;
    font-size: 12px;
    color: var(--gray-500);
    flex-wrap: wrap;
}
.dpc-meta span {
    display: flex;
    align-items: center;
    gap: 4px;
}
.dpc-body p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.7;
    margin-bottom: 16px;
}
.dpc-features {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}
.dpc-features span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--gray-700);
}
.dpc-features svg {
    width: 16px;
    height: 16px;
    fill: var(--green);
    flex-shrink: 0;
}
.dpc-wildlife {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 20px;
}
.dpc-wildlife span {
    padding: 4px 10px;
    background: var(--cream);
    border-radius: 50px;
    font-size: 11px;
    font-weight: 500;
    color: var(--gray-600);
}

/* Booking Steps */
.booking-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.booking-step {
    text-align: center;
    padding: 28px 20px;
}
.bs-num {
    font-family: var(--font-display);
    font-size: 42px;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.3;
    line-height: 1;
    margin-bottom: 16px;
}
.booking-step h4 {
    font-size: 17px;
    color: var(--dark);
    margin-bottom: 10px;
    font-family: var(--font-display);
}
.booking-step p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.7;
}

/* Season Cards */
.season-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.season-card {
    background: var(--white);
    border-radius: var(--radius-md);
    padding: 28px 24px;
    border: 1px solid rgba(0,0,0,0.04);
    text-align: center;
    transition: var(--transition);
}
.season-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}
.sc-icon {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}
.season-card h4 {
    font-size: 18px;
    color: var(--dark);
    margin-bottom: 4px;
    font-family: var(--font-display);
}
.sc-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--gold);
    margin-bottom: 12px;
}
.season-card p {
    font-size: 13px;
    color: var(--gray-500);
    line-height: 1.6;
}

@media (max-width: 1024px) {
    .dest-intro-grid { grid-template-columns: 1fr; gap: 40px; }
    .dest-cards-grid { grid-template-columns: 1fr; }
    .booking-steps { grid-template-columns: repeat(2, 1fr); }
    .season-cards { grid-template-columns: repeat(2, 1fr); }
    .circuit-tabs { flex-wrap: wrap; justify-content: center; }
}
@media (max-width: 768px) {
    .dest-hero { height: 70vh; min-height: 500px; }
    .dest-hero-content { padding: 0 20px; }
    .dest-hero-content h1 { font-size: 36px; }
    .dest-hero-content p { font-size: 15px; }
    .dest-hero-stats .container { flex-wrap: wrap; }
    .dhs-item { flex: 0 0 33.33%; border-bottom: 1px solid rgba(255,255,255,0.06); }
    .dest-intro-text h2 { font-size: 28px; }
    .dest-intro-stats { grid-template-columns: 1fr; }
    .circuit-tab { padding: 12px 20px; }
    .circuit-tab strong { font-size: 13px; }
    .circuit-tab span { font-size: 10px; }
    .booking-steps { grid-template-columns: 1fr; }
    .season-cards { grid-template-columns: 1fr; }
}
.dest-home-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 220px;
    gap: 14px;
}
.dest-home-card {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
    display: block;
}
.dest-home-featured {
    grid-column: span 2;
    grid-row: span 2;
}
.dest-home-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.dest-home-card:hover img { transform: scale(1.08); }
.dest-home-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(27,51,30,0.88) 0%, rgba(27,51,30,0.2) 45%, transparent 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
    transition: background 0.4s;
}
.dest-home-card:hover .dest-home-overlay {
    background: linear-gradient(to top, rgba(27,51,30,0.95) 0%, rgba(27,51,30,0.4) 50%, rgba(27,51,30,0.1) 100%);
}
.dest-home-region {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: var(--tan-500);
    margin-bottom: 6px;
}
.dest-home-overlay h3 {
    font-size: 17px;
    color: var(--white);
    margin-bottom: 8px;
    font-family: var(--font-display);
    line-height: 1.2;
    transition: color 0.3s;
}
.dest-home-featured .dest-home-overlay h3 {
    font-size: 24px;
}
.dest-home-card:hover .dest-home-overlay h3 {
    color: var(--tan-500);
}
.dest-home-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: var(--tan-500);
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s;
    opacity: 0;
    transform: translateY(6px);
}
.dest-home-card:hover .dest-home-link {
    opacity: 1;
    transform: translateY(0);
    gap: 10px;
}
.dest-home-link svg {
    width: 14px;
    height: 14px;
    fill: var(--tan-500);
    transition: transform 0.3s;
}
.dest-home-card:hover .dest-home-link svg {
    transform: translateX(3px);
}

/* ── Destinations — Responsive ──────────────────────────── */
@media (max-width: 1024px) {
    .dest-home-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 200px;
    }
    .dest-home-featured {
        grid-column: span 2;
        grid-row: span 1;
    }
    .dest-home-featured .dest-home-overlay h3 { font-size: 20px; }
}
@media (max-width: 768px) {
    .dest-home-grid {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 180px;
        gap: 10px;
    }
    .dest-home-featured {
        grid-column: span 2;
        grid-row: span 1;
    }
    .dest-home-overlay { padding: 14px; }
    .dest-home-overlay h3 { font-size: 15px; }
    .dest-home-featured .dest-home-overlay h3 { font-size: 18px; }
    .dest-home-region { font-size: 8px; letter-spacing: 2px; }
    .dest-home-link { font-size: 10px; opacity: 1; transform: translateY(0); }
}
@media (max-width: 480px) {
    .dest-home-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 200px;
        gap: 10px;
    }
    .dest-home-featured {
        grid-column: span 1;
        grid-row: span 1;
    }
    .dest-home-overlay { padding: 16px; }
    .dest-home-overlay h3 { font-size: 17px; }
    .dest-home-featured .dest-home-overlay h3 { font-size: 20px; }
    .dest-home-link { opacity: 1; transform: translateY(0); }

    /* ── Hero — Small Phone ─────────────────────────────── */
    .hero {
        min-height: 100vh;
        min-height: 100dvh;
    }
    .hero h1 { font-size: 26px; }
    .hero p { font-size: 13px; margin-bottom: 24px; }
    .hero-content { padding: 0 12px; }
    .hero-badge {
        padding: 6px 12px;
        font-size: 8px;
        letter-spacing: 1.5px;
        margin-bottom: 16px;
    }
    .stat-item .number { font-size: 20px; }
    .stat-item .label { font-size: 8px; }
    .stat-item { padding: 12px 8px; }
}

/* ================================================================
   ABOUT PAGE
   ================================================================ */

/* Hero */
.about-hero {
    position: relative;
    height: 70vh;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-top: var(--header-height);
}
.about-hero-bg { position: absolute; inset: 0; }
.about-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.about-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(27,51,30,0.85) 0%, rgba(27,51,30,0.5) 100%);
}
.about-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 0 24px;
}
.about-hero-tag {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold-on-dark);
    margin-bottom: 20px;
}
.about-hero-content h1 {
    font-size: 52px;
    color: var(--white);
    line-height: 1.1;
    margin-bottom: 16px;
}
.about-hero-content h1 span { color: var(--gold-on-dark); font-style: italic; }
.about-hero-content p {
    font-size: 18px;
    color: rgba(255,255,255,0.6);
    max-width: 600px;
    margin: 0 auto;
}

/* Story Section */
.about-story-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}
.about-story-tag {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 16px;
}
.about-story-text h2 {
    font-size: 38px;
    color: var(--dark);
    margin-bottom: 24px;
}
.about-story-text p {
    font-size: 16px;
    color: var(--gray-600);
    line-height: 1.85;
    margin-bottom: 18px;
}
.about-story-text strong { color: var(--dark); }
.about-story-visual {
    position: relative;
}
.about-story-visual img {
    width: 100%;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
}
.about-story-badge {
    position: absolute;
    bottom: -24px;
    left: -24px;
    background: var(--gold);
    color: var(--white);
    padding: 28px 32px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-gold);
    text-align: center;
    min-width: 160px;
}
.asb-num {
    font-family: var(--font-display);
    font-size: 42px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 4px;
}
.asb-text {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 2px;
    opacity: 0.85;
}

/* Why Choose Us Grid */
.about-why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.about-why-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 36px 28px;
    border: 1px solid rgba(0,0,0,0.04);
    transition: var(--transition);
}
.about-why-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
}
.awc-icon {
    width: 56px;
    height: 56px;
    background: var(--gold-muted);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.awc-icon svg {
    width: 26px;
    height: 26px;
    fill: var(--gold);
}
.about-why-card h3 {
    font-size: 18px;
    color: var(--dark);
    margin-bottom: 12px;
    font-family: var(--font-display);
}
.about-why-card p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.7;
}

/* Stats Section */
.about-stats-section {
    background: var(--dark);
    padding: 60px 0;
}
.about-stats-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
}
.about-stat-item {
    text-align: center;
    padding: 24px 16px;
    border-right: 1px solid rgba(255,255,255,0.06);
}
.about-stat-item:last-child { border-right: none; }
.asi-num {
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 700;
    color: var(--tan-500);
    line-height: 1;
    margin-bottom: 6px;
}
.asi-label {
    font-size: 11px;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* Founder Section */
.about-founder-grid {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 80px;
    align-items: center;
}
.about-founder-img img {
    width: 100%;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
}
.about-founder-name-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 24px 28px;
    box-shadow: var(--shadow-md);
    margin-top: -40px;
    position: relative;
    z-index: 2;
    border-left: 4px solid var(--gold);
}
.about-founder-name-card h4 {
    font-size: 20px;
    color: var(--dark);
    margin-bottom: 4px;
    font-family: var(--font-display);
}
.about-founder-name-card span {
    font-size: 13px;
    color: var(--gold);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.about-founder-tag {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 16px;
}
.about-founder-text h2 {
    font-size: 36px;
    color: var(--dark);
    margin-bottom: 24px;
}
.about-founder-text h2 span { color: var(--gold); }
.about-founder-text p {
    font-size: 16px;
    color: var(--gray-600);
    line-height: 1.85;
    margin-bottom: 16px;
}
.about-founder-text strong { color: var(--dark); }

/* Services Grid */
.about-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.about-service {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 32px 28px;
    border: 1px solid rgba(0,0,0,0.04);
    transition: var(--transition);
}
.about-service:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}
.as-icon {
    width: 52px;
    height: 52px;
    background: var(--gold-muted);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}
.as-icon svg {
    width: 24px;
    height: 24px;
    fill: var(--gold);
}
.about-service h3 {
    font-size: 17px;
    color: var(--dark);
    margin-bottom: 10px;
    font-family: var(--font-display);
}
.about-service p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.7;
}

/* Sustainability Section */
.about-sustainability {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}
.about-sust-tag {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 16px;
}
.about-sust-text h2 {
    font-size: 36px;
    color: var(--dark);
    margin-bottom: 24px;
}
.about-sust-text p {
    font-size: 16px;
    color: var(--gray-600);
    line-height: 1.85;
    margin-bottom: 16px;
}
.about-sust-features {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.about-sust-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    background: var(--cream);
    border-radius: var(--radius-md);
    transition: var(--transition);
}
.about-sust-item:hover {
    background: var(--gold-muted);
    transform: translateX(4px);
}
.about-sust-item svg {
    width: 22px;
    height: 22px;
    fill: var(--green);
    flex-shrink: 0;
}
.about-sust-item span {
    font-size: 15px;
    font-weight: 500;
    color: var(--dark);
}

@media (max-width: 1024px) {
    .about-story-grid { grid-template-columns: 1fr; gap: 48px; }
    .about-story-visual { order: -1; }
    .about-why-grid { grid-template-columns: repeat(2, 1fr); }
    .about-stats-grid { grid-template-columns: repeat(3, 1fr); }
    .about-stat-item { border-bottom: 1px solid rgba(255,255,255,0.06); }
    .about-founder-grid { grid-template-columns: 1fr; gap: 48px; }
    .about-founder-img { order: -1; }
    .about-services-grid { grid-template-columns: repeat(2, 1fr); }
    .about-sustainability { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 768px) {
    .about-hero { height: 60vh; min-height: 400px; }
    .about-hero-content h1 { font-size: 36px; }
    .about-story-text h2 { font-size: 28px; }
    .about-story-badge { left: 16px; bottom: -16px; padding: 20px 24px; }
    .asb-num { font-size: 34px; }
    .about-why-grid { grid-template-columns: 1fr; }
    .about-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .about-stat-item { border-right: none; }
    .about-founder-text h2 { font-size: 28px; }
    .about-services-grid { grid-template-columns: 1fr; }
    .about-sust-text h2 { font-size: 28px; }
}

/* ================================================================
   ABOUT INTRO - Between Hero and Trust Bar
   ================================================================ */
.about-intro {
    background: var(--white);
    padding: 60px 0 40px;
    overflow: hidden;
}
.about-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}
.about-intro-content { position: relative; }
.about-intro-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 20px;
}
.about-intro-tag::before {
    content: '';
    width: 32px;
    height: 1px;
    background: var(--gold);
}
.about-intro-content h2 {
    font-size: 40px;
    color: var(--dark);
    line-height: 1.15;
    margin-bottom: 24px;
}
.about-intro-content h2 span { color: var(--gold); }
.about-intro-content p {
    font-size: 16px;
    color: var(--gray-500);
    line-height: 1.8;
    margin-bottom: 16px;
}
.about-intro-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 32px 0;
}
.about-intro-feature {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--cream);
    border-radius: var(--radius-sm);
    transition: var(--transition);
}
.about-intro-feature::before {
    content: '';
    width: 6px;
    height: 6px;
    background: var(--gold);
    border-radius: var(--radius-full);
    flex-shrink: 0;
}
.about-intro-feature:hover {
    background: var(--gold-muted);
    transform: translateX(4px);
}
.about-intro-feature span {
    font-size: 14px;
    font-weight: 600;
    color: var(--dark);
}
.about-intro-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.about-intro-img-main {
    width: 100%;
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-xl);
    position: relative;
    z-index: 2;
}
.about-intro-img-main img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    display: block;
}
.about-intro-img-float {
    position: absolute;
    bottom: -30px;
    left: -30px;
    background: var(--gold);
    color: var(--white);
    padding: 28px 32px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-gold);
    z-index: 3;
    text-align: center;
    min-width: 160px;
}
.about-intro-img-float .number {
    font-family: var(--font-display);
    font-size: 42px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 4px;
}
.about-intro-img-float .label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 2px;
    opacity: 0.85;
}
.about-intro-img-accent {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 120px;
    height: 120px;
    border: 3px solid var(--gold);
    border-radius: var(--radius-xl);
    opacity: 0.2;
    z-index: 1;
}
@media (max-width: 1024px) {
    .about-intro-grid { grid-template-columns: 1fr; gap: 48px; }
    .about-intro-visual { order: -1; }
    .about-intro-img-main img { height: 400px; }
    .about-intro-img-float { bottom: -20px; left: 20px; padding: 20px 24px; }
    .about-intro-img-float .number { font-size: 34px; }
}
@media (max-width: 768px) {
    .about-intro { padding: 56px 0 0; }
    .about-intro-content h2 { font-size: 28px; }
    .about-intro-content p { font-size: 14px; }
    .about-intro-features { grid-template-columns: 1fr 1fr; gap: 8px; }
    .about-intro-feature { padding: 10px 12px; gap: 8px; }
    .about-intro-feature span { font-size: 12px; }
    .about-intro-img-main img { height: 300px; }
    .about-intro-img-float { left: 16px; bottom: -16px; padding: 16px 20px; min-width: auto; }
    .about-intro-img-float .number { font-size: 28px; }
    .about-intro-img-float .label { font-size: 9px; }
    .about-intro-img-accent { display: none; }
}

/* ================================================================
   HORIZONTAL SCROLL CARDS (Extreme Wilderness style)
   ================================================================ */
.hs-section { overflow: hidden; }
.hs-scroll-wrapper {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 0 24px 20px;
    scrollbar-width: none;
}
.hs-scroll-wrapper::-webkit-scrollbar { display: none; }
.hs-card {
    flex: 0 0 380px;
    scroll-snap-align: start;
    border-radius: var(--radius-lg);
    overflow: hidden;
    position: relative;
    cursor: pointer;
    transition: var(--transition);
    box-shadow: var(--shadow-card);
}
.hs-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-xl); }
.hs-card img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    transition: transform 0.7s ease;
}
.hs-card:hover img { transform: scale(1.06); }
.hs-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(27,51,30,0.88) 0%, rgba(27,51,30,0.1) 50%, transparent 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px;
}
.hs-card-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: rgba(27,51,30,0.7);
    backdrop-filter: blur(8px);
    color: var(--white);
    padding: 5px 14px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.hs-card-overlay h3 {
    font-size: 22px;
    color: var(--white);
    margin-bottom: 6px;
    font-family: var(--font-display);
}
.hs-card-overlay p {
    font-size: 13px;
    color: rgba(255,255,255,0.6);
    margin-bottom: 12px;
}
.hs-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--gold);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.hs-card-link svg {
    width: 16px;
    height: 16px;
    fill: var(--gold);
    transition: transform 0.3s;
}
.hs-card:hover .hs-card-link svg { transform: translateX(4px); }
.hs-scroll-nav {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 32px;
}
.hs-scroll-btn {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
    border: 1.5px solid var(--gray-300);
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--transition);
}
.hs-scroll-btn:hover {
    background: var(--gold);
    border-color: var(--gold);
}
.hs-scroll-btn svg {
    width: 18px;
    height: 18px;
    fill: var(--gray-600);
}
.hs-scroll-btn:hover svg { fill: var(--white); }

/* ================================================================
   SAFARI PACKAGE CARDS (Extreme Wilderness style)
   ================================================================ */
.pkg-scroll-wrapper {
    display: flex;
    gap: 28px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 0 24px 20px;
    scrollbar-width: none;
}
.pkg-scroll-wrapper::-webkit-scrollbar { display: none; }
.pkg-card {
    flex: 0 0 420px;
    scroll-snap-align: start;
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.04);
    box-shadow: var(--shadow-card);
    transition: var(--transition);
}
.pkg-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-xl);
}
.pkg-card-img {
    position: relative;
    height: 260px;
    overflow: hidden;
}
.pkg-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}
.pkg-card:hover .pkg-card-img img { transform: scale(1.06); }
.pkg-card-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: var(--gold);
    color: var(--white);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    z-index: 2;
}
.pkg-card-meta {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(27,51,30,0.82);
    backdrop-filter: blur(12px);
    display: flex;
    gap: 0;
    padding: 0;
}
.pkg-meta-item {
    flex: 1;
    padding: 12px 16px;
    text-align: center;
    border-right: 1px solid rgba(255,255,255,0.08);
    color: var(--white);
    font-size: 12px;
    font-weight: 500;
}
.pkg-meta-item:last-child { border-right: none; }
.pkg-meta-item strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 2px;
}
.pkg-card-body {
    padding: 28px;
}
.pkg-card-body h3 {
    font-size: 20px;
    color: var(--dark);
    margin-bottom: 16px;
    font-family: var(--font-display);
    line-height: 1.3;
}
.pkg-features {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 24px;
}
.pkg-feature {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--gray-600);
}
.pkg-feature svg {
    width: 18px;
    height: 18px;
    fill: var(--green);
    flex-shrink: 0;
}
.pkg-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 20px;
    border-top: 1px solid var(--gray-200);
}
.pkg-price {
    display: flex;
    flex-direction: column;
}
.pkg-price small {
    font-size: 10px;
    color: var(--gray-400);
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.pkg-price strong {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
}
.pkg-price span {
    font-size: 12px;
    color: var(--gray-500);
}

/* ================================================================
   SEASON TIMING GUIDE (Extreme Wilderness style)
   ================================================================ */
.season-guide { background: var(--cream); }

/* Month Cards Grid */
.sg-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    margin-bottom: 40px;
}
.sg-card {
    background: var(--white);
    border-radius: var(--radius-md);
    padding: 18px;
    border: 1.5px solid var(--gray-200);
    transition: var(--transition);
}
.sg-card:hover { border-color: var(--gold); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.sg-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.sg-card-month {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    color: var(--dark);
}
.sg-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.sg-great { background: rgba(34,197,94,0.1); color: var(--green); }
.sg-peak { background: rgba(224,159,62,0.12); color: var(--gold-dark); }
.sg-good { background: rgba(88,166,255,0.1); color: #3a7bd5; }
.sg-low { background: rgba(173,181,189,0.15); color: var(--gray-600); }
.sg-dots {
    display: flex;
    gap: 4px;
    margin-bottom: 10px;
}
.sg-dots .dot {
    width: 10px;
    height: 10px;
    border-radius: var(--radius-full);
    background: var(--gray-200);
}
.sg-dots .dot.filled { background: var(--gold); }
.sg-card-desc {
    font-size: 12px;
    color: var(--gray-500);
    line-height: 1.5;
}
/* Current month highlight */
.sg-now {
    border-color: var(--gold);
    box-shadow: 0 0 0 1px var(--gold), var(--shadow-md);
}
.sg-now-label {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--gold);
    margin-top: 10px;
    text-align: center;
}

/* Trackers */
.sg-trackers {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.sg-tracker {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 28px;
    border: 1px solid rgba(0,0,0,0.04);
}
.sg-tracker-title {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--gold);
    margin-bottom: 6px;
}
.sg-tracker-sub {
    font-size: 13px;
    color: var(--gray-500);
    margin-bottom: 20px;
}
.sg-bars {
    display: flex;
    gap: 4px;
    margin-bottom: 16px;
}
.sg-bar {
    flex: 1;
    height: 40px;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: var(--transition);
}
.sg-bar:hover { transform: scaleY(1.1); }
.sg-bar span {
    font-size: 9px;
    font-weight: 600;
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.sg-bar-active {
    box-shadow: 0 0 0 2px var(--white), 0 0 0 4px var(--gold);
}
.sg-bar-now {
    font-size: 7px !important;
    opacity: 0.8;
    margin-top: 1px;
}
.sg-bar-low span { color: var(--gray-500); }
.sg-tracker-legend {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.sg-tracker-legend span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--gray-600);
}
.sg-tracker-legend i {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    display: inline-block;
}
.sg-tracker-note {
    font-size: 13px;
    color: var(--gray-600);
    line-height: 1.6;
    padding: 14px 16px;
    background: var(--cream);
    border-radius: var(--radius-sm);
    border-left: 3px solid var(--gold);
}

@media (max-width: 1024px) {
    .sg-grid { grid-template-columns: repeat(4, 1fr); }
    .sg-trackers { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .sg-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .sg-card { padding: 14px 12px; }
    .sg-card-month { font-size: 16px; }
    .sg-dots .dot { width: 8px; height: 8px; }
    .sg-bars { gap: 2px; }
    .sg-bar { height: 32px; }
    .sg-bar span { font-size: 7px; }
    .sg-tracker { padding: 20px; }
    .sg-tracker-legend { gap: 10px; }
}
@media (max-width: 480px) {
    .sg-grid { grid-template-columns: repeat(2, 1fr); }

    /* ── Hero Sections — Small Phone ────────────────────── */
    .safari-hero,
    .zanzibar-hero,
    .trip-hero {
        min-height: 60vh;
        padding: 80px 12px 40px;
    }
    .safari-hero h1,
    .zanzibar-hero h1,
    .trip-hero h1 { font-size: 26px; }
    .kili-hero { min-height: 100vh; padding: 70px 12px 30px; }
    .kili-hero h1 { font-size: 30px; }
    .dest-hero { min-height: 60vh; padding: 80px 12px 40px; }
    .dest-hero h1 { font-size: 26px; }
    .about-hero { min-height: 50vh; padding: 80px 12px 40px; }
    .about-hero h1 { font-size: 26px; }
    .contact-hero { min-height: 40vh; padding: 80px 12px 40px; }
    .contact-hero h1 { font-size: 26px; }
    .hero { min-height: 100vh; padding-bottom: 40px; }
    .hero h1 { font-size: 28px; }
    .hero-content { padding: 0 12px; }
    .section-padding { padding: 36px 0; }
    .section-header h2 { font-size: 22px; }
    .kili-hero-stat { padding: 12px 14px; }
    .kili-hero-stat-num { font-size: 24px; }
    .dhs-item strong { font-size: 18px; }
    .safari-hero-badge,
    .zanzibar-hero-badge,
    .trip-hero-badge,
    .kili-hero-badge {
        padding: 6px 12px;
        font-size: 8px;
    }

    /* ── Route Cards — Small Phone ──────────────────────── */
    .kili-route-card { grid-template-columns: 1fr; }
    .kili-route-img { min-height: 180px; }
    .kili-route-body { padding: 16px 12px; }
    .kili-route-top h3 { font-size: 18px; }
    .kili-route-subtitle { font-size: 12px; }
    .kili-route-quick-stats { flex-direction: column; gap: 6px; }
    .kili-qs-item { font-size: 11px; }
    .kili-route-gates { gap: 8px; }
    .kili-gate-name { font-size: 12px; }
    .kili-route-desc { font-size: 12px; }
    .kili-route-meta { gap: 6px; }
    .kili-meta-item { font-size: 10px; }
    .kili-route-actions { gap: 8px; }
    .kili-route-btn { padding: 10px 16px; font-size: 12px; }
}

/* ================================================================
   TESTIMONIAL LARGE (Extreme Wilderness style)
   ================================================================ */
.testimonial-large-section {
    background: var(--dark);
    position: relative;
    overflow: hidden;
}
.testimonial-large-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at 20% 50%, rgba(224,159,62,0.06) 0%, transparent 60%);
}
.tl-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    position: relative;
    z-index: 1;
}
.tl-reviews-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    max-height: 520px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--tan-500) transparent;
    padding-right: 8px;
}
.tl-reviews-grid::-webkit-scrollbar { width: 4px; }
.tl-reviews-grid::-webkit-scrollbar-track { background: transparent; }
.tl-reviews-grid::-webkit-scrollbar-thumb { background: var(--tan-500); border-radius: 4px; }
.tl-quote-card { padding: 28px; margin-bottom: 0; }
.tl-quote-text { font-size: 14px; margin-bottom: 16px; }
.tl-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.tl-stat {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: var(--radius-md);
    padding: 28px 24px;
    text-align: center;
}
.tl-stat-num {
    font-family: var(--font-display);
    font-size: 38px;
    font-weight: 700;
    color: var(--tan-500);
    line-height: 1;
    margin-bottom: 6px;
}
.tl-stat-label {
    font-size: 11px;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.tl-quote-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: var(--radius-lg);
    padding: 40px;
    position: relative;
}
.tl-quote-card::before {
    content: '\201C';
    position: absolute;
    top: 16px;
    right: 28px;
    font-size: 80px;
    font-family: var(--font-display);
    color: var(--tan-500);
    opacity: 0.15;
    line-height: 1;
}
.tl-quote-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 20px;
}
.tl-quote-stars svg { width: 18px; height: 18px; fill: var(--tan-500); }
.tl-quote-text {
    font-size: 17px;
    color: rgba(255,255,255,0.85);
    line-height: 1.8;
    margin-bottom: 28px;
    font-style: italic;
    position: relative;
    z-index: 1;
}
.tl-quote-author {
    display: flex;
    align-items: center;
    gap: 14px;
}
.tl-quote-avatar {
    width: 52px;
    height: 52px;
    border-radius: var(--radius-full);
    background: linear-gradient(135deg, var(--gold), var(--gold-dark));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-weight: 700;
    font-size: 17px;
    flex-shrink: 0;
}
.tl-quote-info h4 {
    font-size: 16px;
    color: var(--white);
    font-family: var(--font-body);
    font-weight: 600;
}
.tl-quote-info span {
    font-size: 13px;
    color: rgba(255,255,255,0.45);
}
.tl-quote-info .verified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    font-size: 11px;
    color: var(--gold);
}

/* ================================================================
   BLOG CARDS
   ================================================================ */
.blog-section { background: var(--white); }
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.blog-card {
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--white);
    border: 1px solid rgba(0,0,0,0.04);
    box-shadow: var(--shadow-card);
    transition: var(--transition);
}
.blog-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
}
.blog-card-img {
    position: relative;
    height: 220px;
    overflow: hidden;
}
.blog-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}
.blog-card:hover .blog-card-img img { transform: scale(1.06); }
.blog-card-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--gold);
    color: var(--white);
    padding: 4px 14px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.blog-card-body { padding: 24px; }
.blog-card-date {
    font-size: 12px;
    color: var(--gray-400);
    margin-bottom: 10px;
}
.blog-card-body h3 {
    font-size: 18px;
    color: var(--dark);
    margin-bottom: 10px;
    font-family: var(--font-display);
    line-height: 1.35;
}
.blog-card-body p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.7;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ================================================================
   NEWSLETTER / FINAL CTA
   ================================================================ */
.newsletter-section {
    background: var(--cream);
    padding: 80px 0;
}
.newsletter-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.newsletter-form {
    display: flex;
    gap: 12px;
}
.newsletter-form input {
    flex: 1;
    padding: 16px 20px;
    border: 1.5px solid var(--gray-300);
    border-radius: var(--radius-sm);
    font-size: 15px;
    font-family: var(--font-body);
    outline: none;
    transition: var(--transition);
}
.newsletter-form input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(224,159,62,0.1);
}
@media (max-width: 768px) {
    .tl-grid { grid-template-columns: 1fr; }
    .tl-stats { grid-template-columns: 1fr 1fr; }
    .blog-grid { grid-template-columns: 1fr; }
    .newsletter-inner { grid-template-columns: 1fr; gap: 32px; }
    .newsletter-form { flex-direction: column; }
    .season-guide-grid { grid-template-columns: repeat(4, 1fr); }
    .pkg-card { min-width: 320px; }
}

/* ================================================================
   PLAN YOUR TRIP - MULTI-STEP FORM
   ================================================================ */

/* Hero */
.pt-hero {
    position: relative;
    min-height: 65vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
}
.pt-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.pt-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pt-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(27,51,30,0.75) 0%, rgba(27,51,30,0.9) 100%);
    z-index: 1;
}
.pt-hero-content {
    position: relative;
    z-index: 2;
    max-width: 720px;
    padding: 140px 24px 80px;
}
.pt-hero-badge {
    display: inline-block;
    padding: 6px 18px;
    background: rgba(224,159,62,0.15);
    border: 1px solid rgba(224,159,62,0.3);
    border-radius: 100px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 24px;
}
.pt-hero-content h1 {
    font-family: var(--font-display);
    font-size: clamp(36px, 5vw, 56px);
    color: var(--white);
    line-height: 1.15;
    margin-bottom: 20px;
}
.pt-hero-content h1 span {
    color: var(--gold);
}
.pt-hero-content > p {
    font-size: 17px;
    color: rgba(255,255,255,0.7);
    line-height: 1.7;
    margin-bottom: 32px;
}
.pt-hero-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}
.pt-trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,0.8);
    font-size: 13px;
    font-weight: 500;
}
.pt-trust-item svg {
    width: 18px;
    height: 18px;
    fill: var(--gold);
    flex-shrink: 0;
}

/* Form Layout */
.pt-form-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 40px;
    align-items: start;
}
.pt-form-card {
    background: var(--white);
    border-radius: var(--radius-xl);
    padding: 40px;
    box-shadow: var(--shadow-md);
}

/* Progress Bar */
.pt-progress {
    height: 3px;
    background: var(--gray-200);
    border-radius: 3px;
    margin-bottom: 32px;
    overflow: hidden;
}
.pt-progress-fill {
    height: 100%;
    background: var(--gold);
    border-radius: 3px;
    transition: width 0.4s ease;
    width: 0%;
}

/* Step Indicators */
.pt-steps-indicator {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 36px;
}
.pt-step-ind {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 100px;
    transition: all 0.3s ease;
    cursor: default;
}
.pt-step-ind.active {
    background: rgba(27,51,30,0.06);
}
.pt-step-ind.completed {
    background: rgba(27,51,30,0.04);
}
.pt-si-num {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--gray-200);
    color: var(--gray-500);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    transition: all 0.3s ease;
    flex-shrink: 0;
}
.pt-step-ind.active .pt-si-num {
    background: var(--gold);
    color: var(--white);
}
.pt-step-ind.completed .pt-si-num {
    background: var(--gold);
    color: var(--white);
}
.pt-step-ind.completed .pt-si-num::after {
    content: '\2713';
}
.pt-si-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--gray-500);
    transition: color 0.3s ease;
}
.pt-step-ind.active .pt-si-label {
    color: var(--gray-700);
    font-weight: 600;
}
.pt-si-line {
    flex: 1;
    height: 2px;
    background: var(--gray-200);
    margin: 0 4px;
}

/* Steps */
.pt-step {
    display: none;
}
.pt-step.active {
    display: block;
    animation: ptFadeIn 0.35s ease;
}
@keyframes ptFadeIn {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

.pt-step-title {
    margin-bottom: 28px;
}
.pt-step-title h3 {
    font-family: var(--font-display);
    font-size: 22px;
    color: var(--gray-700);
    margin-bottom: 6px;
}
.pt-step-title p {
    font-size: 14px;
    color: var(--gray-500);
}

/* Fields */
.pt-fields {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.pt-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.pt-field-full {
    grid-column: 1 / -1;
}
.pt-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.pt-field label {
    font-size: 13px;
    font-weight: 600;
    color: var(--gray-700);
}
.pt-field .req {
    color: var(--gold);
}
.pt-field input,
.pt-field select,
.pt-field textarea {
    padding: 14px 18px;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--radius-sm);
    font-size: 15px;
    font-family: var(--font-body);
    color: var(--gray-700);
    background: var(--white);
    outline: none;
    transition: var(--transition);
    width: 100%;
    box-sizing: border-box;
}
.pt-field input:focus,
.pt-field select:focus,
.pt-field textarea:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(27,51,30,0.08);
}
.pt-field input::placeholder,
.pt-field textarea::placeholder {
    color: var(--gray-400);
}

/* Trip Type Cards */
.pt-trip-types {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.pt-type-card {
    cursor: pointer;
}
.pt-type-card input {
    display: none;
}
.pt-type-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 20px 12px;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--radius-md);
    text-align: center;
    transition: all 0.25s ease;
}
.pt-type-inner svg {
    width: 28px;
    height: 28px;
    color: var(--gray-400);
    transition: color 0.25s ease;
}
.pt-type-inner strong {
    font-size: 13px;
    font-weight: 600;
    color: var(--gray-700);
}
.pt-type-inner span {
    font-size: 11px;
    color: var(--gray-500);
}
.pt-type-card input:checked + .pt-type-inner {
    border-color: var(--gold);
    background: rgba(27,51,30,0.04);
}
.pt-type-card input:checked + .pt-type-inner svg {
    color: var(--gold);
}
.pt-type-inner:hover {
    border-color: var(--gray-400);
}

/* Counter */
.pt-counter {
    display: flex;
    align-items: center;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--radius-sm);
    overflow: hidden;
}
.pt-counter input {
    width: 60px;
    text-align: center;
    border: none;
    padding: 14px 0;
    font-size: 15px;
    font-weight: 600;
    font-family: var(--font-body);
    color: var(--gray-700);
    outline: none;
    background: transparent;
}
.pt-ctr-btn {
    width: 44px;
    height: 44px;
    border: none;
    background: var(--gray-100);
    color: var(--gray-700);
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pt-ctr-btn:hover {
    background: var(--gray-200);
}

/* Checkbox */
.pt-checkbox-label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}
.pt-checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--gold);
}
.pt-checkbox-label span {
    font-size: 13px;
    color: var(--gray-500);
    font-weight: 400 !important;
}

/* Navigation */
.pt-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--gray-200);
}

/* Success */
.pt-success {
    text-align: center;
    padding: 48px 24px;
}
.pt-success-icon {
    width: 72px;
    height: 72px;
    background: rgba(27,51,30,0.08);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
}
.pt-success-icon svg {
    width: 36px;
    height: 36px;
    fill: var(--gold);
}
.pt-success h3 {
    font-family: var(--font-display);
    font-size: 24px;
    color: var(--gray-700);
    margin-bottom: 12px;
}
.pt-success p {
    font-size: 15px;
    color: var(--gray-500);
    line-height: 1.7;
    margin-bottom: 32px;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}
.pt-success-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Sidebar */
.pt-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: sticky;
    top: 100px;
}
.pt-sidebar-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 28px;
    box-shadow: var(--shadow-md);
}
.pt-sidebar-card h4 {
    font-family: var(--font-display);
    font-size: 16px;
    color: var(--gray-700);
    margin-bottom: 16px;
}
.pt-perks {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.pt-perks li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.pt-perks li svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px;
}
.pt-perks li strong {
    display: block;
    font-size: 14px;
    color: var(--gray-700);
    margin-bottom: 2px;
}
.pt-perks li span {
    font-size: 12px;
    color: var(--gray-500);
}

/* Contact Card */
.pt-contact-card p {
    font-size: 13px;
    color: var(--gray-500);
    margin-bottom: 16px;
    line-height: 1.6;
}
.pt-contact-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: var(--radius-sm);
    background: var(--gray-100);
    color: var(--gray-700);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
    margin-bottom: 8px;
}
.pt-contact-link svg {
    width: 18px;
    height: 18px;
    fill: var(--gold);
    flex-shrink: 0;
}
.pt-contact-link:hover {
    background: var(--gold);
    color: var(--white);
}
.pt-contact-link:hover svg {
    fill: var(--white);
}
.pt-contact-link.pt-wa:hover {
    background: #25D366;
}

/* Quote */
.pt-quote {
    margin: 0;
    padding: 0;
    border: none;
}
.pt-quote p {
    font-size: 14px;
    color: var(--gray-600);
    line-height: 1.7;
    font-style: italic;
    margin-bottom: 12px;
}
.pt-quote cite {
    font-size: 12px;
    color: var(--gold);
    font-weight: 600;
    font-style: normal;
}

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 1024px) {
    .pt-form-layout {
        grid-template-columns: 1fr;
    }
    .pt-sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }
}
@media (max-width: 768px) {
    .pt-hero-content h1 {
        font-size: 32px;
    }
    .pt-hero-trust {
        flex-direction: column;
        gap: 12px;
    }
    .pt-form-card {
        padding: 24px;
    }
    .pt-steps-indicator {
        gap: 0;
    }
    .pt-si-label {
        display: none;
    }
    .pt-step-ind {
        padding: 8px;
    }
    .pt-field-row {
        grid-template-columns: 1fr;
    }
    .pt-trip-types {
        grid-template-columns: repeat(2, 1fr);
    }
    .pt-sidebar {
        grid-template-columns: 1fr;
    }
    .pt-success-actions {
        flex-direction: column;
    }
}

/* Picklist */
.pt-picklist {
    margin-top: 8px;
}
.pt-picklist > label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--gray-700);
    margin-bottom: 10px;
}
.pt-picklist-items {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 280px;
    overflow-y: auto;
    padding-right: 4px;
}
.pt-pick-item {
    cursor: pointer;
}
.pt-pick-item input {
    display: none;
}
.pt-pick-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--radius-sm);
    transition: all 0.2s ease;
}
.pt-pick-card:hover {
    border-color: var(--gray-400);
    background: var(--gray-100);
}
.pt-pick-item input:checked + .pt-pick-card {
    border-color: var(--gold);
    background: rgba(27,51,30,0.04);
}
.pt-pick-img {
    width: 52px;
    height: 52px;
    border-radius: var(--radius-sm);
    overflow: hidden;
    flex-shrink: 0;
    background: var(--gray-100);
}
.pt-pick-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pt-pick-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    color: var(--gold);
    background: rgba(224,159,62,0.1);
}
.pt-pick-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.pt-pick-info strong {
    font-size: 13px;
    font-weight: 600;
    color: var(--gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pt-pick-info span {
    font-size: 11px;
    color: var(--gray-500);
}
@media (max-width: 480px) {
    .pt-trip-types {
        grid-template-columns: 1fr 1fr;
    }
}

/* ================================================================
   LANDING PAGE - GOOGLE ADS
   ================================================================ */

/* ── Hero ────────────────────────────────────────────── */
.ls-hero {
    position: relative;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
}
.ls-hero-bg {
    position: absolute;
    inset: 0;
}
.ls-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ls-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(27,51,30,0.85) 100%);
}
.ls-hero-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    padding: 140px 24px 80px;
}
.ls-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    background: rgba(224,159,62,0.15);
    border: 1px solid rgba(224,159,62,0.35);
    border-radius: 100px;
    font-size: 13px;
    font-weight: 600;
    color: var(--tan-500);
    margin-bottom: 28px;
    backdrop-filter: blur(10px);
}
.ls-hero-content h1 {
    font-family: var(--font-display);
    font-size: clamp(38px, 5.5vw, 64px);
    color: var(--white);
    line-height: 1.1;
    margin-bottom: 20px;
}
.ls-hero-content h1 span {
    color: var(--tan-500);
}
.ls-hero-sub {
    font-size: 18px;
    color: rgba(255,255,255,0.75);
    line-height: 1.7;
    margin-bottom: 36px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}
.ls-hero-ctas {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 48px;
}
.btn-whatsapp {
    background: #25D366;
    color: var(--white);
}
.btn-whatsapp:hover {
    background: #1EB851;
}
.ls-hero-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
    padding: 24px 32px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius-lg);
    backdrop-filter: blur(10px);
}
.ls-stat {
    text-align: center;
}
.ls-stat strong {
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: var(--tan-500);
    font-family: var(--font-display);
}
.ls-stat span {
    font-size: 12px;
    color: rgba(255,255,255,0.6);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.ls-stat-divider {
    width: 1px;
    height: 32px;
    background: rgba(255,255,255,0.15);
}

/* ── Trust Bar ───────────────────────────────────────── */
.ls-trust-bar {
    background: var(--white);
    border-bottom: 1px solid var(--gray-200);
    padding: 16px 0;
}
.ls-trust-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
}
.ls-trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--gray-700);
}

/* ── Sections ────────────────────────────────────────── */
.ls-section {
    padding: 80px 0;
}
.ls-section-header {
    text-align: center;
    margin-bottom: 48px;
}
.ls-section-header.light h2,
.ls-section-header.light p,
.ls-section-header.light .ls-section-tag {
    color: var(--white);
}
.ls-section-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--tan-500);
    margin-bottom: 12px;
}
.ls-section-header h2 {
    font-family: var(--font-display);
    font-size: clamp(28px, 3.5vw, 40px);
    color: var(--gray-700);
    margin-bottom: 12px;
}
.ls-section-header h2 span {
    color: var(--tan-500);
}
.ls-section-header p {
    font-size: 16px;
    color: var(--gray-500);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* ── Why Choose Us ───────────────────────────────────── */
.ls-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.ls-why-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 32px 24px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--gray-200);
    transition: var(--transition);
}
.ls-why-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: var(--tan-500);
}
.ls-why-icon {
    width: 56px;
    height: 56px;
    background: rgba(224,159,62,0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}
.ls-why-icon svg {
    width: 24px;
    height: 24px;
    color: var(--tan-500);
}
.ls-why-card h3 {
    font-family: var(--font-display);
    font-size: 17px;
    color: var(--gray-700);
    margin-bottom: 10px;
}
.ls-why-card p {
    font-size: 13px;
    color: var(--gray-500);
    line-height: 1.7;
}

/* ── Safari Cards ────────────────────────────────────── */
.ls-safari-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.ls-safari-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: all 0.3s ease;
}
.ls-safari-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.12);
}
.ls-sc-img {
    position: relative;
    height: 220px;
    overflow: hidden;
}
.ls-sc-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.ls-safari-card:hover .ls-sc-img img {
    transform: scale(1.05);
}
.ls-sc-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 6px 14px;
    background: var(--tan-500);
    color: var(--white);
    font-size: 12px;
    font-weight: 700;
    border-radius: 100px;
}
.ls-sc-spots {
    position: absolute;
    bottom: 14px;
    left: 14px;
    padding: 5px 12px;
    background: rgba(239,68,68,0.9);
    color: var(--white);
    font-size: 11px;
    font-weight: 700;
    border-radius: 100px;
    backdrop-filter: blur(4px);
}
.ls-sc-body {
    padding: 24px;
}
.ls-sc-body h3 {
    font-size: 18px;
    color: var(--gray-700);
    margin-bottom: 4px;
    font-family: var(--font-display);
}
.ls-sc-destination {
    font-size: 12px;
    font-weight: 600;
    color: var(--tan-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}
.ls-sc-desc {
    font-size: 13px;
    color: var(--gray-500);
    line-height: 1.6;
    margin-bottom: 12px;
}
.ls-sc-highlights {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ls-sc-highlights li {
    font-size: 12px;
    color: var(--gray-600);
    padding-left: 18px;
    position: relative;
    line-height: 1.5;
}
.ls-sc-highlights li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--tan-500);
}
.ls-sc-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}
.ls-sc-price span {
    font-size: 12px;
    color: var(--gray-400);
}
.ls-sc-price strong {
    font-size: 22px;
    color: var(--tan-500);
    font-family: var(--font-display);
}

/* ── Accommodation ───────────────────────────────────── */
.ls-accom-intro {
    max-width: 800px;
    margin: 0 auto 40px;
    text-align: center;
}
.ls-accom-intro p {
    font-size: 15px;
    color: var(--gray-500);
    line-height: 1.7;
}
.ls-accom-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.ls-accom-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 32px;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--gray-200);
    transition: var(--transition);
}
.ls-accom-card:hover {
    box-shadow: var(--shadow-md);
    border-color: var(--tan-500);
}
.ls-accom-wide {
    grid-column: 1 / -1;
}
.ls-accom-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.ls-accom-header h3 {
    font-family: var(--font-display);
    font-size: 18px;
    color: var(--gray-700);
}
.ls-accom-card > p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.7;
    margin-bottom: 20px;
}
.ls-accom-types {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.ls-accom-type {
    padding: 16px;
    background: var(--cream);
    border-radius: var(--radius-sm);
    border-left: 3px solid var(--tan-500);
}
.ls-accom-type strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--gray-700);
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ls-accom-type span {
    font-size: 13px;
    color: var(--gray-500);
    line-height: 1.6;
}

/* ── Kilimanjaro ─────────────────────────────────────── */
.ls-kili {
    position: relative;
    overflow: hidden;
}
.ls-kili-bg {
    position: absolute;
    inset: 0;
}
.ls-kili-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ls-kili-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(27,51,30,0.88) 0%, rgba(27,51,30,0.95) 100%);
}
.ls-kili .container {
    position: relative;
    z-index: 1;
}
.ls-kili-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.ls-kili-card {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: all 0.3s ease;
}
.ls-kili-card:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(224,159,62,0.3);
    transform: translateY(-4px);
}
.ls-kc-img {
    height: 180px;
    overflow: hidden;
}
.ls-kc-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.ls-kili-card:hover .ls-kc-img img {
    transform: scale(1.05);
}
.ls-kc-body {
    padding: 20px;
}
.ls-kc-meta {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}
.ls-kc-meta span {
    padding: 4px 10px;
    background: rgba(255,255,255,0.08);
    border-radius: 100px;
    font-size: 11px;
    font-weight: 600;
    color: rgba(255,255,255,0.6);
}
.ls-kc-diff {
    background: rgba(224,159,62,0.15) !important;
    color: var(--tan-500) !important;
}
.ls-kc-body h3 {
    font-size: 17px;
    color: var(--white);
    margin-bottom: 8px;
    font-family: var(--font-display);
}
.ls-kc-desc {
    font-size: 13px;
    color: rgba(255,255,255,0.6);
    line-height: 1.6;
    margin-bottom: 16px;
}
.ls-kc-price {
    margin-bottom: 16px;
}
.ls-kc-price span {
    font-size: 12px;
    color: rgba(255,255,255,0.4);
}
.ls-kc-price strong {
    font-size: 22px;
    color: var(--tan-500);
    font-family: var(--font-display);
}

/* ── Zanzibar ────────────────────────────────────────── */
.ls-zanzibar-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.ls-zanzibar-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: all 0.3s ease;
}
.ls-zanzibar-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.12);
}
.ls-zc-img {
    height: 200px;
    overflow: hidden;
}
.ls-zc-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.ls-zanzibar-card:hover .ls-zc-img img {
    transform: scale(1.05);
}
.ls-zc-body {
    padding: 20px;
}
.ls-zc-body h3 {
    font-size: 17px;
    color: var(--gray-700);
    margin-bottom: 4px;
    font-family: var(--font-display);
}
.ls-zc-duration {
    font-size: 12px;
    color: var(--tan-500);
    font-weight: 600;
}
.ls-zc-body p {
    font-size: 13px;
    color: var(--gray-500);
    line-height: 1.5;
    margin: 8px 0 16px;
}
.ls-zc-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ls-zc-footer strong {
    font-size: 18px;
    color: var(--tan-500);
    font-family: var(--font-display);
}

/* ── Season Guide ────────────────────────────────────── */
.ls-season-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    margin-bottom: 32px;
}
.ls-season-card {
    background: var(--white);
    border-radius: var(--radius-md);
    padding: 16px;
    border: 1.5px solid var(--gray-200);
    transition: var(--transition);
}
.ls-season-card:hover {
    border-color: var(--tan-500);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}
.ls-season-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.ls-season-month {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 700;
    color: var(--dark);
}
.ls-badge {
    font-size: 9px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ls-great {
    background: rgba(34,197,94,0.1);
    color: var(--green);
}
.ls-peak {
    background: rgba(224,159,62,0.12);
    color: var(--gold-dark);
}
.ls-good {
    background: rgba(88,166,255,0.1);
    color: #3a7bd5;
}
.ls-low {
    background: rgba(173,181,189,0.15);
    color: var(--gray-600);
}
.ls-season-desc {
    font-size: 11px;
    color: var(--gray-500);
    line-height: 1.5;
}
.ls-season-note {
    padding: 20px 24px;
    background: var(--cream);
    border-radius: var(--radius-md);
    border-left: 3px solid var(--tan-500);
    font-size: 14px;
    color: var(--gray-600);
    line-height: 1.7;
}
.ls-season-note strong {
    color: var(--gray-700);
}

/* ── Steps ───────────────────────────────────────────── */
.ls-steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 24px;
}
.ls-step {
    flex: 1;
    max-width: 280px;
    text-align: center;
    padding: 32px 24px;
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}
.ls-step-num {
    font-size: 40px;
    font-weight: 800;
    color: rgba(27,51,30,0.06);
    font-family: var(--font-display);
    line-height: 1;
    margin-bottom: 16px;
}
.ls-step-icon {
    width: 56px;
    height: 56px;
    background: rgba(224,159,62,0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}
.ls-step-icon svg {
    width: 24px;
    height: 24px;
    color: var(--tan-500);
}
.ls-step h3 {
    font-size: 17px;
    color: var(--gray-700);
    margin-bottom: 8px;
    font-family: var(--font-display);
}
.ls-step p {
    font-size: 13px;
    color: var(--gray-500);
    line-height: 1.6;
}
.ls-step-arrow {
    display: flex;
    align-items: center;
    padding-top: 60px;
}

/* ── Testimonials ────────────────────────────────────── */
.ls-testimonials {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.ls-testimonial {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 32px;
    box-shadow: var(--shadow-md);
}
.ls-stars {
    display: flex;
    gap: 2px;
    margin-bottom: 16px;
    color: #F59E0B;
}
.ls-stars svg {
    width: 16px;
    height: 16px;
}
.ls-testimonial p {
    font-size: 14px;
    color: var(--gray-600);
    line-height: 1.7;
    font-style: italic;
    margin-bottom: 20px;
}
.ls-test-author strong {
    display: block;
    font-size: 14px;
    color: var(--gray-700);
}
.ls-test-author span {
    font-size: 12px;
    color: var(--gray-400);
}

/* ── Form Section ────────────────────────────────────── */
.ls-form-section {
    background: linear-gradient(135deg, #1B331E 0%, #0f1f12 100%);
}
.ls-form-layout {
    display: grid;
    grid-template-columns: 1fr 480px;
    gap: 60px;
    align-items: center;
}
.ls-form-perks {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 32px 0;
}
.ls-perk {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.ls-perk svg {
    flex-shrink: 0;
    margin-top: 3px;
}
.ls-perk strong {
    display: block;
    font-size: 14px;
    color: var(--white);
    margin-bottom: 2px;
}
.ls-perk span {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
}
.ls-form-urgent {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 20px;
    background: rgba(224,159,62,0.1);
    border: 1px solid rgba(224,159,62,0.2);
    border-radius: var(--radius-md);
    margin-top: 24px;
}
.ls-form-urgent svg {
    flex-shrink: 0;
    margin-top: 2px;
}
.ls-form-urgent strong {
    display: block;
    font-size: 13px;
    color: var(--tan-500);
    margin-bottom: 2px;
}
.ls-form-urgent span {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
}

/* ── Form Card ───────────────────────────────────────── */
.ls-form-card {
    background: var(--white);
    border-radius: var(--radius-xl);
    padding: 40px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}
.ls-form-header {
    text-align: center;
    margin-bottom: 28px;
}
.ls-form-header h3 {
    font-family: var(--font-display);
    font-size: 24px;
    color: var(--gray-700);
    margin-bottom: 4px;
}
.ls-form-header p {
    font-size: 13px;
    color: var(--gray-400);
}
.ls-form-fields {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.ls-field input,
.ls-field select,
.ls-field textarea {
    width: 100%;
    padding: 14px 18px;
    border: 1.5px solid var(--gray-200);
    border-radius: var(--radius-sm);
    font-size: 15px;
    font-family: var(--font-body);
    color: var(--gray-700);
    background: var(--white);
    outline: none;
    transition: all 0.2s ease;
    box-sizing: border-box;
}
.ls-field input:focus,
.ls-field select:focus,
.ls-field textarea:focus {
    border-color: var(--tan-500);
    box-shadow: 0 0 0 3px rgba(224,159,62,0.1);
}
.ls-field input::placeholder,
.ls-field textarea::placeholder {
    color: var(--gray-400);
}
.ls-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.ls-submit-btn {
    width: 100%;
    justify-content: center;
    font-size: 15px !important;
    padding: 18px 24px !important;
}
.ls-form-note {
    text-align: center;
    font-size: 12px;
    color: var(--gray-400);
    margin-top: 4px;
}

/* ── Success ─────────────────────────────────────────── */
.ls-success-icon {
    width: 80px;
    height: 80px;
    background: rgba(27,51,30,0.06);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
}
.ls-form-card h3 {
    font-family: var(--font-display);
    font-size: 28px;
    color: var(--gray-700);
    text-align: center;
    margin-bottom: 12px;
}
.ls-form-card p {
    font-size: 15px;
    color: var(--gray-500);
    text-align: center;
    line-height: 1.7;
    margin-bottom: 24px;
}
.ls-form-card .btn-whatsapp {
    display: flex;
    margin: 0 auto;
    justify-content: center;
}

/* ── Final CTA ───────────────────────────────────────── */
.ls-final-cta {
    position: relative;
    padding: 100px 0;
    text-align: center;
    overflow: hidden;
}
.ls-final-bg {
    position: absolute;
    inset: 0;
}
.ls-final-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ls-final-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(27,51,30,0.85) 0%, rgba(27,51,30,0.95) 100%);
}
.ls-final-content {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin: 0 auto;
}
.ls-final-content h2 {
    font-family: var(--font-display);
    font-size: clamp(28px, 4vw, 44px);
    color: var(--white);
    margin-bottom: 16px;
}
.ls-final-content h2 span {
    color: var(--tan-500);
}
.ls-final-content p {
    font-size: 17px;
    color: rgba(255,255,255,0.7);
    line-height: 1.7;
    margin-bottom: 36px;
}
.ls-final-ctas {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

/* ── Popular Section Labels ──────────────────────────── */
.ls-popular-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--gray-200);
}
.ls-popular-label-mt {
    margin-top: 48px;
}
.ls-popular-label span {
    font-size: 14px;
    font-weight: 700;
    color: var(--gray-700);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ── Safari Card Kili Variant ────────────────────────── */
.ls-safari-card-kili {
    border: 1px solid var(--gray-200);
}
.ls-safari-card-kili .ls-sc-img {
    background: linear-gradient(135deg, #1B331E 0%, #2d5a27 100%);
}
.ls-sc-badge-kili {
    background: var(--green-700) !important;
}
.ls-sc-meta-row {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.ls-sc-difficulty {
    display: inline-block;
    padding: 3px 10px;
    background: rgba(224,159,62,0.12);
    color: var(--gold-dark);
    font-size: 11px;
    font-weight: 700;
    border-radius: 100px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ls-sc-summit {
    display: inline-block;
    padding: 3px 10px;
    background: rgba(34,197,94,0.1);
    color: var(--green);
    font-size: 11px;
    font-weight: 700;
    border-radius: 100px;
}

/* ── Group Safari ────────────────────────────────────── */
.ls-group-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 48px;
    align-items: start;
}
.ls-group-desc {
    font-size: 15px;
    color: var(--gray-500);
    line-height: 1.7;
    margin-bottom: 28px;
}
.ls-group-benefits {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 32px;
}
.ls-group-benefit {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: var(--white);
    border-radius: var(--radius-sm);
    border: 1px solid var(--gray-200);
}
.ls-group-benefit svg {
    flex-shrink: 0;
    margin-top: 2px;
}
.ls-group-benefit strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--gray-700);
    margin-bottom: 2px;
}
.ls-group-benefit span {
    font-size: 12px;
    color: var(--gray-400);
    line-height: 1.4;
}
.ls-group-sidebar {
    position: sticky;
    top: 100px;
}
.ls-group-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 28px;
    box-shadow: var(--shadow-md);
    border: 1px solid var(--gray-200);
}
.ls-group-card h4 {
    font-family: var(--font-display);
    font-size: 17px;
    color: var(--gray-700);
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--gray-200);
}
.ls-group-departure {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid var(--gray-100);
}
.ls-group-departure:last-of-type {
    border-bottom: none;
}
.ls-group-dep-date {
    width: 52px;
    height: 52px;
    background: rgba(224,159,62,0.1);
    border-radius: var(--radius-sm);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ls-group-dep-month {
    font-size: 14px;
    font-weight: 800;
    color: var(--tan-500);
    line-height: 1;
    text-transform: uppercase;
}
.ls-group-dep-year {
    font-size: 10px;
    color: var(--gray-400);
}
.ls-group-dep-info strong {
    display: block;
    font-size: 13px;
    color: var(--gray-700);
    margin-bottom: 2px;
}
.ls-group-dep-info span {
    font-size: 12px;
    color: var(--gray-400);
}
.ls-group-note {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--gray-200);
    font-size: 12px;
    color: var(--gray-400);
    line-height: 1.5;
    font-style: italic;
}

/* ── FAQ Section ─────────────────────────────────────── */
.ls-faq-list {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ls-faq-item {
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-md);
    padding: 24px 28px;
    transition: var(--transition);
}
.ls-faq-item:hover {
    border-color: rgba(224,159,62,0.3);
    box-shadow: var(--shadow-sm);
}
.ls-faq-item h3 {
    font-size: 16px;
    color: var(--dark);
    margin-bottom: 10px;
    font-family: var(--font-body);
    font-weight: 600;
    line-height: 1.4;
}
.ls-faq-item p {
    font-size: 14px;
    color: var(--gray-500);
    line-height: 1.75;
}

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 1024px) {
    .ls-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .ls-safari-grid,
    .ls-kili-grid,
    .ls-zanzibar-grid,
    .ls-testimonials {
        grid-template-columns: repeat(2, 1fr);
    }
    .ls-accom-grid {
        grid-template-columns: 1fr;
    }
    .ls-season-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .ls-group-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .ls-group-sidebar {
        position: static;
    }
    .ls-form-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .ls-form-info {
        text-align: center;
    }
    .ls-section-header.light {
        text-align: center;
    }
}
@media (max-width: 768px) {
    .ls-why-grid {
        grid-template-columns: 1fr;
    }
    .ls-hero-stats {
        gap: 20px;
    }
    .ls-stat-divider {
        display: none;
    }
    .ls-safari-grid,
    .ls-kili-grid,
    .ls-zanzibar-grid,
    .ls-testimonials {
        grid-template-columns: 1fr;
    }
    .ls-season-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .ls-group-benefits {
        grid-template-columns: 1fr;
    }
    .ls-steps {
        flex-direction: column;
        align-items: center;
    }
    .ls-step-arrow {
        transform: rotate(90deg);
        padding-top: 0;
    }
    .ls-hero-ctas {
        flex-direction: column;
        align-items: center;
    }
    .ls-form-card {
        padding: 24px;
    }
    .ls-field-row {
        grid-template-columns: 1fr;
    }
    .ls-final-ctas {
        flex-direction: column;
        align-items: center;
    }
    .ls-trust-inner {
        gap: 16px;
    }
    .ls-trust-item {
        font-size: 11px;
    }
}
@media (max-width: 480px) {
    .ls-hero-content h1 {
        font-size: 30px;
    }
    .ls-hero-sub {
        font-size: 15px;
    }
    .ls-hero-stats {
        padding: 16px;
    }
    .ls-stat strong {
        font-size: 20px;
    }
    .ls-season-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .ls-accom-card {
        padding: 20px;
    }
    .ls-group-card {
        padding: 20px;
    }
}

/* ═══════════════════════════════════════════════════════════
   FOOTER COMPONENT — Scoped with .sf-footer prefix
   ═══════════════════════════════════════════════════════════ */
.sf-footer{position:relative;overflow:hidden;background:#1B331E;color:rgba(255,255,255,0.7);font-family:var(--font-body,'Onest',sans-serif)}
.sf-footer *{box-sizing:border-box}
.sf-footer__texture{position:absolute;inset:0;opacity:.03;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,0.15) 1px,transparent 0);background-size:40px 40px}
.sf-footer__gold-line{height:2px;width:100%;background:linear-gradient(90deg,transparent,#E09F3E,transparent)}
.sf-footer__container{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:64px 24px 0}
.sf-footer__grid{display:grid;gap:48px;grid-template-columns:1fr}
@media(min-width:640px){.sf-footer__grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.sf-footer__grid{grid-template-columns:1.6fr .8fr 1.2fr 1.2fr;gap:32px}}
.sf-footer__brand-logo{display:inline-flex;align-items:center;gap:12px;margin-bottom:20px;text-decoration:none}
.sf-footer__brand-logo img{height:44px;width:auto;border-radius:8px}
.sf-footer__brand-logo span{font-family:var(--font-display,'Marcellus',serif);font-size:18px;font-weight:700;color:#fff}
.sf-footer__brand-desc{max-width:340px;font-size:14px;line-height:1.7;color:rgba(255,255,255,0.45);margin-bottom:24px}
.sf-footer__socials{display:flex;align-items:center;gap:10px;margin-bottom:32px}
.sf-footer__social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.45);transition:all .3s ease;text-decoration:none}
.sf-footer__social-link:hover{border-color:rgba(224,159,62,0.35);background:rgba(224,159,62,0.1);color:#E09F3E;transform:scale(1.1)}
.sf-footer__social-link svg{width:16px;height:16px;fill:currentColor}
.sf-footer__trust-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,0.25);margin-bottom:12px}
.sf-footer__trust-badges{display:flex;flex-wrap:wrap;gap:12px}
.sf-footer__badge{display:flex;align-items:center;justify-content:center;height:44px;padding:0 16px;border-radius:10px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);font-size:11px;font-weight:700;letter-spacing:1px;color:rgba(255,255,255,0.5)}
.sf-footer__col-title{font-family:var(--font-display,'Marcellus',serif);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#E09F3E;margin-bottom:20px}
.sf-footer__links{list-style:none;padding:0;margin:0}
.sf-footer__links li{margin:0}
.sf-footer__links a{display:inline-flex;align-items:center;gap:6px;padding:8px 0;font-size:14px;color:rgba(255,255,255,0.5);text-decoration:none;position:relative;transition:color .25s ease}
.sf-footer__links a::after{content:'';position:absolute;bottom:2px;left:0;height:1px;width:0;background:#E09F3E;transition:width .3s ease}
.sf-footer__links a:hover{color:#FAEDCD}
.sf-footer__links a:hover::after{width:100%}
.sf-footer__links a .sf-arrow{width:14px;height:14px;opacity:0;transform:translateX(-4px);transition:all .25s ease}
.sf-footer__links a:hover .sf-arrow{opacity:1;transform:translateX(0)}
.sf-footer__contact{list-style:none;padding:0;margin:0}
.sf-footer__contact li{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.sf-footer__contact li svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:rgba(224,159,62,0.5);fill:currentColor}
.sf-footer__contact a,.sf-footer__contact span{font-size:13px;color:rgba(255,255,255,0.45);text-decoration:none;transition:color .25s ease;line-height:1.5}
.sf-footer__contact a:hover{color:#FAEDCD}
.sf-footer__wa-link{color:rgba(255,255,255,0.45)!important}
.sf-footer__wa-link:hover{color:#25D366!important}
.sf-footer__newsletter-desc{font-size:13px;line-height:1.7;color:rgba(255,255,255,0.4);margin-bottom:20px}
.sf-footer__newsletter-form{display:flex;flex-direction:column;gap:10px}
.sf-footer__input{width:100%;padding:12px 16px;border-radius:12px;border:1.5px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);color:#fff;font-family:inherit;font-size:14px;outline:none;transition:all .3s ease}
.sf-footer__input::placeholder{color:rgba(255,255,255,0.2)}
.sf-footer__input:focus{border-color:rgba(224,159,62,0.4);background:rgba(255,255,255,0.07);box-shadow:0 0 0 3px rgba(224,159,62,0.08)}
.sf-footer__btn-subscribe{width:100%;padding:12px 24px;border-radius:12px;border:none;background:linear-gradient(135deg,#E09F3E,#C08A2E);color:#1B331E;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px rgba(224,159,62,0.2)}
.sf-footer__btn-subscribe:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(224,159,62,0.3)}
.sf-footer__btn-subscribe:active{transform:translateY(0)}
.sf-footer__cta-link{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-size:13px;font-weight:600;color:#E09F3E;text-decoration:none;transition:color .25s ease}
.sf-footer__cta-link:hover{color:#FAEDCD}
.sf-footer__cta-link svg{width:16px;height:16px;transition:transform .25s ease;fill:none;stroke:currentColor;stroke-width:2}
.sf-footer__cta-link:hover svg{transform:translateX(4px)}
.sf-footer__bottom-bar{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,0.05);margin-top:48px}
.sf-footer__bottom-inner{max-width:1280px;margin:0 auto;padding:20px 24px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:12px}
@media(min-width:640px){.sf-footer__bottom-inner{flex-direction:row}}
.sf-footer__copyright{font-size:12px;color:rgba(255,255,255,0.25)}
.sf-footer__bottom-links{display:flex;align-items:center;gap:20px}
.sf-footer__bottom-links a{font-size:12px;color:rgba(255,255,255,0.25);text-decoration:none;transition:color .25s ease}
.sf-footer__bottom-links a:hover{color:rgba(255,255,255,0.55)}
.sf-footer__crafted{font-size:11px;color:rgba(255,255,255,0.12)}
.sf-footer__animated{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.sf-footer__animated.sf-visible{opacity:1;transform:translateY(0)}
.sf-footer__animated:nth-child(2){transition-delay:.1s}
.sf-footer__animated:nth-child(3){transition-delay:.2s}
.sf-footer__animated:nth-child(4){transition-delay:.3s}

/* ═══════════════════════════════════════════════════════════
   CONTACT FORM EXTRAS
   ═══════════════════════════════════════════════════════════ */
.cf-success{display:none;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;padding:20px;text-align:center;margin-top:16px}
.cf-success h3{color:#1B331E;margin:0 0 8px}
.cf-success p{color:#555;margin:0}
.cf-error{display:none;background:#ffebee;border:1px solid #ef9a9a;border-radius:8px;padding:16px;text-align:center;margin-top:12px;color:#c62828}
.cf-whatsapp-prompt{display:none;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;padding:16px;text-align:center;margin-top:12px}
.cf-whatsapp-prompt a{display:inline-block;margin-top:8px;background:#25D366;color:#fff;padding:10px 24px;border-radius:8px;text-decoration:none;font-weight:600}
