/* =========================================================
   TOUR INNER PAGE — HERO
========================================================= */

.tour-hero {
    position: relative;
    overflow: hidden;

    padding: 145px 0 125px;

    background: #E9E2D4;
    color: #111111;
}


/* =========================================================
   TOUR CONTAINER
========================================================= */

.tour-container {
    width: min(1280px, calc(100% - 100px));
    margin: 0 auto;
}


/* =========================================================
   BREADCRUMBS
========================================================= */

.tour-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;

    width: fit-content;

    margin: 0 0 65px 0;
    padding: 9px 14px;

    background: #e2d5bd;
    border-radius: 10px;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .11em;
    line-height: 1.4;
    text-transform: uppercase;

    box-sizing: border-box;
}

.tour-breadcrumbs a {
    color: #8a6f3d;
    text-decoration: none;

    transition: color .3s ease;
}

.tour-breadcrumbs a:hover {
    color: #000000;
}

.tour-breadcrumbs span[aria-hidden="true"] {
    color: #8a6f3d;
    opacity: .7;
}

.tour-breadcrumbs span[aria-current="page"] {
    color: #000000;
    font-weight: 600;
}


/* =========================================================
   HERO GRID
========================================================= */

.tour-hero__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr) minmax(0, .95fr);

    align-items: center;

    gap: 90px;
}


/* =========================================================
   IMAGE COMPOSITION
========================================================= */

.tour-hero__visual {
    position: relative;

    min-height: 650px;

    padding-right: 70px;
    padding-bottom: 70px;

    box-sizing: border-box;
}


/* =========================================================
   IMAGE BASE
========================================================= */

.tour-hero__image {
    position: absolute;

    overflow: hidden;

    background: #c8bba3;

    box-shadow:
        0 25px 60px rgba(40, 32, 20, .18);

    box-sizing: border-box;
}

.tour-hero__image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .8s cubic-bezier(.22, 1, .36, 1);
}

.tour-hero__image:hover img {
    transform: scale(1.04);
}


/* =========================================================
   MAIN IMAGE
========================================================= */

.tour-hero__image--main {
    top: 0;
    left: 0;

    width: 100%;
    height: 535px;

    z-index: 2;

    border-radius:
        6px 6px 6px 40px;
}


/* =========================================================
   SECONDARY IMAGE
========================================================= */

.tour-hero__image--secondary {
    right: 0;
    bottom: 0;

    width: 58%;
    height: 360px;

    z-index: 3;

    border: 10px solid #d8ccb5;

    border-radius:
        6px 40px 6px 6px;
}


/* =========================================================
   RIGHT CONTENT
========================================================= */

.tour-hero__content {
    max-width: 610px;
}


/* =========================================================
   EYEBROW
========================================================= */

.tour-hero__eyebrow {
    display: block;

    margin-bottom: 15px;

    color: #8a6f3d;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.4;
    text-transform: uppercase;
}


/* =========================================================
   DECORATIVE LINE
========================================================= */

.tour-hero__line {
    width: 52px;
    height: 1px;

    margin-bottom: 24px;

    background: #8a6f3d;
}


/* =========================================================
   TITLE
========================================================= */

.tour-hero__content h1 {
    margin: 0;

    color: #111111;

    font-family: "Bodoni Moda", Georgia, serif;
    font-size: clamp(42px, 4.4vw, 70px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.035em;
}

.tour-hero__content h1 span {
    display: block;

    margin-top: 12px;

    color: #756a59;

    font-size: .62em;
    line-height: 1.15;
    letter-spacing: -.015em;
}


/* =========================================================
   TRUST INFORMATION
========================================================= */

.tour-hero__trust {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 20px 30px;

    margin-top: 32px;
    padding: 17px 0;

    border-top: 1px solid rgba(0, 0, 0, .14);
    border-bottom: 1px solid rgba(0, 0, 0, .14);
}


/* =========================================================
   RATING
========================================================= */

.tour-hero__rating {
    display: flex;
    align-items: center;

    gap: 8px;
}

.tour-hero__rating-score {
    color: #111111;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
}

.tour-hero__stars {
    color: #8a6f3d;

    font-size: 11px;
    letter-spacing: 1px;
}

.tour-hero__reviews {
    color: #625d55;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
}


/* =========================================================
   GUARANTEES
========================================================= */

.tour-hero__guarantees {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 12px 18px;
}

.tour-hero__guarantees span {
    display: flex;
    align-items: center;

    gap: 6px;

    color: #625d55;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .04em;
}

.tour-hero__guarantees i {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 15px;
    height: 15px;

    color: #ffffff;
    background: #8a6f3d;

    border-radius: 50%;

    font-size: 10px;
    font-style: normal;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.tour-hero__description {
    max-width: 560px;

    margin: 27px 0 0;

    color: #4f4a43;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.8;
}


/* =========================================================
   TOUR META
========================================================= */

.tour-hero__meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    margin-top: 32px;

    border-top: 1px solid rgba(0, 0, 0, .14);
    border-bottom: 1px solid rgba(0, 0, 0, .14);
}

.tour-hero__meta-item {
    display: flex;
    flex-direction: column;

    gap: 7px;

    padding: 17px 18px 17px 0;
}

.tour-hero__meta-item+.tour-hero__meta-item {
    padding-left: 18px;

    border-left: 1px solid rgba(0, 0, 0, .12);
}

.tour-hero__meta-item span {
    color: #8a6f3d;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.3;
    text-transform: uppercase;
}

.tour-hero__meta-item strong {
    color: #222222;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;
}


/* =========================================================
   CTA
========================================================= */

.tour-hero__actions {
    display: flex;
    align-items: center;

    margin-top: 32px;
}


/* =========================================================
   GOLD INQUIRY BUTTON
========================================================= */

.tour-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 28px;

    min-height: 50px;

    padding: 14px 23px;

    color: #111111;
    background: #b89a63;

    border: 1px solid #b89a63;
    border-radius: 7px;

    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;

    transition:
        background .3s ease,
        border-color .3s ease,
        color .3s ease,
        transform .3s ease;
}

.tour-hero__button span:last-child {
    color: #111111;

    font-size: 15px;

    transition:
        transform .3s ease,
        color .3s ease;
}

.tour-hero__button:hover {
    color: #ffffff;

    background: #111111;
    border-color: #111111;

    transform: translateY(-2px);
}

