/*
|--------------------------------------------------------------------------
| PREMIUM COLOUR SYSTEM
|--------------------------------------------------------------------------
*/

.plan-safari-page {

    --lfg-forest:
        #073f31;

    --lfg-forest-deep:
        #052f25;

    --lfg-forest-dark:
        #03281f;

    --lfg-forest-soft:
        #0d4a3a;

    --lfg-forest-card:
        #0a4637;

    --lfg-forest-card-hover:
        #105642;

    --lfg-ivory:
        #f7f3ea;

    --lfg-cream:
        #eee8dc;

    --lfg-muted:
        #c9d2ca;

    --lfg-gold:
        #c7a66a;

    --lfg-gold-light:
        #dfc58f;

    --lfg-border:
        rgba(230, 220, 199, 0.22);

    --lfg-border-strong:
        rgba(230, 220, 199, 0.38);

    background:
        var(--lfg-forest-deep);

    color:
        var(--lfg-ivory);

}


/*
|--------------------------------------------------------------------------
| REMOVE UNWANTED CENTRE LINE / PSEUDO ELEMENTS
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-form-section::before,
.plan-safari-page .plan-safari-form-section::after,
.plan-safari-page .plan-safari-form::before,
.plan-safari-page .plan-safari-form::after,
.plan-safari-page .plan-safari-form-block::before,
.plan-safari-page .plan-safari-form-block::after,
.plan-safari-page .plan-safari-form-block-content::before,
.plan-safari-page .plan-safari-form-block-content::after {

    display:
        none !important;

    content:
        none !important;

}


/*
|--------------------------------------------------------------------------
| HERO
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-hero {

    position:
        relative;

    min-height:
        690px;

    display:
        flex;

    align-items:
        center;

    background-color:
        var(--lfg-forest-dark);

    background-size:
        cover;

    background-position:
        center;

    overflow:
        hidden;

}


.plan-safari-page .plan-safari-hero-overlay {

    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(
            90deg,
            rgba(2, 30, 23, 0.94) 0%,
            rgba(3, 40, 31, 0.78) 40%,
            rgba(3, 40, 31, 0.38) 72%,
            rgba(3, 40, 31, 0.28) 100%
        );

}


.plan-safari-page .plan-safari-hero .container {

    position:
        relative;

    z-index:
        2;

    width:
        100%;

}


.plan-safari-page .plan-safari-hero-content {

    max-width:
        720px;

    padding:
        120px 0;

}


.plan-safari-page .plan-safari-label {

    display:
        inline-block;

    margin-bottom:
        24px;

    color:
        var(--lfg-gold-light);

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        4px;

}

/* =========================================================
   PLAN SAFARI HERO — SOFT FEATHERED TRANSITION
   Blends the hero image naturally into the section below
========================================================= */

/* Soft fade at the bottom of the hero */
.plan-safari-page .plan-safari-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 190px;

    background: linear-gradient(
        to bottom,
        rgba(5, 47, 37, 0) 0%,
        rgba(5, 47, 37, 0.12) 20%,
        rgba(5, 47, 37, 0.38) 42%,
        rgba(5, 47, 37, 0.72) 67%,
        #052f25 100%
    );

    pointer-events: none;
    z-index: 1;
}

/* Keep hero content above the fade */

/* =========================================================
   MOBILE — DEEPER / SHORTER FEATHER
========================================================= */

@media (max-width: 700px) {

    .plan-safari-page .plan-safari-hero::after {
        height: 150px;

        background: linear-gradient(
            to bottom,
            rgba(5, 47, 37, 0) 0%,
            rgba(5, 47, 37, 0.16) 22%,
            rgba(5, 47, 37, 0.45) 48%,
            rgba(5, 47, 37, 0.78) 72%,
            #052f25 100%
        );
    }

}

