@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700;800&family=Poppins:wght@300;400;500;600;700&display=swap');

/*==================================================
    BURAKEYE SAFARI DESIGN SYSTEM
    GLOBAL VARIABLES
==================================================*/

:root {

    /*==================================================
      LAYOUT
    ==================================================*/

    --container-width: 1320px;
    --content-width: 900px;
    --text-width: 700px;
    --card-max-width: 380px;

    --header-height: 88px;
    --navbar-height: 88px;
    --hero-height: 100vh;
    --footer-space: 6rem;

    /*==================================================
      BRAND COLOURS
    ==================================================*/

    --primary-color: #2E5E3B;
    --primary-dark: #23492E;
    --primary-light: #4F8A63;

    --secondary-color: #D4AF37;
    --secondary-dark: #B99224;
    --secondary-light: #E5C65C;

    /*==================================================
      NEUTRALS
    ==================================================*/

    --white: #FFFFFF;
    --black: #000000;

    --gray-50: #FCFCFB;
    --gray-100: #F8F6F1;
    --gray-200: #F3F2EE;
    --gray-300: #E5E5E5;
    --gray-400: #D1D5DB;
    --gray-500: #9CA3AF;

    --section-bg: var(--gray-50);
    --light-bg: var(--gray-100);

    /*==================================================
      TEXT
    ==================================================*/

    --text-heading: #1F2937;
    --text-body: #374151;
    --text-muted: #6B7280;
    --text-white: #FFFFFF;

    /* Backwards compatibility */

    --text-dark: var(--text-heading);
    --text-color: var(--text-body);
    --text-light: var(--text-muted);

    /*==================================================
      BORDERS & OVERLAYS
    ==================================================*/

    --border-color: #E5E5E5;
    --border-light: rgba(255, 255, 255, .15);

    --overlay-dark: rgba(0, 0, 0, .45);
    --overlay-medium: rgba(0, 0, 0, .25);
    --overlay-light: rgba(255, 255, 255, .85);

    /*==================================================
      TYPOGRAPHY
    ==================================================*/

    --heading-font: "Playfair Display", serif;
    --body-font: "Poppins", sans-serif;

    /* Font Sizes */

    --hero-title: clamp(3rem, 6vw, 5rem);
    --section-title: clamp(2.25rem, 4vw, 3.5rem);
    --card-title: clamp(1.35rem, 2vw, 2rem);

    --subheading: 1.25rem;
    --body-text: clamp(.95rem, 1vw, 1rem);
    --small-text: .9rem;

    /* Line Heights */

    --lh-tight: 1.1;
    --lh-heading: 1.2;
    --lh-body: 1.8;

    /* Font Weights */

    --fw-light: 300;
    --fw-normal: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;
    --fw-black: 800;


    /*==================================================
  LAYOUT
==================================================*/

--container-width: 1320px;
--content-width: 900px;
--text-width: 700px;
--card-max-width: 380px;

--container-padding: clamp(1rem, 3vw, 2rem);

--header-height: 88px;
--navbar-height: 88px;

--hero-height: 100vh;

--section-padding: clamp(5rem, 8vw, 8rem);

--footer-padding: 6rem;
/*==================================================
  SPACING SCALE
==================================================*/

    --space-0: 0;

    --space-1: .25rem;
    /* 4px */

    --space-2: .5rem;
    /* 8px */

    --space-3: .75rem;
    /* 12px */

    --space-4: 1rem;
    /* 16px */

    --space-5: 1.5rem;
    /* 24px */

    --space-6: 2rem;
    /* 32px */

    --space-7: 3rem;
    /* 48px */

    --space-8: 4rem;
    /* 64px */

    --space-9: 5rem;
    /* 80px */

    --space-10: 6rem;
    /* 96px */

    --space-11: 8rem;
    /* 128px */
/*==================================================
  GRID
==================================================*/

    --grid-gap-xs: 1rem;

    --grid-gap-sm: 1.5rem;

    --grid-gap-md: 2rem;

    --grid-gap-lg: 3rem;

    --grid-gap-xl: 4rem;

/*==================================================
  BORDER RADIUS
==================================================*/

    --radius-xs: 6px;

    --radius-sm: 10px;

    --radius-md: 14px;

    --radius-lg: 18px;

    --radius-xl: 28px;

    --radius-pill: 999px;

    --image-radius: 20px;

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

    --button-height: 52px;

    --button-radius: 14px;

    --button-padding-y: .9rem;

    --button-padding-x: 2rem;

    --button-gap: .6rem;

/*==================================================
  ICONS
==================================================*/

    --icon-xs: 16px;

    --icon-sm: 20px;

    --icon-md: 24px;

    --icon-lg: 32px;

    --icon-xl: 40px;

    --icon-circle: 80px;

/*==================================================
  SHADOWS
==================================================*/

    --shadow-xs: 0 4px 12px rgba(0, 0, 0, .05);

    --shadow-sm: 0 10px 24px rgba(0, 0, 0, .08);

    --shadow-md: 0 16px 36px rgba(0, 0, 0, .10);

    --shadow-lg: 0 24px 50px rgba(0, 0, 0, .14);

    --shadow-xl: 0 32px 70px rgba(0, 0, 0, .18);
/*==================================================
  TRANSITIONS
==================================================*/

    --ease: cubic-bezier(.4, 0, .2, 1);

    --transition-fast: .2s var(--ease);

    --transition-normal: .35s var(--ease);

    --transition-slow: .5s var(--ease);


/*==================================================
  Z-INDEX
==================================================*/

    --z-base: 1;

    --z-dropdown: 100;

    --z-header: 500;

    --z-menu: 700;

    --z-overlay: 900;

    --z-modal: 1000;

    --z-toast: 1100;

/*==================================================
  CSS RESET
==================================================*/

    *,
    *::before,
    *::after {

        margin: 0;

        padding: 0;

        box-sizing: border-box;

    }

    html {

        scroll-behavior: smooth;

        font-size: 100%;

    }

    body {

        min-height: 100vh;

        overflow-x: hidden;

        text-rendering: optimizeLegibility;

        -webkit-font-smoothing: antialiased;

        -moz-osx-font-smoothing: grayscale;

    }

    img,
    picture,
    svg,
    video,
    canvas {

        display: block;

        max-width: 100%;

    }

    input,
    button,
    textarea,
    select {

        font: inherit;

    }

    button {

        background: none;

        border: none;

        cursor: pointer;

    }

    a {

        color: inherit;

        text-decoration: none;

    }

    ul,
    ol {

        list-style: none;

    }

    table {

        border-collapse: collapse;

        border-spacing: 0;

    }

/*==================================================
  BASE TYPOGRAPHY
==================================================*/

body {

    font-family: var(--body-font);

    font-size: var(--body-text);

    font-weight: var(--fw-normal);

    line-height: var(--lh-body);

    color: var(--text-body);

    background: var(--white);

}

h1,
h2,
h3,
h4,
h5,
h6 {

    font-family: var(--heading-font);

    font-weight: var(--fw-bold);

    line-height: var(--lh-heading);

    color: var(--text-heading);

}

h1 {

    font-size: var(--hero-title);

}

h2 {

    font-size: var(--section-title);

}

h3 {

    font-size: var(--card-title);

}

p {

    color: var(--text-body);

    margin-bottom: var(--space-5);

}

strong {

    font-weight: var(--fw-bold);

}

small {

    font-size: var(--small-text);

}

::selection {

    background: var(--secondary-color);

    color: var(--white);

}

/*==================================================
  BASE ELEMENTS
==================================================*/

section {

    position: relative;

    padding-block: var(--section-padding);

}

.container {

    width: min(100% - (2 * var(--container-padding)), var(--container-width));

    margin-inline: auto;

}

.content {

    max-width: var(--content-width);

}

.text-content {

    max-width: var(--text-width);

}

img {

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

}

hr {

    border: none;

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

}
/*==================================================
  UTILITIES
==================================================*/

.flex {

    display: flex;

}

.grid {

    display: grid;

}

.flex-center {

    display: flex;

    align-items: center;

    justify-content: center;

}

.grid-center {

    display: grid;

    place-items: center;

}

.text-center {

    text-align: center;

}

.text-left {

    text-align: left;

}

.text-right {

    text-align: right;

}

.w-100 {

    width: 100%;

}

.hidden {

    display: none !important;

}

.sr-only {

    position: absolute;

    width: 1px;

    height: 1px;

    padding: 0;

    margin: -1px;

    overflow: hidden;

    clip: rect(0, 0, 0, 0);

    white-space: nowrap;

    border: 0;

}
/*==================================================
  MARGIN UTILITIES
==================================================*/

.mt-auto {
    margin-top: auto;
}

.mb-auto {
    margin-bottom: auto;
}

.mx-auto {
    margin-inline: auto;
}

.my-auto {
    margin-block: auto;
}

.mt-1 {
    margin-top: var(--space-1);
}

.mt-2 {
    margin-top: var(--space-2);
}

.mt-3 {
    margin-top: var(--space-3);
}

.mt-4 {
    margin-top: var(--space-4);
}

.mt-5 {
    margin-top: var(--space-5);
}

.mt-6 {
    margin-top: var(--space-6);
}

.mb-1 {
    margin-bottom: var(--space-1);
}

.mb-2 {
    margin-bottom: var(--space-2);
}

.mb-3 {
    margin-bottom: var(--space-3);
}

.mb-4 {
    margin-bottom: var(--space-4);
}

.mb-5 {
    margin-bottom: var(--space-5);
}

.mb-6 {
    margin-bottom: var(--space-6);
}
/*==================================================
  BUTTON SYSTEM
==================================================*/

.btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: var(--button-gap);

    min-height: var(--button-height);

    padding:
        var(--button-padding-y) var(--button-padding-x);

    font-family: var(--body-font);

    font-size: 1rem;

    font-weight: var(--fw-semibold);

    line-height: 1;

    border: none;

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

    cursor: pointer;

    user-select: none;

    white-space: nowrap;

    transition:

        all var(--transition-normal);

}

/* Hover */

.btn:hover {

    transform: translateY(-3px);

}

/* Active */

.btn:active {

    transform: translateY(0);

}

/* Focus */

.btn:focus-visible {

    outline: 3px solid var(--secondary-color);

    outline-offset: 3px;

}
.btn-primary {

    background: var(--primary-color);

    color: var(--white);

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

}

.btn-primary:hover {

    background: var(--primary-dark);

}
.btn-secondary {

    background: var(--secondary-color);

    color: var(--white);

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

}

.btn-secondary:hover {

    background: var(--secondary-dark);

}
.btn-outline {

    background: transparent;

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

    color: var(--primary-color);

}

.btn-outline:hover {

    background: var(--primary-color);

    color: var(--white);

}

.btn-glass {

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

    color: var(--white);

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

    backdrop-filter: blur(12px);

}

.btn-glass:hover {

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

}
.btn-white {

    background: var(--white);

    color: var(--primary-color);

}

.btn-white:hover {

    background: var(--secondary-color);

    color: var(--white);

}
.btn-icon {

    width: 52px;

    height: 52px;

    padding: 0;

    border-radius: 50%;

}
.btn-sm {

    min-height: 42px;

    padding: .7rem 1.4rem;

    font-size: .9rem;

}

.btn-lg {

    min-height: 58px;

    padding: 1rem 2.4rem;

    font-size: 1.05rem;

}

.btn:disabled {

    opacity: .5;

    pointer-events: none;

}

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

.card {

    position: relative;

    display: flex;

    flex-direction: column;

    overflow: hidden;

    background: var(--white);

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

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

    transition:

        transform var(--transition-normal),

        box-shadow var(--transition-normal);

}

.card:hover {

    transform: translateY(-10px);

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

}

.card-image {

    overflow: hidden;

}

.card-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform .8s ease;

}

.card:hover img {

    transform: scale(1.08);

}

.card-body {

    display: flex;

    flex-direction: column;

    gap: 1rem;

    padding: 2rem;

}
.card-footer {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-top: auto;

}

.card-badge {

    position: absolute;

    top: 1.25rem;

    left: 1.25rem;

    padding: .45rem .9rem;

    border-radius: 999px;

    background: var(--secondary-color);

    color: var(--white);

    font-size: .75rem;

    font-weight: 600;

    letter-spacing: .05em;

    text-transform: uppercase;

}

.card:hover .card-image img {

    transform: scale(1.08);

}
.cards-grid {

    display: grid;

    grid-template-columns:

        repeat(auto-fit, minmax(320px, 1fr));

    gap: var(--grid-gap-lg);

}
/*==================================================
  SECTION
==================================================*/

.section {

    position: relative;

    padding-block: var(--section-padding);

}

.section-sm {

    padding-block: 4rem;

}

.section-lg {

    padding-block: 8rem;

}

.section-dark {

    background: var(--primary-color);

    color: var(--white);

}

.section-light {

    background: var(--gray-50);

}

.section-white {

    background: var(--white);

}
/*==================================================
  SECTION HEADER
==================================================*/

.section-header {

    max-width: 760px;

    margin: 0 auto 4rem;

    text-align: center;

}

.section-tag {

    display: inline-block;

    margin-bottom: 1rem;

    color: var(--secondary-color);

    font-size: .85rem;

    font-weight: 600;

    letter-spacing: .08em;

    text-transform: uppercase;

}

.section-title {

    margin-bottom: 1.25rem;

}

.section-description {

    color: var(--text-light);

    line-height: 1.9;

}


/*==================================================
  IMAGES
==================================================*/