.tour-hero__button:hover span:last-child {
    color: #ffffff;

    transform: translateX(5px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .tour-hero {
        padding: 125px 0 105px;
    }

    .tour-container {
        width: min(100%, calc(100% - 70px));
    }

    .tour-hero__grid {
        gap: 55px;
    }

    .tour-hero__visual {
        min-height: 570px;

        padding-right: 45px;
        padding-bottom: 55px;
    }

    .tour-hero__image--main {
        height: 470px;
    }

    .tour-hero__image--secondary {
        height: 300px;
    }

    .tour-hero__content h1 {
        font-size: 52px;
    }
}


/* =========================================================
   TABLET / SMALL DESKTOP
========================================================= */

@media (max-width: 900px) {

    .tour-hero__grid {
        grid-template-columns: 1fr;

        gap: 75px;
    }

    .tour-hero__visual {
        width: min(720px, 100%);

        min-height: 600px;

        margin: 0 auto;
    }

    .tour-hero__content {
        max-width: 720px;

        margin: 0 auto;
    }

    .tour-hero__content h1 {
        font-size: clamp(45px, 7vw, 60px);
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .tour-hero {
        padding: 105px 0 80px;
    }

    .tour-container {
        width: calc(100% - 36px);
    }

    .tour-breadcrumbs {
        gap: 7px;

        margin-bottom: 45px;

        padding: 8px 11px;

        font-size: 10px;
        letter-spacing: .08em;

        border-radius: 9px;
    }

    .tour-hero__grid {
        gap: 55px;
    }

    .tour-hero__visual {
        min-height: 440px;

        padding-right: 25px;
        padding-bottom: 35px;
    }

    .tour-hero__image--main {
        width: 78%;
        height: 370px;

        border-radius:
            5px 5px 5px 28px;
    }

    .tour-hero__image--secondary {
        width: 58%;
        height: 225px;

        border-width: 7px;

        border-radius:
            5px 28px 5px 5px;
    }

    .tour-hero__content h1 {
        font-size: 43px;
    }

    .tour-hero__content h1 span {
        margin-top: 9px;

        font-size: .63em;
    }

    .tour-hero__trust {
        align-items: flex-start;
        flex-direction: column;

        gap: 14px;

        margin-top: 25px;
    }

    .tour-hero__description {
        font-size: 11px;
        line-height: 1.75;
    }

    .tour-hero__meta {
        grid-template-columns: 1fr;
    }

    .tour-hero__meta-item,
    .tour-hero__meta-item+.tour-hero__meta-item {
        padding: 13px 0;

        border-left: 0;
    }

    .tour-hero__meta-item+.tour-hero__meta-item {
        border-top: 1px solid rgba(0, 0, 0, .12);
    }

    .tour-hero__actions {
        width: 100%;
    }

    .tour-hero__button {
        width: 100%;

        box-sizing: border-box;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .tour-container {
        width: calc(100% - 28px);
    }

    .tour-hero__visual {
        min-height: 390px;
    }

    .tour-hero__image--main {
        height: 330px;
    }

    .tour-hero__image--secondary {
        height: 195px;
    }

    .tour-hero__content h1 {
        font-size: 37px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .tour-hero__image img,
    .tour-hero__button,
    .tour-hero__button span:last-child {
        transition: none;
    }
}
























/* =========================================================
   TOUR DETAILS — BASE
========================================================= */

.tour-details {
    position: relative;
    padding: 125px 0 140px;
    background: #f6f1e7;
    color: #111111;
    overflow: hidden;
}

.tour-details__container {
    width: min(1280px, calc(100% - 100px));
    margin: 0 auto;
}

.tour-details__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    align-items: start;
    gap: 90px;
}

.tour-details__main {
    min-width: 0;
}

.tour-details__sidebar {
    min-width: 0;
    position: sticky;
    top: 110px;
}


/* =========================================================
   SHARED SECTION TYPOGRAPHY
========================================================= */

.tour-section-eyebrow {
    display: block;
    margin-bottom: 13px;
    color: #8a6f3d;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.4;
    text-transform: uppercase;
}

.tour-section-heading {
    margin-bottom: 42px;
}

.tour-section-heading h2,
.tour-story h2,
.tour-booking-card__top h2,
.explore-journeys__heading h2 {
    margin: 0;
    color: #111111;
    font-family: "Bodoni Moda", Georgia, serif;
    font-weight: 400;
    letter-spacing: -.035em;
}

.tour-section-heading h2 {
    max-width: 760px;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.03;
}

.tour-heading-line {
    width: 48px;
    height: 1px;
    margin-top: 21px;
    background: #8a6f3d;
}


/* =========================================================
   INTRO
========================================================= */

.tour-intro {
    padding-bottom: 82px;
    /*border-bottom: 1px solid rgba(0, 0, 0, .12);*/
}

.tour-intro h2 {
    max-width: 880px;
    margin: 0;
    color: #111111;
    font-family: "Bodoni Moda", Georgia, serif;
    font-size: clamp(40px, 4.5vw, 62px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -.045em;
}

.tour-intro__lead {
    max-width: 680px;
    margin: 28px 0 0;
    color: #625d55;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* =========================================================
   TOUR FACTS
========================================================= */

.tour-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 50px;
    border-top: 1px solid rgba(0, 0, 0, .13);
    border-left: 1px solid rgba(0, 0, 0, .13);
}

.tour-fact {
    min-height: 100px;
    padding: 22px 25px;
    border-right: 1px solid rgba(0, 0, 0, .13);
    border-bottom: 1px solid rgba(0, 0, 0, .13);
}

.tour-fact span {
    display: block;
    margin-bottom: 9px;
    color: #8a6f3d;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.4;
    text-transform: uppercase;
}

.tour-fact strong {
    display: block;
    color: #222222;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.55;
}























/* =========================================================
   ITINERARY
========================================================= */

.tour-itinerary {
    padding-top: 10px;
}

.tour-itinerary>.tour-section-heading {
    margin-bottom: 58px;
}


/* =========================================================
   DAY
========================================================= */

.itinerary-day {
    position: relative;

    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);

    column-gap: 28px;

    padding-bottom: 68px;
}


/* TIMELINE */

.itinerary-day:not(.itinerary-day--last)::before {
    content: "";

    position: absolute;

    left: 34px;
    top: 49px;
    bottom: 0;

    width: 1px;

    background: rgba(138, 111, 61, .28);
}


/* =========================================================
   DAY NUMBER
========================================================= */

.itinerary-day__number {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 68px;
    height: 68px;

    box-sizing: border-box;

    color: #8a6f3d;
    background: #f6f1e7;

    border: 1px solid rgba(138, 111, 61, .42);
    border-radius: 50%;

    font-family: "Bodoni Moda", Georgia, serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
}


/* =========================================================
   CONTENT
========================================================= */

.itinerary-day__content {
    min-width: 0;
    padding-top: 3px;
}


/* =========================================================
   TOP
========================================================= */

.itinerary-day__top {
    display: grid;

    grid-template-columns:
        auto minmax(0, 1fr) auto;

    align-items: baseline;

    column-gap: 18px;

    padding-bottom: 21px;

    border-bottom: 1px solid rgba(0, 0, 0, .12);
}

.itinerary-day__top>span {
    color: #8a6f3d;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .14em;
    line-height: 1.4;

    text-transform: uppercase;
}

.itinerary-day__top h3 {
    margin: 0;

    color: #111111;

    font-family: "Bodoni Moda", Georgia, serif;

    font-size: 29px;
    font-weight: 400;

    line-height: 1.15;
    letter-spacing: -.025em;
}

.itinerary-day__top time {
    color: #756f66;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 10px;
    font-weight: 500;

    letter-spacing: .05em;

    white-space: nowrap;
}


/* =========================================================
   IMAGE + TEXT LAYOUT
========================================================= */

.itinerary-day__layout {
    display: grid;

    grid-template-columns:
        minmax(260px, 42%) minmax(0, 1fr);

    gap: 32px;

    align-items: start;

    padding-top: 25px;
}


/* =========================================================
   IMAGE
========================================================= */

.itinerary-day__image {
    position: relative;

    width: 100%;

    overflow: hidden;

    aspect-ratio: 4 / 3;

    background: #e9e1d4;
}

.itinerary-day__image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(180deg,
            rgba(17, 17, 17, 0) 55%,
            rgba(17, 17, 17, .14) 100%);

    pointer-events: none;
}

.itinerary-day__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .7s cubic-bezier(.22, 1, .36, 1);
}

.itinerary-day:hover .itinerary-day__image img {
    transform: scale(1.025);
}


/* =========================================================
   DETAILS
========================================================= */

.itinerary-day__details {
    min-width: 0;
}


/* =========================================================
   BODY
========================================================= */

.itinerary-day__body {
    padding-top: 0;
}

.itinerary-day__body p {
    max-width: 780px;

    margin: 0 0 17px;

    color: #4f4a43;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 12px;
    font-weight: 400;

    line-height: 1.85;
}


/* =========================================================
   HIDDEN READ MORE CONTENT
========================================================= */

.itinerary-day__more[hidden] {
    display: none !important;
}

.itinerary-day__more {
    display: block;
}


/* =========================================================
   READ MORE
========================================================= */

.itinerary-read-more {
    display: inline-flex;

    align-items: center;
    gap: 9px;

    margin-top: 2px;
    padding: 8px 0;

    color: #8a6f3d;

    background: transparent;

    border: 0;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .12em;
    line-height: 1.4;

    text-transform: uppercase;

    cursor: pointer;
}

.itinerary-read-more__text {
    padding-bottom: 2px;

    border-bottom: 1px solid rgba(138, 111, 61, .35);
}

.itinerary-read-more__icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 17px;
    height: 17px;

    color: #8a6f3d;

    border: 1px solid rgba(138, 111, 61, .45);
    border-radius: 50%;

    font-size: 13px;
    font-weight: 400;

    line-height: 1;

    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease;
}