/*
|--------------------------------------------------------------------------
| PREMIUM SHIMMER HERO TITLE
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-hero h1 {

    position:
        relative;

    display:
        inline-block;

    margin:
        0 0 28px;

    color:
        #ffffff;

    font-size:
        clamp(48px, 6vw, 82px);

    line-height:
        0.98;

    font-weight:
        500;

    letter-spacing:
        -2px;

}


@supports ((-webkit-background-clip: text) or (background-clip: text)) {

    .plan-safari-page .plan-safari-hero h1 {

        background:
            linear-gradient(
                110deg,
                #ffffff 0%,
                #ffffff 38%,
                #f7e6b8 46%,
                #ffffff 52%,
                #c7a66a 58%,
                #ffffff 66%,
                #ffffff 100%
            );

        background-size:
            250% auto;

        background-position:
            200% center;

        -webkit-background-clip:
            text;

        background-clip:
            text;

        -webkit-text-fill-color:
            transparent;

        color:
            transparent;

        text-shadow:
            0 0 28px rgba(199, 166, 106, 0.16);

    }

}


@media (prefers-reduced-motion: no-preference) {

    @supports ((-webkit-background-clip: text) or (background-clip: text)) {

        .plan-safari-page .plan-safari-hero h1 {

            animation:
                plan-safari-title-shimmer 5s linear infinite;

        }

    }

}


@keyframes plan-safari-title-shimmer {

    0% {

        background-position:
            200% center;

    }

    100% {

        background-position:
            -200% center;

    }

}


@media (prefers-reduced-motion: reduce) {

    .plan-safari-page .plan-safari-hero h1 {

        animation:
            none !important;

        background:
            none;

        -webkit-text-fill-color:
            #ffffff;

        color:
            #ffffff;

        text-shadow:
            none;

    }

}


.plan-safari-page .plan-safari-hero p {

    max-width:
        570px;

    margin:
        0 0 38px;

    color:
        rgba(255,255,255,0.86);

    font-size:
        18px;

    line-height:
        1.75;

}


.plan-safari-page .plan-safari-hero-button {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        22px;

    padding:
        16px 24px;

    border:
        1px solid rgba(255,255,255,0.45);

    color:
        #ffffff;

    background:
        rgba(4, 48, 37, 0.52);

    text-decoration:
        none;

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        2.5px;

    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease;

}


.plan-safari-page .plan-safari-hero-button span {

    font-size:
        18px;

    line-height:
        1;

}


.plan-safari-page .plan-safari-hero-button:hover {

    color:
        var(--lfg-forest-dark);

    background:
        var(--lfg-ivory);

    border-color:
        var(--lfg-ivory);

}


/*
|--------------------------------------------------------------------------
| INTRODUCTION
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-introduction {

    position:
        relative;

    background:
        var(--lfg-forest);

    padding:
        110px 0;

}


.plan-safari-page .plan-safari-introduction-grid {

    display:
        grid;

    grid-template-columns:
        minmax(0, 0.9fr)
        minmax(0, 1.1fr);

    gap:
        90px;

    align-items:
        start;

}


.plan-safari-page .plan-safari-section-label {

    display:
        inline-block;

    margin-bottom:
        18px;

    color:
        var(--lfg-gold-light);

    font-size:
        10px;

    line-height:
        1.3;

    font-weight:
        700;

    letter-spacing:
        3.5px;

}


.plan-safari-page .plan-safari-introduction h2,
.plan-safari-page .plan-safari-reassurance h2 {

    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(38px, 4.5vw, 62px);

    line-height:
        1.06;

    font-weight:
        500;

    letter-spacing:
        -1.5px;

}


.plan-safari-page .plan-safari-introduction p {

    margin:
        0 0 22px;

    color:
        rgba(247,243,234,0.78);

    font-size:
        17px;

    line-height:
        1.85;

}


.plan-safari-page .plan-safari-introduction p:last-child {

    margin-bottom:
        0;

}


/*
|--------------------------------------------------------------------------
| FORM SECTION
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-form-section {

    position:
        relative;

    background:
        var(--lfg-forest-deep);

    padding:
        115px 0 125px;

    overflow:
        hidden;

}


.plan-safari-page .plan-safari-form-heading {

    max-width:
        800px;

    margin:
        0 auto 70px;

    text-align:
        center;

}


.plan-safari-page .plan-safari-form-heading h2 {

    margin:
        0 0 20px;

    color:
        #ffffff;

    font-size:
        clamp(40px, 5vw, 64px);

    line-height:
        1.05;

    font-weight:
        500;

    letter-spacing:
        -1.5px;

}


.plan-safari-page .plan-safari-form-heading p {

    max-width:
        620px;

    margin:
        0 auto;

    color:
        var(--lfg-muted);

    font-size:
        17px;

    line-height:
        1.7;

}


/*
|--------------------------------------------------------------------------
| FORM
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-form {

    position:
        relative;

    width:
        100%;

    max-width:
        1080px;

    margin:
        0 auto;

    background:
        transparent;

}


.plan-safari-page .plan-safari-form-block {

    position:
        relative;

    display:
        grid;

    grid-template-columns:
        72px minmax(0, 1fr);

    gap:
        34px;

    padding:
        52px 0;

    border-top:
        1px solid var(--lfg-border);

    background:
        transparent;

}


.plan-safari-page .plan-safari-form-block:last-of-type {

    border-bottom:
        1px solid var(--lfg-border);

}


.plan-safari-page .plan-safari-form-number {

    width:
        48px;

    height:
        48px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid var(--lfg-gold);

    border-radius:
        50%;

    color:
        var(--lfg-gold-light);

    font-size:
        12px;

    font-weight:
        700;

    letter-spacing:
        1px;

}


.plan-safari-page .plan-safari-form-block-content {

    min-width:
        0;

}


.plan-safari-page .plan-safari-form-block-content h3 {

    margin:
        0 0 34px;

    color:
        #ffffff;

    font-size:
        clamp(30px, 3.5vw, 46px);

    line-height:
        1.12;

    font-weight:
        500;

    letter-spacing:
        -0.8px;

}


.plan-safari-page .plan-safari-help-text {

    margin:
        -18px 0 30px;

    color:
        var(--lfg-muted);

    font-size:
        14px;

    line-height:
        1.6;

}


/*
|--------------------------------------------------------------------------
| FIELDS
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-fields {

    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        28px 20px;

}


.plan-safari-page .plan-safari-field {

    min-width:
        0;

}


.plan-safari-page .plan-safari-field.full {

    grid-column:
        1 / -1;

}


.plan-safari-page .plan-safari-field > label {

    display:
        block;

    margin-bottom:
        10px;

    color:
        var(--lfg-cream);

    font-size:
        11px;

    line-height:
        1.4;

    font-weight:
        700;

    letter-spacing:
        2.4px;

    text-transform:
        uppercase;

}


.plan-safari-page .plan-safari-field > label span {

    color:
        var(--lfg-gold-light);

}


.plan-safari-page .plan-safari-field input[type="text"],
.plan-safari-page .plan-safari-field input[type="email"],
.plan-safari-page .plan-safari-field input[type="tel"],
.plan-safari-page .plan-safari-field input[type="date"],
.plan-safari-page .plan-safari-field select,
.plan-safari-page .plan-safari-field textarea {

    width:
        100%;

    box-sizing:
        border-box;

    border:
        1px solid var(--lfg-border-strong);

    border-radius:
        0;

    outline:
        none;

    background:
        rgba(255,255,255,0.045);

    color:
        #ffffff;

    font-family:
        inherit;

    font-size:
        15px;

    line-height:
        1.5;

    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;

}


.plan-safari-page .plan-safari-field input[type="text"],
.plan-safari-page .plan-safari-field input[type="email"],
.plan-safari-page .plan-safari-field input[type="tel"],
.plan-safari-page .plan-safari-field input[type="date"],
.plan-safari-page .plan-safari-field select {

    min-height:
        56px;

    padding:
        0 17px;

}


.plan-safari-page .plan-safari-field textarea {

    min-height:
        150px;

    padding:
        16px 17px;

    resize:
        vertical;

}


.plan-safari-page .plan-safari-field input::placeholder,
.plan-safari-page .plan-safari-field textarea::placeholder {

    color:
        rgba(235,235,225,0.46);

}


.plan-safari-page .plan-safari-field select option {

    color:
        #173b31;

    background:
        #f7f3ea;

}


.plan-safari-page .plan-safari-field input:focus,
.plan-safari-page .plan-safari-field select:focus,
.plan-safari-page .plan-safari-field textarea:focus {

    border-color:
        var(--lfg-gold);

    background:
        rgba(255,255,255,0.075);

    box-shadow:
        0 0 0 3px rgba(199,166,106,0.10);

}


/*
|--------------------------------------------------------------------------
| FLEXIBLE DATE CHECKBOX
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-checkbox {

    display:
        flex !important;

    align-items:
        center;

    gap:
        10px;

    margin:
        14px 0 0;

    color:
        var(--lfg-muted) !important;

    font-size:
        12px !important;

    letter-spacing:
        0 !important;

    text-transform:
        none !important;

    font-weight:
        500 !important;

}


.plan-safari-page .plan-safari-checkbox input {

    width:
        16px;

    height:
        16px;

    accent-color:
        var(--lfg-gold);

}


/*
|--------------------------------------------------------------------------
| TRAVELLER SELECTOR
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-travellers {

    display:
        grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        16px;

    width:
        100%;

    margin-top:
        8px;

}


.plan-safari-page .plan-safari-traveller-group {

    min-width:
        0;

}


.plan-safari-page .plan-safari-traveller-label {

    display:
        block;

    margin-bottom:
        10px;

    color:
        var(--lfg-gold-light);

    font-size:
        10px;

    line-height:
        1.3;

    letter-spacing:
        2.5px;

    font-weight:
        700;

}


.plan-safari-page .plan-safari-counter {

    width:
        100%;

    min-height:
        56px;

    display:
        grid;

    grid-template-columns:
        50px minmax(40px, 1fr) 50px;

    align-items:
        center;

    border:
        1px solid var(--lfg-border-strong);

    background:
        rgba(255,255,255,0.045);

}


.plan-safari-page .plan-safari-counter-button {

    width:
        100%;

    height:
        56px;

    padding:
        0;

    border:
        0;

    background:
        transparent;

    color:
        var(--lfg-gold-light);

    font-family:
        inherit;

    font-size:
        19px;

    line-height:
        1;

    cursor:
        pointer;

    transition:
        background-color 0.2s ease,
        color 0.2s ease;

}


.plan-safari-page .plan-safari-counter-button:hover {

    background:
        rgba(199,166,106,0.12);

    color:
        #ffffff;

}


.plan-safari-page .plan-safari-counter-button:focus-visible {

    outline:
        2px solid var(--lfg-gold-light);

    outline-offset:
        -3px;

}


.plan-safari-page .plan-safari-counter-value {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        30px;

    color:
        #ffffff;

    font-size:
        17px;

    line-height:
        1;

    font-weight:
        600;

}


.plan-safari-page .plan-safari-traveller-note {

    margin:
        11px 0 0;

    color:
        var(--lfg-muted);

    font-size:
        9px;

    line-height:
        1.5;

    letter-spacing:
        2.2px;

    font-weight:
        700;

}


/*
|--------------------------------------------------------------------------
| PREMIUM EXPERIENCE SELECTIONS
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-interest span {
    padding-left: 0 !important;
}

.plan-safari-page .plan-safari-interest span:not(.plan-safari-interest-box)::before,
.plan-safari-page .plan-safari-interest span:not(.plan-safari-interest-box)::after {
    content: none !important;
}

.plan-safari-page .plan-safari-interest > input[type="checkbox"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    pointer-events: none !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
}

.plan-safari-page .plan-safari-interest-grid {

    position: relative;

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

    gap: 18px 20px;

    margin: 0 0 42px;

}


.plan-safari-page .plan-safari-interest-kicker {

    grid-column: 1 / -1;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 14px;

    margin: -6px 0 2px;

    color: var(--lfg-gold-light);

    font-size: 10px;

    line-height: 1;

    font-weight: 700;

    letter-spacing: 3.5px;

    text-transform: uppercase;

}


.plan-safari-page .plan-safari-interest-kicker-line {

    width: 58px;

    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        var(--lfg-gold)
    );

}


.plan-safari-page .plan-safari-interest-kicker-line:last-child {

    background: linear-gradient(
        90deg,
        var(--lfg-gold),
        transparent
    );

}


.plan-safari-page .plan-safari-interest {

    position: relative;

    display: block;

    min-width: 0;

    margin: 0;

    cursor: pointer;

}


.plan-safari-page .plan-safari-interest-box {

    width: 100%;
    min-width: 0;

    position: relative;

    min-height: 154px;

    display: flex;

    align-items: center;

    gap: 22px;

    padding: 26px 28px;

    overflow: hidden;

    box-sizing: border-box;

    border: 1px solid rgba(205, 177, 110, 0.34);

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            rgba(3, 42, 31, 0.98) 0%,
            rgba(4, 45, 33, 0.94) 48%,
            rgba(3, 42, 31, 0.62) 100%
        );

    color: var(--lfg-ivory);

    isolation: isolate;

    transition:
        border-color 0.35s ease,
        transform 0.35s ease,
        box-shadow 0.35s ease,
        background-color 0.35s ease;

}


.plan-safari-page .plan-safari-interest-box::before {

    content: "";

    position: absolute;

    inset: 0;

    z-index: -2;

    background-image: var(--interest-image);

    background-size: cover;

    background-position: center right;

    background-repeat: no-repeat;

    opacity: 0.72;

    filter: saturate(0.72) contrast(1.04);

    transform: scale(1.025);

    transition:
        opacity 0.45s ease,
        transform 0.65s ease,
        filter 0.45s ease;

}


.plan-safari-page .plan-safari-interest-box::after {

    content: "";

    position: absolute;

    inset: 0;

    z-index: -1;

    background:
        linear-gradient(
            90deg,
            rgba(2, 37, 28, 0.99) 0%,
            rgba(2, 37, 28, 0.94) 42%,
            rgba(2, 37, 28, 0.55) 72%,
            rgba(2, 37, 28, 0.26) 100%
        );

}


.plan-safari-page .plan-safari-interest-check {

    position: relative;

    flex: 0 0 24px;

    width: 24px;

    height: 24px;

    display: flex;

    align-items: center;

    justify-content: center;

    box-sizing: border-box;

    border: 1px solid rgba(241, 226, 193, 0.78);

    background: rgba(2, 34, 26, 0.38);

    color: transparent;

    font-size: 14px;

    line-height: 1;

    font-weight: 800;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;

}


.plan-safari-page .plan-safari-interest-content {

    position: relative;

    z-index: 2;

    display: flex;

    flex-direction: column;

    max-width: 420px;

    min-width: 0;

}


.plan-safari-page .plan-safari-interest-title {

    color: #f8f1e5;

    font-family: Georgia, 'Times New Roman', serif;

    font-size: clamp(21px, 2vw, 27px);

    line-height: 1.15;

    font-weight: 500;

    letter-spacing: -0.3px;

}


.plan-safari-page .plan-safari-interest-description {

    margin-top: 10px;

    max-width: 360px;

    color: rgba(247, 243, 234, 0.76);

    font-size: 14px;

    line-height: 1.65;

}


.plan-safari-page .plan-safari-interest:hover .plan-safari-interest-box {

    border-color: rgba(216, 181, 105, 0.78);

    transform: translateY(-3px);

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.22),
        inset 0 0 0 1px rgba(216, 181, 105, 0.10);

}


.plan-safari-page .plan-safari-interest:hover .plan-safari-interest-box::before {

    opacity: 0.86;

    filter: saturate(0.86) contrast(1.06);

    transform: scale(1.055);

}


.plan-safari-page
.plan-safari-interest
> input:focus-visible
+ .plan-safari-interest-box {

    outline: 2px solid var(--lfg-gold-light);

    outline-offset: 4px;

}


.plan-safari-page
.plan-safari-interest
> input:checked
+ .plan-safari-interest-box {

    border-color: #d9b55e;

    background-color: rgba(199, 166, 106, 0.13);

    box-shadow:
        0 0 0 1px rgba(217, 181, 94, 0.18),
        0 16px 45px rgba(0, 0, 0, 0.24),
        inset 0 0 32px rgba(201, 164, 78, 0.08);

}


.plan-safari-page
.plan-safari-interest
> input:checked
+ .plan-safari-interest-box::before {

    opacity: 0.90;

    filter: saturate(0.92) contrast(1.08);

}


.plan-safari-page
.plan-safari-interest
> input:checked
+ .plan-safari-interest-box
.plan-safari-interest-check {

    border-color: var(--lfg-gold-light);

    background: var(--lfg-gold-light);

    color: var(--lfg-forest-dark);

    transform: scale(1.04);

}


.plan-safari-page .plan-safari-interest-note {

    grid-column: 1 / -1;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    margin-top: 2px;

    padding: 12px 10px 0;

    color: rgba(247, 243, 234, 0.72);

    font-family: Georgia, 'Times New Roman', serif;

    font-size: 16px;

    line-height: 1.6;

    text-align: center;

}


.plan-safari-page .plan-safari-interest-note em {

    color: var(--lfg-gold-light);

}


.plan-safari-page .plan-safari-interest-note-mark {

    color: var(--lfg-gold-light);

    font-size: 18px;

}


/*
|--------------------------------------------------------------------------
| FORM ERROR
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-form-error {

    max-width:
        1080px;

    margin:
        0 auto 35px;

    padding:
        18px 20px;

    border:
        1px solid rgba(219,137,117,0.45);

    background:
        rgba(160,70,52,0.16);

    color:
        #ffe4db;

    font-size:
        14px;

    line-height:
        1.6;

}


/*
|--------------------------------------------------------------------------
| HONEYPOT
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-honeypot {

    position:
        absolute !important;

    left:
        -9999px !important;

    width:
        1px !important;

    height:
        1px !important;

    overflow:
        hidden !important;

}


/*
|--------------------------------------------------------------------------
| SUBMIT AREA
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-submit-area {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        40px;

    margin-top:
        55px;

    padding:
        42px 0 0;

    border-top:
        1px solid var(--lfg-border);

}


.plan-safari-page .plan-safari-submit-area > div {

    max-width:
        600px;

}


.plan-safari-page .plan-safari-submit-kicker {

    display:
        block;

    margin-bottom:
        12px;

    color:
        var(--lfg-gold-light);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        3px;

}


.plan-safari-page .plan-safari-submit-area h3 {

    margin:
        0 0 10px;

    color:
        #ffffff;

    font-size:
        28px;

    line-height:
        1.2;

    font-weight:
        500;

}


.plan-safari-page .plan-safari-submit-area p {

    margin:
        0;

    color:
        var(--lfg-muted);

    font-size:
        14px;

    line-height:
        1.7;

}


.plan-safari-page .plan-safari-submit {

    flex:
        0 0 auto;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        24px;

    min-height:
        58px;

    padding:
        0 26px;

    border:
        1px solid var(--lfg-gold);

    border-radius:
        0;

    background:
        var(--lfg-gold);

    color:
        var(--lfg-forest-dark);

    text-decoration:
        none;

    font-family:
        inherit;

    font-size:
        11px;

    line-height:
        1;

    font-weight:
        800;

    letter-spacing:
        2px;

    cursor:
        pointer;

    transition:
        all 0.25s ease;

}


.plan-safari-page .plan-safari-submit span {

    font-size:
        18px;

    line-height:
        1;

}


.plan-safari-page .plan-safari-submit:hover {

    background:
        var(--lfg-gold-light);

    border-color:
        var(--lfg-gold-light);

    color:
        var(--lfg-forest-dark);

    transform:
        translateY(-2px);

}


/*
|--------------------------------------------------------------------------
| SUCCESS MESSAGE
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-success {

    max-width:
        820px;

    margin:
        0 auto;

    padding:
        70px 50px;

    border:
        1px solid var(--lfg-border);

    background:
        rgba(255,255,255,0.045);

    text-align:
        center;

}


.plan-safari-page .plan-safari-success-icon {

    width:
        62px;

    height:
        62px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    margin:
        0 auto 28px;

    border:
        1px solid var(--lfg-gold);

    border-radius:
        50%;

    color:
        var(--lfg-gold-light);

    font-size:
        24px;

}


.plan-safari-page .plan-safari-success h2 {

    margin:
        0 0 20px;

    color:
        #ffffff;

    font-size:
        clamp(34px, 4vw, 52px);

    line-height:
        1.08;

    font-weight:
        500;

}


.plan-safari-page .plan-safari-success p {

    max-width:
        600px;

    margin:
        0 auto 32px;

    color:
        var(--lfg-muted);

    font-size:
        16px;

    line-height:
        1.8;

}


/*
|--------------------------------------------------------------------------
| REASSURANCE
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-reassurance {

    background:
        var(--lfg-forest);

    padding:
        110px 0;

    border-top:
        1px solid var(--lfg-border);

}


.plan-safari-page .plan-safari-reassurance-grid {

    display:
        grid;

    grid-template-columns:
        minmax(0, 0.85fr)
        minmax(0, 1.15fr);

    gap:
        90px;

}


.plan-safari-page .plan-safari-reassurance-items {

    display:
        grid;

    gap:
        0;

}


.plan-safari-page .plan-safari-reassurance-items > div {

    padding:
        0 0 28px;

    margin:
        0 0 28px;

    border-bottom:
        1px solid var(--lfg-border);

}


.plan-safari-page .plan-safari-reassurance-items > div:last-child {

    margin-bottom:
        0;

    padding-bottom:
        0;

    border-bottom:
        0;

}


.plan-safari-page .plan-safari-reassurance-items > div > span {

    display:
        block;

    margin-bottom:
        10px;

    color:
        var(--lfg-gold-light);

    font-size:
        11px;

    font-weight:
        700;

    letter-spacing:
        2px;

}


.plan-safari-page .plan-safari-reassurance-items h3 {

    margin:
        0 0 8px;

    color:
        #ffffff;

    font-size:
        24px;

    line-height:
        1.25;

    font-weight:
        500;

}


.plan-safari-page .plan-safari-reassurance-items p {

    max-width:
        580px;

    margin:
        0;

    color:
        var(--lfg-muted);

    font-size:
        14px;

    line-height:
        1.75;

}


/*
|--------------------------------------------------------------------------
| RESPONSIVE
|--------------------------------------------------------------------------
*/