.img-cover {

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.img-contain {

    width: 100%;

    height: 100%;

    object-fit: contain;

}

.img-rounded {

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

}

.img-shadow {

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

}

.img-hover {

    overflow: hidden;

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

}

.img-hover img {

    transition:
        transform .8s ease;

}

.img-hover:hover img {

    transform: scale(1.08);

}


/*==================================================
  BADGES
==================================================*/

.badge {

    display: inline-flex;

    align-items: center;

    gap: .4rem;

    padding: .45rem .9rem;

    border-radius: 999px;

    font-size: .75rem;

    font-weight: 600;

    text-transform: uppercase;

}

.badge-primary {

    background: var(--primary-color);

    color: var(--white);

}

.badge-secondary {

    background: var(--secondary-color);

    color: var(--white);

}

.badge-light {

    background: var(--white);

    color: var(--primary-color);

}


/*==================================================
  ICON BOX
==================================================*/

.icon-box {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 80px;

    height: 80px;

    border-radius: 50%;

    background: var(--primary-color);

    color: var(--white);

    font-size: 2rem;

    transition:
        all var(--transition-normal);

}

.icon-box:hover {

    background: var(--secondary-color);

    transform: translateY(-6px);

}


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

.divider {

    width: 80px;

    height: 4px;

    margin: 1.5rem auto;

    border-radius: 999px;

    background: var(--secondary-color);

}


/*==================================================
  ANIMATIONS
==================================================*/

@keyframes fadeUp {

    from {

        opacity: 0;

        transform: translateY(40px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}


@keyframes fadeIn {

    from {

        opacity: 0;

    }

    to {

        opacity: 1;

    }

}


@keyframes zoomIn {

    from {

        transform: scale(.92);

        opacity: 0;

    }

    to {

        transform: scale(1);

        opacity: 1;

    }

}


.animate-fade-up {

    animation:
        fadeUp .8s ease both;

}

.animate-fade {

    animation:
        fadeIn .8s ease both;

}

.animate-zoom {

    animation:
        zoomIn .8s ease both;

}


/*==================================================
  FORM ELEMENTS
==================================================*/

.form-group {

    margin-bottom: 1.5rem;

}

.form-label {

    display: block;

    margin-bottom: .5rem;

    font-weight: 600;

}

.form-control {

    width: 100%;

    min-height: 54px;

    padding: 1rem 1.2rem;

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

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

    background: var(--white);

    transition:
        border-color var(--transition-normal),
        box-shadow var(--transition-normal);

}

.form-control:focus {

    outline: none;

    border-color: var(--secondary-color);

    box-shadow:
        0 0 0 4px rgba(212, 175, 55, .18);

}


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

.site-header {

    position: fixed;

    inset: 0 0 auto;

    width: 100%;

    min-height: var(--header-height);

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

    color: var(--white);

    background:
        linear-gradient(
            180deg,
            var(--primary-color) 0%,
            var(--primary-dark) 100%
        );

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

    backdrop-filter: blur(18px);

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

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

    transition:
        background var(--transition-normal),
        color var(--transition-normal),
        box-shadow var(--transition-normal);

}


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

.site-header.scrolled {

    color: var(--text-dark);

}


/*==================================================
  NAVBAR
==================================================*/

.navbar {

    display: grid;

    grid-template-columns:
        auto 1fr auto;

    align-items: center;

    gap: clamp(1.5rem, 2vw, 3rem);

    min-height: var(--header-height);

}


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

.logo {

    display: flex;

    align-items: center;

    gap: 1rem;

    color: inherit;

    text-decoration: none;

}

.logo img {

    width: var(--logo-size);

    aspect-ratio: 1;

    object-fit: contain;

    transition:
        transform var(--transition-normal);

}

.logo:hover img {

    transform: scale(1.05);

}


.logo-desktop,
.logo-mobile {

    font-family: var(--heading-font);

    font-size: var(--logo-font-size);

    font-weight: 700;

    line-height: 1.1;

    letter-spacing: -.02em;

    color: inherit;

}

.logo-mobile {

    display: none;

}


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

.nav-menu {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: clamp(1rem, 1.8vw, 2rem);

    min-width: 0;

    margin: 0;

    padding: 0;

}

.nav-menu li {

    margin: 0;

    padding: 0;

    list-style: none;

}


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

.nav-menu a {

    position: relative;

    display: inline-flex;

    align-items: center;

    padding: .55rem 0;

    color: inherit;

    font-size: 1rem;

    font-weight: 600;

    line-height: 1;

    letter-spacing: .02em;

    white-space: nowrap;

    text-decoration: none;

    transition:
        color .35s ease,
        transform .35s ease;

}


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

.nav-menu a:hover {

    color: var(--secondary-color);

    transform: translateY(-2px);

}


/*==================================================
  ACTIVE LINK
==================================================*/

.nav-menu a.active {

    color: var(--secondary-color);

}


/*==================================================
  ACTIVE INDICATOR
==================================================*/

.nav-menu a::after {

    content: "";

    position: absolute;

    left: 50%;

    bottom: -10px;

    width: 28px;

    height: 3px;

    border-radius: 999px;

    background: var(--secondary-color);

    transform:
        translateX(-50%) scaleX(0);

    transition:
        transform var(--transition-normal);

}

.nav-menu a:hover::after,
.nav-menu a.active::after {

    transform:
        translateX(-50%) scaleX(1);

}


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

.nav-actions {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: clamp(.75rem, 1.5vw, 1.25rem);

    flex-shrink: 0;

}


/*==================================================
  BOOK YOUR SAFARI BUTTON
==================================================*/

.btn-book {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: .65rem;

    min-width: 150px;

    min-height: 50px;

    padding-inline: 1.75rem;

    border: 1px solid transparent;

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

    background: var(--primary-color);

    color: var(--white);

    font-family: var(--body-font);

    font-size: .95rem;

    font-weight: var(--fw-semibold);

    line-height: 1;

    letter-spacing: .02em;

    text-decoration: none;

    white-space: nowrap;

    cursor: pointer;

    user-select: none;

    transition:
        background var(--transition-normal),
        color var(--transition-normal),
        border-color var(--transition-normal),
        transform var(--transition-normal),
        box-shadow var(--transition-normal);

}


/*==================================================
  HEADER BUTTON — DEFAULT
==================================================*/

.site-header:not(.scrolled) .btn-book {

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

    border-color:
        rgba(255, 255, 255, .20);

    color: var(--white);

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

    backdrop-filter: blur(12px);

}


/*==================================================
  HEADER BUTTON — SCROLLED
==================================================*/

.site-header.scrolled .btn-book {

    background: var(--primary-color);

    border-color: var(--primary-color);

    color: var(--white);

}


/*==================================================
  BUTTON HOVER
==================================================*/

.btn-book:hover {

    background: var(--secondary-color);

    border-color: var(--secondary-color);

    color: var(--primary-color);

    transform: translateY(-2px);

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

}


/*==================================================
  BUTTON ICON
==================================================*/

.btn-book i {

    font-size: .85rem;

    transition:
        transform var(--transition-normal);

}

.btn-book:hover i {

    transform: translateX(4px);

}


/*==================================================
  BUTTON ACTIVE
==================================================*/

.btn-book:active {

    transform: translateY(0);

    box-shadow: none;

}


/*==================================================
  BUTTON ACCESSIBILITY
==================================================*/

.btn-book:focus-visible {

    outline:
        2px solid var(--secondary-color);

    outline-offset: 3px;

}


/*==================================================
  MOBILE MENU TOGGLE
==================================================*/

.menu-toggle {

    display: none;

    align-items: center;

    justify-content: center;

    width: 48px;

    aspect-ratio: 1;

    padding: 0;

    border: none;

    border-radius: 50%;

    background: transparent;

    color: inherit;

    font-size: 1.45rem;

    line-height: 1;

    cursor: pointer;

    flex-shrink: 0;

    transition:
        color var(--transition-normal),
        background var(--transition-normal),
        transform var(--transition-normal),
        box-shadow var(--transition-normal);

}


/*==================================================
  MENU TOGGLE — HOVER
==================================================*/

.menu-toggle:hover {

    color: var(--secondary-color);

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

    transform: scale(1.08);

}


/*==================================================
  MENU TOGGLE — SCROLLED HEADER
==================================================*/

.site-header.scrolled .menu-toggle:hover {

    background:
        rgba(46, 94, 59, .08);

}


/*==================================================
  MENU TOGGLE — ACTIVE
==================================================*/

.menu-toggle:active {

    transform: scale(.95);

}


/*==================================================
  MENU TOGGLE — FOCUS
==================================================*/

.menu-toggle:focus-visible {

    outline:
        2px solid var(--secondary-color);

    outline-offset: 3px;

}


/*==================================================
  BODY LOCK WHEN MENU IS OPEN
==================================================*/

body.menu-open {

    overflow: hidden;

    overscroll-behavior: none;

    touch-action: none;

}


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

.footer {

    --footer-text:
        rgba(255, 255, 255, .82);

    --footer-muted:
        rgba(255, 255, 255, .68);

    position: relative;

    background: var(--primary-color);

    color: var(--white);

    padding: 3.5rem 0 0;

    overflow: hidden;

}

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

.footer-grid {

    display: grid;

    grid-template-columns:
        1.45fr 1fr 1fr 1fr 1.15fr;

    gap: clamp(1.5rem, 2.5vw, 3rem);

    align-items: start;

}


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

.footer-column {

    min-width: 0;

}
.footer-column h3 {

    position: relative;

    display: inline-block;

    margin: 0 0 .9rem;

    padding-bottom: .5rem;

    color: var(--white);

    font-family: var(--heading-font);

    font-size: 1.05rem;

    font-weight: 600;

    line-height: 1.2;

}

.footer-column h3::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: 0;

    width: 34px;

    height: 2px;

    border-radius: 999px;

    background: var(--secondary-color);

}

/*==================================================
                COMPANY ABOUT
==================================================*/

.footer-about {

    max-width: 320px;

}


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

.footer-logo {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 70px;

    height: 70px;

    margin-bottom: 1rem;

    text-decoration: none;

    transition: transform .3s ease;

}

.footer-logo:hover {

    transform: translateY(-2px);

}

.footer-logo img {

    display: block;

    width: 70px;

    height: 70px;

    object-fit: contain;

}


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

.footer-description {

    max-width: 34ch;

    margin: 0 0 1.25rem;

    color: var(--white);

    font-size: .9rem;

    line-height: 1.55;

}

.footer .footer-description {

    max-width: 34ch;

    margin: 0 0 1.25rem;

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

    font-size: .9rem;

    line-height: 1.55;
}
/*==================================================
                FOOTER CTA
==================================================*/

.footer-cta {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: .6rem;

    margin-top: .25rem;

    padding: .8rem 1.25rem;

    min-height: 44px;

    font-size: .88rem;

    line-height: 1.2;

}

.footer-cta i {

    transition: transform .3s ease;

}

.footer-cta:hover i {

    transform: translateX(4px);

}


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

.footer-column ul {

    list-style: none;

    margin: 0;

    padding: 0;

}

.footer-column li {

    margin: 0;

}

.footer-column li:not(:last-child) {

    margin-bottom: .55rem;

}

.footer-column a {

    position: relative;

    display: inline-flex;

    align-items: center;

    gap: .4rem;

    color: var(--footer-text);

    font-size: .9rem;

    line-height: 1.35;

    text-decoration: none;

    transition:
        color .3s ease,
        transform .3s ease;

}

.footer-column a::before {

    content: "";

    width: 0;

    height: 2px;

    flex-shrink: 0;

    border-radius: 999px;

    background: var(--secondary-color);

    transition: width .3s ease;

}

.footer-column a:hover {

    color: var(--white);

    transform: translateX(4px);

}

.footer-column a:hover::before {

    width: 10px;

}


/*==================================================
                CONTACT INFORMATION
==================================================*/

.footer-contact {

    display: grid;

    gap: .8rem;

}

.footer-contact li {

    display: flex;

    align-items: flex-start;

    gap: .7rem;

}

.footer-contact i {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 2rem;

    height: 2rem;

    flex: 0 0 2rem;

    border-radius: 50%;

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

    color: var(--secondary-color);

    font-size: .78rem;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;

}

.footer-contact li:hover i {

    background: var(--secondary-color);

    color: var(--primary-color);

    transform: translateY(-2px);

}

.footer-contact span,
.footer-contact a {

    color: var(--footer-text);

    font-size: .88rem;

    line-height: 1.45;

    text-decoration: none;

}

.footer-contact a:hover {

    color: var(--white);

}


/*==================================================
                SOCIAL MEDIA ROW
==================================================*/

.footer-social-row {

    margin-top: 2.5rem;

    padding: 1.35rem 0;

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

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

}

.footer-social-row .container {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 2rem;

}

.footer-social-row h3 {

    margin: 0;

    color: var(--white);

    font-family: var(--heading-font);

    font-size: 1.25rem;

    font-weight: 600;

    line-height: 1.2;

}


/*==================================================
                SOCIAL ICONS
==================================================*/

.social-icons {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    flex-wrap: wrap;

    gap: .75rem;

}

.social-icons a {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 48px;

    height: 48px;

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

    border-radius: 50%;

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

    color: var(--white);

    font-size: 1rem;

    text-decoration: none;

    transition:
        transform .3s ease,
        background-color .3s ease,
        border-color .3s ease,
        color .3s ease,
        box-shadow .3s ease;

}

.social-icons a:hover {

    background: var(--secondary-color);

    border-color: var(--secondary-color);

    color: var(--primary-color);

    transform: translateY(-4px);

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

}

.social-icons a:focus-visible {

    outline: 2px solid var(--secondary-color);

    outline-offset: 3px;

}


/*==================================================
                BRAND MESSAGE
==================================================*/

.footer-message {

    padding: 1.15rem 0;

}

.footer-message .container {

    text-align: center;

}

.footer-message p {

    max-width: 100%;

    margin: 0;

    color: var(--footer-muted);

    font-size: .86rem;

    line-height: 1.45;

}


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

.footer-bottom {

    padding: 1.15rem 0;

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

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

}

.footer-bottom-content {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 1rem;

}

.footer-bottom p {

    margin: 0;

    color: var(--footer-muted);

    font-size: .82rem;

    line-height: 1.4;

}

.footer-bottom-links {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    flex-wrap: wrap;

    gap: 1.2rem;

}

.footer-bottom-links a {

    position: relative;

    color: var(--footer-muted);

    font-size: .82rem;

    line-height: 1.4;

    text-decoration: none;

    transition: color .3s ease;

}

.footer-bottom-links a::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: -3px;

    width: 0;

    height: 1px;

    border-radius: 999px;

    background: var(--secondary-color);

    transition: width .3s ease;

}

.footer-bottom-links a:hover {

    color: var(--white);

}

.footer-bottom-links a:hover::after {

    width: 100%;

}




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

.hero {

    position: relative;

    display: flex;

    align-items: center;

    min-height: min(880px, 90vh);

    padding:
        calc(var(--header-height) + clamp(2rem, 4vw, 4rem)) 0 clamp(3rem, 6vw, 5rem);

    overflow: hidden;

    isolation: isolate;

    background: var(--primary-color);

}


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

.hero-image {

    position: absolute;

    inset: 0;

    background:
        url("../images/Hero.jpeg") 72% center / cover no-repeat;

    filter:
        brightness(.78) contrast(1.12) saturate(1.15);

    transform: translate3d(0, 0, 0);

    will-change: transform;

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

    z-index: 0;

}


/*==================================================
                GOLDEN LIGHT
==================================================*/

.hero::before {

    content: "";

    position: absolute;

    inset: 0;

    background:

        radial-gradient(circle at 18% 42%,
            rgba(212, 175, 55, .14),
            transparent 58%);

    z-index: 1;

}
.hero::after {

    content: "";

    position: absolute;

    inset: 0;

    background:

        radial-gradient(circle at center,

            transparent 35%,

            rgba(0, 0, 0, .10) 100%);

    z-index: 2;

    pointer-events: none;

}

/*==================================================
                OVERLAY
==================================================*/

.hero-overlay {

    position: absolute;

    inset: 0;

    background:

        linear-gradient(90deg,

            rgba(12, 20, 14, .94) 0%,

            rgba(12, 20, 14, .74) 35%,

            rgba(10, 18, 12, .32) 68%,

            rgba(10, 18, 12, .12) 100%),

        linear-gradient(180deg,

            rgba(0, 0, 0, .06),

            rgba(0, 0, 0, .18),

            rgba(0, 0, 0, .45));

    z-index: 2;

}


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

.hero .container {

    position: relative;

    z-index: 3;

    display: flex;

    align-items: center;

    width: 100%;

}


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

.hero-content {
    width: 100%;

    max-width: 54rem;
    margin-left: clamp(2rem, 4vw, 4rem);

    color: var(--white);

}


/*==================================================
                    TAG
==================================================*/

.hero-tag {

    display: inline-flex;

    align-items: center;

    gap: .75rem;

    padding: .85rem 1.45rem;

    margin-bottom: 2rem;

    border-radius: 999px;

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

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

    

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

    backdrop-filter: blur(14px);

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

    color: var(--secondary-color);

    font-size: .82rem;

    font-weight: 600;

    letter-spacing: .14em;

    text-transform: uppercase;

}

.hero-tag i {

    font-size: .95rem;

}


/*==================================================
                    TITLE
==================================================*/

.hero-title {

    max-width: 900px;

    margin-bottom: 1.75rem;

    font-family: var(--heading-font);

    font-size: clamp(3.4rem, 6vw, 6rem);

    font-weight: 700;

    line-height: .95;

    letter-spacing: -.04em;

    color: var(--white);

    text-wrap: balance;

    text-shadow:
        0 4px 12px rgba(0, 0, 0, .35),
        0 18px 40px rgba(0, 0, 0, .25);

}

.hero-title .title-highlight {

    color: var(--secondary-color);

}

/*==================================================
                DESCRIPTION
==================================================*/

.hero-text {

    max-width: 40rem;

    margin-bottom: 2.75rem;

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

    font-size: clamp(1.05rem, 1vw + .6rem, 1.18rem);

    line-height: 1.85;

}


/*==================================================
                BUTTON GROUP
==================================================*/

.hero-highlights {

    display: grid;

    grid-template-columns:

        repeat(2, minmax(190px, 230px));

    gap: 1rem;

    margin-top: 1rem;

}
/*==================================================
                HERO HIGHLIGHTS
==================================================*/

.hero-highlights {

    display: grid;

    grid-template-columns:

        repeat(2, minmax(180px, 220px));

    gap: 1rem;

    width: max-content;

}

.highlight {

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 1rem 1.4rem;

    min-height: 92px;

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

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

    border-radius: 20px;

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

    backdrop-filter: blur(14px);

    transition:

        transform .35s ease,

        border-color .35s ease,

        background .35s ease;

}

.highlight:last-child {

    grid-column: 1 / span 2;

    justify-self: center;

    width: 230px;

}

.highlight:hover {

    transform: translateY(-6px);

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

    border-color: rgba(212, 175, 55, .35);

}

.highlight strong {

    margin-bottom: .35rem;

    font-family: var(--heading-font);

    font-size: 1.85rem;

    color: var(--secondary-color);

}

.highlight span {

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

    font-size: .92rem;

}
.hero-scroll{

    position:absolute;

    left:50%;

    bottom:2rem;

    transform:translateX(-50%);

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:.45rem;

    text-decoration:none;

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

    font-size:.75rem;

    font-weight:500;

    letter-spacing:.18em;

    text-transform:uppercase;

    z-index:5;

    animation:scrollFloat 2.5s ease infinite;

}

.hero-scroll i{

    color:var(--secondary-color);

    font-size:1rem;

}
.hero-content > *{

    opacity:0;

    transform:translateY(24px);

    filter:blur(4px);

    will-change:transform,opacity;

    animation:

        fadeUp .9s cubic-bezier(.22,.61,.36,1)

        forwards;

}

.hero-content > *:nth-child(1){animation-delay:.10s;}
.hero-content > *:nth-child(2){animation-delay:.25s;}
.hero-content > *:nth-child(3){animation-delay:.40s;}
.hero-content > *:nth-child(4){animation-delay:.55s;}
.hero-content > *:nth-child(5){animation-delay:.70s;}

/*==================================================
                    KEYFRAMES
==================================================*/

@keyframes heroZoom {

    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.08);
    }

}