.itinerary-read-more:hover .itinerary-read-more__icon {
    color: #ffffff;
    background: #8a6f3d;
}

.itinerary-read-more.is-open .itinerary-read-more__icon {
    transform: rotate(45deg);
}


/* =========================================================
   HOTEL
========================================================= */

.itinerary-day__hotel {
    display: grid;

    grid-template-columns:
        auto minmax(0, 1fr);

    column-gap: 15px;
    row-gap: 4px;

    margin-top: 24px;

    padding: 16px 18px;

    background: #eee6d7;

    border-left: 2px solid #8a6f3d;
}

.itinerary-day__hotel>span {
    grid-row: span 2;

    align-self: start;

    color: #8a6f3d;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .14em;
    line-height: 1.5;

    text-transform: uppercase;
}

.itinerary-day__hotel strong {
    color: #222222;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 11px;
    font-weight: 700;

    line-height: 1.5;
}

.itinerary-day__hotel small {
    color: #756f66;

    font-family: "DM Sans", Arial, sans-serif;

    font-size: 10px;
    font-weight: 400;

    line-height: 1.5;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .tour-itinerary {
        padding-top: 80px;
    }

    .itinerary-day {
        grid-template-columns: 58px minmax(0, 1fr);

        column-gap: 22px;
    }

    .itinerary-day:not(.itinerary-day--last)::before {
        left: 28px;
    }

    .itinerary-day__number {
        width: 56px;
        height: 56px;

        font-size: 17px;
    }

    .itinerary-day__top {
        grid-template-columns:
            auto minmax(0, 1fr);
    }

    .itinerary-day__top time {
        grid-column: 2;

        margin-top: 5px;
    }

    .itinerary-day__top h3 {
        font-size: 26px;
    }

    .itinerary-day__layout {
        grid-template-columns:
            minmax(220px, 40%) minmax(0, 1fr);

        gap: 25px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .tour-itinerary {
        padding-top: 65px;
    }

    .tour-itinerary>.tour-section-heading {
        margin-bottom: 40px;
    }

    .itinerary-day {
        grid-template-columns: 42px minmax(0, 1fr);

        column-gap: 15px;

        padding-bottom: 48px;
    }

    .itinerary-day:not(.itinerary-day--last)::before {
        left: 20px;
        top: 39px;
    }

    .itinerary-day__number {
        width: 40px;
        height: 40px;

        font-size: 13px;
    }

    .itinerary-day__top {
        display: block;

        padding-bottom: 16px;
    }

    .itinerary-day__top>span {
        display: block;

        margin-bottom: 5px;

        font-size: 10px;
    }

    .itinerary-day__top h3 {
        font-size: 23px;
        line-height: 1.12;
    }

    .itinerary-day__top time {
        display: block;

        margin-top: 7px;

        font-size: 10px;
    }


    /* IMAGE ABOVE TEXT ON MOBILE */

    .itinerary-day__layout {
        grid-template-columns: 1fr;

        gap: 20px;

        padding-top: 18px;
    }

    .itinerary-day__image {
        aspect-ratio: 4 / 2.7;
    }

    .itinerary-day__body p {
        font-size: 11px;
        line-height: 1.75;

        margin-bottom: 14px;
    }

    .itinerary-read-more {
        margin-top: 3px;

        font-size: 10px;
    }

    .itinerary-day__hotel {
        margin-top: 20px;

        padding: 14px 15px;

        column-gap: 12px;
    }

    .itinerary-day__hotel>span {
        font-size: 9.5px;
    }

    .itinerary-day__hotel strong {
        font-size: 10px;
    }

    .itinerary-day__hotel small {
        font-size: 10px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .itinerary-day {
        grid-template-columns: 36px minmax(0, 1fr);

        column-gap: 12px;
    }

    .itinerary-day:not(.itinerary-day--last)::before {
        left: 17px;
    }

    .itinerary-day__number {
        width: 34px;
        height: 34px;

        font-size: 11px;
    }

    .itinerary-day__top h3 {
        font-size: 21px;
    }

    .itinerary-day__body p {
        font-size: 10px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .itinerary-day__image img,
    .itinerary-read-more__icon {
        transition: none;
    }
}




























/* =========================================================
   JOURNEY STORY
========================================================= */

.tour-story {
    margin-top: 30px;
    padding: 82px 0;
    border-top: 1px solid rgba(0, 0, 0, .12);
    border-bottom: 1px solid rgba(0, 0, 0, .12);
}

.tour-story h2 {
    max-width: 720px;
    margin-bottom: 30px;
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1.05;
}

.tour-story p {
    max-width: 790px;
    margin: 0 0 19px;
    color: #4f4a43;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 12px;
    line-height: 1.9;
}

.tour-story__closing {
    margin-top: 32px !important;
    padding-left: 22px;
    border-left: 2px solid #8a6f3d;
    color: #222222 !important;
    font-family: "Bodoni Moda", Georgia, serif !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
}


/* =========================================================
   GENERAL CONTENT SECTIONS
========================================================= */

.tour-content-section {
    padding-top: 100px;
}

.tour-content-section+.tour-content-section {
    margin-top: 15px;
}


/* =========================================================
   ACCOMMODATION
========================================================= */

.tour-accommodation-list {
    border-top: 1px solid rgba(0, 0, 0, .13);
}

.tour-accommodation-list a {
    position: relative;
    display: grid;
    grid-template-columns: 45px minmax(0, 1.3fr) minmax(120px, .8fr) 25px;
    align-items: center;
    gap: 15px;
    min-height: 80px;
    padding: 14px 5px;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(0, 0, 0, .13);
    transition:
        background .3s ease,
        padding .3s ease;
}

.tour-accommodation-list a:hover {
    padding-left: 13px;
    padding-right: 13px;
    background: #eee6d7;
}

.tour-accommodation-list a>span {
    color: #8a6f3d;
    font-family: "Bodoni Moda", Georgia, serif;
    font-size: 16px;
}

.tour-accommodation-list strong {
    color: #222222;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
}

.tour-accommodation-list small {
    color: #756f66;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.5;
}

.tour-accommodation-list b {
    justify-self: end;
    color: #8a6f3d;
    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    transition: transform .3s ease;
}

.tour-accommodation-list a:hover b {
    transform: translate(3px, -3px);
}


/* =========================================================
   HIGHLIGHTS
========================================================= */

.tour-check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 45px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tour-check-list li {
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    column-gap: 10px;
    align-items: start;
    padding: 16px 0;
    border-bottom: 1px solid rgba(0, 0, 0, .11);
}

.tour-check-list li>span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: #ffffff;
    background: #8a6f3d;
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 10px;
    line-height: 1;
}

.tour-check-list p {
    margin: 0;
    color: #4f4a43;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    line-height: 1.65;
}

.tour-check-list p strong {
    color: #222222;
    font-weight: 700;
}

.tour-check-list p small {
    display: block;
    margin-top: 4px;
    color: #8a6f3d;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}


/* =========================================================
   INCLUDED / NOT INCLUDED
========================================================= */

.tour-inclusions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 105px;
}

.tour-inclusion-card {
    padding: 42px 38px;
}

.tour-inclusion-card--included {
    background: #e9dfcd;
}

.tour-inclusion-card--excluded {
    background: #eeeae2;
}

.tour-inclusion-card .tour-section-heading {
    margin-bottom: 30px;
}

.tour-inclusion-card .tour-section-heading h2 {
    font-size: 38px;
}

.tour-inclusion-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tour-inclusion-card li {
     display: inherit;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px;
    padding: 10px 0;
    color: #4f4a43;
    border-bottom: 1px solid rgba(0, 0, 0, .10);
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    line-height: 1.6;
}

.tour-inclusion-card li:last-child {
    border-bottom: 0;
}

.tour-inclusion-card li span {
    color: #8a6f3d;
    font-size: 13px;
    font-weight: 700;
}


/* =========================================================
   TOUR ACTIVITIES
========================================================= */

.tour-activities {
    padding-bottom: 10px;
}

.tour-activities__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.tour-activities__grid figure {
    position: relative;
    overflow: hidden;
    margin: 0;
    aspect-ratio: 1 / .78;
    background: #ddd3c1;
}

.tour-activities__grid figure:nth-child(1) {
    border-radius: 4px 4px 4px 25px;
}

.tour-activities__grid figure:nth-child(3) {
    border-radius: 4px 25px 4px 4px;
}

.tour-activities__grid figure:nth-child(4) {
    border-radius: 4px 4px 25px 4px;
}

.tour-activities__grid figure:nth-child(6) {
    border-radius: 4px 4px 25px 4px;
}

.tour-activities__grid img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.22, 1, .36, 1);
}