@media (max-width: 900px) {

    .plan-safari-page .plan-safari-introduction-grid,
    .plan-safari-page .plan-safari-reassurance-grid {

        grid-template-columns:
            1fr;

        gap:
            45px;

    }


    .plan-safari-page .plan-safari-form-block {

        grid-template-columns:
            56px minmax(0, 1fr);

        gap:
            20px;

    }

}


@media (max-width: 700px) {

    .plan-safari-page .plan-safari-hero {

        min-height:
            600px;

    }


    .plan-safari-page .plan-safari-hero-content {

        padding:
            90px 0;

    }


    .plan-safari-page .plan-safari-introduction,
    .plan-safari-page .plan-safari-form-section,
    .plan-safari-page .plan-safari-reassurance {

        padding:
            80px 0;

    }


    .plan-safari-page .plan-safari-fields {

        grid-template-columns:
            1fr;

    }


    .plan-safari-page .plan-safari-field.full {

        grid-column:
            auto;

    }


    .plan-safari-page .plan-safari-travellers {

        grid-template-columns:
            1fr;

        gap:
            18px;

    }


    .plan-safari-page .plan-safari-interest-grid {

        gap:
            14px;

    }


    .plan-safari-page .plan-safari-interest-kicker {

        margin-bottom:
            4px;

        font-size:
            9px;

        letter-spacing:
            2.8px;

    }


    .plan-safari-page .plan-safari-interest-kicker-line {

        width:
            36px;

    }


    .plan-safari-page .plan-safari-interest-box {

        min-height:
            132px;

        padding:
            22px 20px;

        gap:
            16px;

    }


    .plan-safari-page .plan-safari-interest-title {

        font-size:
            22px;

    }


    .plan-safari-page .plan-safari-interest-description {

        margin-top:
            7px;

        font-size:
            13px;

    }


    .plan-safari-page .plan-safari-interest-note {

        padding-top:
            8px;

        font-size:
            15px;

    }


    .plan-safari-page .plan-safari-submit-area {

        flex-direction:
            column;

        align-items:
            flex-start;

    }


    .plan-safari-page .plan-safari-submit {

        width:
            100%;

    }

}