@keyframes fadeUp {

    from {

        opacity: 0;

        transform: translateY(24px);

        filter: blur(4px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

        filter: blur(0);

    }

}

@keyframes scrollFloat {

    0%,
    100% {

        transform: translate(-50%, 0);

    }

    50% {

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

    }

}
/*==================================================
        FEATURED SAFARI
==================================================*/

.featured-safari {

    background: var(--white);

    padding: 5rem 0;

}


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

.section-heading {

    max-width: 760px;

    margin: 0 auto 2.5rem;

    text-align: center;

}

.section-location {

    margin: .35rem 0 1rem;

    color: var(--secondary-color);

    font-weight: 600;

    letter-spacing: .08em;

    text-transform: uppercase;

}

.section-description {

    max-width: 680px;

    margin: 0 auto;

    color: var(--text-light);

}


/*==================================================
        TWO COLUMN LAYOUT
==================================================*/

.featured-layout {

    display: grid;

    grid-template-columns: 1.05fr 1fr;

    gap: 2.5rem;

    align-items: center;

}


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

.featured-image {

    overflow: hidden;

    border-radius: 24px;

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

}

.featured-image img {

    display: block;

    width: 100%;

    height: 420px;

    object-fit: cover;

    transition: transform .5s ease;

}

.featured-image:hover img {

    transform: scale(1.04);

}


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

.featured-content {

    display: flex;

    flex-direction: column;

    gap: 1rem;

}

.package-badge {

    display: inline-flex;

    align-items: center;

    gap: .65rem;

    align-self: flex-start;

    padding: .65rem 1.2rem;

    border-radius: 999px;

    background: #eef4ef;

    color: var(--primary-color);

    font-weight: 600;

}

.package-badge i {

    color: var(--secondary-color);

}

.featured-content h3 {

    margin: 0;

    font-size: 2rem;

    color: var(--primary-color);

}

.featured-content p {

    margin: 0;

    color: var(--text-light);

    line-height: 1.8;

}


/*==================================================
        OVERVIEW LIST
==================================================*/

.overview-list {

    display: grid;

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

    gap: .85rem 1.5rem;

    margin-top: .5rem;

}

.overview-list li {

    display: flex;

    align-items: center;

    gap: .75rem;

}

.overview-list i {

    color: var(--secondary-color);

}


/*==================================================
        HIGHLIGHTS
==================================================*/

.highlights-section {

    margin-top: 2.5rem;

}

.highlights-title {

    margin-bottom: 1.25rem;

    text-align: center;

    color: var(--primary-color);

}

.highlights-grid {

    display: grid;

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

    gap: 1rem;

}

.highlight-card {

    padding: 1.25rem;

    border-radius: 18px;

    background: #fff;

    border: 1px solid rgba(0, 0, 0, .06);

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

    text-align: center;

    transition: .3s ease;

}

.highlight-card:hover {

    transform: translateY(-5px);

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

}

.highlight-card i {

    margin-bottom: .8rem;

    font-size: 1.8rem;

    color: var(--secondary-color);

}

.highlight-card h4 {

    margin-bottom: .35rem;

    color: var(--primary-color);

}

.highlight-card p {

    font-size: .9rem;

    color: var(--text-light);

}


/*==================================================
        BOOKING PANEL
==================================================*/

.booking-panel {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 2rem;

    margin-top: 2.5rem;

    padding: 2rem;

    border-radius: 22px;

    background: var(--light-bg);

}

.booking-price {

    display: flex;

    flex-direction: column;

}

.price-label {

    margin-bottom: .35rem;

    color: var(--text-light);

    text-transform: uppercase;

    letter-spacing: .08em;

    font-size: .85rem;

}

.price {

    margin: 0;

    font-size: 3rem;

    line-height: 1;

    color: var(--secondary-color);

}

.price-unit {

    color: var(--text-light);

}

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

.package-buttons {

    display: flex;

    align-items: center;

    gap: 1rem;

    margin-top: 2rem;

    flex-wrap: wrap;

}

.package-buttons .btn {

    min-width: 230px;

    justify-content: center;

}

.package-buttons .btn i {

    margin-left: .65rem;

    transition: transform .3s ease;

}

.package-buttons .btn:hover i {

    transform: translateX(5px);

}

.package-buttons .btn-outline:hover i {

    transform: none;

    transform: rotate(-12deg);

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

.destination-grid {

    display: grid !important;

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

    gap: 2rem !important;

    background: red;

}

.destination-card {

    background: white;

}

.destination-card:hover {

    transform: translateY(-8px);

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

}

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

.destination-image {

    overflow: hidden;

}

.destination-image img {

    width: 100%;

    aspect-ratio: 16 / 10;

    object-fit: cover;

    transition: transform var(--transition-normal);

}

.destination-card:hover .destination-image img {

    transform: scale(1.05);

}

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

.destination-content {

    display: flex;

    flex-direction: column;

    flex: 1;

    padding: var(--space-4);

}

.destination-content h3 {

    margin-bottom: var(--space-2);

    color: var(--primary-color);

    font-size: var(--card-title);

    font-weight: var(--fw-semibold);

}

.destination-content p {

    flex: 1;

    margin-bottom: var(--space-4);

    color: var(--text-light);

    line-height: 1.8;

}

/*=========================================
        LINK
=========================================*/

.destination-content a {

    display: inline-flex;

    align-items: center;

    gap: .5rem;

    margin-top: auto;

    color: var(--primary-color);

    font-weight: var(--fw-semibold);

    transition:
        color var(--transition-normal);

}

.destination-content a:hover {

    color: var(--secondary-color);

}

.destination-content a i {

    transition:
        transform var(--transition-normal);

}

.destination-content a:hover i {

    transform: translateX(6px);

}


/*==================================================
                SAFARI COLLECTIONS
==================================================*/

.collections {

    background: var(--light-bg);

}

.collection-featured {

    display: grid;

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

    gap: 2rem;

    margin-top: 3rem;

    margin-bottom: 2rem;

}

.collection-grid {

    display: grid;

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

    gap: 1.5rem;

}

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

.collection-card {

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    padding: 2.5rem 2rem;

    background: var(--white);

    border-radius: 24px;

    border: 1px solid rgba(20, 40, 30, .08);

    box-shadow: 0 10px 35px rgba(18, 30, 22, .06);

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease;

}

.collection-card:hover {

    transform: translateY(-8px);

    border-color: var(--secondary-color);

    box-shadow: 0 20px 45px rgba(18, 30, 22, .12);

}

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

.collection-card.featured {

    padding: 3rem;

}

.collection-card.featured .collection-icon {

    width: 110px;

    height: 110px;

    font-size: 3rem;

}

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

.collection-icon {

    width: 82px;

    height: 82px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 1.5rem;

    border-radius: 24px;

    background: linear-gradient(135deg,
            var(--primary-color),
            #23482f);

    color: var(--secondary-color);

    box-shadow: 0 15px 35px rgba(16, 32, 22, .15);

    transition: all .35s ease;

}

.collection-icon i {

    font-size: 2.1rem;

}

.collection-card:hover .collection-icon {

    transform:

        rotate(-6deg) scale(1.08);

}

/*==================================================
                TITLE
==================================================*/

.collection-card h3 {

    margin-bottom: .85rem;

    color: var(--primary-color);

    font-size: 1.5rem;

    line-height: 1.3;

}

.collection-card.featured h3 {

    font-size: 2rem;

}

/*==================================================
                DESCRIPTION
==================================================*/

.collection-card p {

    margin-bottom: 1.75rem;

    color: var(--text-light);

    line-height: 1.8;

}

.collection-grid p {

    font-size: .95rem;

}

/*==================================================
                LINK
==================================================*/

.collection-link {

    display: inline-flex;

    align-items: center;

    gap: .6rem;

    margin-top: auto;

    color: var(--primary-color);

    font-weight: 600;

    text-decoration: none;

    transition: .35s ease;

}

.collection-link:hover {

    color: var(--secondary-color);

}

.collection-link i {

    transition: .35s ease;

}

.collection-link:hover i {

    transform: translateX(6px);

}

/*=========================================
        BOOKING PROCESS
=========================================*/

.booking-process {

    background: var(--light-bg);

}

.process-grid {

    display: grid;

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

    gap: var(--grid-gap);

}

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

.process-card {

    position: relative;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    padding: var(--space-5) var(--space-4);

    background: var(--white);

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

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

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal);

}

.process-card:hover {

    transform: translateY(-8px);

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

}

/*=========================================
        STEP NUMBER
=========================================*/

.process-number {

    position: absolute;

    top: var(--space-3);

    right: var(--space-3);

    display: flex;

    justify-content: center;

    align-items: center;

    width: 42px;

    height: 42px;

    border-radius: 50%;

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

    color: var(--secondary-color);

    font-size: .9rem;

    font-weight: var(--fw-bold);

}

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

.process-icon {

    margin-bottom: var(--space-4);

}

.process-card:hover .icon-circle {

    background: var(--secondary-color);

    color: var(--white);

    transform: scale(1.08);

}

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

.process-card h3 {

    margin-bottom: var(--space-3);

    font-family: var(--heading-font);

    font-size: var(--card-title);

    font-weight: var(--fw-semibold);

    color: var(--primary-color);

}

.process-card p {

    font-size: var(--body-text);

    color: var(--text-light);

    line-height: 1.8;

}

/*=========================================
        TESTIMONIALS
=========================================*/

.testimonials {

    background: var(--white);

}

.testimonial-grid {

    display: grid;

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

    gap: var(--grid-gap);

}

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

.testimonial-card {

    display: flex;

    flex-direction: column;

    padding: var(--space-5);

    background: var(--white);

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

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

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal);

}

.testimonial-card:hover {

    transform: translateY(-8px);

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

}

/*=========================================
        STAR RATING
=========================================*/

.stars {

    display: flex;

    align-items: center;

    gap: .35rem;

    margin-bottom: var(--space-3);

    color: var(--secondary-color);

    font-size: 1rem;

}

.stars i {

    transition: transform var(--transition-fast);

}

.testimonial-card:hover .stars i {

    transform: scale(1.08);

}

/*=========================================
        TESTIMONIAL TEXT
=========================================*/

.testimonial-text {

    flex: 1;

    margin-bottom: var(--space-4);

    font-size: var(--body-text);

    color: var(--text-light);

    line-height: 1.8;

    font-style: italic;

}

/*=========================================
        AUTHOR
=========================================*/

.testimonial-author {

    display: flex;

    align-items: center;

    gap: var(--space-3);

}

/*=========================================
        AVATAR
=========================================*/

.testimonial-avatar {

    display: flex;

    justify-content: center;

    align-items: center;

    width: 64px;

    height: 64px;

    flex-shrink: 0;

    border-radius: 50%;

    background: var(--primary-color);

    color: var(--white);

    font-size: 1.2rem;

    font-weight: var(--fw-bold);

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

}

/*=========================================
        AUTHOR INFORMATION
=========================================*/

.author-info h4 {

    margin-bottom: .25rem;

    font-family: var(--heading-font);

    font-size: 1.2rem;

    font-weight: var(--fw-semibold);

    color: var(--primary-color);

}

.author-info span {

    display: block;

    font-size: var(--small-text);

    color: var(--text-light);

}

/*=========================================
        CALL TO ACTION
=========================================*/

.cta {

    position: relative;

    background:
        linear-gradient(rgba(0, 0, 0, .45), rgba(0, 0, 0, .45)),
        url("../images/c.t.a.jpeg") center center / cover no-repeat;

    overflow: hidden;

}

.cta-overlay {

    position: absolute;

    inset: 0;

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

}

.cta-content {

    position: relative;

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

    max-width: 900px;

    margin-inline: auto;

    text-align: center;

    color: var(--white);

}

.cta-content h2 {

    margin: var(--space-3) 0;

    font-size: var(--section-title);

    color: var(--white);

    line-height: 1.15;

}

.cta-content>p {

    max-width: 760px;

    margin-inline: auto;

    margin-bottom: var(--space-4);

    font-size: var(--body-text);

    line-height: 1.8;

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

}

.cta-note {

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

    font-size: var(--small-text);

    margin-bottom: var(--space-5);

}

.cta-buttons {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: var(--space-3);

    margin-bottom: var(--space-5);

}

/*=========================================
        TRUST ITEMS
=========================================*/

.cta-trust {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: var(--space-5);

}

.trust-item {

    display: flex;

    align-items: center;

    gap: var(--space-2);

}

.trust-item span {

    display: flex;

    justify-content: center;

    align-items: center;

    width: 36px;

    height: 36px;

    border-radius: 50%;

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

    color: var(--secondary-color);

    font-size: .95rem;

    transition:
        background var(--transition-normal),
        color var(--transition-normal),
        transform var(--transition-normal);

}

.trust-item:hover span {

    background: var(--secondary-color);

    color: var(--white);

    transform: scale(1.08);

}

.trust-item p {

    margin: 0;

    color: var(--white);

    font-size: var(--body-text);

    font-weight: var(--fw-medium);

}

/*=========================================
        SAFARI PACKAGES HERO
=========================================*/

.packages-hero {

    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 82vh;

    background:
        linear-gradient(rgba(46, 94, 59, .72),
            rgba(46, 94, 59, .72)),
        url("../images/safaris/hero.jpg") center center / cover no-repeat;

    overflow: hidden;

}

.packages-overlay {

    position: absolute;
    inset: 0;

    background: linear-gradient(to bottom,
            rgba(0, 0, 0, .10),
            rgba(0, 0, 0, .30));

}

.packages-hero .container {

    position: relative;
    z-index: 2;

}

.packages-hero-content {

    max-width: 820px;
    margin: 0 auto;
    text-align: center;
    color: var(--white);

}

.hero-tag {

    display: inline-flex;
    align-items: center;
    gap: .7rem;

    padding: .75rem 1.5rem;

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

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

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

    color: var(--secondary-color);

    font-size: .9rem;
    font-weight: var(--fw-semibold);

    letter-spacing: .08em;

    text-transform: uppercase;

}

.packages-hero-content h1 {

    margin: var(--space-4) 0 var(--space-3);

    font-family: var(--heading-font);

    font-size: clamp(2.8rem, 6vw, 4.8rem);

    line-height: 1.15;

    color: var(--white);

}

.packages-hero-content p {

    max-width: 720px;

    margin: 0 auto var(--space-5);

    font-size: 1.1rem;

    line-height: 1.9;

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

}

.hero-buttons {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 1.25rem;

    flex-wrap: wrap;

}

/*=========================================
    DISCOVER EAST AFRICA
=========================================*/

.package-intro {
    position: relative;
    padding: 120px 0;
    background:
        linear-gradient(to bottom, #fffdf8 0%, #f7f3eb 100%);
    overflow: hidden;
}

.package-intro::before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    top: -220px;
    right: -180px;
    border-radius: 50%;
    background: rgba(46, 94, 59, .05);
}

.package-intro::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    bottom: -180px;
    left: -120px;
    border-radius: 50%;
    background: rgba(212, 175, 55, .06);
}

.package-intro .container {
    position: relative;
    z-index: 2;
}

/*-----------------------------------------
Section Heading
-----------------------------------------*/

.package-intro .section-heading {
    max-width: 850px;
    margin: 0 auto 70px;
    text-align: center;
}

.package-intro .section-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 10px 22px;

    border-radius: 40px;

    background: #fff;

    color: #B8860B;

    font-weight: 600;

    font-size: .95rem;

    box-shadow: 0 8px 25px rgba(0, 0, 0, .06);
}

.package-intro .section-subtitle i {
    color: #2E5E3B;
}

.package-intro h2 {
    margin-top: 25px;

    font-size: 3rem;

    line-height: 1.15;

    color: #163321;
}

.package-intro .section-heading p {
    margin-top: 25px;

    color: #666;

    font-size: 1.08rem;

    line-height: 1.9;
}

/*-----------------------------------------
Layout
-----------------------------------------*/

.intro-content {

    display: grid;

    grid-template-columns: 2fr 1fr;

    gap: 60px;

    align-items: center;

}

/*-----------------------------------------
Text
-----------------------------------------*/

.intro-text h3 {

    font-size: 2rem;

    color: #1b3b2b;

    margin-bottom: 25px;

}

.intro-text p {

    color: #555;

    line-height: 1.9;

    margin-bottom: 24px;

    font-size: 1.05rem;

}

.intro-text strong {

    color: #2E5E3B;

    font-weight: 600;

}

/*-----------------------------------------
Stats
-----------------------------------------*/

.intro-stats {

    display: grid;

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

    gap: 25px;

}

.intro-stat {

    background: #fff;

    padding: 35px 20px;

    text-align: center;

    border-radius: 20px;

    border: 1px solid rgba(46, 94, 59, .08);

    box-shadow: 0 15px 35px rgba(0, 0, 0, .06);

    transition: .35s ease;

}

.intro-stat:hover {

    transform: translateY(-8px);

    box-shadow: 0 25px 50px rgba(0, 0, 0, .12);

    border-color: #d4af37;

}

.intro-stat h3 {

    font-family: "Playfair Display", serif;

    font-size: 3rem;

    color: #2E5E3B;

    margin-bottom: 10px;

}

.intro-stat span {

    display: block;

    color: #666;

    font-size: .95rem;

    line-height: 1.6;

    font-weight: 500;

}

/*-----------------------------------------
Premium Highlight
-----------------------------------------*/

.intro-stat:first-child {

    background: linear-gradient(135deg, #2E5E3B, #4B7A56);

}

.intro-stat:first-child h3,

.intro-stat:first-child span {

    color: #fff;

}

/*-----------------------------------------
Hover Animation
-----------------------------------------*/

.intro-text p,
.intro-stat {

    transition: .35s ease;

}

.intro-text p:hover {

    color: #2E5E3B;

}


/*==================================================
  SAFARI STYLE
==================================================*/

.safari-style {
    position: relative;
    padding: 120px 0;
    background: #faf8f3;
    overflow: hidden;
}

.safari-style::before {
    content: "";
    position: absolute;
    width: 450px;
    height: 450px;
    top: -220px;
    left: -180px;
    border-radius: 50%;
    background: rgba(46, 94, 59, .05);
}

.safari-style::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    bottom: -180px;
    right: -120px;
    border-radius: 50%;
    background: rgba(212, 175, 55, .08);
}

.safari-style .container {
    position: relative;
    z-index: 2;
}

/*==========================================
Section Heading
==========================================*/

.safari-style .section-heading {
    max-width: 850px;
    margin: 0 auto 70px;
    text-align: center;
}

.safari-style .section-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 22px;
    border-radius: 50px;
    background: #fff;
    color: #c58a15;
    font-size: .95rem;
    font-weight: 600;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .06);
}

.safari-style h2 {
    margin: 25px 0;
    font-size: 3rem;
    line-height: 1.2;
    color: #173522;
}

.safari-style .section-heading p {
    color: #666;
    line-height: 1.9;
    font-size: 1.05rem;
}

/*==========================================
Grid
==========================================*/

.style-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
}

/*==========================================
Card
==========================================*/

.style-card {

    background: #fff;

    border-radius: 24px;

    padding: 40px 35px;

    position: relative;

    transition: .35s;

    border: 1px solid rgba(0, 0, 0, .05);

    overflow: hidden;

    box-shadow: 0 18px 40px rgba(0, 0, 0, .05);

}

.style-card:hover {

    transform: translateY(-12px);

    box-shadow: 0 30px 60px rgba(0, 0, 0, .12);

    border-color: #d4af37;

}

.style-card::before {

    content: "";

    position: absolute;

    left: 0;

    top: 0;

    width: 100%;

    height: 5px;

    background: linear-gradient(90deg, #2E5E3B, #d4af37);

}

/*==========================================
Icons
==========================================*/

.style-icon {

    width: 75px;

    height: 75px;

    border-radius: 20px;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 30px;

    color: #fff;

    margin-bottom: 25px;

}

.style-icon.luxury {

    background: linear-gradient(135deg, #d4af37, #b8860b);

}

.style-icon.midrange {

    background: linear-gradient(135deg, #2E5E3B, #4f8060);

}

.style-icon.budget {

    background: linear-gradient(135deg, #6b7b8c, #95a5a6);

}

.style-icon.family {

    background: linear-gradient(135deg, #3f7b52, #7cb342);

}

.style-icon.honeymoon {

    background: linear-gradient(135deg, #d95b72, #ff9fb2);

}

.style-icon.private {

    background: linear-gradient(135deg, #283593, #3949ab);

}

/*==========================================
Label
==========================================*/

.style-label {

    display: inline-block;

    padding: 7px 16px;

    border-radius: 30px;

    background: #f4efe2;

    color: #b8860b;

    font-size: .78rem;

    font-weight: 600;

    letter-spacing: .5px;

    margin-bottom: 18px;

    text-transform: uppercase;

}

/*==========================================
Typography
==========================================*/

.style-card h3 {

    font-size: 1.6rem;

    color: #173522;

    margin-bottom: 18px;

    font-family: "Playfair Display", serif;

}

.style-card p {

    color: #666;

    line-height: 1.8;

    margin-bottom: 30px;

}

/*==========================================
Features
==========================================*/

.style-features {

    list-style: none;

    margin: 0 0 35px;

    padding: 0;

}

.style-features li {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 12px;

    color: #444;

    font-weight: 500;

}

.style-features li::before {

    content: "✓";

    width: 24px;

    height: 24px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #2E5E3B;

    color: #fff;

    font-size: .75rem;

}

/*==========================================
Button
==========================================*/

.style-link {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: #2E5E3B;

    font-weight: 600;

    text-decoration: none;

    transition: .3s;

}

.style-link:hover {

    gap: 16px;

    color: #b8860b;

}

.style-link i {

    transition: .3s;

}

/*==========================================
Hover
==========================================*/

.style-card:hover .style-icon {

    transform: rotate(-8deg) scale(1.08);

}

.style-icon {

    transition: .35s;

}

/*=========================================
    SIGNATURE SAFARI PACKAGES
=========================================*/

.signature-packages {
    background: #ffffff;
}

.signature-grid {
    max-width: 1400px;
    margin: 70px auto 0;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
}

/* Card */

.signature-card {
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: 22px;
    overflow: hidden;

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

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal),
        border-color var(--transition-normal);
}

.signature-card:hover {
    transform: translateY(-10px);
    border-color: var(--secondary-color);
    box-shadow: var(--shadow-xl);
}

/* Image */

.signature-image {
    position: relative;
    height: 260px;
    overflow: hidden;
}

.signature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition: transform .7s ease;
}

.signature-card:hover .signature-image img {
    transform: scale(1.08);
}

.signature-image::after {

    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(to top,
            rgba(0, 0, 0, .35),
            rgba(0, 0, 0, 0));

}

/* Badge */

.package-badge {

    position: absolute;

    top: 20px;
    left: 20px;

    z-index: 2;

    padding: 8px 18px;

    border-radius: 50px;

    background: var(--secondary-color);

    color: #fff;

    font-size: .8rem;
    font-weight: 600;

    letter-spacing: 1px;
    text-transform: uppercase;

}

/* Content */

.signature-content {
    padding: 30px;
}

.package-duration {

    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: var(--text-light);

    font-size: .9rem;
    font-weight: 500;

}

.package-duration i {
    color: var(--secondary-color);
}

.signature-content h3 {

    margin: 18px 0 15px;

    font-family: var(--heading-font);
    font-size: 1.7rem;
    line-height: 1.3;

    color: var(--primary-color);

}

.signature-content>p {

    color: var(--text-light);

    margin-bottom: 25px;

    line-height: 1.8;

}

/* Features */

.package-features {

    display: flex;
    flex-wrap: wrap;

    gap: 12px;

    margin-bottom: 30px;

}

.package-features span {

    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 8px 14px;

    border-radius: 50px;

    background: #f7f7f7;

    border: 1px solid #ececec;

    font-size: .85rem;
    font-weight: 500;

    color: var(--text-dark);

}

.package-features i {

    color: var(--secondary-color);

}

/* Footer */

.signature-footer {

    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 20px;

    padding-top: 25px;

    border-top: 1px solid #ededed;

}

/* Price */

.price {

    display: flex;
    flex-direction: column;

    font-size: .9rem;

    color: var(--text-light);

}

.price strong {

    margin-top: 3px;

    color: var(--primary-color);

    font-size: 1.5rem;

    font-weight: 700;

}

/* Bottom CTA */

.packages-action {

    margin-top: 70px;

    text-align: center;

}
/*=========================================
    BROWSE BY SAFARI STYLE
=========================================*/

.safari-style {
    background: #f8f8f8;
}

.style-grid {

    max-width: 1400px;
    margin: 70px auto 0;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;

}

.style-card {

    background: #fff;

    padding: 45px 35px;

    text-align: center;

    border-radius: 20px;
    border: 1px solid var(--border-color);

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

    transition:
        transform var(--transition-normal),
        border-color var(--transition-normal),
        box-shadow var(--transition-normal);

}

.style-card:hover {

    transform: translateY(-10px);

    border-color: var(--secondary-color);

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

}

.style-icon {

    width: 85px;
    height: 85px;

    margin: 0 auto 30px;

    display: flex;
    justify-content: center;
    align-items: center;

    border-radius: 50%;

    background:
        linear-gradient(135deg,
            var(--primary-color),
            #42754f);

    color: #fff;

    font-size: 2rem;

}

.style-card h3 {

    margin-bottom: 18px;

    font-family: var(--heading-font);

    font-size: 1.7rem;

    color: var(--primary-color);

}

.style-card p {

    margin-bottom: 28px;

    line-height: 1.9;

    color: var(--text-light);

}

.style-link {

    display: inline-flex;
    align-items: center;
    gap: 10px;

    font-weight: 600;

    color: var(--secondary-color);

    text-decoration: none;

    transition: var(--transition-normal);

}

.style-link i {

    transition: .3s;

}

.style-link:hover {

    color: var(--primary-color);

}

.style-link:hover i {

    transform: translateX(6px);

}
/*=========================================
  FEATURED SAFARI COLLECTIONS
=========================================*/

.safari-collections {
    background: #f8faf8;
    position: relative;
}

.collections-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: 4rem;
}

.collection-card {
    background: #fff;
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
    transition: .4s ease;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.collection-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #2E5E3B, #d4af37);
    transform: scaleX(0);
    transition: .4s;
    transform-origin: left;
}

.collection-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 45px rgba(0, 0, 0, .12);
}

.collection-card:hover::before {
    transform: scaleX(1);
}

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

.collection-icon {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(46, 94, 59, .08);
    color: #2E5E3B;
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
    transition: .35s;
}

.collection-card:hover .collection-icon {
    background: #2E5E3B;
    color: #fff;
    transform: rotate(-8deg) scale(1.08);
}

/*=========================================
  LABEL
=========================================*/

.collection-label {
    display: inline-flex;
    align-items: center;
    width: max-content;
    padding: .45rem 1rem;
    margin-bottom: 1rem;
    border-radius: 30px;
    background: #eef6ef;
    color: #2E5E3B;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/*=========================================
  TITLE
=========================================*/

.collection-card h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    color: #1d2c24;
    margin-bottom: 1rem;
    line-height: 1.3;
}

/*=========================================
  DESCRIPTION
=========================================*/

.collection-card p {
    color: #666;
    line-height: 1.8;
    margin-bottom: 1.8rem;
    flex-grow: 1;
}

/*=========================================
  DESTINATION LIST
=========================================*/

.collection-card ul {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem;
}

.collection-card ul li {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: .9rem;
    color: #444;
    font-size: .95rem;
}

.collection-card ul li::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d4af37;
    flex-shrink: 0;
}

/*=========================================
  LINK
=========================================*/

.collection-card a {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    margin-top: auto;
    text-decoration: none;
    color: #2E5E3B;
    font-weight: 600;
    transition: .3s;
}

.collection-card a i {
    transition: .3s;
}

.collection-card:hover a {
    color: #d4af37;
}

.collection-card:hover a i {
    transform: translateX(6px);
}

/*=========================================
  CTA
=========================================*/

.collections-cta {
    margin-top: 5rem;
    text-align: center;
    background: #fff;
    padding: 4rem;
    border-radius: 24px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, .06);
}

.collections-cta h3 {
    font-family: 'Playfair Display', serif;
    font-size: 2rem;
    color: #1f3529;
    margin-bottom: 1rem;
}

.collections-cta p {
    max-width: 760px;
    margin: 0 auto 2rem;
    color: #666;
    line-height: 1.8;
    font-size: 1.05rem;
}

/*==================================================
 WHY CHOOSE BURAKEYE
==================================================*/

.why-burakeye {
    padding: 110px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f7faf8 100%);
    position: relative;
    overflow: hidden;
}

.why-burakeye::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -180px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(212, 175, 55, .08);
}