.tour-activities__grid figure:hover img {
    transform: scale(1.06);
}


/* =========================================================
   BOOKING SIDEBAR — PRICE CARD
========================================================= */

.tour-booking-card {
    padding: 30px 27px 25px;
    background: #fffdf8;
    border: 1px solid rgba(138, 111, 61, .22);
    box-shadow:
        0 22px 55px rgba(40, 32, 20, .10),
        0 5px 18px rgba(40, 32, 20, .05);
}

.tour-booking-card__top {
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(0, 0, 0, .12);
}

.tour-booking-card__top h2 {
    font-size: 31px;
    line-height: 1.05;
}

.tour-price-option {
    padding: 22px 0;
    border-bottom: 1px solid rgba(0, 0, 0, .11);
}

.tour-price-option__price {
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
}

.tour-price-option__price strong {
    color: #111111;
    font-family: "Bodoni Moda", Georgia, serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.025em;
}

.tour-price-option__price span {
    color: #756f66;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 500;
}

.tour-price-option>p {
    margin: 9px 0 0;
    color: #4f4a43;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.5;
}

.tour-price-option>p span {
    display: block;
    margin-top: 3px;
    color: #8a6f3d;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .05em;
}

.tour-booking-card__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    width: 100%;
    min-height: 52px;
    box-sizing: border-box;
    margin-top: 22px;
    padding: 14px 18px;
    color: #111111;
    background: #8a6f3d;
    border: 1px solid #8a6f3d;
    border-radius: 3px;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;
    transition:
        background .3s ease,
        border-color .3s ease,
        color .3s ease,
        transform .3s ease;
}

.tour-booking-card__button>span:last-child {
    font-size: 15px;
    transition: transform .3s ease;
}

.tour-booking-card__button:hover {
    color: #ffffff;
    background: #111111;
    border-color: #111111;
    transform: translateY(-2px);
}

.tour-booking-card__button:hover>span:last-child {
    transform: translateX(5px);
}

.tour-booking-card__secure {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 17px;
}

.tour-booking-card__secure>span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    flex-shrink: 0;
    color: #ffffff;
    background: #8a6f3d;
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 10px;
}

.tour-booking-card__secure p {
    margin: 0;
    color: #4f4a43;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
}

.tour-booking-card__secure small {
    display: block;
    margin-top: 3px;
    color: #8a847b;
    font-size: 9.5px;
    font-weight: 400;
}


/* =========================================================
   SIDEBAR GENERAL CARD
========================================================= */