@media (max-width: 520px) {

    .plan-safari-page .plan-safari-interest-box {

        min-height:
            118px;

        padding:
            19px 16px;

    }


    .plan-safari-page .plan-safari-interest-title {

        font-size:
            20px;

    }


    .plan-safari-page .plan-safari-interest-description {

        display:
            none;

    }


    .plan-safari-page .plan-safari-interest-check {

        flex-basis:
            22px;

        width:
            22px;

        height:
            22px;

    }


    .plan-safari-page .plan-safari-interest-note {

        align-items:
            flex-start;

        font-size:
            14px;

    }


    .plan-safari-page .plan-safari-form-block {

        display:
            block;

        padding:
            40px 0;

    }


    .plan-safari-page .plan-safari-form-number {

        margin-bottom:
            25px;

    }


    .plan-safari-page .plan-safari-hero h1 {

        font-size:
            46px;

        letter-spacing:
            -1px;

    }


    .plan-safari-page .plan-safari-hero p {

        font-size:
            15px;

    }


    .plan-safari-page .plan-safari-counter {

        min-height:
            58px;

        grid-template-columns:
            58px minmax(40px, 1fr) 58px;

    }


    .plan-safari-page .plan-safari-counter-button {

        height:
            58px;

    }


    .plan-safari-page .plan-safari-success {

        padding:
            50px 24px;

    }

}