.why-burakeye::after {
    content: "";
    position: absolute;
    bottom: -200px;
    left: -180px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(46, 94, 59, .08);
}

.why-burakeye .container {
    position: relative;
    z-index: 2;
}

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

.why-burakeye-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 4rem;
}

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

.why-card {
    background: #fff;
    border-radius: 24px;
    padding: 2.5rem;
    box-shadow: 0 15px 40px rgba(0, 0, 0, .06);
    transition: .4s ease;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(46, 94, 59, .08);
}

.why-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #2E5E3B, #d4af37);
    transform: scaleX(0);
    transform-origin: left;
    transition: .4s;
}

.why-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 22px 45px rgba(0, 0, 0, .12);
}

.why-card:hover::before {
    transform: scaleX(1);
}

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

.why-icon {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef7f0;
    color: #2E5E3B;
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
    transition: .35s;
}

.why-card:hover .why-icon {
    background: #2E5E3B;
    color: #fff;
    transform: rotate(-8deg) scale(1.08);
}

/*=========================================
 TEXT
=========================================*/

.why-card h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.55rem;
    color: #1d2d23;
    margin-bottom: 1rem;
}

.why-card p {
    color: #666;
    line-height: 1.8;
    font-size: .98rem;
}

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

.why-stats {
    margin-top: 5rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #2E5E3B;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 20px 45px rgba(46, 94, 59, .25);
}

.stat {
    text-align: center;
    padding: 3rem 1.5rem;
    position: relative;
}

.stat:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, .12);
}

.stat h3 {
    font-family: 'Playfair Display', serif;
    font-size: 3rem;
    color: #d4af37;
    margin-bottom: .6rem;
}

.stat span {
    color: #ffffff;
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: .04em;
}

/*=========================================
 HOVER
=========================================*/

.stat:hover {
    background: rgba(255, 255, 255, .05);
}
/*=========================================
  PERSONALIZED SAFARI PLANNING
=========================================*/

.planning-section {
    padding: 110px 0;
    background: linear-gradient(180deg, #ffffff 0%, #f7faf8 100%);
    overflow: hidden;
    position: relative;
}

.planning-section::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -180px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(212, 175, 55, .08);
}

.planning-section::after {
    content: "";
    position: absolute;
    bottom: -180px;
    left: -180px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(46, 94, 59, .08);
}

.planning-section .container {
    position: relative;
    z-index: 2;
}

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

.planning-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
}

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

.planning-image {
    position: relative;
}

.planning-image img {
    width: 100%;
    height: 600px;
    border-radius: 24px;
    display: block;
    box-shadow: 0 25px 60px rgba(0, 0, 0, .18);
    transition: .5s;
}

.planning-image:hover img {
    transform: scale(1.03);
}

.planning-image::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    background: #d4af37;
    opacity: .12;
    border-radius: 30px;
    top: -30px;
    left: -30px;
    z-index: -1;
}

.planning-image::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    background: #2E5E3B;
    opacity: .08;
    border-radius: 30px;
    bottom: -30px;
    right: -30px;
    z-index: -1;
}

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

.planning-content h2 {
    margin: 1rem 0 1.5rem;
    font-size: 2.8rem;
    font-family: "Playfair Display", serif;
    color: #203126;
    line-height: 1.25;
}

.planning-content p {
    color: #666;
    line-height: 1.9;
    margin-bottom: 1.3rem;
}

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

.planning-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem 2rem;
    margin: 2.5rem 0;
}

.planning-item {
    display: flex;
    align-items: center;
    gap: .9rem;
    background: #fff;
    padding: 1rem 1.2rem;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .05);
    transition: .3s;
}

.planning-item:hover {
    transform: translateX(8px);
}

.planning-item i {
    color: #2E5E3B;
    font-size: 1.15rem;
}

.planning-item span {
    font-weight: 500;
    color: #444;
}

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

.planning-buttons {
    display: flex;
    gap: 1rem;
    margin-top: 2.5rem;
    flex-wrap: wrap;
}

.planning-buttons .btn {
    min-width: 190px;
    text-align: center;
}

/*=========================================
TRUST BAR
=========================================*/

.planning-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(0, 0, 0, .08);
}

.trust-item {
    display: flex;
    align-items: center;
    gap: .7rem;
    font-weight: 600;
    color: #2E5E3B;
}

.trust-item i {
    color: #d4af37;
    font-size: 1.2rem;
}

/*=========================================
FINAL CTA
=========================================*/

.safari-cta {

    padding: 120px 0;

    background:
        linear-gradient(rgba(22, 39, 28, .78),
            rgba(22, 39, 28, .82)),
        url("/images/safaris/c.t.a.jpeg") center/cover no-repeat;

    text-align: center;

    position: relative;

    overflow: hidden;

}

.cta-wrapper {

    max-width: 900px;

    margin: auto;

}

.safari-cta .section-subtitle {

    color: #d4af37;

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

}

.safari-cta h2 {

    color: #fff;

    font-size: 3rem;

    margin: 1.2rem 0;

    font-family: "Playfair Display", serif;

    line-height: 1.25;

}

.safari-cta p {

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

    font-size: 1.08rem;

    line-height: 1.9;

    max-width: 760px;

    margin: 0 auto 3rem;

}

/*=========================================
HIGHLIGHTS
=========================================*/

.cta-highlights {

    display: grid;

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

    gap: 1rem 2rem;

    margin-bottom: 3rem;

}

.highlight {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: .8rem;

    color: #fff;

    font-weight: 500;

}

.highlight i {

    color: #d4af37;

}

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

.cta-buttons {

    display: flex;

    justify-content: center;

    gap: 1.5rem;

    flex-wrap: wrap;

}

.btn-outline-light {

    padding: 16px 34px;

    border: 2px solid rgba(255, 255, 255, .85);

    border-radius: 50px;

    color: #fff;

    text-decoration: none;

    font-weight: 600;

    transition: .35s;

}

.btn-outline-light:hover {

    background: #fff;

    color: #2E5E3B;

}

.safari-cta .btn-primary {

    box-shadow: 0 12px 30px rgba(0, 0, 0, .25);

}


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

.experiences-hero {

    position: relative;

    min-height: 100vh;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    overflow: hidden;

    background:
        linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .45)),
        url("../images/experiences/hero.jpeg") center center / cover no-repeat;

}

/*=========================================
        OVERLAY
=========================================*/

.experiences-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(0, 0, 0, .15),
            rgba(0, 0, 0, .30));

}

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

.experiences-content {

    position: relative;

    z-index: 2;

    max-width: 900px;

    margin: auto;

    color: #fff;

}

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

.hero-tag {

    display: inline-flex;

    align-items: center;

    gap: .65rem;

    padding: .75rem 1.5rem;

    border-radius: 50px;

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

    backdrop-filter: blur(12px);

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

    color: #F4C542;

    font-size: .95rem;

    font-weight: 600;

    letter-spacing: .08em;

    text-transform: uppercase;

}

/*=========================================
        TITLE
=========================================*/

.experiences-content h1 {

    margin: 2rem 0 1.5rem;

    color: #fff;

    font-size: clamp(3rem, 6vw, 5rem);

    line-height: 1.1;

}

/*=========================================
        DESCRIPTION
=========================================*/

.experiences-content p {

    max-width: 760px;

    margin: auto;

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

    font-size: 1.12rem;

    line-height: 1.9;

}

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

.hero-buttons {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 1rem;

    margin-top: 2.5rem;

}

/*=========================================
        HIGHLIGHTS
=========================================*/

.hero-highlights {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 1rem;

    margin-top: 3rem;

}

.hero-highlight {

    display: flex;

    align-items: center;

    gap: .65rem;

    padding: .9rem 1.4rem;

    border-radius: 999px;

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

    backdrop-filter: blur(8px);

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

    color: #fff;

    font-size: .95rem;

    font-weight: 500;

}

.hero-highlight i {

    color: var(--secondary-color);

    font-size: 1rem;

}

/*=========================================
        EXPERIENCE INTRO
=========================================*/

.experience-intro {

    background: var(--white);

}

.intro-grid {

    display: grid;

    grid-template-columns: 1.3fr 1fr;

    gap: 4rem;

    align-items: center;

    margin-top: 4rem;

}

.intro-text p {

    margin-bottom: 1.8rem;

    font-size: 1.05rem;

    line-height: 1.9;

    color: var(--text-color);

}

.intro-highlights {

    display: grid;

    gap: 1.5rem;

}

.highlight-item {

    display: flex;

    gap: 1.25rem;

    align-items: flex-start;

    padding: 1.5rem;

    background: #fff;

    border-radius: 18px;

    border: 1px solid rgba(0, 0, 0, .08);

    transition: .35s ease;

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

}

.highlight-item:hover {

    transform: translateY(-6px);

    box-shadow: 0 20px 40px rgba(0, 0, 0, .10);

}

.highlight-item i {

    width: 58px;

    height: 58px;

    border-radius: 50%;

    display: grid;

    place-items: center;

    background: rgba(46, 94, 59, .1);

    color: var(--primary-color);

    font-size: 1.4rem;

    flex-shrink: 0;

}

.highlight-item h3 {

    margin-bottom: .5rem;

    font-size: 1.15rem;

    color: var(--heading-color);

}

.highlight-item p {

    margin: 0;

    line-height: 1.7;

}

/*=========================================
        EXPERIENCES SECTION
=========================================*/

.experiences-section {

    background: linear-gradient(180deg, #faf9f5 0%, #ffffff 100%);

    position: relative;

    overflow: hidden;

}

.experience-grid {

    display: grid;

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

    gap: 2rem;

    margin-top: 4rem;

}

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

.experience-card {

    display: flex;

    flex-direction: column;

    background: #fff;

    border-radius: 22px;

    overflow: hidden;

    box-shadow: 0 12px 35px rgba(0, 0, 0, .08);

    transition: .4s ease;

    border: 1px solid rgba(46, 94, 59, .08);

    height: 100%;

}

.experience-card:hover {

    transform: translateY(-12px);

    box-shadow: 0 28px 55px rgba(0, 0, 0, .15);

}

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

.experience-image {

    position: relative;

    overflow: hidden;

    height: 260px;

}

.experience-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform .6s ease;

}

.experience-card:hover .experience-image img {

    transform: scale(1.08);

}

/* Dark Gradient */

.experience-image::after {

    content: "";

    position: absolute;

    inset: 0;

    background: linear-gradient(to top,
            rgba(0, 0, 0, .45),
            transparent 55%);

}

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

.experience-content {

    display: flex;

    flex-direction: column;

    flex: 1;

    padding: 2rem;

}

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

.experience-content i {

    width: 62px;

    height: 62px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: rgba(46, 94, 59, .10);

    color: var(--primary-color);

    font-size: 1.5rem;

    margin-bottom: 1.4rem;

}

/*=========================================
        TITLE
=========================================*/

.experience-content h3 {

    margin-bottom: .9rem;

    font-size: 1.45rem;

    color: var(--primary-color);

    line-height: 1.3;

}

/*=========================================
        TEXT
=========================================*/

.experience-content p {

    flex: 1;

    margin-bottom: 1.8rem;

    color: var(--text-light);

    line-height: 1.8;

}

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

.experience-content a {

    display: inline-flex;

    align-items: center;

    gap: .6rem;

    color: var(--primary-color);

    font-weight: 600;

    text-decoration: none;

    transition: .35s ease;

}

.experience-content a i {

    width: auto;

    height: auto;

    background: none;

    margin: 0;

    font-size: .9rem;

}

.experience-content a:hover {

    color: var(--secondary-color);

    gap: .9rem;

}
/*==================================================
        FEATURED EXPERIENCE
==================================================*/

.featured-experience {

    background: linear-gradient(180deg, #ffffff 0%, #f8f7f3 100%);

    overflow: hidden;

}

.featured-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 5rem;

    align-items: center;

}

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

.featured-content {

    display: flex;

    flex-direction: column;

}

.featured-content h2 {

    margin: 1rem 0 1.5rem;

}

.featured-lead {

    font-size: 1.1rem;

    color: var(--text-dark);

    line-height: 1.9;

    margin-bottom: 1.5rem;

}

.featured-content p {

    color: var(--text-light);

    line-height: 1.9;

    margin-bottom: 2rem;

}

/*==================================================
        HIGHLIGHTS
==================================================*/

.featured-highlights {

    display: grid;

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

    gap: 1.25rem;

    margin: 2.5rem 0;

}

.highlight-card {

    background: #fff;

    text-align: center;

    padding: 1.6rem;

    border-radius: 18px;

    box-shadow: 0 15px 40px rgba(0, 0, 0, .08);

    transition: .35s;

}

.highlight-card:hover {

    transform: translateY(-8px);

}

.highlight-card h3 {

    font-size: 2rem;

    color: var(--primary-color);

    margin-bottom: .4rem;

}

.highlight-card span {

    color: var(--text-light);

    font-size: .9rem;

}

/*==================================================
        FEATURE LIST
==================================================*/

.featured-list {

    list-style: none;

    display: grid;

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

    gap: 1rem 2rem;

    margin: 2rem 0;

}

.featured-list li {

    display: flex;

    align-items: center;

    gap: .8rem;

    color: var(--text-dark);

    font-weight: 500;

}

.featured-list i {

    color: var(--secondary-color);

    font-size: 1.1rem;

}

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

.featured-buttons {

    display: flex;

    flex-wrap: wrap;

    gap: 1rem;

    margin-top: 2rem;

}

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

.featured-image {

    position: relative;

    overflow: hidden;

    border-radius: 24px;

    box-shadow: 0 25px 60px rgba(0, 0, 0, .15);

}

.featured-image img {

    width: 100%;

    height: 650px;

    object-fit: cover;

    display: block;

    transition: .6s ease;

}

.featured-image:hover img {

    transform: scale(1.06);

}

.featured-image::after {

    content: "";

    position: absolute;

    inset: 0;

    background: linear-gradient(to top,
            rgba(0, 0, 0, .55),
            transparent 45%);

}

.featured-image figcaption {

    position: absolute;

    left: 2rem;

    bottom: 2rem;

    z-index: 2;

    color: #fff;

    font-size: 1rem;

    font-weight: 600;

    letter-spacing: .05em;

}

/*==================================================
        WHY BURAKEYE
==================================================*/

.experience-stats {

    background: linear-gradient(180deg, #ffffff 0%, #f7f6f2 100%);

}

.stats-grid {

    display: grid;

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

    gap: 2rem;

    margin-top: 4rem;

}

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

.stat-card {

    background: #fff;

    padding: 2.5rem;

    border-radius: 22px;

    text-align: left;

    box-shadow: 0 15px 40px rgba(0, 0, 0, .08);

    transition: .35s;

    border: 1px solid rgba(46, 94, 59, .08);

}

.stat-card:hover {

    transform: translateY(-10px);

    box-shadow: 0 25px 55px rgba(0, 0, 0, .14);

}

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

.stat-icon {

    width: 72px;

    height: 72px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background: rgba(46, 94, 59, .08);

    color: var(--primary-color);

    font-size: 1.6rem;

    margin-bottom: 1.5rem;

}

.stat-card h3 {

    margin-bottom: 1rem;

    color: var(--primary-color);

}

.stat-card p {

    color: var(--text-light);

    line-height: 1.8;

}





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

.experience-stats {

    background: var(--light-bg);

}

.stats-grid {

    display: grid;

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

    gap: var(--grid-gap);

}

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

.stat-card {

    padding: var(--space-5) var(--space-4);

    background: var(--white);

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

    text-align: center;

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

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal);

}

.stat-card:hover {

    transform: translateY(-8px);

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

}

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

.stat-card i {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 72px;

    height: 72px;

    margin-bottom: var(--space-3);

    border-radius: 50%;

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

    color: var(--secondary-color);

    font-size: 2rem;

}

/*=========================================
        TITLE
=========================================*/

.stat-card h3 {

    margin-bottom: var(--space-3);

    color: var(--primary-color);

    font-size: var(--card-title);

    line-height: 1.2;

}

/*=========================================
        TEXT
=========================================*/

.stat-card p {

    color: var(--text-light);

    line-height: 1.8;

}

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

.gallery-preview {

    background: var(--white);

}

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

.gallery-grid {

    display: grid;

    grid-template-columns: 1fr 1.4fr;

    grid-template-rows: 200px 200px 180px;

    grid-template-areas:
        "lion elephant"
        "lion balloon"
        "maasai giraffe";

    gap: var(--grid-gap);

    margin-top: var(--space-5);

}
/*=========================================
        GALLERY PREVIEW
=========================================*/