.tour-sidebar-card {
    margin-top: 18px;
    padding: 27px;
    background: #fffdf8;
    border: 1px solid rgba(0, 0, 0, .11);
}

.tour-sidebar-card__heading {
    margin-bottom: 22px;
}

.tour-sidebar-card__heading .tour-section-eyebrow {
    margin-bottom: 10px;
}

.tour-sidebar-card__heading h3 {
    margin: 0;
    color: #111111;
    font-family: "Bodoni Moda", Georgia, serif;
    font-size: 27px;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.025em;
}


/* =========================================================
   QUICK CONTACTS
========================================================= */

.tour-contact {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 15px;
    align-items: center;
    gap: 10px;
    padding: 15px 0;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(0, 0, 0, .10);
}

.tour-contact__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 29px;
    height: 29px;
    color: #8a6f3d;
    background: #eee6d7;
    border-radius: 50%;
    font-family: Arial, sans-serif;
    font-size: 11px;
    transition:
        background .3s ease,
        color .3s ease;
}

.tour-contact__content {
    min-width: 0;
}

.tour-contact__content small {
    display: block;
    margin-bottom: 3px;
    color: #8a6f3d;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.4;
    text-transform: uppercase;
}

.tour-contact__content strong {
    display: block;
    overflow: hidden;
    color: #33302c;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.5;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tour-contact__arrow {
    color: #8a6f3d;
    font-size: 13px;
    transition: transform .3s ease;
}

.tour-contact:hover .tour-contact__icon {
    color: #ffffff;
    background: #8a6f3d;
}

.tour-contact:hover .tour-contact__arrow {
    transform: translateX(4px);
}

.tour-sidebar-help {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 19px;
    padding: 15px 17px;
    color: #111111;
    background: #eee6d7;
    text-decoration: none;
    transition:
        background .3s ease,
        transform .3s ease;
}

.tour-sidebar-help>span {
    color: #8a6f3d;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.tour-sidebar-help strong {
    color: #222222;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
}

.tour-sidebar-help strong b {
    margin-left: 7px;
    color: #8a6f3d;
    font-size: 13px;
    font-weight: 400;
    transition: transform .3s ease;
}

.tour-sidebar-help:hover {
    background: #e2d5bd;
    transform: translateY(-2px);
}

.tour-sidebar-help:hover strong b {
    display: inline-block;
    transform: translateX(4px);
}

















/* =========================================================
   TOUR MAP
========================================================= */

.tour-map-card {
    overflow: hidden;
}


/* =========================================================
   MAP PREVIEW
========================================================= */

.tour-map {
    position: relative;

    display: block;

    width: 100%;
    height: auto;

    padding: 0;
    margin: 0;

    overflow: hidden;

    aspect-ratio: 1 / .9;

    background: #e5dccd;

    border: 0;
    border-radius: 0;

    cursor: zoom-in;

    text-align: left;

    appearance: none;
    -webkit-appearance: none;

    isolation: isolate;
}


/* Map image */

.tour-map>img {
    position: relative;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .7s cubic-bezier(.22, 1, .36, 1);
}


/* Dark gradient */

.tour-map::after {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;

    background:
        linear-gradient(to top,
            rgba(0, 0, 0, .50),
            rgba(0, 0, 0, 0) 58%);

    pointer-events: none;
}


/* Map label */

.tour-map__label {
    position: absolute;

    left: 16px;
    right: 16px;
    bottom: 14px;

    z-index: 2;

    display: flex;

    align-items: center;
    justify-content: space-between;

    color: #ffffff;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .10em;

    line-height: 1.4;

    text-transform: uppercase;
}


/* Arrow */

.tour-map__label b {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 27px;
    height: 27px;

    flex: 0 0 27px;

    color: #ffffff;

    background:
        rgba(255, 255, 255, .12);

    border:
        1px solid rgba(255, 255, 255, .55);

    border-radius: 50%;

    font-family: Arial, sans-serif;

    font-size: 14px;
    font-weight: 400;

    line-height: 1;

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}


/* Hover */

.tour-map:hover>img {
    transform: scale(1.05);
}

.tour-map:hover .tour-map__label b {
    background: #8a6f3d;

    border-color: #8a6f3d;

    transform:
        translate(2px, -2px);
}


/* Keyboard focus */

.tour-map:focus-visible {
    outline:
        2px solid #8a6f3d;

    outline-offset: 3px;
}


/* =========================================================
   TOUR MAP LIGHTBOX
========================================================= */

/*
   IMPORTANT:
   JavaScript automatically moves this element directly
   under <body>.
   
   Therefore it will NOT be trapped inside:
   - the header
   - itinerary
   - sidebar
   - page wrapper
   - transformed containers
   - stacking contexts
*/

.tour-map-lightbox {

    position: fixed !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    height: 100vh !important;

    min-width: 100vw;
    min-height: 100vh;

    box-sizing: border-box;

    margin: 0 !important;
    padding: 35px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: transparent;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    z-index: 2147483647 !important;

    isolation: isolate;

    transition:
        opacity .3s ease,
        visibility .3s ease;
}


/* Open */

.tour-map-lightbox.is-open {

    opacity: 1 !important;

    visibility: visible !important;

    pointer-events: auto !important;
}


/* =========================================================
   LIGHTBOX BACKDROP
========================================================= */

.tour-map-lightbox__backdrop {

    position: absolute !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    height: 100vh !important;

    margin: 0 !important;

    background:
        rgba(10, 9, 7, .90);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    cursor: pointer;

    z-index: 0 !important;
}


/* =========================================================
   LIGHTBOX DIALOG
========================================================= */

.tour-map-lightbox__dialog {

    position: relative !important;

    z-index: 10 !important;

    display: flex;

    flex-direction: column;

    width: min(1180px, 100%);

    max-width: 1180px;

    max-height:
        calc(100vh - 70px);

    margin: 0 !important;

    overflow: hidden;

    background: #f6f1e7;

    border:
        1px solid rgba(138, 111, 61, .40);

    box-shadow:
        0 40px 120px rgba(0, 0, 0, .60),
        0 15px 40px rgba(0, 0, 0, .30);

    transform:
        translateY(18px) scale(.97);

    transition:
        transform .4s cubic-bezier(.22, 1, .36, 1);
}


/* Dialog open animation */

.tour-map-lightbox.is-open .tour-map-lightbox__dialog {

    transform:
        translateY(0) scale(1);
}


/* =========================================================
   CLOSE BUTTON
========================================================= */

.tour-map-lightbox__close {

    position: absolute !important;

    top: 14px !important;
    right: 14px !important;

    z-index: 100 !important;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    padding: 0;
    margin: 0;

    color: #ffffff;

    background:
        rgba(17, 17, 17, .84);

    border:
        1px solid rgba(255, 255, 255, .45);

    border-radius: 50%;

    font-family: Arial, sans-serif;

    font-size: 28px;
    font-weight: 300;

    line-height: 1;

    cursor: pointer;

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}