/*
|--------------------------------------------------------------------------
| FINAL EXPERIENCE GRID AUTHORITY
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-interest-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: auto repeat(2, 190px) !important;
    align-items: stretch !important;
}

.plan-safari-page .plan-safari-interest {
    height: 100% !important;
    align-self: stretch !important;
}

.plan-safari-page .plan-safari-interest-box {
    height: 100% !important;
    min-height: 0 !important;
    align-items: center !important;
}

.plan-safari-page .plan-safari-interest {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}


@media (max-width: 1100px) {

    .plan-safari-page .plan-safari-interest-grid {

        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: auto repeat(4, 190px) !important;

    }

}

@media (max-width: 700px) {

    .plan-safari-page .plan-safari-interest-grid {

        grid-template-columns: 1fr !important;
        grid-template-rows: auto repeat(8, auto) !important;

    }

    .plan-safari-page .plan-safari-interest-box {

        height: auto !important;
        min-height: 132px !important;

    }

}

/* =========================================================
   PREMIUM GOLD + WHITE SHIMMER
   PLAN YOUR SAFARI LABEL
   ========================================================= */

.plan-safari-page .plan-safari-label {

    position: relative !important;

    display: inline-block !important;

    margin-bottom: 24px;

    color: transparent !important;

    -webkit-text-fill-color: transparent !important;

    background-image:
        linear-gradient(
            110deg,
            #c7a66a 0%,
            #dfc58f 18%,
            #ffffff 35%,
            #fff7d6 45%,
            #c7a66a 55%,
            #ffffff 68%,
            #dfc58f 82%,
            #c7a66a 100%
        ) !important;

    background-size:
        400% 100% !important;

    background-position:
        200% center !important;

    -webkit-background-clip:
        text !important;

    background-clip:
        text !important;

    font-size:
        12px !important;

    font-weight:
        800 !important;

    letter-spacing:
        5px !important;

    animation:
        lfg-plan-safari-shimmer 2.8s linear infinite !important;

    filter:
        drop-shadow(
            0 0 5px rgba(255, 255, 255, 0.20)
        )
        drop-shadow(
            0 0 10px rgba(223, 197, 143, 0.45)
        )
        drop-shadow(
            0 0 20px rgba(199, 166, 106, 0.25)
        );

}


/* =========================================================
   MOVING GOLD + WHITE LIGHT
   ========================================================= */

@keyframes lfg-plan-safari-shimmer {

    0% {

        background-position:
            200% center;

    }

    100% {

        background-position:
            -200% center;

    }

}


/* =========================================================
   ROTATING GOLDEN GLOW
   ========================================================= */

.plan-safari-page .plan-safari-label::before {

    content:
        "";

    position:
        absolute;

    top:
        50%;

    left:
        50%;

    width:
        130%;

    height:
        250%;

    transform:
        translate(-50%, -50%);

    background:
        conic-gradient(
            from 0deg,
            transparent 0deg,
            transparent 120deg,
            rgba(255, 255, 255, 0.45) 150deg,
            rgba(223, 197, 143, 0.75) 180deg,
            transparent 220deg,
            transparent 360deg
        );

    opacity:
        0.7;

    filter:
        blur(10px);

    z-index:
        -1;

    animation:
        lfg-plan-safari-rotate 4s linear infinite;

}


/* =========================================================
   ROTATING LIGHT ANIMATION
   ========================================================= */

@keyframes lfg-plan-safari-rotate {

    0% {

        transform:
            translate(-50%, -50%)
            rotate(0deg);

    }

    100% {

        transform:
            translate(-50%, -50%)
            rotate(360deg);

    }

}


/* =========================================================
   GLITTER SPARKLES
   ========================================================= */

.plan-safari-page .plan-safari-label::after {

    content:
        "✦";

    position:
        absolute;

    top:
        -12px;

    right:
        -22px;

    color:
        #ffffff;

    font-size:
        14px;

    text-shadow:
        0 0 8px #ffffff,
        0 0 16px #dfc58f,
        0 0 25px #c7a66a;

    animation:
        lfg-plan-safari-sparkle 1.8s ease-in-out infinite;

}