.gallery-preview {

    background: var(--white);

}

.gallery-grid {

    display: grid;

    grid-template-columns: 1.8fr 1fr;

    grid-template-rows: repeat(4, 160px);

    gap: 18px;

    margin-top: var(--space-5);

}

/*=========================================
        GALLERY ITEMS
=========================================*/

.gallery-item {

    position: relative;

    overflow: hidden;

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

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

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal);

}

.gallery-item:hover {

    transform: translateY(-6px);

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

}

.gallery-item img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .7s ease;

}

.gallery-item:hover img {

    transform: scale(1.08);

}

/*=========================================
        EDITORIAL LAYOUT
=========================================*/

.gallery-large {

    grid-row: 1 / span 4;

}

.gallery-grid .gallery-item:nth-child(2) {

    grid-row: 1;

}

.gallery-grid .gallery-item:nth-child(3) {

    grid-row: 2;

}

.gallery-grid .gallery-item:nth-child(4) {

    grid-row: 3;

}

.gallery-grid .gallery-item:nth-child(5) {

    grid-row: 4;

}

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

.gallery-preview {

    background: linear-gradient(180deg, #f8f7f3 0%, #fff 100%);

}

.gallery-grid {

    display: grid;

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

    grid-auto-rows: 280px;

    gap: 1.5rem;

    margin-top: 4rem;

}

.gallery-large {

    grid-row: span 2;

}

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

.gallery-item {

    position: relative;

    overflow: hidden;

    border-radius: 22px;

    cursor: pointer;

    box-shadow: 0 18px 45px rgba(0, 0, 0, .12);

}

.gallery-item img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: .7s ease;

}

.gallery-item:hover img {

    transform: scale(1.08);

}

/*=========================================
        OVERLAY
=========================================*/

.gallery-item::after {

    content: "";

    position: absolute;

    inset: 0;

    background: linear-gradient(to top,
            rgba(0, 0, 0, .65),
            transparent 55%);

}

/*=========================================
        CAPTION
=========================================*/

.gallery-item figcaption {

    position: absolute;

    left: 2rem;

    bottom: 2rem;

    z-index: 2;

    color: #fff;

    transition: .35s;

}

.gallery-item:hover figcaption {

    transform: translateY(-8px);

}

.gallery-item span {

    display: inline-block;

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

    backdrop-filter: blur(8px);

    padding: .45rem 1rem;

    border-radius: 30px;

    margin-bottom: .8rem;

    font-size: .8rem;

    letter-spacing: .05em;

    text-transform: uppercase;

}

.gallery-item h3 {

    color: #fff;

    margin: 0;

    font-size: 1.5rem;

}

/*=========================================
        CTA
=========================================*/

.gallery-action {

    margin-top: 4rem;

    text-align: center;

}

.gallery-action p {

    max-width: 700px;

    margin: 0 auto 2rem;

    color: var(--text-light);

}
/*==================================================
        FAQ SECTION
==================================================*/

.faq-section {

    background: linear-gradient(180deg, #ffffff 0%, #f8f7f3 100%);

}

.faq-grid {

    display: grid;

    grid-template-columns: 2fr 1fr;

    gap: 3rem;

    align-items: start;

    margin-top: 4rem;

}

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

.faq-container {

    display: flex;

    flex-direction: column;

    gap: 1rem;

}

.faq-item {

    background: #fff;

    border-radius: 18px;

    overflow: hidden;

    box-shadow: 0 12px 35px rgba(0, 0, 0, .08);

    border: 1px solid rgba(46, 94, 59, .08);

}

.faq-question {

    width: 100%;

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 1.5rem 2rem;

    background: none;

    border: none;

    cursor: pointer;

    text-align: left;

    font-size: 1rem;

    font-weight: 600;

    color: var(--primary-color);

}

.faq-question i {

    color: var(--secondary-color);

    transition: .35s;

}

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

    transform: rotate(45deg);

}

.faq-answer {

    max-height: 0;

    overflow: hidden;

    transition: max-height .4s ease;

}

.faq-item.active .faq-answer {

    max-height: 250px;

}

.faq-answer p {

    padding: 0 2rem 2rem;

    color: var(--text-light);

    line-height: 1.8;

}

/*==================================================
        SIDEBAR
==================================================*/

.faq-card {

    background: var(--primary-color);

    color: #fff;

    padding: 2.5rem;

    border-radius: 22px;

    position: sticky;

    top: 120px;

}

.faq-card>i {

    font-size: 3rem;

    color: var(--secondary-color);

    margin-bottom: 1.5rem;

}

.faq-card h3 {

    color: #fff;

    margin-bottom: 1rem;

}

.faq-card p {

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

    margin-bottom: 2rem;

    line-height: 1.8;

}

.faq-card ul {

    list-style: none;

    margin-bottom: 2rem;

}

.faq-card li {

    display: flex;

    gap: .75rem;

    margin-bottom: 1rem;

}

.faq-card li i {

    color: var(--secondary-color);

}
/*==================================================
        EXPERIENCES CTA
==================================================*/

.experiences-cta {

    position: relative;

    overflow: hidden;

    padding: 8rem 0;

    text-align: center;

    background:
        linear-gradient(rgba(15, 30, 20, .70), rgba(15, 30, 20, .70)),
        url("../images/experiences/cta.jpeg") center/cover no-repeat;

}

.cta-overlay {

    position: absolute;

    inset: 0;

    background: linear-gradient(rgba(0, 0, 0, .20),
            rgba(0, 0, 0, .45));

}

.cta-content {

    position: relative;

    z-index: 2;

    max-width: 900px;

    margin: auto;

    color: #fff;

}

.cta-content h2 {

    color: #fff;

    margin: 1rem 0 1.5rem;

    font-size: clamp(2.5rem, 5vw, 4rem);

}

.cta-content p {

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

    line-height: 1.9;

    margin-bottom: 2rem;

}

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

.cta-features {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 1rem 2rem;

    margin: 3rem 0;

}

.cta-features span {

    display: flex;

    align-items: center;

    gap: .6rem;

    color: #fff;

    font-weight: 500;

}

.cta-features i {

    color: var(--secondary-color);

}

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

.cta-buttons {

    display: flex;

    justify-content: center;

    gap: 1.25rem;

    flex-wrap: wrap;

    margin-bottom: 4rem;

}

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

.cta-stats {

    display: grid;

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

    gap: 1.5rem;

}

.cta-stat {

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

    backdrop-filter: blur(12px);

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

    border-radius: 20px;

    padding: 1.8rem;

}

.cta-stat h3 {

    color: var(--secondary-color);

    font-size: 2rem;

    margin-bottom: .4rem;

}

.cta-stat span {

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

}
/*=========================================
        ABOUT HERO
=========================================*/

.about-hero {

    position: relative;

    min-height: 85vh;

    display: flex;

    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(rgba(15, 42, 30, .68),
            rgba(15, 42, 30, .78)),
        url("../images/about-hero.jpeg") center center / cover no-repeat;

}

.about-hero .hero-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to bottom,
            rgba(0, 0, 0, .10),
            rgba(0, 0, 0, .25));

}

.about-hero .container {

    position: relative;

    z-index: 2;

}

.about-hero .hero-content {

    max-width: 820px;

    color: var(--white);

}

.about-hero h1 {

    margin: var(--space-4) 0;

    font-size: var(--hero-title);

    line-height: 1.1;

    color: var(--white);

    text-shadow: 0 6px 18px rgba(0, 0, 0, .25);

}

.about-hero h1 span {

    display: block;

    color: var(--secondary-color);

}

.about-hero p {

    max-width: 700px;

    margin-bottom: var(--space-5);

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

    font-size: var(--body-text);

    line-height: 1.9;

}

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

.hero-tag {

    display: inline-flex;

    align-items: center;

    gap: .6rem;

    padding: .7rem 1.4rem;

    margin-bottom: var(--space-3);

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

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

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

    color: var(--secondary-color);

    font-size: var(--small-text);

    font-weight: var(--fw-semibold);

}

/*=========================================
        HIGHLIGHTS
=========================================*/

.hero-highlights {

    display: flex;

    flex-wrap: wrap;

    gap: 1rem;

    margin-bottom: var(--space-5);

}

.hero-highlights span {

    display: inline-flex;

    align-items: center;

    gap: .5rem;

    padding: .55rem 1rem;

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

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

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

    color: var(--white);

    font-size: .9rem;

}

.hero-highlights i {

    color: var(--secondary-color);

}

.hero-buttons {

    display: flex;

    gap: var(--space-3);

    flex-wrap: wrap;

}
/*=========================================
        OUR STORY
=========================================*/

.our-story {

    background: var(--white);

}

.story-grid {

    display: grid;

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

    gap: clamp(3rem, 6vw, 6rem);

    align-items: center;

}

.story-content h2 {

    margin: var(--space-3) 0 var(--space-4);

    color: var(--primary-color);

    font-size: var(--section-title);

    line-height: 1.2;

}

.story-content p {

    margin-bottom: var(--space-3);

    color: var(--text-light);

    line-height: 1.9;

    max-width: 650px;

}

/*=========================================
        STORY HIGHLIGHTS
=========================================*/

.story-highlights {

    display: grid;

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

    gap: 1rem;

    margin: var(--space-5) 0;

}

.story-highlight {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    gap: .8rem;

    padding: 1.5rem;

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

    background: var(--light-bg);

    transition: all var(--transition-normal);

}

.story-highlight:hover {

    transform: translateY(-6px);

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

}

.story-highlight i {

    font-size: 2rem;

    color: var(--secondary-color);

}

.story-highlight span {

    color: var(--primary-color);

    font-size: .95rem;

    font-weight: var(--fw-semibold);

    line-height: 1.5;

}

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

.story-image {

    text-align: center;

}

.story-image img {

    width: 100%;

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

    aspect-ratio: 4/5;

    object-fit: cover;

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

    transition: transform var(--transition-normal),
        box-shadow var(--transition-normal);

}

.story-image:hover img {

    transform: scale(1.03);

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

}

.image-caption {

    margin-top: var(--space-3);

    color: var(--text-light);

    font-size: .95rem;

    font-style: italic;

    line-height: 1.7;

}
/*=========================================
        MISSION • VISION • VALUES
=========================================*/

.mission-section {

    background: var(--light-bg);

}

.mission-grid {

    display: grid;

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

    gap: var(--grid-gap);

    margin-top: var(--space-6);

}

.mission-card {

    display: flex;

    flex-direction: column;

    height: 100%;

    padding: clamp(2rem, 3vw, 2.8rem);

    background: var(--white);

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

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

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

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal),
        border-color var(--transition-normal);

}

.mission-card:hover {

    transform: translateY(-8px);

    border-color: var(--secondary-color);

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

}

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

.mission-icon {

    margin-bottom: var(--space-4);

}

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

.mission-card h3 {

    margin-bottom: var(--space-3);

    color: var(--primary-color);

    font-size: var(--card-title);

    line-height: 1.3;

}

.mission-card p {

    color: var(--text-light);

    line-height: 1.9;

}

/*=========================================
        VALUES LIST
=========================================*/

.values-list {

    display: flex;

    flex-direction: column;

    gap: 1rem;

    margin-top: var(--space-4);

    list-style: none;

    padding: 0;

}

.values-list li {

    display: flex;

    align-items: center;

    gap: .8rem;

    color: var(--text-dark);

    font-weight: var(--fw-medium);

    line-height: 1.6;

}

.values-list i {

    color: var(--secondary-color);

    font-size: .95rem;

    flex-shrink: 0;

}

/*=========================================
        WHY CHOOSE BURAKEYE
=========================================*/

.why-us {

    background: var(--white);

}

.why-grid {

    display: grid;

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

    gap: var(--grid-gap);

    margin-top: var(--space-6);

}

.why-card {

    display: flex;

    flex-direction: column;

    height: 100%;

    padding: clamp(2rem, 3vw, 2.8rem);

    background: var(--white);

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

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

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

    transition:
        transform var(--transition-normal),
        border-color var(--transition-normal),
        box-shadow var(--transition-normal);

}

.why-card:hover {

    transform: translateY(-8px);

    border-color: var(--secondary-color);

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

}

.why-card .icon-circle {

    margin-bottom: var(--space-4);

}

.why-card h3 {

    margin-bottom: var(--space-3);

    color: var(--primary-color);

    font-size: var(--card-title);

    line-height: 1.3;

}

.why-card p {

    color: var(--text-light);

    line-height: 1.9;

}


/*=========================================
        RESPONSIBLE TOURISM
=========================================*/

.responsible-tourism {

    background: var(--light-bg);

}

.tourism-grid {

    display: grid;

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

    gap: clamp(3rem, 6vw, 6rem);

    align-items: center;

}

.tourism-image {

    overflow: hidden;

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

}

.tourism-image img {

    width: 100%;

    display: block;

    aspect-ratio: 4/3;

    object-fit: cover;

    border-radius: inherit;

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

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal);

}

.tourism-image:hover img {

    transform: scale(1.04);

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

}

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

.tourism-content h2 {

    margin: var(--space-3) 0 var(--space-4);

    color: var(--primary-color);

    font-size: var(--section-title);

    line-height: 1.2;

}

.tourism-content p {

    margin-bottom: var(--space-3);

    color: var(--text-light);

    line-height: 1.9;

}

/*=========================================
        LIST
=========================================*/

.tourism-list {

    display: flex;

    flex-direction: column;

    gap: 1rem;

    margin-top: var(--space-5);

    list-style: none;

    padding: 0;

}

.tourism-list li {

    display: flex;

    align-items: flex-start;

    gap: .85rem;

    color: var(--text-dark);

    font-weight: var(--fw-medium);

    line-height: 1.7;

}

.tourism-list i {

    color: var(--secondary-color);

    font-size: 1rem;

    margin-top: .2rem;

    flex-shrink: 0;

}
/*=========================================
        OUR PROMISE
=========================================*/

.our-promise {

    background: var(--white);

}

.promise-content {

    max-width: 900px;

    margin-inline: auto;

    padding: clamp(2.5rem, 4vw, 4rem);

    text-align: center;

    background: var(--light-bg);

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

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

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

}

.promise-content h2 {

    margin: var(--space-3) 0;

    color: var(--primary-color);

    font-size: var(--section-title);

    line-height: 1.2;

}

.promise-content p {

    max-width: 700px;

    margin: 0 auto var(--space-5);

    color: var(--text-light);

    line-height: 1.9;

}

/*=========================================
        PROMISE ITEMS
=========================================*/

.promise-grid {

    display: flex;

    justify-content: center;

    align-items: center;

    flex-wrap: wrap;

    gap: 1rem;

}

.promise-item {

    display: flex;

    align-items: center;

    gap: .75rem;

    padding: .9rem 1.4rem;

    background: var(--white);

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

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

    color: var(--text-dark);

    font-weight: var(--fw-medium);

    transition:
        transform var(--transition-normal),
        border-color var(--transition-normal),
        box-shadow var(--transition-normal);

}

.promise-item:hover {

    transform: translateY(-4px);

    border-color: var(--secondary-color);

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

}

.promise-item i {

    color: var(--secondary-color);

    font-size: 1rem;

    flex-shrink: 0;

}

/*=========================================
        ABOUT CTA
=========================================*/

.about-cta {

    position: relative;

    overflow: hidden;

    background:
        linear-gradient(rgba(15, 42, 30, .86),
            rgba(15, 42, 30, .86)),
        url("../images/about-cta.jpeg") center center / cover no-repeat;

}

.about-cta::before {

    content: "";

    position: absolute;

    inset: 0;

    background:
        radial-gradient(circle at top right,
            rgba(212, 175, 55, .15),
            transparent 45%);

}

.cta-overlay {

    position: relative;

    z-index: 2;

}

.about-cta .cta-content {

    max-width: 850px;

    margin-inline: auto;

    text-align: center;

    color: var(--white);

}

.about-cta h2 {

    margin: var(--space-4) 0;

    color: var(--white);

    font-size: clamp(2.5rem, 5vw, 4rem);

    line-height: 1.2;

}

.about-cta p {

    max-width: 700px;

    margin: 0 auto var(--space-5);

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

    line-height: 1.9;

}

.cta-tag {

    display: inline-flex;

    align-items: center;

    gap: .6rem;

    padding: .7rem 1.4rem;

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

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

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

    color: var(--secondary-color);

    font-weight: var(--fw-semibold);

}

.cta-highlights {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 1rem;

    margin-bottom: var(--space-5);

}

.cta-highlights span {

    display: inline-flex;

    align-items: center;

    gap: .55rem;

    padding: .6rem 1rem;

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

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

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

}

.cta-highlights i {

    color: var(--secondary-color);

}

.cta-buttons {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: var(--space-3);

    flex-wrap: wrap;

}

/*=========================================
        TRAVEL GUIDE HERO
=========================================*/

.travel-hero {

    position: relative;

    display: flex;

    align-items: center;

    width: 100%;

    min-height: var(--hero-height);

    overflow: hidden;

    background:
        linear-gradient(rgba(15, 42, 30, .55),
            rgba(15, 42, 30, .68)),
        url("../images/travel-guide/hero.jpeg") center center / cover no-repeat;

}

.travel-hero::before {

    content: "";

    position: absolute;

    inset: 0;

    background:
        radial-gradient(circle at top right,
            rgba(212, 175, 55, .12),
            transparent 45%);

}

.travel-hero .hero-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(to bottom,
            rgba(0, 0, 0, .10),
            rgba(0, 0, 0, .28));

}

.travel-hero .container {

    position: relative;

    z-index: 2;

}

.travel-hero .hero-content {

    max-width: 820px;

    color: var(--white);

}

.travel-hero h1 {

    margin: var(--space-4) 0;

    color: var(--white);

    font-size: var(--hero-title);

    line-height: 1.12;

    text-shadow: 0 8px 24px rgba(0, 0, 0, .28);

}

.travel-hero h1 span {

    display: block;

    color: var(--secondary-color);

}

.travel-hero p {

    max-width: 700px;

    margin-bottom: var(--space-5);

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

    font-size: var(--body-text);

    line-height: 1.9;

}

.travel-hero .hero-buttons {

    display: flex;

    gap: var(--space-3);

    flex-wrap: wrap;

}

/*=========================================
        PLAN YOUR JOURNEY
=========================================*/

.journey-intro {

    background: var(--white);

}

.journey-grid {

    display: grid;

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

    gap: clamp(3rem, 6vw, 6rem);

    align-items: center;

}

.journey-image {

    overflow: hidden;

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

}

.journey-image img {

    width: 100%;

    display: block;

    height:750px;

    object-fit: cover;

    border-radius: inherit;

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

    transition:
        transform .6s ease,
        box-shadow var(--transition-normal);

}

.journey-image:hover img {

    transform: scale(1.04);

}

.journey-content h2 {

    margin: var(--space-3) 0 var(--space-4);

    font-size: var(--section-title);

    color: var(--primary-color);

    line-height: 1.2;

}

.journey-content p {

    margin-bottom: var(--space-3);

    color: var(--text-light);

    line-height: 1.9;

}

.journey-features {

    display: grid;

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

    gap: 1.25rem;

    margin: var(--space-5) 0;

}

.feature {

    display: flex;

    align-items: flex-start;

    gap: 1rem;

    padding: 1.25rem;

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

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

    background: var(--light-bg);

    transition:
        transform var(--transition-normal),
        border-color var(--transition-normal),
        box-shadow var(--transition-normal);

}

.feature:hover {

    transform: translateY(-6px);

    background: var(--white);

    border-color: var(--secondary-color);

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

}

.feature i {

    width: 56px;

    height: 56px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    background: var(--primary-color);

    color: var(--white);

    font-size: 1.25rem;

}

.feature h4 {

    margin-bottom: .35rem;

    color: var(--primary-color);

    font-size: 1rem;

    font-weight: var(--fw-semibold);

}

