:root {
--accent: #D95D24 !important;
--primary: #241C15 !important;
--secondary: #6E6359 !important;
--primary-font: Unna, sans-serif;
--secondary-font: Roboto, sans-serif;
}

/* ==============================================================
   KEPA MARA SAFARIS CUSTOM STYLING & POSITIONING
   ============================================================== */

/* --- 1. Header & Navigation Alignment (No Overlapping) --- */
.cs_site_header.cs_style_1 .cs_main_header_in {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    height: 100px !important;
}

.cs_main_header_left {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.cs_site_branding {
    display: inline-flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

.cs_site_branding img {
    max-height: 68px !important;
    width: auto !important;
    max-width: 190px !important;
    object-fit: contain !important;
    display: block !important;
    transition: transform 0.25s ease !important;
}

.cs_site_branding:hover img {
    transform: scale(1.03) !important;
}

.cs_site_branding + .cs_nav {
    margin-left: 28px !important;
}

.cs_nav .cs_nav_list > li {
    margin-right: 22px !important;
}

.cs_nav .cs_nav_list > li:last-child {
    margin-right: 0 !important;
}

.cs_nav .cs_nav_list > li > a {
    font-size: 15px !important;
    white-space: nowrap !important;
}

.cs_main_header_right {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    margin-left: 20px !important;
}

.cs_main_header_right .cs_toolbox {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: nowrap !important;
}

.cs_header_user_btn {
    display: inline-flex !important;
    align-items: center !important;
}

.cs_header_user_btn a {
    font-weight: 500 !important;
    white-space: nowrap !important;
}

/* Sticky Header compact mode */
.cs_site_header.cs_style_1.cs_sticky_active .cs_main_header_in {
    height: 75px !important;
}

.cs_site_header.cs_style_1.cs_sticky_active .cs_site_branding img {
    max-height: 52px !important;
}

@media (max-width: 1199px) {
    .cs_site_branding img {
        max-height: 55px !important;
    }
}

/* --- 2. Hero Section 100% Full Width Background & Black Typography --- */
.cs_hero.cs_style_1 {
    position: relative !important;
    overflow: hidden !important;
    background-color: #faf7f4 !important;
    display: flex !important;
    align-items: center !important;
}

/* Hero image fills 100% of the entire section */
.cs_hero.cs_style_1 .cs_hero_thumb {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center center !important;
    z-index: 1 !important;
}

/* Warm sunlight safari wash so black text is 100% crystal clear across the landscape */
.cs_hero.cs_style_1 .cs_hero_thumb::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.88) 0%,
        rgba(255, 255, 255, 0.72) 48%,
        rgba(255, 255, 255, 0.38) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Full width title box across 100% of the background - NO 39vw clipping */
.cs_hero.cs_style_1 .cs_hero_title_box_wrap {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
}

.cs_hero.cs_style_1 .cs_hero_title_box {
    width: 100% !important;
    max-width: 100% !important;
    clip-path: none !important;
    overflow: visible !important;
}

.cs_hero.cs_style_1 .cs_hero_title_box_in {
    width: 100% !important;
    max-width: 100% !important;
}

/* Pure solid black crisp text across the entire headline */
.cs_hero.cs_style_1 .cs_hero_title,
.cs_hero.cs_style_1 .cs_hero_title_box .cs_hero_title {
    color: #121212 !important;
    font-size: 76px !important;
    line-height: 1.15 !important;
    text-shadow: none !important;
}

@media (max-width: 1400px) {
    .cs_hero.cs_style_1 .cs_hero_title,
    .cs_hero.cs_style_1 .cs_hero_title_box .cs_hero_title {
        font-size: 64px !important;
    }
}
@media (max-width: 991px) {
    .cs_hero.cs_style_1 .cs_hero_title,
    .cs_hero.cs_style_1 .cs_hero_title_box .cs_hero_title {
        font-size: 48px !important;
    }
}
@media (max-width: 575px) {
    .cs_hero.cs_style_1 .cs_hero_title,
    .cs_hero.cs_style_1 .cs_hero_title_box .cs_hero_title {
        font-size: 34px !important;
    }
}

/* Hide the cloned split-screen title permanently */
.cs_hero.cs_style_1 .cs_hero_title_box.cs_title_cloned {
    display: none !important;
}

/* Subtitle on the hero in dark charcoal for great readability */
.cs_hero.cs_style_1 .cs_hero_text {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
}

.cs_hero.cs_style_1 .cs_hero_subtitle {
    color: #2b221a !important;
    font-weight: 500 !important;
    text-shadow: none !important;
    max-width: 650px !important;
}

/* Underline accent on 'Elegance.' */
.cs_hero.cs_style_1 .cs_hero_title span::before {
    background-color: var(--accent, #D95D24) !important;
    opacity: 0.9 !important;
}

/* --- 3. Bold High-Visibility Safari Contact Badge (+254716292442) --- */
.cs_hero.cs_style_1 .cs_hero_phone_number {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #D95D24 !important;
    padding: 8px 24px 8px 10px !important;
    border-radius: 50px !important;
    box-shadow: 0 8px 24px rgba(217, 93, 36, 0.45) !important;
    transition: all 0.3s ease !important;
}

.cs_hero.cs_style_1 .cs_hero_phone_number:hover {
    background: #bf4312 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 28px rgba(217, 93, 36, 0.55) !important;
}

.cs_hero.cs_style_1 .cs_hero_phone_number > span {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: #D95D24 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    flex-shrink: 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}

.cs_hero.cs_style_1 .cs_hero_phone_number a {
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    display: inline-block !important;
    line-height: 1 !important;
}

@media (max-width: 767px) {
    .cs_hero.cs_style_1 .cs_hero_phone_number {
        padding: 8px 18px 8px 8px !important;
    }
    .cs_hero.cs_style_1 .cs_hero_phone_number a {
        font-size: 17px !important;
    }
    .cs_hero.cs_style_1 .cs_hero_phone_number > span {
        width: 38px !important;
        height: 38px !important;
        font-size: 15px !important;
    }
}