@keyframes lfg-plan-safari-sparkle {

    0%,
    100% {

        opacity:
            0.2;

        transform:
            scale(0.6)
            rotate(0deg);

    }

    50% {

        opacity:
            1;

        transform:
            scale(1.35)
            rotate(180deg);

    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .plan-safari-page .plan-safari-label {

        font-size:
            10px !important;

        letter-spacing:
            3.5px !important;

    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plan-safari-page .plan-safari-label,
    .plan-safari-page .plan-safari-label::before,
    .plan-safari-page .plan-safari-label::after {

        animation:
            none !important;

    }

}

/*
|--------------------------------------------------------------------------
| PLAN YOUR SAFARI — COMPACT TWO COLUMN INTRO
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-form-intro-grid {

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(280px, 0.85fr);

    gap:
        70px;

    max-width:
        1080px;

    margin:
        0 auto 60px;

    align-items:
        start;

}


/*
|--------------------------------------------------------------------------
| LEFT CONTENT
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-form-intro-left h2 {

    margin:
        0 0 20px;

    color:
        #ffffff;

    font-size:
        clamp(34px, 3.6vw, 48px);

    line-height:
        1.08;

    font-weight:
        500;

    letter-spacing:
        -1px;

}


.plan-safari-page .plan-safari-form-intro-left p {

    max-width:
        680px;

    margin:
        0 0 14px;

    color:
        var(--lfg-muted);

    font-size:
        15px;

    line-height:
        1.7;

}


.plan-safari-page .plan-safari-form-intro-left p:last-child {

    margin-bottom:
        0;

}


/*
|--------------------------------------------------------------------------
| RIGHT — LET'S START PLANNING
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-form-intro-right {

    padding-top:
        2px;

}


.plan-safari-page .plan-safari-form-intro-right h2 {

    margin:
        0 0 16px;

    color:
        #ffffff;

    font-size:
        clamp(30px, 3vw, 40px);

    line-height:
        1.1;

    font-weight:
        500;

    letter-spacing:
        -0.8px;

}


.plan-safari-page .plan-safari-form-intro-right p {

    max-width:
        400px;

    margin:
        0;

    color:
        var(--lfg-muted);

    font-size:
        15px;

    line-height:
        1.7;

}


/*
|--------------------------------------------------------------------------
| COMPACT LABELS
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-form-intro-grid
.plan-safari-section-label {

    margin-bottom:
        14px;

}


/*
|--------------------------------------------------------------------------
| TABLET
|--------------------------------------------------------------------------
*/

@media (max-width: 900px) {

    .plan-safari-page .plan-safari-form-intro-grid {

        grid-template-columns:
            1fr;

        gap:
            45px;

        margin-bottom:
            50px;

    }

}


/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media (max-width: 700px) {

    .plan-safari-page .plan-safari-form-intro-grid {

        gap:
            35px;

        margin-bottom:
            40px;

    }


    .plan-safari-page .plan-safari-form-intro-left h2 {

        font-size:
            34px;

    }


    .plan-safari-page .plan-safari-form-intro-right h2 {

        font-size:
            30px;

    }

}

/* =========================================================
   WHY PLAN WITH US — CLEAN FINAL VERSION
========================================================= */

.plan-safari-page .plan-safari-reassurance {

    position: relative;

    isolation: isolate;

    overflow: hidden;

    padding: 70px 0;

    background:
        #052f25;

    border-top:
        none !important;

}


/* =========================================================
   BACKGROUND IMAGE
   IMAGE GRADUALLY EMERGES FROM THE DARK BACKGROUND
========================================================= */

.plan-safari-page .plan-safari-reassurance::before {

    content: "";

    position: absolute;

    inset: 0;

    z-index: -2;

    pointer-events: none;

    background-image:
        url("/wp-content/uploads/2026/09/whyplan.png");

    background-size:
        cover;

    background-repeat:
        no-repeat;

    background-position:
        center center;

    filter:
        brightness(0.78)
        saturate(0.82)
        contrast(1.08);

    transform:
        scale(1.02);

    /*
    Fade the IMAGE itself smoothly into the
    forest background.
    */

    -webkit-mask-image:
        linear-gradient(
            to bottom,

            transparent 0%,

            rgba(0,0,0,0.03) 5%,

            rgba(0,0,0,0.10) 12%,

            rgba(0,0,0,0.24) 22%,

            rgba(0,0,0,0.48) 34%,

            rgba(0,0,0,0.72) 46%,

            rgba(0,0,0,0.92) 60%,

            #000 75%,

            #000 100%

        );

    mask-image:
        linear-gradient(
            to bottom,

            transparent 0%,

            rgba(0,0,0,0.03) 5%,

            rgba(0,0,0,0.10) 12%,

            rgba(0,0,0,0.24) 22%,

            rgba(0,0,0,0.48) 34%,

            rgba(0,0,0,0.72) 46%,

            rgba(0,0,0,0.92) 60%,

            #000 75%,

            #000 100%

        );

}


/* =========================================================
   DARK CINEMATIC OVERLAY
========================================================= */

.plan-safari-page .plan-safari-reassurance::after {

    content: "";

    position: absolute;

    inset: 0;

    z-index: -1;

    pointer-events: none;

    background:

        linear-gradient(
            90deg,

            rgba(2, 28, 21, 0.82) 0%,

            rgba(2, 28, 21, 0.65) 25%,

            rgba(2, 28, 21, 0.38) 50%,

            rgba(2, 28, 21, 0.16) 75%,

            rgba(2, 28, 21, 0.08) 100%

        );

}


/* =========================================================
   CONTENT
========================================================= */


/* =========================================================
   DESKTOP LAYOUT
========================================================= */

.plan-safari-page .plan-safari-reassurance-grid {

    display: grid;

    /*
    Give the heading significantly more room.
    This prevents:
    Local
    Knowledge.
    Personal
    */

    grid-template-columns:
        minmax(280px, 1.25fr)
        minmax(0, 2.75fr);

    gap:
        70px;

    align-items:
        start;

}


/* =========================================================
   HEADING
========================================================= */

.plan-safari-page .plan-safari-reassurance h2 {

    max-width:
        360px;

    margin:
        0;

    font-size:
        clamp(36px, 3vw, 48px);

    line-height:
        1.12;

    letter-spacing:
        -1px;

}


/* =========================================================
   THREE INFORMATION COLUMNS
========================================================= */

.plan-safari-page .plan-safari-reassurance-items {

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        45px;

}


.plan-safari-page .plan-safari-reassurance-items > div {

    padding:
        0;

    margin:
        0;

    border:
        none;

}


.plan-safari-page .plan-safari-reassurance-items > div > span {

    margin-bottom:
        12px;

}


.plan-safari-page .plan-safari-reassurance-items h3 {

    margin:
        0 0 10px;

}


.plan-safari-page .plan-safari-reassurance-items p {

    line-height:
        1.65;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .plan-safari-page .plan-safari-reassurance-grid {

        grid-template-columns:
            1fr;

        gap:
            45px;

    }


    .plan-safari-page .plan-safari-reassurance-items {

        grid-template-columns:
            repeat(3, minmax(0, 1fr));

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .plan-safari-page .plan-safari-reassurance {

        padding:
            70px 0;

    }


    .plan-safari-page .plan-safari-reassurance-grid {

        gap:
            38px;

    }


    .plan-safari-page .plan-safari-reassurance-items {

        grid-template-columns:
            1fr;

        gap:
            30px;

    }


    .plan-safari-page .plan-safari-reassurance h2 {

        max-width:
            100%;

        font-size:
            36px;

    }


    .plan-safari-page .plan-safari-reassurance::before {

        background-position:
            center center;

    }

}


/*
|--------------------------------------------------------------------------
| PLAN YOUR SAFARI — LUXURY TERMS & CONDITIONS
|--------------------------------------------------------------------------
*/

/* =========================================================
   OUTER WRAPPER
   ========================================================= */

.plan-safari-page .plan-safari-terms-wrapper {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto 70px;
}


/* =========================================================
   MAIN LUXURY PANEL
   ========================================================= */

.plan-safari-page .plan-safari-terms {
    position: relative;
    overflow: hidden;

    background: #f8f4eb;

    border: 1px solid rgba(184, 151, 82, 0.75);
    border-radius: 0;

    box-shadow:
        0 20px 55px rgba(0, 0, 0, 0.16);
}


/* Fine gold line at very top */

.plan-safari-page .plan-safari-terms::before {
    content: "";
    display: block;

    height: 4px;

    background:
        linear-gradient(
            90deg,
            #8f7138 0%,
            #d7bd7c 25%,
            #f0d99b 50%,
            #d7bd7c 75%,
            #8f7138 100%
        );
}


/* =========================================================
   LUXURY ACCORDION HEADER
   ========================================================= */

.plan-safari-page .plan-safari-terms-toggle {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    padding: 27px 31px;

    cursor: pointer;
    list-style: none;

    background: #063b30;

    color: #f7f0df;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.01em;

    transition:
        background-color 0.35s ease,
        color 0.35s ease;
}


/* Remove browser marker */

.plan-safari-page .plan-safari-terms-toggle::-webkit-details-marker {
    display: none;
}

.plan-safari-page .plan-safari-terms-toggle::marker {
    display: none;
    content: "";
}


/* =========================================================
   HEADER CONTENT
   ========================================================= */

.plan-safari-page .plan-safari-terms-toggle-content {
    display: flex;
    align-items: center;

    gap: 17px;
}


/* =========================================================
   LUXURY CIRCLE ICON
   ========================================================= */

.plan-safari-page .plan-safari-terms-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border: 1px solid rgba(218, 190, 126, 0.75);
    border-radius: 50%;

    color: #e0c78a;

    font-size: 15px;

    flex-shrink: 0;

    background: rgba(255, 255, 255, 0.02);
}


/* =========================================================
   HEADER TITLE
   ========================================================= */

.plan-safari-page .plan-safari-terms-toggle-content::after {
    content: "";
}


/* =========================================================
   ARROW
   ========================================================= */

.plan-safari-page .plan-safari-terms-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border: 1px solid rgba(218, 190, 126, 0.65);
    border-radius: 50%;

    color: #e0c78a;

    font-size: 15px;

    transition:
        transform 0.4s ease,
        background-color 0.35s ease,
        color 0.35s ease;
}


/* =========================================================
   HEADER HOVER
   ========================================================= */

.plan-safari-page .plan-safari-terms-toggle:hover {
    background: #084438;
    color: #ffffff;
}


/* =========================================================
   OPEN STATE
   ========================================================= */

.plan-safari-page .plan-safari-terms[open] .plan-safari-terms-toggle {
    background: #052f26;

    border-bottom: 1px solid rgba(218, 190, 126, 0.45);
}

.plan-safari-page .plan-safari-terms[open] .plan-safari-terms-arrow {
    transform: rotate(180deg);

    background: #b59657;
    color: #ffffff;

    border-color: #b59657;
}


/* =========================================================
   CONTENT AREA
   ========================================================= */

.plan-safari-page .plan-safari-terms-content {
    position: relative;

    padding: 55px 58px 60px;

    background: #f8f4eb;

    color: #39362f;

    font-family: "Helvetica Neue", Arial, sans-serif;

    font-size: 15px;
    line-height: 1.9;
}


/* =========================================================
   SUBTLE INNER FRAME
   ========================================================= */

.plan-safari-page .plan-safari-terms-content::before {
    content: "";

    position: absolute;

    top: 20px;
    right: 20px;
    bottom: 20px;
    left: 20px;

    border: 1px solid rgba(184, 151, 82, 0.16);

    pointer-events: none;
}


/* =========================================================
   INTRODUCTION
   ========================================================= */

.plan-safari-page .plan-safari-terms-introduction {
    position: relative;

    margin-bottom: 44px;
    padding-bottom: 34px;

    border-bottom: 1px solid rgba(184, 151, 82, 0.30);
}

.plan-safari-page .plan-safari-terms-introduction p {
    margin: 0 0 17px;
}

.plan-safari-page .plan-safari-terms-introduction p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   MAIN TERMS HEADING
   ========================================================= */

.plan-safari-page .plan-safari-terms-content > h2,
.plan-safari-page .plan-safari-terms-content h2 {
    margin: 0 0 12px;

    color: #173c32;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 31px;
    font-weight: 600;

    letter-spacing: -0.01em;
}


/* =========================================================
   SECONDARY HEADING
   ========================================================= */

.plan-safari-page .plan-safari-terms-content > h3,
.plan-safari-page .plan-safari-terms-content h3 {
    color: #8e713d;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 19px;
    font-weight: 600;

    letter-spacing: 0.01em;
}


/* =========================================================
   SECTION BLOCKS
   ========================================================= */

.plan-safari-page .plan-safari-terms-section {
    position: relative;

    margin-bottom: 42px;
}

.plan-safari-page .plan-safari-terms-section:last-child {
    margin-bottom: 0;
}


/* =========================================================
   SECTION DIVIDERS
   ========================================================= */

.plan-safari-page
.plan-safari-terms-section
+ .plan-safari-terms-section {
    padding-top: 36px;

    border-top: 1px solid rgba(184, 151, 82, 0.20);
}


/* =========================================================
   SECTION HEADINGS
   ========================================================= */

.plan-safari-page .plan-safari-terms-section h3 {
    display: flex;
    align-items: center;

    gap: 15px;

    margin: 0 0 17px;

    color: #173c32;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 20px;
    font-weight: 600;

    line-height: 1.4;
}


/* =========================================================
   GOLD NUMBER
   ========================================================= */

.plan-safari-page
.plan-safari-terms-section
h3
.plan-safari-terms-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border: 1px solid #b59657;
    border-radius: 50%;

    color: #a17d3e;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 14px;
    font-weight: 600;

    flex-shrink: 0;
}