.feature span {

    color: var(--text-light);

    font-size: .92rem;

    line-height: 1.6;

}

/*=========================================
        VISA & ENTRY REQUIREMENTS
=========================================*/

.visa-section {

    background: var(--light-bg);

}

/*=========================================
        TRAVEL ADVISORY
=========================================*/

.info-notice {

    display: flex;

    align-items: flex-start;

    gap: var(--space-4);

    margin: var(--space-6) auto;

    padding: var(--space-5);

    background: rgba(46, 94, 59, .06);

    border-left: 5px solid var(--secondary-color);

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

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

}

.info-icon {

    width: 70px;

    height: 70px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    background: var(--primary-color);

    color: var(--white);

    font-size: 1.7rem;

}

.info-content {

    flex: 1;

}

.info-content h3 {

    margin-bottom: var(--space-2);

    color: var(--primary-color);

    font-size: 1.4rem;

}

.info-content p {

    margin: 0;

    color: var(--text-light);

    line-height: 1.9;

}

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

.visa-grid {

    display: grid;

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

    gap: var(--grid-gap);

    margin-top: var(--space-6);

}

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

.visa-card {

    display: flex;

    flex-direction: column;

    height: 100%;

    padding: var(--space-5);

    background: var(--white);

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

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

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

    transition:
        transform var(--transition-normal),
        border-color var(--transition-normal),
        box-shadow var(--transition-normal);

}

.visa-card:hover {

    transform: translateY(-8px);

    border-color: var(--secondary-color);

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

}

/*=========================================
        VISA ICON
=========================================*/

.visa-icon {

    width: 80px;

    height: 80px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: var(--space-4);

    border-radius: 50%;

    background: rgba(46, 94, 59, .10);

    color: var(--primary-color);

    font-size: 2rem;

}

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

.visa-card h3 {

    margin-bottom: var(--space-2);

    color: var(--primary-color);

    font-size: var(--card-title);

}

.visa-card p {

    margin-bottom: var(--space-4);

    color: var(--text-light);

    line-height: 1.8;

}

/*=========================================
        CHECKLIST
=========================================*/

.visa-card ul {

    display: flex;

    flex-direction: column;

    gap: 1rem;

    list-style: none;

    margin: 0;

    padding: 0;

}

.visa-card li {

    position: relative;

    padding-left: 2rem;

    color: var(--text-light);

    line-height: 1.8;

}

.visa-card li::before {

    content: "\f00c";

    position: absolute;

    left: 0;

    top: .2rem;

    font-family: "Font Awesome 6 Free";

    font-weight: 900;

    color: var(--secondary-color);

}

/*=========================================
        BEST TIME TO VISIT
=========================================*/

.best-time {

    background: var(--white);

}

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

.season-grid {

    display: grid;

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

    gap: var(--grid-gap);

    margin-top: var(--space-6);

}

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

.season-card {

    display: flex;

    flex-direction: column;

    height: 100%;

    padding: var(--space-5);

    background: var(--white);

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

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

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

    transition:
        transform var(--transition-normal),
        border-color var(--transition-normal),
        box-shadow var(--transition-normal);

}

.season-card:hover {

    transform: translateY(-8px);

    border-color: var(--secondary-color);

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

}

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

.season-icon {

    width: 80px;

    height: 80px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: var(--space-4);

    border-radius: 50%;

    background: rgba(46, 94, 59, .10);

    color: var(--primary-color);

    font-size: 2rem;

}

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

.season-card h3 {

    margin-bottom: .5rem;

    color: var(--primary-color);

    font-size: var(--card-title);

}

.season-label {

    display: inline-block;

    margin-bottom: var(--space-3);

    color: var(--secondary-color);

    font-size: .85rem;

    font-weight: var(--fw-semibold);

    text-transform: uppercase;

    letter-spacing: 1px;

}

.season-card p {

    margin-bottom: var(--space-4);

    color: var(--text-light);

    line-height: 1.8;

}

/*=========================================
        HIGHLIGHTS
=========================================*/

.season-card ul {

    display: flex;

    flex-direction: column;

    gap: .9rem;

    margin-top: auto;

    padding: 0;

    list-style: none;

}

.season-card li {

    position: relative;

    padding-left: 1.8rem;

    color: var(--text-light);

    line-height: 1.7;

}

.season-card li::before {

    content: "\f058";

    position: absolute;

    left: 0;

    top: .2rem;

    font-family: "Font Awesome 6 Free";

    font-weight: 900;

    color: var(--secondary-color);

}
/*=========================================
        GETTING AROUND EAST AFRICA
=========================================*/

.transport-section {

    background: var(--light-bg);

}

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

.transport-grid {

    display: grid;

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

    gap: var(--grid-gap);

    margin-top: var(--space-6);

}

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

.transport-card {

    display: flex;

    flex-direction: column;

    height: 100%;

    padding: var(--space-5);

    background: var(--white);

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

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

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

    transition:
        transform var(--transition-normal),
        border-color var(--transition-normal),
        box-shadow var(--transition-normal);

}

.transport-card:hover {

    transform: translateY(-8px);

    border-color: var(--secondary-color);

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

}

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

.transport-icon {

    width: 80px;

    height: 80px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: var(--space-4);

    border-radius: 50%;

    background: rgba(46, 94, 59, .10);

    color: var(--primary-color);

    font-size: 2rem;

}

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

.transport-card h3 {

    margin-bottom: var(--space-2);

    color: var(--primary-color);

    font-size: var(--card-title);

}

.transport-card p {

    margin-bottom: var(--space-4);

    color: var(--text-light);

    line-height: 1.8;

}

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

.transport-card ul {

    display: flex;

    flex-direction: column;

    gap: .9rem;

    margin-top: auto;

    list-style: none;

    padding: 0;

}

.transport-card li {

    position: relative;

    padding-left: 1.8rem;

    color: var(--text-light);

    line-height: 1.7;

}

.transport-card li::before {

    content: "\f058";

    position: absolute;

    left: 0;

    top: .2rem;

    font-family: "Font Awesome 6 Free";

    font-weight: 900;

    color: var(--secondary-color);

}

/*=========================================
        HEALTH & SAFETY
=========================================*/

.health-section {

    background: var(--white);

}

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

.health-grid {

    display: grid;

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

    gap: var(--grid-gap-lg);

    align-items: center;

}

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

.health-image {

    position: relative;

    overflow: hidden;

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

}

.health-image::after {

    content: "";

    position: absolute;

    inset: 0;

    background: linear-gradient(to bottom,
            rgba(46, 94, 59, .08),
            rgba(46, 94, 59, .22));

}

.health-image img {

    width: 100%;

    height: 100%;

    min-height: 520px;

    object-fit: cover;

    display: block;

    transition: transform .6s ease;

}

.health-image:hover img {

    transform: scale(1.05);

}

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

.health-content h2 {

    margin: var(--space-3) 0 var(--space-4);

    color: var(--primary-color);

    font-size: var(--section-title);

}

.health-content p {

    margin-bottom: var(--space-3);

    color: var(--text-light);

    line-height: 1.9;

}

/*=========================================
        CHECKLIST
=========================================*/

.health-list {

    display: flex;

    flex-direction: column;

    gap: 1rem;

    margin: var(--space-5) 0;

    padding: 0;

    list-style: none;

}

.health-list li {

    position: relative;

    padding-left: 2rem;

    color: var(--text-light);

    line-height: 1.8;

}

.health-list li::before {

    content: "\f058";

    position: absolute;

    left: 0;

    top: .2rem;

    font-family: "Font Awesome 6 Free";

    font-weight: 900;

    color: var(--secondary-color);

}


/*=========================================
        PACKING CHECKLIST
=========================================*/

.packing-section {

    background: var(--light-bg);

}

.packing-grid {

    display: grid;

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

    gap: var(--grid-gap);

    margin-top: var(--space-6);

}

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

.packing-card {

    display: flex;

    flex-direction: column;

    height: 100%;

    padding: var(--space-5);

    background: var(--white);

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

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

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

    transition:
        transform var(--transition-normal),
        border-color var(--transition-normal),
        box-shadow var(--transition-normal);

}

.packing-card:hover {

    transform: translateY(-8px);

    border-color: var(--secondary-color);

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

}

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

.packing-icon {

    width: 80px;

    height: 80px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: var(--space-4);

    border-radius: 50%;

    background: rgba(46, 94, 59, .10);

    color: var(--primary-color);

    font-size: 2rem;

}

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

.packing-card h3 {

    margin-bottom: var(--space-2);

    color: var(--primary-color);

    font-size: var(--card-title);

}

.packing-card p {

    margin-bottom: var(--space-4);

    color: var(--text-light);

    line-height: 1.8;

}

/*=========================================
        CHECKLIST
=========================================*/

.packing-card ul {

    display: flex;

    flex-direction: column;

    gap: .9rem;

    margin-top: auto;

    padding: 0;

    list-style: none;

}

.packing-card li {

    position: relative;

    padding-left: 1.8rem;

    color: var(--text-light);

    line-height: 1.7;

}

.packing-card li::before {

    content: "\f058";

    position: absolute;

    left: 0;

    top: .2rem;

    font-family: "Font Awesome 6 Free";

    font-weight: 900;

    color: var(--secondary-color);

}


/*=========================================
        FREQUENTLY ASKED QUESTIONS
=========================================*/

.faq-section {

    background: var(--white);

}

.faq-container {

    max-width: 900px;

    margin: var(--space-6) auto 0;

}

.faq-item {

    margin-bottom: var(--space-3);

    background: var(--white);

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

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

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

    overflow: hidden;

    transition:
        border-color var(--transition-normal),
        box-shadow var(--transition-normal);

}

.faq-item:hover {

    border-color: var(--secondary-color);

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

}

/*=========================================
        QUESTION
=========================================*/

.faq-item summary {

    position: relative;

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: var(--space-4);

    cursor: pointer;

    list-style: none;

    color: var(--primary-color);

    font-size: 1.05rem;

    font-weight: var(--fw-semibold);

}

.faq-item summary::-webkit-details-marker {

    display: none;

}

.faq-item summary::after {

    content: "+";

    font-size: 1.6rem;

    color: var(--secondary-color);

    transition: transform var(--transition-normal);

}

.faq-item[open] summary::after {

    content: "−";

}

/*=========================================
        ANSWER
=========================================*/

.faq-item p {

    padding: 0 var(--space-4) var(--space-4);

    margin: 0;

    color: var(--text-light);

    line-height: 1.8;

}

/*=========================================
        TRAVEL TIPS
=========================================*/

.tips-section {

    background: var(--light-bg);

}

.tips-grid {

    display: grid;

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

    gap: var(--grid-gap);

    margin-top: var(--space-6);

}

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

.tip-card {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    padding: var(--space-5);

    background: var(--white);

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

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

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

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal),
        border-color var(--transition-normal);

}

.tip-card:hover {

    transform: translateY(-8px);

    border-color: var(--secondary-color);

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

}

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

.tip-card i {

    width: 72px;

    height: 72px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: var(--space-4);

    border-radius: 50%;

    background: rgba(46, 94, 59, .08);

    color: var(--primary-color);

    font-size: 1.8rem;

    transition:
        background var(--transition-normal),
        color var(--transition-normal);

}

.tip-card:hover i {

    background: var(--primary-color);

    color: var(--white);

}

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

.tip-card h3 {

    margin-bottom: var(--space-2);

    color: var(--primary-color);

    font-size: var(--card-title);

}

.tip-card p {

    color: var(--text-light);

    line-height: 1.8;

    margin: 0;

}

/*=========================================
        TRAVEL CTA
=========================================*/

.travel-cta {

    position: relative;

    overflow: hidden;

    background:
        url("../images/travel-guide/cta-bg.jpg") center center / cover no-repeat;

}

.travel-cta .cta-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(rgba(46, 94, 59, .82),
            rgba(33, 66, 44, .86));

}

.travel-cta .container {

    position: relative;

    z-index: 2;

}

.travel-cta-content {

    max-width: 850px;

    margin: 0 auto;

    text-align: center;

    color: var(--white);

}

.travel-cta .section-tag {

    margin-bottom: var(--space-4);

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

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

    color: var(--secondary-color);

}

.travel-cta h2 {

    margin-bottom: var(--space-4);

    color: var(--white);

    font-size: clamp(2.6rem, 5vw, 4rem);

    line-height: 1.15;

}

.travel-cta p {

    max-width: 700px;

    margin: 0 auto var(--space-5);

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

    font-size: var(--body-text);

    line-height: 1.9;

}

.travel-cta .cta-buttons {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: var(--space-3);

    flex-wrap: wrap;

}

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

.contact-hero {

    position: relative;

    min-height: 85vh;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    text-align: center;

    background:
        linear-gradient(rgba(25, 44, 31, .55),
            rgba(25, 44, 31, .70)),
        url("../images/contact/contact-hero.jpg") center center / cover no-repeat;

}

.contact-overlay {

    position: absolute;

    inset: 0;

    background: linear-gradient(rgba(0, 0, 0, .05),
            rgba(0, 0, 0, .25));

}

.contact-hero-content {

    position: relative;

    z-index: 2;

    max-width: 900px;

    margin-inline: auto;

    color: var(--white);

}

.contact-hero .section-subtitle {

    color: var(--secondary-color);

}

.contact-hero h1 {

    margin: 1.2rem 0;

    color: var(--white);

    font-size: clamp(3rem, 6vw, 4.8rem);

    line-height: 1.1;

}

.contact-hero p {

    max-width: 760px;

    margin: 0 auto 2.5rem;

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

    font-size: 1.1rem;

    line-height: 1.9;

}
.hero-highlights {

    margin-top: 3rem;

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 1rem;

}

.highlight {

    display: flex;

    align-items: center;

    gap: .6rem;

    padding: .85rem 1.2rem;

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

    border-radius: 50px;

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

    backdrop-filter: blur(8px);

    color: #fff;

    font-size: .95rem;

}

.highlight i {

    color: var(--secondary-color);

}

/*=========================================
        CONTACT SECTION
=========================================*/

.contact-section {

    background: var(--white);

}

.contact-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 4rem;

    align-items: start;

}

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

.contact-info h2 {

    margin: 1rem 0;

}

.contact-info>p {

    margin-bottom: 2rem;

}

.contact-cards {

    display: grid;

    gap: 1rem;

}

.contact-item {

    display: flex;

    gap: 1rem;

    padding: 1.2rem;

    border: 1px solid rgba(0, 0, 0, .08);

    border-radius: 18px;

    transition: .3s;

    background: #fff;

}

.contact-item:hover {

    transform: translateY(-4px);

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

}

.contact-item i {

    width: 52px;

    height: 52px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: var(--primary-color);

    color: #fff;

    font-size: 1.1rem;

    flex-shrink: 0;

}

.contact-item h4 {

    margin-bottom: .35rem;

}

.contact-item a {

    color: var(--primary-color);

    font-weight: 600;

}

.contact-item a:hover {

    color: var(--secondary-color);

}

/*=========================================
        FORM
=========================================*/

.contact-form {

    background: #fff;

    border-radius: 20px;

    padding: 2rem;

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

    border: 1px solid rgba(0, 0, 0, .08);

}

.contact-form h2 {

    margin: 1rem 0;

}

.contact-form>p {

    margin-bottom: 1.8rem;

}

.form-grid {

    display: grid;

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

    gap: 1rem;

}

.contact-form input,
.contact-form select,
.contact-form textarea {

    width: 100%;

    padding: 14px 18px;

    border: 1px solid #ddd;

    border-radius: 10px;

    font-family: inherit;

    margin-bottom: 1rem;

}

.contact-form textarea {

    resize: vertical;

}

.contact-form small {

    display: block;

    margin-top: 1rem;

    color: var(--text-light);

}
/*=========================================
        VISIT OUR OFFICE
=========================================*/

.office-section {

    background: var(--light-bg);

}

.office-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 5rem;

    align-items: center;

}

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

.office-image {

    position: relative;

    overflow: hidden;

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

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

}

.office-image img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .6s ease;

}

.office-image:hover img {

    transform: scale(1.06);

}

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

.office-content h2 {

    margin: 1rem 0 1.25rem;

}

.office-content>p {

    margin-bottom: 2rem;

    line-height: 1.8;

    color: var(--text-light);

}

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

.office-features {

    display: grid;

    grid-template-columns: 1fr;

    gap: 1rem;

    margin-bottom: 2.5rem;

}

.office-feature {

    display: flex;

    align-items: center;

    gap: 1rem;

    padding: 1rem 1.2rem;

    background: var(--white);

    border: 1px solid rgba(0, 0, 0, .06);

    border-radius: 14px;

    transition: all .3s ease;

}

.office-feature:hover {

    transform: translateX(6px);

    border-color: rgba(46, 94, 59, .2);

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

}

.office-feature i {

    width: 50px;

    height: 50px;

    border-radius: 50%;

    background: var(--primary-color);

    color: var(--white);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 1.1rem;

    flex-shrink: 0;

}

.office-feature span {

    font-weight: 500;

    color: var(--text-dark);

    line-height: 1.6;

}

.office-content .btn-primary {

    display: inline-flex;

    align-items: center;

    gap: .5rem;

}

/*=========================================
    OUR SAFARI PLANNING CENTRE
=========================================*/

.locations-section {
    background: var(--light-bg);
}

.location-wrapper {

    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 2rem;
    align-items: stretch;

}

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

.location-card {

    background: var(--white);

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

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

    overflow: hidden;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

}

/*=========================================
    LEFT SIDE
=========================================*/

.location-left {

    padding: 2.5rem 2.5rem 1.5rem;

}

.office-icon {

    width: 70px;
    height: 70px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(46, 94, 59, .08);

    color: var(--primary-color);

    font-size: 1.6rem;

    margin-bottom: 1.3rem;

}

.office-badge {

    display: inline-block;

    padding: .45rem 1rem;

    border-radius: 30px;

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

    color: var(--secondary-color);

    font-size: .85rem;

    font-weight: 600;

    margin-bottom: 1rem;

}

.location-left h3 {

    margin-bottom: 1rem;

    color: var(--primary-color);

}

.office-address {

    display: flex;

    gap: 1rem;

    align-items: flex-start;

}

.office-address i {

    color: var(--secondary-color);

    margin-top: 4px;

    font-size: 1rem;

}

.office-address address {

    font-style: normal;

    line-height: 1.9;

    color: var(--text-light);

}

/*=========================================
    DETAILS
=========================================*/

.location-right {

    padding: 0 2.5rem 2.5rem;

}

.office-detail {

    display: flex;

    gap: 1rem;

    align-items: flex-start;

    padding: 1rem 0;

    border-top: 1px solid rgba(0, 0, 0, .07);

}

.office-detail:first-child {

    border-top: none;

}

.detail-icon {

    width: 48px;

    height: 48px;

    flex-shrink: 0;

    display: flex;

    justify-content: center;

    align-items: center;

    border-radius: 50%;

    background: rgba(46, 94, 59, .08);

    color: var(--primary-color);

}

.detail-content h4 {

    margin-bottom: .35rem;

    color: var(--primary-color);

    font-size: 1rem;

}

.detail-content p {

    margin: 0;

    line-height: 1.7;

    color: var(--text-light);

}

.detail-content a {

    display: block;

    margin-top: .3rem;

    color: var(--primary-color);

    transition: var(--transition-normal);

}

.detail-content a:hover {

    color: var(--secondary-color);

}

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

.office-buttons {

    display: flex;

    flex-wrap: wrap;

    gap: 1rem;

    margin-top: 2rem;

}

.office-buttons .btn {

    flex: 1;

    min-width: 180px;

}

.office-note {

    margin-top: 1.2rem;

    font-size: .9rem;

    color: var(--text-light);

}