/* Close hover */

.tour-map-lightbox__close:hover {

    color: #ffffff;

    background: #8a6f3d;

    border-color: #8a6f3d;

    transform:
        rotate(90deg);
}


/* Close focus */

.tour-map-lightbox__close:focus-visible {

    outline:
        2px solid #8a6f3d;

    outline-offset: 3px;
}


/* =========================================================
   LARGE MAP IMAGE AREA
========================================================= */

.tour-map-lightbox__image-wrap {

    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    min-width: 0;
    min-height: 0;

    padding: 24px;

    box-sizing: border-box;

    overflow: auto;

    background: #eee6d7;
}


/* Large map */

.tour-map-lightbox__image-wrap img {

    display: block;

    width: auto;

    max-width: 100%;

    height: auto;

    max-height:
        calc(100vh - 170px);

    object-fit: contain;

    box-shadow:
        0 12px 35px rgba(0, 0, 0, .16);
}


/* =========================================================
   CAPTION
========================================================= */

.tour-map-lightbox__caption {

    position: relative;

    z-index: 3;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding:
        17px 24px 18px;

    background: #f6f1e7;

    border-top:
        1px solid rgba(138, 111, 61, .20);
}


/* Caption text */

.tour-map-lightbox__caption-text {

    display: flex;

    flex-direction: column;

    gap: 3px;

    min-width: 0;
}


/* Caption eyebrow */

.tour-map-lightbox__caption-text span {

    color: #8a6f3d;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 9.5px;

    font-weight: 700;

    letter-spacing: .14em;

    line-height: 1.4;

    text-transform: uppercase;
}


/* Caption title */

.tour-map-lightbox__caption-text strong {

    color: #111111;

    font-family:
        "Bodoni Moda",
        Georgia,
        serif;

    font-size: 21px;

    font-weight: 400;

    line-height: 1.1;
}


/* Hint */

.tour-map-lightbox__hint {

    color: #756f66;

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size: 10px;

    font-weight: 500;

    letter-spacing: .05em;

    white-space: nowrap;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .tour-map-lightbox {

        padding: 15px !important;
    }


    .tour-map-lightbox__dialog {

        width: 100%;

        max-width: 100%;

        max-height:
            calc(100vh - 30px);
    }


    .tour-map-lightbox__image-wrap {

        padding: 12px;
    }


    .tour-map-lightbox__image-wrap img {

        max-width: 100%;

        max-height:
            calc(100vh - 125px);
    }


    .tour-map-lightbox__close {

        top: 9px !important;
        right: 9px !important;

        width: 34px;
        height: 34px;

        font-size: 23px;
    }


    .tour-map-lightbox__caption {

        padding:
            14px 16px;
    }


    .tour-map-lightbox__caption-text strong {

        font-size: 18px;
    }


    .tour-map-lightbox__hint {

        display: none;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .tour-map-lightbox {

        padding: 10px !important;
    }


    .tour-map-lightbox__dialog {

        max-height:
            calc(100vh - 20px);
    }


    .tour-map-lightbox__image-wrap {

        padding: 8px;
    }


    .tour-map-lightbox__caption {

        padding:
            12px 14px;
    }


    .tour-map-lightbox__caption-text strong {

        font-size: 17px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .tour-map>img,
    .tour-map__label b,
    .tour-map-lightbox,
    .tour-map-lightbox__dialog,
    .tour-map-lightbox__close {

        transition: none;
    }
}
























/* =========================================================
   EXPLORE MORE JOURNEYS
========================================================= */

.explore-journeys {
    position: relative;
    padding: 125px 0 135px;
    background: #ebe2d2 !important;
    overflow: hidden;
}

.explore-journeys__container {
    width: min(1380px, calc(100% - 100px));
    margin: 0 auto;
}

.explore-journeys__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 58px;
}

.explore-journeys__heading h2 {
    max-width: 650px;
    font-size: clamp(42px, 5vw, 65px);
    line-height: .98;
}

.explore-journeys__heading h2 span {
    display: block;
    color: #756a59;
    font-size: .72em;
    line-height: 1.1;
}

.explore-journeys__all {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
    padding-bottom: 8px;
    color: #222222;
    border-bottom: 1px solid rgba(0, 0, 0, .35);
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    line-height: 1.5;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        color .3s ease,
        border-color .3s ease;
}

.explore-journeys__all span {
    color: #8a6f3d;
    font-size: 14px;
    transition: transform .3s ease;
}

.explore-journeys__all:hover {
    color: #8a6f3d;
    border-color: #8a6f3d;
}

.explore-journeys__all:hover span {
    transform: translateX(5px);
}


/* =========================================================
   EXPLORE JOURNEY GRID
========================================================= */

.explore-journeys__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 55px 22px;
}

.explore-journey-card {
    min-width: 0;
}

.explore-journey-card__image {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / .83;
    background: #d6cbb8;
    text-decoration: none;
}

.explore-journey-card__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .8s cubic-bezier(.22, 1, .36, 1);
}

.explore-journey-card:nth-child(1) .explore-journey-card__image,
.explore-journey-card:nth-child(4) .explore-journey-card__image {
    border-radius: 4px 4px 4px 30px;
}

.explore-journey-card:nth-child(3) .explore-journey-card__image,
.explore-journey-card:nth-child(6) .explore-journey-card__image {
    border-radius: 4px 30px 4px 4px;
}

.explore-journey-card__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
            rgba(0, 0, 0, .30),
            transparent 45%);
    pointer-events: none;
}

.explore-journey-card__image>span {
    position: absolute;
    left: 18px;
    bottom: 16px;
    z-index: 2;
    color: #ffffff;
    font-family: "Bodoni Moda", Georgia, serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
}

.explore-journey-card:hover .explore-journey-card__image img {
    transform: scale(1.06);
}

.explore-journey-card__content {
    padding: 22px 3px 0;
}

.explore-journey-card__content small {
    display: block;
    margin-bottom: 10px;
    color: #8a6f3d;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.5;
    text-transform: uppercase;
}

.explore-journey-card__content h3 {
    margin: 0;
    color: #111111;
    font-family: "Bodoni Moda", Georgia, serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.025em;
}

.explore-journey-card__content p {
    max-width: 380px;
    margin: 13px 0 18px;
    color: #625d55;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    line-height: 1.75;
}

.explore-journey-card__content>a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #222222;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .11em;
    line-height: 1.5;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .3s ease;
}

.explore-journey-card__content>a span {
    color: #8a6f3d;
    font-size: 13px;
    transition: transform .3s ease;
}

.explore-journey-card__content>a:hover {
    color: #8a6f3d;
}

.explore-journey-card__content>a:hover span {
    transform: translateX(5px);
}


/* =========================================================
   FINAL CTA
========================================================= */