/* =========================================================
   PARAGRAPHS
   ========================================================= */

.plan-safari-page .plan-safari-terms-section p {
    margin: 0 0 15px;
}

.plan-safari-page .plan-safari-terms-section p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   LINKS
   ========================================================= */

.plan-safari-page .plan-safari-terms-content a {
    color: #96743b;

    font-weight: 600;

    text-decoration: none;

    border-bottom: 1px solid rgba(150, 116, 59, 0.45);

    transition:
        color 0.25s ease,
        border-color 0.25s ease;
}

.plan-safari-page .plan-safari-terms-content a:hover {
    color: #5f4520;

    border-color: #5f4520;
}


/* =========================================================
   REFUND TABLE — LUXURY VERSION
   ========================================================= */

.plan-safari-page .plan-safari-refund-table {
    position: relative;

    margin: 30px 0;

    border-top: 1px solid #b59657;
    border-bottom: 1px solid #b59657;

    background: #fbf8f1;
}


/* =========================================================
   REFUND ROW
   ========================================================= */

.plan-safari-page .plan-safari-refund-row {
    display: grid;

    grid-template-columns: 1fr 1fr;

    border-bottom: 1px solid rgba(184, 151, 82, 0.22);
}

.plan-safari-page .plan-safari-refund-row:last-child {
    border-bottom: none;
}


/* =========================================================
   REFUND CELLS
   ========================================================= */

.plan-safari-page .plan-safari-refund-row > div {
    padding: 17px 21px;
}

.plan-safari-page .plan-safari-refund-row > div:first-child {
    color: #173c32;

    font-family: Georgia, "Times New Roman", serif;

    font-weight: 600;

    background: rgba(184, 151, 82, 0.06);
}

.plan-safari-page .plan-safari-refund-row > div:last-child {
    color: #514c43;
}


/* =========================================================
   FINAL TERMS
   ========================================================= */