/*=========================================
    GOOGLE MAP
=========================================*/

.office-map {

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

    overflow: hidden;

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

    min-height: 620px;

}

.office-map iframe {

    width: 100%;

    height: 100%;

    border: none;

}

/*=========================================
    CONTACT CTA
=========================================*/

.contact-cta {

    position: relative;

    overflow: hidden;

    padding: 7rem 0;

    text-align: center;

    background:
        linear-gradient(rgba(24, 52, 37, .82),
            rgba(24, 52, 37, .82)),
        url("../images/contact/cta-bg.jpg") center center/cover no-repeat;

    color: var(--white);

}

.cta-overlay {

    position: absolute;

    inset: 0;

    background:
        radial-gradient(circle at top right,
            rgba(212, 175, 55, .15),
            transparent 40%);

}

.contact-cta .container {

    position: relative;

    z-index: 2;

}

.cta-content {

    max-width: 850px;

    margin: auto;

}

.contact-cta .section-subtitle {

    color: var(--secondary-color);

}

.contact-cta h2 {

    margin: 1.2rem 0 1.5rem;

    font-size: clamp(2.5rem, 5vw, 4rem);

    color: var(--white);

    line-height: 1.15;

}

.contact-cta p {

    max-width: 760px;

    margin: auto;

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

    line-height: 1.9;

}

.cta-note {

    margin-top: 1.5rem;

    color: var(--secondary-color);

    font-weight: 600;

    letter-spacing: .04em;

}

.cta-buttons {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 1rem;

    margin: 3rem 0;

}

.cta-buttons .btn {

    min-width: 220px;

}

.cta-trust {

    display: grid;

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

    gap: 1.25rem;

    margin-top: 1rem;

}

.trust-item {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: .6rem;

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

    font-size: .95rem;

}

.trust-item i {

    color: var(--secondary-color);

}
/* =========================================
   DESTINATION HERO
========================================= */

.breadcrumb-list {
    display: flex;
    align-items: center;
    gap: .75rem;

    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumb-list li {
    display: flex;
    align-items: center;
}

.breadcrumb-list li:not(:last-child)::after {
    content: "/";
    margin-left: .75rem;
    color: #777;
}
/*=========================================
        DESTINATION HERO
=========================================*/

.destination-page header {

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

    backdrop-filter: blur(18px);

}

.destination-hero {

    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    min-height: 82vh;

    padding: 140px 8%;

    overflow: hidden;

    background:
        linear-gradient(rgba(15, 42, 30, .60), rgba(15, 42, 30, .60)),
        url("../images/destinations/hero.jpg") center center / cover no-repeat;

}
.hero-overlay {

    position: absolute;

    inset: 0;

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

}

.destination-hero::before {

    content: "";

    position: absolute;

    inset: 0;

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

}

.destination-hero-content {

    position: relative;

    z-index: 2;

    max-width: 900px;

    margin: auto;

    text-align: center;

    color: var(--white);

}

.destination-hero .section-tag {

    color: var(--secondary-color);

}

.destination-hero h1 {

    margin: var(--space-3) 0;

    font-size: clamp(3rem, 6vw, 4.8rem);

    line-height: 1.15;

    color: var(--white);

}

.destination-hero h1 span {

    color: var(--secondary-color);

}

.destination-hero p {

    max-width: 760px;

    margin: 0 auto var(--space-5);

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

    font-size: var(--body-text);

    line-height: 1.9;

}

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

.hero-facts {

    display: grid;

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

    gap: 20px;

    max-width: 980px;

    margin: 0 auto;

}

.fact {

    padding: 24px 18px;

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

    backdrop-filter: blur(14px);

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

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

    transition:
        transform var(--transition-normal),
        border-color var(--transition-normal),
        background var(--transition-normal);

}

.fact:hover {

    transform: translateY(-6px);

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

    border-color: var(--secondary-color);

}

.fact i {

    display: block;

    margin-bottom: 14px;

    font-size: 1.6rem;

    color: var(--secondary-color);

}

.fact span {

    display: block;

    color: var(--white);

    font-size: var(--body-text);

    font-weight: var(--fw-medium);

    line-height: 1.6;

}
/* =========================================
   ABOUT MAASAI MARA
========================================= */

.destination-about {
    padding: 100px 0;
    background: #fff;
}

.destination-about-grid {
    max-width: 1400px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.destination-about-image {
    overflow: hidden;
    border-radius: 20px;
    box-shadow: var(--shadow-lg);
}

.destination-about-image img {
    width: 100%;
    display: block;
    transition: var(--transition);
}

.destination-about-image:hover img {
    transform: scale(1.05);
}

.destination-about-content h2 {
    font-family: var(--heading-font);
    color: var(--primary-color);
    font-size: 2.8rem;
    margin: 20px 0;
    line-height: 1.2;
}

.destination-about-content p {
    color: #666;
    line-height: 1.9;
    margin-bottom: 25px;
}

.destination-highlights {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 35px;
}

.highlight {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.highlight i {
    width: 40px;
    height: 40px;

    display: flex;
    justify-content: center;
    align-items: center;

    background: var(--primary-color);
    color: #fff;

    border-radius: 50%;

    flex-shrink: 0;
}

.highlight span {
    color: #444;
    line-height: 1.8;
    font-weight: 500;
}

/* =========================================
   WHY VISIT MAASAI MARA
========================================= */

.why-visit {
    padding: 100px 8%;
    background: #F8F8F8;
}

.why-visit .section-header {
    max-width: 750px;
    margin: 0 auto 70px;
    text-align: center;
}

.why-visit .section-header h2 {
    font-family: var(--heading-font);
    color: var(--primary-color);
    font-size: 2.8rem;
    margin: 20px 0;
}

.why-visit .section-header p {
    color: #666;
    line-height: 1.9;
}

.why-visit-grid {
    max-width: 1400px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.visit-card {

    background: #fff;

    padding: 40px 35px;

    border-radius: 20px;

    border: 1px solid transparent;

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

    transition: var(--transition);
}

.visit-card:hover {

    transform: translateY(-8px);

    border-color: var(--secondary-color);

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

.visit-card i {

    width: 70px;

    height: 70px;

    display: flex;

    justify-content: center;

    align-items: center;

    background: var(--primary-color);

    color: #fff;

    border-radius: 50%;

    font-size: 1.5rem;

    margin-bottom: 25px;
}

.visit-card h3 {

    font-family: var(--heading-font);

    color: var(--primary-color);

    margin-bottom: 18px;
}

.visit-card p {

    color: #666;

    line-height: 1.8;
}

/* =========================================
   WILDLIFE
========================================= */

.wildlife {
    padding: 100px 8%;
    background: #fff;
}

.wildlife .section-header {
    max-width: 720px;
    margin: 0 auto 70px;
    text-align: center;
}

.wildlife .section-header h2 {
    font-family: var(--heading-font);
    color: var(--primary-color);
    font-size: 2.8rem;
    margin: 20px 0;
}

.wildlife .section-header p {
    color: #666;
    line-height: 1.9;
}

.wildlife-grid {

    max-width: 1400px;

    margin: auto;

    display: grid;

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

    gap: 30px;
}

.animal-card {

    background: #fff;

    border-radius: 20px;

    overflow: hidden;

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

    transition: var(--transition);
}

.animal-card:hover {

    transform: translateY(-8px);

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

.animal-card img {

    width: 100%;

    height: 260px;

    object-fit: cover;

    transition: var(--transition);
}

.animal-card:hover img {

    transform: scale(1.08);
}

.animal-content {

    padding: 30px;
}

.animal-content h3 {

    font-family: var(--heading-font);

    color: var(--primary-color);

    margin-bottom: 15px;
}

.animal-content p {

    color: #666;

    line-height: 1.8;
}

/* =========================================
   BEST TIME TO VISIT
========================================= */

.best-time {
    padding: 100px 8%;
    background: #F8F8F8;
}

.best-time-container {
    max-width: 1400px;
    margin: auto;

    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 70px;
    align-items: center;
}

.best-time-content h2 {
    font-family: var(--heading-font);
    color: var(--primary-color);
    font-size: 2.8rem;
    margin: 20px 0;
}

.best-time-content p {
    color: #666;
    line-height: 1.9;
}

.season-list {
    margin-top: 40px;
    display: grid;
    gap: 20px;
}

.season {
    padding: 25px 30px;
    background: #fff;
    border-left: 5px solid var(--secondary-color);
    border-radius: 12px;
    box-shadow: var(--shadow-sm);
}

.season h3 {
    color: var(--primary-color);
    margin-bottom: 10px;
    font-family: var(--heading-font);
}

.season p {
    margin: 0;
}

.best-time-image {
    overflow: hidden;
    border-radius: 20px;
    box-shadow: var(--shadow-lg);
}

.best-time-image img {
    width: 100%;
    display: block;
    transition: var(--transition);
}

.best-time-image:hover img {
    transform: scale(1.05);
}

/* =========================================
   SAFARI ACTIVITIES
========================================= */

.activities {
    padding: 100px 8%;
    background: #fff;
}

.activities .section-header {
    max-width: 750px;
    margin: 0 auto 70px;
    text-align: center;
}

.activities .section-header h2 {
    font-family: var(--heading-font);
    font-size: 2.8rem;
    color: var(--primary-color);
    margin: 20px 0;
}

.activities .section-header p {
    color: #666;
    line-height: 1.9;
}

.activities-grid {
    max-width: 1400px;
    margin: auto;

    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 35px;
}

.activity-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: var(--transition);
}

.activity-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
}

.activity-card img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    transition: var(--transition);
}

.activity-card:hover img {
    transform: scale(1.05);
}

.activity-content {
    padding: 30px;
}

.activity-content h3 {
    font-family: var(--heading-font);
    color: var(--primary-color);
    margin-bottom: 15px;
}

.activity-content p {
    color: #666;
    line-height: 1.8;
}

/* =========================================
   ACCOMMODATION
========================================= */

.accommodation {
    padding: 100px 8%;
    background: #F8F8F8;
}

.accommodation .section-header {
    max-width: 750px;
    margin: 0 auto 70px;
    text-align: center;
}

.accommodation .section-header h2 {
    font-family: var(--heading-font);
    color: var(--primary-color);
    font-size: 2.8rem;
    margin: 20px 0;
}

.accommodation .section-header p {
    color: #666;
    line-height: 1.9;
}

.accommodation-grid {
    max-width: 1400px;
    margin: auto;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.accommodation-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: var(--transition);
}

.accommodation-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
}

.accommodation-card img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    transition: var(--transition);
}

.accommodation-card:hover img {
    transform: scale(1.05);
}

.accommodation-content {
    padding: 30px;
}

.accommodation-content h3 {
    font-family: var(--heading-font);
    color: var(--primary-color);
    margin-bottom: 15px;
}

.accommodation-content p {
    color: #666;
    line-height: 1.8;
}

/* =========================================
   FREQUENTLY ASKED QUESTIONS
========================================= */

.faq {
    padding: 100px 8%;
    background: #fff;
}

.faq .section-header {
    max-width: 700px;
    margin: 0 auto 70px;
    text-align: center;
}

.faq .section-header h2 {
    font-family: var(--heading-font);
    color: var(--primary-color);
    font-size: 2.8rem;
    margin: 20px 0;
}

.faq .section-header p {
    color: #666;
    line-height: 1.9;
}

.faq-container {
    max-width: 900px;
    margin: auto;
}

.faq-item {
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 15px;
    margin-bottom: 20px;
    overflow: hidden;
    transition: var(--transition);
}

.faq-item:hover {
    border-color: var(--secondary-color);
}

.faq-item summary {
    padding: 24px 30px;
    cursor: pointer;
    list-style: none;
    font-weight: 600;
    color: var(--primary-color);
    position: relative;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "+";
    position: absolute;
    right: 30px;
    font-size: 1.5rem;
    transition: .3s;
}

.faq-item[open] summary::after {
    content: "−";
}

.faq-item p {
    padding: 0 30px 25px;
    color: #666;
    line-height: 1.9;
}

/* =========================================
   RELATED PACKAGES
========================================= */

.related-packages {
    padding: 100px 8%;
    background: #F8F8F8;
}

.related-packages .section-header {
    max-width: 750px;
    margin: 0 auto 70px;
    text-align: center;
}

.related-packages .section-header h2 {
    font-family: var(--heading-font);
    color: var(--primary-color);
    font-size: 2.8rem;
    margin: 20px 0;
}

.related-packages .section-header p {
    color: #666;
    line-height: 1.9;
}

.package-grid {

    max-width: 1400px;

    margin: auto;

    display: grid;

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

    gap: 30px;
}

.package-card {

    background: #fff;

    border-radius: 20px;

    overflow: hidden;

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

    transition: var(--transition);
}

.package-card:hover {

    transform: translateY(-8px);

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

.package-card img {

    width: 100%;

    height: 240px;

    object-fit: cover;
}

.package-content {

    padding: 30px;
}

.package-duration {

    display: inline-block;

    padding: 6px 14px;

    background: rgba(46, 94, 59, .1);

    color: var(--primary-color);

    border-radius: 50px;

    font-size: .85rem;

    font-weight: 600;

    margin-bottom: 18px;
}

.package-content h3 {

    font-family: var(--heading-font);

    color: var(--primary-color);

    margin-bottom: 15px;
}

.package-content p {

    color: #666;

    line-height: 1.8;

    margin-bottom: 25px;
}

/* =========================================
   CALL TO ACTION
========================================= */

.destination-cta {

    padding: 120px 8%;

    background:
        linear-gradient(rgba(46, 94, 59, .88),
            rgba(46, 94, 59, .88)),
        url("../images/destinations/maasai-mara/cta-bg.jpg") center/cover no-repeat;

    text-align: center;

    color: #fff;
}

.destination-cta-content {

    max-width: 800px;

    margin: auto;
}

.destination-cta h2 {

    font-family: var(--heading-font);

    font-size: 3rem;

    color: #fff;

    margin: 20px 0;
}

.destination-cta p {

    font-size: 1.1rem;

    line-height: 1.9;

    margin-bottom: 40px;

    opacity: .95;
}

.cta-buttons {

    display: flex;

    justify-content: center;

    gap: 20px;

    flex-wrap: wrap;
}

/* =====================================================
   6-DAY MID-RANGE SAFARI - HERO
===================================================== */

.package-hero {
    min-height: 100vh;
    background:
        linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)),
        url("../images/packages/6-day-midrange/hero.jpg") center center/cover no-repeat;

    display: flex;
    align-items: center;
}

.hero-overlay {
    width: 100%;
}

.hero-content {
    max-width: 750px;
    color: #fff;
}

.package-badge {
    display: inline-block;
    background: var(--secondary-color);
    color: #111;
    padding: 10px 22px;
    border-radius: 40px;
    font-size: .9rem;
    font-weight: 600;
    margin-bottom: 25px;
}

.package-hero h1 {
    font-family: var(--heading-font);
    font-size: 4rem;
    line-height: 1.2;
    margin-bottom: 20px;
}

.hero-subtitle {
    font-size: 1.35rem;
    color: var(--secondary-color);
    margin-bottom: 20px;
    font-weight: 600;
}

.hero-description {
    font-size: 1.1rem;
    line-height: 1.9;
    margin-bottom: 40px;
}

.hero-buttons {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.btn-primary,
.btn-secondary {

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 15px 35px;
    border-radius: 50px;

    font-weight: 600;
    text-decoration: none;

    transition: .3s ease;
}

.btn-primary {

    background: var(--secondary-color);
    color: #111;
}

.btn-primary:hover {

    transform: translateY(-3px);
}

.btn-secondary {

    border: 2px solid #fff;
    color: #fff;
}

.btn-secondary:hover {

    background: #fff;
    color: var(--primary-color);
}

/* =====================================================
   SAFARI QUICK INFO
===================================================== */

.package-info {

    padding: 90px 0;
    background: #fff;
}

.info-grid {

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.info-card {

    background: #fff;

    border-radius: 15px;

    padding: 35px;

    text-align: center;

    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);

    transition: .3s ease;
}

.info-card:hover {

    transform: translateY(-8px);
}

.info-card i {

    font-size: 2.5rem;

    color: var(--secondary-color);

    margin-bottom: 20px;
}

.info-card h3 {

    font-family: var(--heading-font);

    color: var(--primary-color);

    margin-bottom: 15px;
}

.info-card p {

    color: #666;

    line-height: 1.7;
}

/*=====================================================
  SAFARI OVERVIEW
=====================================================*/

.package-overview {
    padding: 100px 0;
}

.overview-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 60px;
    align-items: center;
}

/* ---------- Content ---------- */

.overview-content {
    max-width: 680px;
}

.section-tag {
    display: inline-block;
    padding: 10px 22px;
    background: #eef6ef;
    color: var(--primary-color);
    border: 1px solid rgba(212, 175, 55, .45);
    border-radius: 50px;
    font-size: .9rem;
    font-weight: 600;
    margin-bottom: 22px;
}

.overview-content h2 {
    font-size: clamp(2.3rem, 4vw, 3.8rem);
    line-height: 1.2;
    color: var(--primary-color);
    margin-bottom: 24px;
}

.overview-content p {
    color: #555;
    line-height: 1.9;
    margin-bottom: 24px;
}

/* ---------- Feature Cards ---------- */

.overview-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 45px;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px;
    background: var(--white);
    border: 1px solid var(--border-color);
    border-radius: var(--card-radius);
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

.feature-item:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
}

.feature-item i {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: rgba(212, 175, 55, .12);
    color: var(--secondary-color);
    font-size: 1.25rem;
}

.feature-item span {
    font-weight: 500;
    line-height: 1.5;
    color: var(--text-color);
}

/* ---------- Overview Image ---------- */

.overview-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4/5;
    border-radius: 24px;
    box-shadow: var(--shadow-md);
    border: 1px solid rgba(0, 0, 0, .06);
}

.overview-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 35%;
    transition: transform .8s ease;
}

.overview-image:hover img {
    transform: scale(1.04);
}

/* ---------- Image Badge ---------- */

.image-badge {
    position: absolute;
    left: 20px;
    bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(10px);
    border-radius: 50px;
    color: var(--primary-color);
    font-weight: 600;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
}

.image-badge i {
    color: var(--secondary-color);
}

/*=====================================================
  SAFARI HIGHLIGHTS
=====================================================*/

.package-highlights {

    padding: 100px 0;

    background: #f8f9f8;
}

.section-heading {

    max-width: 760px;

    margin: 0 auto 70px;

    text-align: center;
}

.section-heading h2 {

    font-size: 2.8rem;

    color: var(--primary-color);

    margin: 20px 0;
}

.section-heading p {

    color: #666;

    line-height: 1.9;
}

.highlights-grid {

    display: grid;

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

    gap: 30px;
}

.highlight-card {

    background: #fff;

    padding: 40px 35px;

    border-radius: 18px;

    text-align: center;

    box-shadow: 0 10px 30px rgba(0, 0, 0, .07);

    transition: .35s ease;
}

.highlight-card:hover {

    transform: translateY(-10px);
}

.highlight-card i {

    font-size: 2.8rem;

    color: var(--secondary-color);

    margin-bottom: 25px;
}

.highlight-card h3 {

    color: var(--primary-color);

    margin-bottom: 18px;
}

.highlight-card p {

    color: #666;

    line-height: 1.8;
}


/*=====================================================
  DETAILED ITINERARY
=====================================================*/

.itinerary {

    padding: 100px 0;
}

.timeline {

    display: flex;

    flex-direction: column;

    gap: 35px;

    margin-top: 60px;
}

.timeline-card {

    display: grid;

    grid-template-columns: 100px minmax(0, 1fr) 320px;

    gap: 35px;

    align-items: center;

    background: #fff;

    border-radius: 18px;

    padding: 28px 32px;

    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);

    border-left: 5px solid var(--secondary-color);

    transition: all .3s ease;
}

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