.tour-final-cta {
    position: relative;
    min-height: 570px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 100px 40px;
    box-sizing: border-box;
    overflow: hidden;
    background:
        url("images/home/ella.jpg") center center / cover no-repeat;
    color: #ffffff;
    text-align: center;
}

.tour-final-cta__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom,
            rgba(0, 0, 0, .32),
            rgba(0, 0, 0, .62));
}

.tour-final-cta__content {
    position: relative;
    z-index: 2;
    width: min(760px, 100%);
}

.tour-final-cta .tour-section-eyebrow {
    color: #d8c49a;
    margin-bottom: 18px;
}

.tour-final-cta h2 {
    margin: 0;
    color: #ffffff;
    font-family: "Bodoni Moda", Georgia, serif;
    font-size: clamp(48px, 6vw, 78px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.045em;
}

.tour-final-cta h2 span {
    display: block;
    color: #d8c49a;
    font-size: .72em;
    line-height: 1.12;
}

.tour-final-cta p {
    max-width: 570px;
    margin: 27px auto 0;
    color: rgba(255, 255, 255, .82);
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 12px;
    line-height: 1.8;
}

.tour-final-cta__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 34px;
}

.tour-final-cta__button,
.tour-final-cta__secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    min-height: 49px;
    padding: 13px 21px;
    box-sizing: border-box;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;
    transition:
        background .3s ease,
        border-color .3s ease,
        color .3s ease,
        transform .3s ease;
}

.tour-final-cta__button {
    color: #111111;
    background: #d8c49a;
    border: 1px solid #d8c49a;
}

.tour-final-cta__button span:last-child {
    font-size: 14px;
    transition: transform .3s ease;
}

.tour-final-cta__button:hover {
    color: #ffffff;
    background: #8a6f3d;
    border-color: #8a6f3d;
    transform: translateY(-2px);
}

.tour-final-cta__button:hover span:last-child {
    transform: translateX(5px);
}

.tour-final-cta__secondary {
    color: #ffffff;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .55);
}

.tour-final-cta__secondary span {
    color: #d8c49a;
    font-size: 14px;
    transition: transform .3s ease;
}

.tour-final-cta__secondary:hover {
    color: #111111;
    background: #ffffff;
    border-color: #ffffff;
    transform: translateY(-2px);
}

.tour-final-cta__secondary:hover span {
    transform: translateX(5px);
}


/* =========================================================
   LARGE TABLET
========================================================= */

@media (max-width: 1100px) {

    .tour-details {
        padding: 105px 0 120px;
    }

    .tour-details__container {
        width: min(100%, calc(100% - 70px));
    }

    .tour-details__layout {
        grid-template-columns: minmax(0, 1fr) 315px;
        gap: 55px;
    }

    .tour-details__sidebar {
        top: 90px;
    }

    .tour-intro h2 {
        font-size: clamp(38px, 5vw, 55px);
    }

    .tour-fact {
        padding: 19px 20px;
    }

    .itinerary-day {
        grid-template-columns: 58px minmax(0, 1fr);
        column-gap: 22px;
    }

    .itinerary-day:not(.itinerary-day--last)::before {
        left: 28px;
    }

    .itinerary-day__number {
        width: 56px;
        height: 56px;
        font-size: 17px;
    }

    .itinerary-day__top h3 {
        font-size: 24px;
    }

    .tour-inclusion-card {
        padding: 35px 28px;
    }

    .explore-journeys__container {
        width: min(100%, calc(100% - 70px));
    }

    .explore-journeys__grid {
        gap: 45px 18px;
    }

    .explore-journey-card__content h3 {
        font-size: 24px;
    }
}


/* =========================================================
   TABLET / SINGLE COLUMN
========================================================= */