.plan-safari-page .plan-safari-terms-final {
    position: relative;

    margin-top: 45px;

    padding: 30px 34px;

    border-top: 1px solid #b59657;
    border-bottom: 1px solid #b59657;

    background: #f1eadb;

    color: #39352d;

    font-family: Georgia, "Times New Roman", serif;

    font-size: 15px;
    line-height: 1.85;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .plan-safari-page .plan-safari-terms-wrapper {
        margin-bottom: 45px;
    }

    .plan-safari-page .plan-safari-terms-toggle {
        padding: 21px 18px;

        font-size: 18px;
    }

    .plan-safari-page .plan-safari-terms-toggle-content {
        gap: 12px;
    }

    .plan-safari-page .plan-safari-terms-icon {
        width: 36px;
        height: 36px;
    }

    .plan-safari-page .plan-safari-terms-arrow {
        width: 34px;
        height: 34px;
    }

    .plan-safari-page .plan-safari-terms-content {
        padding: 40px 24px 45px;

        font-size: 14px;
        line-height: 1.85;
    }

    .plan-safari-page .plan-safari-terms-content::before {
        top: 14px;
        right: 14px;
        bottom: 14px;
        left: 14px;
    }

    .plan-safari-page .plan-safari-terms-content h2 {
        font-size: 26px;
    }

    .plan-safari-page .plan-safari-terms-section h3 {
        font-size: 18px;
    }

    .plan-safari-page .plan-safari-refund-row {
        grid-template-columns: 1fr;
    }

    .plan-safari-page .plan-safari-refund-row > div {
        padding: 14px 17px;
    }

    .plan-safari-page .plan-safari-final {
        padding: 24px;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .plan-safari-page .plan-safari-terms-toggle {
        padding: 18px 14px;

        font-size: 16px;
    }

    .plan-safari-page .plan-safari-terms-content {
        padding: 34px 18px 38px;
    }

    .plan-safari-page .plan-safari-terms-content::before {
        display: none;
    }

    .plan-safari-page .plan-safari-terms-content h2 {
        font-size: 24px;
    }

    .plan-safari-page .plan-safari-terms-section h3 {
        align-items: flex-start;

        font-size: 17px;
    }

    .plan-safari-page
    .plan-safari-terms-section
    h3
    .plan-safari-terms-number {
        width: 30px;
        height: 30px;

        font-size: 13px;
    }

    .plan-safari-page .plan-safari-terms-final {
        padding: 23px 20px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plan-safari-page .plan-safari-terms-toggle,
    .plan-safari-page .plan-safari-terms-arrow,
    .plan-safari-page .plan-safari-terms-content a {
        transition: none;
    }
}

/*
|--------------------------------------------------------------------------
| PLAN YOUR SAFARI — FULL JOURNEY BACKGROUND
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-form-section {
    position: relative;

    background-image:
        linear-gradient(
            rgba(4, 48, 38, 0.38),
            rgba(4, 48, 38, 0.38)
        ),
        url("../images/plan-your-safari-bg.jpg");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    background-attachment: fixed;
}

/*
|--------------------------------------------------------------------------
| PLAN YOUR SAFARI — DRAMATIC CINEMATIC HERO DISSOLVE
|--------------------------------------------------------------------------
*/

.plan-safari-page .plan-safari-hero {
    position: relative;
    z-index: 3;

    margin-bottom: 0;

    overflow: visible;

    /*
     * Deep cinematic fade.
     * The hero remains strong for most of its height,
     * then slowly dissolves into the next photograph.
     */
    -webkit-mask-image: linear-gradient(
        to bottom,
        #000 0%,
        #000 58%,
        rgba(0, 0, 0, 0.98) 66%,
        rgba(0, 0, 0, 0.82) 73%,
        rgba(0, 0, 0, 0.58) 80%,
        rgba(0, 0, 0, 0.30) 88%,
        rgba(0, 0, 0, 0.08) 95%,
        transparent 100%
    );

    mask-image: linear-gradient(
        to bottom,
        #000 0%,
        #000 58%,
        rgba(0, 0, 0, 0.98) 66%,
        rgba(0, 0, 0, 0.82) 73%,
        rgba(0, 0, 0, 0.58) 80%,
        rgba(0, 0, 0, 0.30) 88%,
        rgba(0, 0, 0, 0.08) 95%,
        transparent 100%
    );
}


/* =========================================================
   DEEP OVERLAP
   ========================================================= */

.plan-safari-page .plan-safari-form-section {
    position: relative;
    z-index: 1;

    /*
     * Pull the second image dramatically upward
     * underneath the hero.
     */
    margin-top: -230px;

    /*
     * Compensate so YOUR JOURNEY doesn't move upward.
     */
    padding-top: 230px;

    /*
     * Make sure the section itself doesn't create
     * a hard visual edge.
     */
    border-top: none;
}


/* =========================================================
   ATMOSPHERIC FADE BETWEEN PHOTOGRAPHS
   ========================================================= */

.plan-safari-page .plan-safari-form-section::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 300px;

    pointer-events: none;

    /*
     * A deep forest-green atmospheric veil.
     * This is what gives the transition its
     * cinematic safari feeling.
     */
    background:
        linear-gradient(
            to bottom,
            rgba(3, 45, 36, 0.82) 0%,
            rgba(3, 45, 36, 0.65) 18%,
            rgba(3, 45, 36, 0.43) 38%,
            rgba(3, 45, 36, 0.22) 60%,
            rgba(3, 45, 36, 0.08) 80%,
            rgba(3, 45, 36, 0) 100%
        );

    z-index: 1;
}


/* =========================================================
   SOFT GOLD ATMOSPHERIC LINE
   ========================================================= */

.plan-safari-page .plan-safari-form-section::after {
    content: "";

    position: absolute;

    top: 145px;
    left: 50%;

    width: 140px;
    height: 1px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(218, 190, 126, 0.55),
            transparent
        );

    opacity: 0.7;

    z-index: 2;
}


/* =========================================================
   KEEP ALL CONTENT ABOVE THE TRANSITION
   ========================================================= */

.plan-safari-page .plan-safari-form-section > .container {
    position: relative;

    z-index: 4;
}


/* =========================================================
   MOBILE — REDUCE OVERLAP
   ========================================================= */

@media (max-width: 768px) {

    .plan-safari-page .plan-safari-hero {
        -webkit-mask-image: linear-gradient(
            to bottom,
            #000 0%,
            #000 55%,
            rgba(0, 0, 0, 0.85) 70%,
            rgba(0, 0, 0, 0.45) 85%,
            transparent 100%
        );

        mask-image: linear-gradient(
            to bottom,
            #000 0%,
            #000 55%,
            rgba(0, 0, 0, 0.85) 70%,
            rgba(0, 0, 0, 0.45) 85%,
            transparent 100%
        );
    }

    .plan-safari-page .plan-safari-form-section {
        margin-top: -150px;
        padding-top: 150px;
    }

    .plan-safari-page .plan-safari-form-section::before {
        height: 210px;
    }

    .plan-safari-page .plan-safari-form-section::after {
        top: 105px;
        width: 90px;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .plan-safari-page .plan-safari-form-section {
        margin-top: -110px;
        padding-top: 110px;
    }

    .plan-safari-page .plan-safari-form-section::before {
        height: 170px;
    }

    .plan-safari-page .plan-safari-form-section::after {
        display: none;
    }
}