.timeline-image {

    width: 100%;
}

.timeline-image img {

    width: 100%;

    height: 260px;

    object-fit: cover;

    display: block;

    border-radius: 16px;

    box-shadow: 0 10px 25px rgba(0, 0, 0, .10);

    transition: transform .35s ease;
}

.timeline-image img:hover {

    transform: scale(1.03);
}

.timeline-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .12);
}

.timeline-day {

    background: var(--primary-color);

    color: #fff;

    border-radius: 16px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    text-align: center;

    padding: 25px;
}

.timeline-day h3 {
    font-size: 3.5rem;
    line-height: 1;
    margin-top: 12px;
    color: var(--secondary-color);
}


.timeline-content h3 {

    color: var(--primary-color);

    margin-bottom: 10px;
}

.timeline-location {

    color: var(--secondary-color);

    font-weight: 600;

    margin-bottom: 20px;
}

.timeline-content h4 {

    margin: 20px 0 15px;
}

.timeline-content ul {
    list-style: none;
    margin: 20px 0;
    padding: 0;
}

.timeline-content li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 14px;
}

.timeline-content li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--secondary-color);
    font-weight: 700;
}

.timeline-footer {

    margin-top: 30px;

    display: flex;

    gap: 40px;

    flex-wrap: wrap;

    border-top: 1px solid #eee;

    padding-top: 20px;
}

.timeline-footer span {

    display: flex;

    align-items: center;

    gap: 10px;

    color: #555;
}

.timeline-footer i {

    color: var(--secondary-color);
}

/*=====================================================
  TRANSPORT
=====================================================*/

.transport-section {

    padding: 100px 0;

    background: #f8f9f8;
}

.transport-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 70px;

    align-items: center;
}

.transport-image img {

    width: 100%;

    height: 500px;

    object-fit: cover;

    border-radius: 18px;

    display: block;

    box-shadow: 0 12px 35px rgba(0, 0, 0, .12);
}

.transport-content h3 {

    font-size: 2rem;

    color: var(--primary-color);

    margin-bottom: 20px;
}

.transport-content p {

    color: #555;

    line-height: 1.9;

    margin-bottom: 35px;
}

.transport-features {

    display: grid;

    gap: 18px;
}

.transport-feature {

    display: flex;

    align-items: flex-start;

    gap: 15px;
}

.transport-feature i {

    color: var(--secondary-color);

    margin-top: 4px;
}

/*=====================================================
  ACCOMMODATION
=====================================================*/

.accommodation-section {

    padding: 100px 0;

    background: #ffffff;
}

.accommodation-grid {

    display: grid;

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

    gap: 35px;

    margin-top: 60px;
}

.accommodation-card {

    background: #fff;

    padding: 40px 30px;

    border-radius: 18px;

    text-align: center;

    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);

    transition: .3s ease;
}

.accommodation-card:hover {

    transform: translateY(-8px);
}

.accommodation-card i {

    font-size: 2.5rem;

    color: var(--secondary-color);

    margin-bottom: 20px;
}

.accommodation-card h3 {

    color: var(--primary-color);

    margin-bottom: 15px;

    font-size: 1.4rem;
}

.accommodation-card p {

    color: #666;

    line-height: 1.8;
}

/*=====================================================
  INCLUSIONS & EXCLUSIONS
=====================================================*/

.inclusions-section {

    padding: 100px 0;

    background: #f8f9f8;
}

.inclusions-grid {

    display: grid;

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

    gap: 40px;

    margin-top: 60px;
}

.info-card {

    background: #fff;

    padding: 40px;

    border-radius: 18px;

    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
}

.info-card h3 {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 25px;

    color: var(--primary-color);
}

.included i {

    color: #28a745;
}

.excluded i {

    color: #dc3545;
}

.info-card ul {

    list-style: none;

    padding: 0;
}

.info-card li {

    position: relative;

    padding-left: 28px;

    margin-bottom: 16px;

    line-height: 1.7;
}

.info-card li::before {

    content: "✓";

    position: absolute;

    left: 0;

    color: var(--secondary-color);

    font-weight: 700;
}

/*=====================================================
  WHY CHOOSE THIS SAFARI
=====================================================*/

.why-safari-section {

    padding: 100px 0;

    background: #ffffff;
}

.why-grid {

    display: grid;

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

    gap: 35px;

    margin-top: 60px;
}

.why-card {

    background: #fff;

    padding: 35px;

    border-radius: 18px;

    text-align: center;

    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);

    transition: .3s ease;
}

.why-card:hover {

    transform: translateY(-8px);
}

.why-card i {

    font-size: 2.5rem;

    color: var(--secondary-color);

    margin-bottom: 20px;
}

.why-card h3 {

    color: var(--primary-color);

    margin-bottom: 15px;

    font-size: 1.3rem;
}

.why-card p {

    color: #666;

    line-height: 1.8;
}

/*=====================================================
  PACKAGE CTA
=====================================================*/

.package-cta {

    padding: 100px 0;

    background: linear-gradient(rgba(46, 94, 59, .92),
            rgba(46, 94, 59, .92)),
        url("../images/packages/cta-bg.jpg") center/cover;

    color: #fff;
}

.cta-box {

    max-width: 850px;

    margin: auto;

    text-align: center;
}

.cta-box h2 {

    color: #fff;

    font-size: 3rem;

    margin: 20px 0;
}

.cta-box p {

    font-size: 1.1rem;

    line-height: 1.9;

    margin-bottom: 40px;
}

.cta-buttons {

    display: flex;

    justify-content: center;

    gap: 20px;

    flex-wrap: wrap;
}
/*=========================================
        DESTINATIONS HERO
=========================================*/

.destinations-hero {

    position: relative;

    width: 100%;

    min-height: var(--hero-height);

    display: flex;

    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(rgba(15, 42, 30, .45), rgba(15, 42, 30, .55)),
        url("../images/destinations/hero.jpg") center center / cover no-repeat;

}

.hero-overlay {

    position: absolute;

    inset: 0;

    background: linear-gradient(to bottom,
            rgba(0, 0, 0, .12),
            rgba(0, 0, 0, .35));

    z-index: 1;

}

.destinations-hero .container {

    position: relative;

    z-index: 2;

}

.hero-content {

    max-width: 850px;

    color: var(--white);

}

/*=========================================
        BREADCRUMB
=========================================*/

.breadcrumb {

    display: flex;

    align-items: center;

    gap: .75rem;

    margin-bottom: var(--space-4);

    font-size: var(--small-text);

}

.breadcrumb a {

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

    text-decoration: none;

    transition: color var(--transition-normal);

}

.breadcrumb a:hover {

    color: var(--secondary-color);

}

.breadcrumb span {

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

}

/*=========================================
        SECTION TAG
=========================================*/

.section-tag {

    display: inline-flex;

    align-items: center;

    gap: .6rem;

    padding: .7rem 1.4rem;

    margin-bottom: var(--space-4);

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

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

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

    color: var(--secondary-color);

    font-size: var(--small-text);

    font-weight: var(--fw-semibold);

    letter-spacing: .4px;

}

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

.destinations-hero h1 {

    margin-bottom: var(--space-4);

    font-size: var(--hero-title);

    line-height: 1.1;

    color: var(--white);

    text-shadow: 0 6px 18px rgba(0, 0, 0, .25);

}

.destinations-hero h1 span {

    display: block;

    color: var(--secondary-color);

}

.destinations-hero p {

    max-width: var(--text-width);

    margin-bottom: var(--space-5);

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

    font-size: var(--body-text);

    line-height: 1.9;

}

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

.hero-buttons {

    display: flex;

    align-items: center;

    gap: var(--space-3);

    flex-wrap: wrap;

}

/*=========================================
        DESTINATIONS INTRO
=========================================*/

.destinations-intro {

    background: var(--white);

}

.destinations-intro .section-heading {

    max-width: var(--content-width);

    margin-inline: auto;

}

.destinations-intro h2 {

    margin: var(--space-3) 0;

}

.destinations-intro p {

    max-width: var(--text-width);

    margin-inline: auto;

    color: var(--text-light);

    font-size: var(--body-text);

    line-height: 1.9;

}
/*=========================================
        FEATURED DESTINATIONS
=========================================*/

.featured-destinations {

    background: var(--light-bg);

}

.destination-grid {

    display: grid;

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

    gap: var(--grid-gap);

    margin-top: var(--space-6);

}

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

.destination-card {

    display: flex;

    flex-direction: column;

    background: var(--white);

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

    overflow: hidden;

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

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal);

}

.destination-card:hover {

    transform: translateY(-8px);

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

}

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

.destination-image {

    position: relative;

    height: 220px;

    overflow: hidden;

}

.destination-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform .6s ease;

}

.destination-card:hover .destination-image img {

    transform: scale(1.08);

}

/*=========================================
        DESTINATION BADGE
=========================================*/

.destination-badge {

    position: absolute;

    top: 18px;

    left: 18px;

    display: inline-flex;

    align-items: center;

    padding: .45rem .95rem;

    background: rgba(46, 94, 59, .92);

    color: var(--white);

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

    font-size: .78rem;

    font-weight: var(--fw-semibold);

    letter-spacing: .3px;

    backdrop-filter: blur(8px);

}

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

.destination-content {

    display: flex;

    flex-direction: column;

    flex: 1;

    padding: 1.5rem;

}

.destination-content h3 {

    margin-bottom: .75rem;

    color: var(--text-dark);

    font-size: 1.45rem;

    line-height: 1.3;

}

.destination-content p {

    margin-bottom: 1.2rem;

    color: var(--text-light);

    font-size: .95rem;

    line-height: 1.75;

}

/*=========================================
        HIGHLIGHTS
=========================================*/

.destination-highlights {

    display: flex;

    flex-wrap: wrap;

    gap: .55rem;

    margin-bottom: 1.5rem;

    list-style: none;

}

.destination-highlights li {

    padding: .38rem .85rem;

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

    background: rgba(46, 94, 59, .08);

    color: var(--primary-color);

    font-size: .78rem;

    font-weight: var(--fw-semibold);

    white-space: nowrap;

}

/*=========================================
        LINK
=========================================*/

.destination-link {

    display: inline-flex;

    align-items: center;

    gap: .5rem;

    margin-top: auto;

    color: var(--primary-color);

    font-size: .95rem;

    font-weight: var(--fw-semibold);

    text-decoration: none;

    transition:
        color var(--transition-normal),
        gap var(--transition-normal);

}

.destination-link i {

    transition: transform var(--transition-normal);

}

.destination-link:hover {

    color: var(--secondary-color);

}

.destination-link:hover i {

    transform: translateX(5px);

}
/*=========================================
        SAFARI REGIONS
=========================================*/

.safari-regions {

    background: var(--light-bg);

}

.regions-grid {

    display: grid;

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

    gap: var(--grid-gap);

    margin-top: var(--space-6);

}

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

.region-card {

    display: flex;

    flex-direction: column;

    padding: 2rem;

    background: var(--white);

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

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

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal);

}

.region-card:hover {

    transform: translateY(-8px);

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

}

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

.region-icon {

    width: 70px;

    height: 70px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: var(--space-3);

    border-radius: 50%;

    background: rgba(46, 94, 59, .08);

    color: var(--primary-color);

    font-size: 1.8rem;

    transition:
        background var(--transition-normal),
        color var(--transition-normal);

}

.region-card:hover .region-icon {

    background: var(--primary-color);

    color: var(--white);

}

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

.region-card h3 {

    margin-bottom: var(--space-2);

    font-size: 1.6rem;

    color: var(--text-dark);

}

.region-card p {

    margin-bottom: var(--space-3);

    color: var(--text-light);

    font-size: var(--body-text);

    line-height: 1.8;

}

/*=========================================
        DESTINATION TAGS
=========================================*/

.region-card ul {

    display: flex;

    flex-wrap: wrap;

    gap: .6rem;

    list-style: none;

    margin-top: auto;

}

.region-card li {

    padding: .42rem .9rem;

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

    background: rgba(46, 94, 59, .08);

    color: var(--primary-color);

    font-size: .8rem;

    font-weight: var(--fw-semibold);

    white-space: nowrap;

}
/*=========================================
        WHY VISIT KENYA
=========================================*/

.why-visit-kenya {

    background: var(--white);

}

.why-grid {

    display: grid;

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

    gap: var(--grid-gap);

    margin-top: var(--space-6);

}

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

.why-card {

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    padding: 2rem 1.75rem;

    background: var(--white);

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

    border: 1px solid transparent;

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

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal),
        border-color var(--transition-normal);

}

.why-card:hover {

    transform: translateY(-8px);

    border-color: rgba(46, 94, 59, .12);

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

}

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

.why-icon {

    width: 72px;

    height: 72px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: var(--space-3);

    border-radius: 50%;

    background: rgba(46, 94, 59, .08);

    color: var(--primary-color);

    font-size: 1.8rem;

    transition:
        background var(--transition-normal),
        color var(--transition-normal),
        transform var(--transition-normal);

}

.why-card:hover .why-icon {

    background: var(--primary-color);

    color: var(--white);

    transform: scale(1.08);

}

/*=========================================
        TAG
=========================================*/

.why-tag {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: .45rem 1rem;

    margin-bottom: var(--space-2);

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

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

    color: var(--secondary-color);

    font-size: .8rem;

    font-weight: var(--fw-semibold);

    letter-spacing: .3px;

}

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

.why-card h3 {

    margin-bottom: var(--space-2);

    color: var(--text-dark);

    font-size: 1.45rem;

    line-height: 1.3;

}

.why-card p {

    margin-bottom: var(--space-3);

    color: var(--text-light);

    font-size: var(--body-text);

    line-height: 1.8;

}

/*=========================================
        HIGHLIGHTS
=========================================*/

.why-highlights {

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    gap: .6rem;

    list-style: none;

    margin-top: auto;

}

.why-highlights li {

    padding: .42rem .9rem;

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

    background: rgba(46, 94, 59, .08);

    color: var(--primary-color);

    font-size: .78rem;

    font-weight: var(--fw-semibold);

    white-space: nowrap;

}
/*=========================================
        BEST TIME TO VISIT
=========================================*/

.best-time {

    background: var(--light-bg);

}

.season-grid {

    display: grid;

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

    gap: var(--grid-gap);

    margin-top: var(--space-6);

}

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

.season-card {

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    padding: 2rem 1.75rem;

    background: var(--white);

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

    border: 1px solid transparent;

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

    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal),
        border-color var(--transition-normal);

}

.season-card:hover {

    transform: translateY(-8px);

    border-color: rgba(46, 94, 59, .12);

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

}

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

.season-icon {

    width: 72px;

    height: 72px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: var(--space-3);

    border-radius: 50%;

    background: rgba(46, 94, 59, .08);

    color: var(--primary-color);

    font-size: 1.8rem;

    transition:
        background var(--transition-normal),
        color var(--transition-normal),
        transform var(--transition-normal);

}

.season-card:hover .season-icon {

    background: var(--primary-color);

    color: var(--white);

    transform: scale(1.08);

}

/*=========================================
        TAG
=========================================*/

.season-tag {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: .45rem 1rem;

    margin-bottom: var(--space-2);

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

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

    color: var(--secondary-color);

    font-size: .8rem;

    font-weight: var(--fw-semibold);

}

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

.season-card h3 {

    margin-bottom: var(--space-2);

    color: var(--text-dark);

    font-size: 1.45rem;

    line-height: 1.3;

}

.season-card p {

    margin-bottom: var(--space-3);

    color: var(--text-light);

    font-size: var(--body-text);

    line-height: 1.8;

}

/*=========================================
        HIGHLIGHTS
=========================================*/

.season-highlights {

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    gap: .6rem;

    list-style: none;

    margin-top: auto;

}

.season-highlights li {

    padding: .42rem .9rem;

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

    background: rgba(46, 94, 59, .08);

    color: var(--primary-color);

    font-size: .78rem;

    font-weight: var(--fw-semibold);

}

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

.faq-section {

    background: var(--white);

}

.faq-container {

    max-width: 900px;

    margin: var(--space-6) auto 0;

}

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

.faq-item {

    margin-bottom: 1rem;

    background: var(--white);

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

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

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

    overflow: hidden;

    transition:
        box-shadow var(--transition-normal),
        border-color var(--transition-normal);

}

.faq-item:hover {

    border-color: rgba(46, 94, 59, .15);

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

}

/*=========================================
        SUMMARY
=========================================*/

.faq-item summary {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 1rem;

    padding: 1.4rem 1.75rem;

    cursor: pointer;

    list-style: none;

    color: var(--text-dark);

    font-size: 1.08rem;

    font-weight: var(--fw-semibold);

    transition: color var(--transition-normal);

}

.faq-item summary:hover {

    color: var(--primary-color);

}

.faq-item summary::-webkit-details-marker {

    display: none;

}

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

.faq-item summary::after {

    content: "+";

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: rgba(46, 94, 59, .08);

    color: var(--primary-color);

    font-size: 1.3rem;

    font-weight: 700;

    flex-shrink: 0;

    transition:
        background var(--transition-normal),
        color var(--transition-normal),
        transform var(--transition-normal);

}

.faq-item[open] summary::after {

    content: "−";

    background: var(--primary-color);

    color: var(--white);

    transform: rotate(180deg);

}

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

.faq-item p {

    padding: 0 1.75rem 1.5rem;

    color: var(--text-light);

    line-height: 1.8;

    font-size: var(--body-text);

}
/*=========================================
        CALL TO ACTION
=========================================*/

.cta-section {

    position: relative;

    overflow: hidden;

    background:
        linear-gradient(rgba(15, 42, 30, .88), rgba(15, 42, 30, .88)),
        url("../images/cta-bg.jpg") center center / cover no-repeat;

}

.cta-section::before {

    content: "";

    position: absolute;

    inset: 0;

    background:
        radial-gradient(circle at top right,
            rgba(212, 175, 55, .16),
            transparent 45%);

}

.cta-content {

    position: relative;

    z-index: 2;

    max-width: 850px;

    margin-inline: auto;

    text-align: center;

    color: var(--white);

}

/*=========================================
        CTA TAG
=========================================*/

.cta-tag {

    display: inline-flex;

    align-items: center;

    gap: .6rem;

    padding: .65rem 1.3rem;

    margin-bottom: var(--space-4);

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

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

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

    color: var(--secondary-color);

    font-size: .85rem;

    font-weight: var(--fw-semibold);

    letter-spacing: .4px;

}

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

.cta-content h2 {

    margin-bottom: var(--space-3);

    color: var(--white);

    font-size: clamp(2.5rem, 5vw, 4rem);

    line-height: 1.2;

}

.cta-content p {

    max-width: 720px;

    margin: 0 auto var(--space-5);

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

    font-size: 1.05rem;

    line-height: 1.9;

}

/*=========================================
        CTA HIGHLIGHTS
=========================================*/

.cta-highlights {

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 1rem;

    margin-bottom: var(--space-5);

}

.cta-highlights span {

    display: inline-flex;

    align-items: center;

    gap: .55rem;

    padding: .55rem 1rem;

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

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

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

    color: var(--white);

    font-size: .9rem;

    font-weight: var(--fw-medium);

}

.cta-highlights i {

    color: var(--secondary-color);

}

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

.cta-buttons {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: var(--space-3);

    flex-wrap: wrap;

}

/*=========================================
        PREVENT HORIZONTAL SCROLL
=========================================*/

html,
body {

    overflow-x: hidden;

}

/*=========================================
UTILITIES
=========================================*/

html {
    scroll-padding-top: 90px;
}

iframe {
    display: block;
    width: 100%;
    max-width: 100%;
}

.table-responsive {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}
/* =========================================
   FORM SPAM PROTECTION
========================================= */

.form-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}