@media (max-width: 900px) {

    .tour-details {
        padding: 90px 0 105px;
    }

    .tour-details__container {
        width: min(720px, calc(100% - 50px));
    }

    .tour-details__layout {
        grid-template-columns: 1fr;
        gap: 75px;
    }

    .tour-details__sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
        gap: 18px;
    }

    .tour-booking-card {
        grid-column: 1 / -1;
    }

    .tour-sidebar-card {
        margin-top: 0;
    }

    .tour-map-card {
        height: fit-content;
    }

    .tour-intro {
        padding-bottom: 70px;
    }

    .tour-intro h2 {
        font-size: clamp(40px, 6vw, 54px);
    }

    .tour-check-list {
        column-gap: 30px;
    }

    .tour-inclusions {
        gap: 15px;
    }

    .tour-inclusion-card {
        padding: 30px 25px;
    }

    .tour-inclusion-card .tour-section-heading h2 {
        font-size: 34px;
    }

    .explore-journeys {
        padding: 100px 0 110px;
    }

    .explore-journeys__container {
        width: min(720px, calc(100% - 50px));
    }

    .explore-journeys__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 50px 20px;
    }

    .explore-journey-card__content h3 {
        font-size: 25px;
    }

    .tour-final-cta {
        min-height: 520px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .tour-details {
        padding: 75px 0 85px;
    }

    .tour-details__container {
        width: calc(100% - 36px);
    }

    .tour-intro {
        padding-bottom: 55px;
    }

    .tour-intro h2 {
        font-size: clamp(34px, 10vw, 47px);
        line-height: 1.01;
    }

    .tour-intro__lead {
        margin-top: 22px;
        font-size: 11px;
        line-height: 1.75;
    }

    .tour-facts {
        grid-template-columns: 1fr;
        margin-top: 35px;
    }

    .tour-fact {
        min-height: auto;
        padding: 17px 18px;
    }

    .tour-itinerary {
        padding-top: 70px;
    }

    .tour-itinerary>.tour-section-heading {
        margin-bottom: 42px;
    }

    .tour-section-heading {
        margin-bottom: 32px;
    }

    .tour-section-heading h2 {
        font-size: 37px;
    }

    .itinerary-day {
        grid-template-columns: 43px minmax(0, 1fr);
        column-gap: 15px;
        padding-bottom: 52px;
    }

    .itinerary-day:not(.itinerary-day--last)::before {
        left: 21px;
        top: 43px;
    }

    .itinerary-day__number {
        width: 43px;
        height: 43px;
        font-size: 13px;
    }

    .itinerary-day__top {
        display: block;
        padding-bottom: 16px;
    }

    .itinerary-day__top>span {
        display: block;
        margin-bottom: 7px;
        font-size: 9.5px;
    }

    .itinerary-day__top h3 {
        font-size: 21px;
        line-height: 1.2;
    }

    .itinerary-day__top time {
        display: block;
        margin-top: 7px;
        font-size: 10px;
    }

    .itinerary-day__body {
        padding-top: 20px;
    }

    .itinerary-day__body p {
        font-size: 10px;
        line-height: 1.8;
    }

    .itinerary-day__hotel {
        margin-top: 23px;
        padding: 15px;
    }

    .itinerary-day__hotel strong {
        font-size: 10px;
    }

    .itinerary-day__hotel small {
        font-size: 10px;
    }

    .tour-story {
        margin-top: 15px;
        padding: 60px 0;
    }

    .tour-story h2 {
        font-size: 35px;
    }

    .tour-story p {
        font-size: 10px;
        line-height: 1.8;
    }

    .tour-story__closing {
        font-size: 16px !important;
    }

    .tour-content-section {
        padding-top: 72px;
    }

    .tour-accommodation-list a {
        grid-template-columns: 34px minmax(0, 1fr) 20px;
        gap: 10px;
        padding: 15px 2px;
    }

    .tour-accommodation-list a>span {
        font-size: 13px;
    }

    .tour-accommodation-list strong {
        font-size: 10px;
    }

    .tour-accommodation-list small {
        display: block;
        margin-top: 3px;
        font-size: 10px;
    }

    .tour-accommodation-list b {
        font-size: 13px;
    }

    .tour-check-list {
        grid-template-columns: 1fr;
    }

    .tour-check-list li {
        padding: 13px 0;
    }

    .tour-inclusions {
        grid-template-columns: 1fr;
        margin-top: 75px;
    }

    .tour-inclusion-card {
        padding: 30px 24px;
    }

    .tour-activities__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .tour-details__sidebar {
        grid-template-columns: 1fr;
    }

    .tour-booking-card {
        grid-column: auto;
    }

    .tour-sidebar-card {
        width: 100%;
        box-sizing: border-box;
    }

    .tour-booking-card__top h2 {
        font-size: 28px;
    }

    .tour-price-option__price strong {
        font-size: 27px;
    }

    .explore-journeys {
        padding: 75px 0 85px;
    }

    .explore-journeys__container {
        width: calc(100% - 36px);
    }

    .explore-journeys__heading {
        display: block;
        margin-bottom: 42px;
    }

    .explore-journeys__heading h2 {
        font-size: 45px;
    }

    .explore-journeys__all {
        margin-top: 25px;
    }

    .explore-journeys__grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .explore-journey-card__content {
        padding-top: 18px;
    }

    .explore-journey-card__content h3 {
        font-size: 28px;
    }

    .explore-journey-card__content p {
        font-size: 10px;
    }

    .tour-final-cta {
        min-height: 500px;
        padding: 80px 25px;
    }

    .tour-final-cta h2 {
        font-size: 49px;
    }

    .tour-final-cta p {
        font-size: 10px;
        line-height: 1.75;
    }

    .tour-final-cta__actions {
        flex-direction: column;
        width: 100%;
    }

    .tour-final-cta__button,
    .tour-final-cta__secondary {
        width: min(100%, 300px);
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .tour-details {
        padding: 65px 0 75px;
    }

    .tour-details__container {
        width: calc(100% - 28px);
    }

    .tour-intro h2 {
        font-size: 33px;
    }

    .tour-section-heading h2 {
        font-size: 32px;
    }

    .tour-section-eyebrow {
        font-size: 9.5px;
        letter-spacing: .15em;
    }

    .itinerary-day {
        grid-template-columns: 36px minmax(0, 1fr);
        column-gap: 12px;
    }

    .itinerary-day:not(.itinerary-day--last)::before {
        left: 18px;
        top: 36px;
    }

    .itinerary-day__number {
        width: 36px;
        height: 36px;
        font-size: 11px;
    }

    .itinerary-day__top h3 {
        font-size: 19px;
    }

    .itinerary-day__body p {
        font-size: 9.5px;
    }

    .itinerary-day__hotel {
        display: block;
    }

    .itinerary-day__hotel>span {
        display: block;
        margin-bottom: 5px;
    }

    .itinerary-day__hotel strong,
    .itinerary-day__hotel small {
        display: block;
    }

    .tour-story h2 {
        font-size: 31px;
    }

    .tour-story__closing {
        padding-left: 15px;
        font-size: 15px !important;
    }

    .tour-accommodation-list a {
        grid-template-columns: 27px minmax(0, 1fr) 17px;
    }

    .tour-accommodation-list strong {
        font-size: 9.5px;
    }

    .tour-accommodation-list small {
        font-size: 9.5px;
    }

    .tour-activities__grid {
        grid-template-columns: 1fr;
    }

    .tour-activities__grid figure,
    .tour-activities__grid figure:nth-child(1),
    .tour-activities__grid figure:nth-child(3),
    .tour-activities__grid figure:nth-child(4),
    .tour-activities__grid figure:nth-child(6) {
        aspect-ratio: 1 / .72;
        border-radius: 4px;
    }

    .tour-sidebar-card,
    .tour-booking-card {
        padding-left: 19px;
        padding-right: 19px;
    }

    .tour-contact__content strong {
        font-size: 10px;
    }

    .explore-journeys__heading h2 {
        font-size: 39px;
    }

    .explore-journey-card__content h3 {
        font-size: 25px;
    }

    .tour-final-cta {
        min-height: 480px;
        padding: 70px 20px;
    }

    .tour-final-cta h2 {
        font-size: 43px;
    }

    .tour-final-cta__button,
    .tour-final-cta__secondary {
        width: 100%;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 360px) {

    .tour-details__container,
    .explore-journeys__container {
        width: calc(100% - 22px);
    }

    .tour-intro h2 {
        font-size: 30px;
    }

    .itinerary-day {
        grid-template-columns: 32px minmax(0, 1fr);
        column-gap: 10px;
    }

    .itinerary-day:not(.itinerary-day--last)::before {
        left: 16px;
    }

    .itinerary-day__number {
        width: 32px;
        height: 32px;
        font-size: 10px;
    }

    .itinerary-day__top h3 {
        font-size: 18px;
    }

    .tour-story h2 {
        font-size: 28px;
    }

    .explore-journeys__heading h2 {
        font-size: 35px;
    }

    .tour-final-cta h2 {
        font-size: 39px;
    }
}


/* =========================================================
   ACCESSIBILITY / REDUCED MOTION
========================================================= */

.tour-details a:focus-visible,
.explore-journeys a:focus-visible,
.tour-final-cta a:focus-visible {
    outline: 1px solid #8a6f3d;
    outline-offset: 5px;
}

@media (prefers-reduced-motion: reduce) {

    .tour-accommodation-list a,
    .tour-accommodation-list b,
    .tour-booking-card__button,
    .tour-booking-card__button>span:last-child,
    .tour-contact__icon,
    .tour-contact__arrow,
    .tour-sidebar-help,
    .tour-sidebar-help strong b,
    .tour-map img,
    .tour-activities__grid img,
    .explore-journeys__all,
    .explore-journeys__all span,
    .explore-journey-card__image img,
    .explore-journey-card__content>a,
    .explore-journey-card__content>a span,
    .tour-final-cta__button,
    .tour-final-cta__button span:last-child,
    .tour-final-cta__secondary,
    .tour-final-cta__secondary span {
        transition: none;
    }
}