/* Foundation: fonts, tokens, reset */
@font-face {
    font-family: "Safari Display";
    src: url("../fonts/Jost-Light.woff") format("woff");
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: "Jost";
    src: url("../fonts/Jost-Regular.woff") format("woff");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Jost";
    src: url("../fonts/Jost-Medium.woff") format("woff");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Jost";
    src: url("../fonts/Jost-SemiBold.woff") format("woff");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: "Jost";
    src: url("../fonts/Jost-Bold.woff") format("woff");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

:root {
    --spacing: 8px;
    --border-radius: 8px;
    --white: hsl(0, 0%, 100%);
    --black: hsl(0, 0%, 0%);
    --brown: hsl(22.86, 32.98%, 37.45%);
    --orange: hsl(24.36, 87.07%, 54.51%);
    --yellow: hsl(39.55, 95.65%, 54.9%);
    --orange-hot: hsl(11.02, 84.48%, 54.51%);
    --brown-deep: hsl(23.81, 42.86%, 28.82%);
    --sand: hsl(26.92, 44.32%, 65.49%);
    --muted: hsl(30, 1.72%, 45.49%);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    margin: 0;
    min-width: 320px;
    color: var(--white);
    background: var(--brown);
    font-family: "Jost", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

body.sz-home {
    overflow-x: hidden;
    overflow-x: clip;
}

/* Decorative artwork can be intentionally wider than its section, but it must
   never enlarge the page canvas or bleed into neighbouring sections. */
.section-background-clip {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

button,
input:not(.search-field) {
    font: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

.sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Page sections */
/* Gift, audiences and bloggers introduction */
.audience-section {
    position: relative;
    height: 2180px;
    overflow: visible;
    color: var(--white);
    background: linear-gradient(180deg, var(--sand) 0%, hsl(24.86, 28.23%, 48.63%) 55%, hsl(24.19, 32.63%, 37.25%) 100%);
}

.audience-background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    pointer-events: none;
}

.audience-gift-card,
.audience-gift-title,
.audience-gift-subtitle,
.audience-gift-form,
.audience-title,
.audience-subtitle,
.audience-card,
.audience-presentation,
.bloggers-heading,
.bloggers-subtitle,
.bloggers-arrows {
    position: absolute;
    left: 50%;
    z-index: 2;
    transform: translateX(-50%);
}

.audience-gift-card {
    top: 161px;
    width: 1160px;
    height: 270px;
    border-radius: 15px;
    background: var(--brown-deep);
}

.audience-gift-title,
.audience-title,
.bloggers-heading h2 {
    margin: 0;
    font-family: "Safari Display", "Jost", Arial, sans-serif;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.audience-gift-title {
    top: calc(var(--spacing) * 12.5);
    width: 1193px;
    color: var(--yellow);
    font-size: 105px;
}

.audience-gift-subtitle,
.audience-subtitle,
.bloggers-subtitle {
    margin: 0;
    line-height: 1.3;
    text-align: center;
}

.audience-gift-subtitle {
    top: 225px;
    width: 901px;
    font-size: 26px;
}

.audience-gift-form {
    top: 319px;
    width: 1103px;
    font-size: 14px;
}

.audience-gift-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) 263px;
    gap: calc(var(--spacing) * 2.5);
}

.audience-gift-fields input,
.audience-gift-fields button {
    box-sizing: border-box;
    width: 100%;
    height: 60px;
    border: 0;
    border-radius: 500px;
    font: inherit;
}

.audience-gift-fields input {
    min-width: 0;
    padding: 0 calc(var(--spacing) * 2.5);
    color: var(--white);
    background: hsl(23.77, 43.09%, 24.12%);
    font-size: 18px;
    outline: 0;
}

.audience-gift-fields input::placeholder {
    color: var(--white);
    opacity: 0.55;
}

.audience-gift-fields input:focus-visible {
    box-shadow: 0 0 0 2px var(--yellow);
}

.audience-gift-fields button {
    padding: 0 calc(var(--spacing) * 2);
    color: var(--white);
    background: var(--orange);
    font-size: 26px;
    font-weight: 600;
    cursor: pointer;
}

.audience-gift-fields button:hover {
    background: var(--orange-hot);
}

.audience-gift-consents {
    display: grid;
    gap: var(--spacing);
    margin-top: calc(var(--spacing) * 1.5);
}

.audience-gift-consents label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.3;
    cursor: pointer;
}

.audience-gift-consents input {
    position: relative;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 2px solid hsla(0, 0%, 100%, 0.58);
    border-radius: 0;
    background: transparent;
    appearance: none;
    cursor: pointer;
}

.audience-gift-consents input:checked::after {
    position: absolute;
    top: 1px;
    left: 5px;
    width: 6px;
    height: 11px;
    border: solid var(--yellow);
    border-width: 0 2px 2px 0;
    content: "";
    transform: rotate(45deg);
}

.audience-gift-consents input:focus-visible {
    outline: 2px solid var(--yellow);
    outline-offset: 3px;
}

.audience-gift-consents a {
    color: hsl(39.45, 94.81%, 54.71%);
}

.audience-title {
    top: 591px;
    width: 1102px;
    font-size: 105px;
}

.audience-title strong {
    color: hsl(43.16, 100%, 77.65%);
}

.audience-subtitle {
    top: 946px;
    width: 691px;
    font-size: 26px;
}

.audience-card {
    box-sizing: border-box;
    width: 1083px;
    min-height: 105px;
    padding: calc(var(--spacing) * 2.5);
    border-radius: calc(var(--border-radius) * 2.5);
    background: hsl(22.82, 33.02%, 42.16%);
}

.audience-card--solo {
    top: 1030px;
}

.audience-card--couples {
    top: 1167px;
    background: var(--sand);
}

.audience-card--families {
    top: 1303px;
    min-height: 136px;
}

.audience-card-heading {
    display: flex;
    align-items: center;
    gap: 15px;
}

.audience-card-heading img {
    display: block;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}

.audience-card h3,
.audience-card p {
    margin: 0;
    line-height: 1.3;
}

.audience-card h3 {
    color: hsl(43.16, 100%, 77.65%);
    font-size: 26px;
    font-weight: 600;
    text-transform: uppercase;
}

.audience-card p {
    margin-top: 2px;
    font-size: 24px;
    font-weight: 400;
}

.audience-presentation {
    top: 1498px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 503px;
    height: 67px;
    border: 5px solid var(--yellow);
    border-radius: 42px;
    color: var(--white);
    background: var(--orange);
    font-size: 26px;
    font-weight: 600;
    text-decoration: none;
}

.audience-presentation:hover {
    border-color: var(--orange);
    background: var(--orange-hot);
}

.bloggers-heading {
    top: 1743px;
    width: 1496px;
    max-width: 100%;
    text-align: center;
}

.bloggers-heading h2 {
    margin-top: -40px;
    color: var(--white);
    font-size: 105px;
}

.bloggers-heading h2 strong {
    position: relative;
    z-index: -1;
    bottom: -30px;
    display: inline-block;
    color: var(--yellow);
    font-size: 230px;
}

.bloggers-subtitle {
    top: calc(var(--spacing) * 256);
    width: 1089px;
    font-size: 26px;
}

.bloggers-arrows {
    top: calc(var(--spacing) * 269);
    z-index: 10;
    display: flex;
    gap: calc(var(--spacing) * 2.5);
}

.bloggers-arrows img {
    display: block;
    width: 70px;
    height: 70px;
}

.bloggers-arrows button {
    width: 70px;
    height: 70px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.bloggers-arrows button:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: 3px;
}

/* Blogger reviews slider */
.bloggers-slider {
    height: 641px;
    overflow: hidden;
    color: var(--white);
    background: var(--brown);
}

.bloggers-slider-viewport {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding-top: 17px;
    padding-left: calc(var(--spacing) * 1.5);
    scrollbar-width: none;
    touch-action: pan-y;
    cursor: grab;
}

.bloggers-slider-viewport::-webkit-scrollbar {
    display: none;
}

.bloggers-slider-viewport.is-dragging {
    cursor: grabbing;
}

.bloggers-slider-track {
    display: flex;
    width: max-content;
    height: 569px;
    column-gap: 30px;
    padding-right: calc(var(--spacing) * 1.5);
}

.blogger-card {
    --media-offset: 0px;
    --caption-width: 340px;
    --caption-tablet-width: 260px;
    --caption-small-width: 240px;
    --caption-mobile-width: 162px;
    position: relative;
    flex: 0 0 360px;
    width: 360px;
    height: 552px;
    user-select: none;
}

.blogger-card--hype {
    --caption-width: 346px;
    --caption-tablet-width: 281px;
    --caption-small-width: 269px;
    --caption-mobile-width: 166px;
}

.blogger-card--zhestkov {
    --media-offset: 2px;
    --caption-width: 340px;
    --caption-tablet-width: 261px;
    --caption-small-width: 219px;
    --caption-mobile-width: 162px;
}

.blogger-card--badoeva {
    --media-offset: 5px;
    --caption-width: 364px;
    --caption-tablet-width: 272px;
    --caption-small-width: 240px;
    --caption-mobile-width: 168px;
}

.blogger-card--dream {
    --media-offset: 1px;
    --caption-width: 295px;
    --caption-tablet-width: 232px;
    --caption-small-width: 222px;
    --caption-mobile-width: 132px;
}

.blogger-card--crazy {
    --media-offset: 6px;
    --caption-width: 271px;
    --caption-tablet-width: 225px;
    --caption-small-width: 232px;
    --caption-mobile-width: 132px;
}

.blogger-card--muztv {
    --media-offset: 6px;
    --caption-width: 281px;
    --caption-tablet-width: 216px;
    --caption-small-width: 208px;
    --caption-mobile-width: 128px;
}

.blogger-card--tkachuk {
    --media-offset: 16px;
    --caption-width: 350px;
    --caption-tablet-width: 255px;
    --caption-small-width: 217px;
    --caption-mobile-width: 175px;
}

.blogger-card-media {
    position: absolute;
    top: var(--media-offset);
    left: 0;
    display: block;
    width: 360px;
    height: 500px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 10px;
    background: var(--brown-deep);
}

.blogger-card-media img,
.blogger-card-media iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.blogger-card-media--video {
    cursor: pointer;
}

.blogger-card-media--video::before,
.blogger-card-media--video::after {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    content: "";
    transform: translate(-50%, -50%);
}

.blogger-card-media--video::before {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: hsla(0, 0%, 0%, 0.82);
}

.blogger-card-media--video::after {
    margin-left: 7px;
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 27px solid var(--white);
}

.blogger-card-media--video.is-playing::before,
.blogger-card-media--video.is-playing::after {
    display: none;
}

.blogger-card-caption {
    position: absolute;
    top: 466px;
    left: 50%;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: var(--caption-width);
    height: 86px;
    padding: 8px 10px 7px;
    border-radius: 42px;
    background: hsl(23.77, 43.09%, 24.12%);
    transform: translateX(-50%);
    text-align: center;
}

.blogger-card-caption h2,
.blogger-card-caption p {
    margin: 0;
    font-weight: 400;
}

.blogger-card-caption h2 {
    font-size: 26px;
    line-height: 1;
    white-space: nowrap;
}

.blogger-card-caption p {
    margin-top: calc(var(--spacing) * 0.5);
    color: hsl(0, 0%, 68.63%);
    font-size: 18px;
    line-height: 1.2;
    white-space: nowrap;
}

@media (max-width: 1919px) and (min-width: 1200px) {
    .bloggers-slider {
        height: 590px;
    }

    .bloggers-slider-viewport {
        padding-left: calc((100vw - 1200px) / 2 + 12px);
    }
}

@media (max-width: 1199px) and (min-width: 960px) {
    .bloggers-slider {
        height: 600px;
    }

    .bloggers-slider-viewport {
        padding-left: calc((100vw - 960px) / 2 + 12px);
    }
}

@media (max-width: 959px) {
    .bloggers-slider {
        height: 470px;
    }

    .bloggers-slider-viewport {
        padding-top: 18px;
        padding-left: max(10px, calc((100vw - 640px) / 2 + 10px));
    }

    .bloggers-slider-track {
        height: 426px;
        column-gap: 23px;
        padding-right: 10px;
    }

    .blogger-card {
        flex-basis: 272px;
        width: 272px;
        height: 426px;
    }

    .blogger-card-media {
        width: 272px;
        height: 378px;
    }

    .blogger-card-caption {
        top: calc(var(--spacing) * 45);
        width: var(--caption-tablet-width);
        height: 66px;
        padding: 6px 8px;
        border-radius: 33px;
    }

    .blogger-card-caption h2 {
        font-size: 20px;
    }

    .blogger-card-caption p {
        margin-top: 3px;
        font-size: 16px;
    }
}

@media (max-width: 639px) {
    .bloggers-slider {
        height: 440px;
    }

    .bloggers-slider-viewport {
        padding-top: 17px;
        padding-left: max(10px, calc((100vw - 480px) / 2 + 10px));
    }

    .bloggers-slider-track {
        height: 411px;
    }

    .blogger-card {
        flex-basis: 263px;
        width: 263px;
        height: 411px;
    }

    .blogger-card-media {
        width: 263px;
        height: 365px;
    }

    .blogger-card-caption {
        top: calc(var(--spacing) * 43);
        width: var(--caption-small-width);
        height: 67px;
    }
}

@media (max-width: 479px) {
    .bloggers-slider {
        height: 310px;
    }

    .bloggers-slider-viewport {
        padding-top: 18px;
        padding-left: 10px;
    }

    .bloggers-slider-track {
        height: 275px;
        column-gap: 17px;
        padding-right: 10px;
    }

    .blogger-card {
        --media-offset: 0px;
        flex-basis: 175px;
        width: 175px;
        height: 275px;
    }

    .blogger-card-media {
        width: 175px;
        height: 243px;
    }

    .blogger-card-caption {
        top: 229px;
        width: var(--caption-mobile-width);
        height: 46px;
        padding: 4px 5px;
        border-radius: 23px;
    }

    .blogger-card-caption h2 {
        font-size: 12px;
    }

    .blogger-card-caption p {
        margin-top: 3px;
        font-size: 10px;
    }

    .blogger-card-media--video::before {
        width: 80px;
        height: 80px;
    }

    .blogger-card-media--video::after {
        margin-left: 5px;
        border-top-width: 14px;
        border-bottom-width: 14px;
        border-left-width: 22px;
    }
}

@media (max-width: 389px) {
    .bloggers-slider {
        height: 320px;
    }
}

@media (max-width: 1919px) {
    .audience-section {
        height: 2070px;
    }

    .audience-gift-card {
        height: 310px;
    }

    .audience-gift-title {
        width: 1048px;
        font-size: 90px;
    }

    .audience-title {
        width: 1007px;
        font-size: 90px;
    }

    .audience-card {
        padding-right: 30px;
        padding-left: 30px;
    }

    .bloggers-heading {
        top: 1702px;
    }

    .bloggers-heading h2 {
        font-size: 90px;
    }

    .bloggers-heading h2 strong {
        font-size: 180px;
    }

    .bloggers-subtitle {
        top: 1971px;
        font-size: 22px;
    }

    .bloggers-arrows {
        top: 2046px;
    }
}

@media (max-width: 1199px) {
    .audience-section {
        height: 1710px;
    }

    .audience-gift-card {
        width: 940px;
        height: 265px;
    }

    .audience-gift-title {
        width: 921px;
        font-size: 80px;
    }

    .audience-gift-subtitle {
        top: 205px;
        width: 718px;
        font-size: 22px;
    }

    .audience-gift-form {
        top: 258px;
        width: 890px;
    }

    .audience-gift-fields {
        grid-template-columns: repeat(3, minmax(0, 1fr)) 240px;
        gap: 10px;
    }

    .audience-gift-fields button {
        font-size: 18px;
    }

    .audience-title {
        top: 435px;
        width: 884px;
        font-size: 80px;
    }

    .audience-subtitle {
        top: 735px;
        font-size: 22px;
    }

    .audience-card {
        width: 940px;
        padding-right: calc(var(--spacing) * 2.5);
        padding-left: calc(var(--spacing) * 2.5);
    }

    .audience-card--solo {
        top: 802px;
    }

    .audience-card--couples {
        top: 927px;
    }

    .audience-card--families {
        top: calc(var(--spacing) * 131.5);
        min-height: 127px;
    }

    .audience-card-heading {
        gap: 10px;
    }

    .audience-card-heading img {
        flex-basis: 18px;
        width: 18px;
        height: 18px;
    }

    .audience-card h3 {
        font-size: 26px;
    }

    .audience-card--families h3 {
        font-size: 24px;
    }

    .audience-card p {
        margin-top: 5px;
        font-size: 20px;
    }

    .audience-presentation {
        top: 1223px;
        width: 303px;
        height: 58px;
        font-size: 18px;
    }

    .bloggers-heading {
        top: calc(var(--spacing) * 171);
        width: 1184px;
    }

    .bloggers-heading h2 {
        font-size: 80px;
    }

    .bloggers-heading h2 strong {
        font-size: 160px;
    }

    .bloggers-subtitle {
        top: calc(var(--spacing) * 200.5);
        width: 773px;
    }

    .bloggers-arrows {
        top: calc(var(--spacing) * 209.5);
    }
}

@media (max-width: 959px) {
    .audience-section {
        height: 1830px;
    }

    .audience-gift-card {
        top: 193px;
        width: 622px;
        height: 455px;
    }

    .audience-gift-title {
        top: 59px;
        width: 560px;
    }

    .audience-gift-subtitle {
        top: calc(var(--spacing) * 27.5);
        width: 563px;
    }

    .audience-gift-form {
        top: calc(var(--spacing) * 32.5);
        width: 569px;
    }

    .audience-gift-fields {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .audience-gift-fields button {
        font-size: 18px;
    }

    .audience-title {
        top: calc(var(--spacing) * 84.5);
        width: 615px;
        font-size: 60px;
    }

    .audience-subtitle {
        top: 889px;
        width: 555px;
    }

    .audience-card {
        width: 620px;
        border-radius: 10px;
        background: var(--brown-deep);
    }

    .audience-card--solo {
        top: calc(var(--spacing) * 118.5);
        min-height: 133px;
    }

    .audience-card--couples {
        top: 1091px;
        min-height: 136px;
    }

    .audience-card--families {
        top: 1237px;
        min-height: 159px;
    }

    .audience-card h3,
    .audience-card--families h3 {
        font-size: 24px;
    }

    .audience-card p {
        font-size: 20px;
    }

    .audience-presentation {
        top: 1439px;
        width: 300px;
        height: 47px;
        border-width: 3px;
        font-size: 16px;
    }

    .bloggers-heading {
        top: 1561px;
        width: 563px;
    }

    .bloggers-heading h2 {
        font-size: 60px;
    }

    .bloggers-heading h2 strong {
        bottom: -15px;
        font-size: 80px;
    }

    .bloggers-subtitle {
        top: calc(var(--spacing) * 213.5);
        width: 455px;
    }

    .bloggers-arrows {
        top: 1798px;
        gap: calc(var(--spacing) * 2);
    }

    .bloggers-arrows img {
        width: 56px;
        height: 56px;
    }

    .bloggers-arrows button {
        width: 56px;
        height: 56px;
    }
}

@media (max-width: 639px) {
    .audience-section {
        height: 1696px;
    }

    .audience-gift-card {
        width: 461px;
        height: 460px;
    }

    .audience-gift-title {
        width: 560px;
    }

    .audience-gift-subtitle {
        top: calc(var(--spacing) * 27.5);
        width: 277px;
        font-size: 19px;
    }

    .audience-gift-form {
        top: 270px;
        width: 400px;
    }

    .audience-gift-fields button {
        height: 50px;
    }

    .audience-gift-consents {
        margin-top: 5px;
        font-size: 12px;
    }

    .audience-title {
        top: 659px;
        width: 415px;
        font-size: 40px;
    }

    .audience-subtitle {
        top: 814px;
        width: 280px;
        font-size: 20px;
    }

    .audience-card {
        width: 461px;
    }

    .audience-card--solo {
        top: calc(var(--spacing) * 111);
        min-height: 139px;
    }

    .audience-card--couples {
        top: 1037px;
        min-height: 113px;
    }

    .audience-card--families {
        top: calc(var(--spacing) * 145);
        min-height: 134px;
    }

    .audience-card h3,
    .audience-card--families h3 {
        font-size: 20px;
    }

    .audience-card p {
        font-size: 16px;
    }

    .audience-presentation {
        top: calc(var(--spacing) * 166);
    }

    .bloggers-heading {
        top: calc(var(--spacing) * 182);
        width: 444px;
    }

    .bloggers-heading h2 {
        margin-top: -50px;
        font-size: 40px;
    }

    .bloggers-subtitle {
        top: 1581px;
        width: 328px;
        font-size: 20px;
    }

    .bloggers-arrows {
        top: 1665px;
    }
}

@media (max-width: 479px) {
    .audience-section {
        height: 1730px;
    }

    .audience-background {
        left: 50%;
        width: 301%;
        transform: translateX(-50%);
    }

    .audience-gift-card {
        top: calc(var(--spacing) * 12.5);
        width: 351px;
        height: 421px;
    }

    .audience-gift-title {
        top: calc(var(--spacing) * 4.5);
        width: 261px;
        font-size: 40px;
    }

    .audience-gift-subtitle {
        top: calc(var(--spacing) * 15);
        width: 232px;
        font-size: 16px;
    }

    .audience-gift-form {
        top: 165px;
        width: 300px;
    }

    .audience-gift-fields {
        gap: 15px;
    }

    .audience-gift-fields input,
    .audience-gift-fields button {
        height: 47px;
        font-size: 16px;
    }

    .audience-gift-consents {
        gap: 5px;
    }

    .audience-title {
        top: 550px;
        width: 360px;
    }

    .audience-subtitle {
        top: 735px;
        font-size: 16px;
    }

    .audience-card {
        width: 350px;
    }

    .audience-card--solo {
        top: calc(var(--spacing) * 101.5);
        min-height: 160px;
    }

    .audience-card--couples {
        top: 982px;
        min-height: 134px;
    }

    .audience-card--families {
        top: 1126px;
        min-height: 155px;
    }

    .audience-presentation {
        top: calc(var(--spacing) * 166);
    }

    .bloggers-heading {
        width: 324px;
    }

    .bloggers-heading h2 strong {
        font-size: 95px;
    }

    .bloggers-subtitle {
        top: 1642px;
        width: 265px;
        font-size: 16px;
    }

    .bloggers-arrows {
        top: 1701px;
    }
}

@media (max-width: 369px) {
    .audience-section {
        height: 1764px;
    }

    .audience-gift-card {
        width: 300px;
        height: 429px;
    }

    .audience-gift-form {
        top: 175px;
        width: 260px;
    }

    .audience-gift-consents {
        font-size: 10px;
    }

    .audience-title {
        width: 303px;
    }

    .audience-subtitle {
        top: 770px;
    }

    .audience-card {
        width: 300px;
    }

    .audience-card--solo {
        top: 843px;
    }

    .audience-card--couples {
        top: 1013px;
    }

    .audience-card--families {
        top: 1157px;
        min-height: 176px;
    }

    .audience-presentation {
        top: 1363px;
    }

    .bloggers-heading {
        top: 1475px;
    }

    .bloggers-subtitle {
        top: 1661px;
    }

    .bloggers-arrows {
        top: 1735px;
    }
}

/* Safety and hotel introduction */
.safety-section {
    position: relative;
    height: 1580px;
    overflow: visible;
    background: hsl(26.58, 45.14%, 65.69%);
}

.safety-title,
.safety-accent,
.hotels-title,
.hotels-accent,
.hotels-copy {
    position: absolute;
    left: 50%;
    margin: 0;
    transform: translateX(-50%);
    text-align: center;
}

.safety-title,
.hotels-title {
    z-index: 2;
    font-family: "Safari Display", "Jost", Arial, sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-transform: uppercase;
}

.safety-title {
    top: 90px;
    width: 988px;
}

.safety-accent,
.hotels-accent {
    z-index: 3;
    font-family: "Safari Display", "Jost", Arial, sans-serif;
    font-size: 200px;
    font-weight: 300;
    line-height: 1;
    text-transform: uppercase;
}

.safety-accent {
    top: calc(var(--spacing) * 33);
    width: 1347px;
    color: var(--yellow);
}

.safety-card {
    position: absolute;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: calc(var(--border-radius) * 2.5);
    text-align: center;
}

.safety-card p {
    margin: 0;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
}

.safety-card strong {
    color: var(--yellow);
    font-weight: 400;
}

.safety-card--guide,
.safety-card--vehicle {
    left: calc(50% - 580px);
    width: 660px;
    height: 150px;
    padding: 0 26px;
    background: hsl(22.82, 33.02%, 42.16%);
}

.safety-card--guide {
    top: calc(var(--spacing) * 65.5);
}

.safety-card--vehicle {
    top: 714px;
}

.safety-card--medical {
    top: 525px;
    left: calc(50% + 120px);
    width: 460px;
    height: 338px;
    padding: 0 59px;
    background: hsl(27, 47.62%, 58.82%);
}

.safety-guide {
    display: none;
}

.hotels-title {
    top: calc(var(--spacing) * 130.5);
    width: 1158px;
}

.hotels-accent {
    top: 1114px;
    width: 1275px;
    color: var(--brown-deep);
}

.hotels-copy {
    top: 1354px;
    width: 1045px;
    font-size: 26px;
    line-height: 1.3;
}

@media (max-width: 1919px) {
    .safety-section {
        height: 1390px;
    }

    .safety-title {
        width: 884px;
        font-size: 80px;
    }

    .safety-accent {
        top: 217px;
        font-size: 180px;
    }

    .safety-card--guide {
        top: 457px;
    }

    .safety-card--vehicle {
        top: 647px;
    }

    .safety-card--medical {
        top: 458px;
    }

    .hotels-title {
        top: 977px;
        width: 923px;
        font-size: 80px;
    }

    .hotels-accent {
        top: 1022px;
        width: 1134px;
        font-size: 180px;
    }

    .hotels-copy {
        top: 1242px;
        font-size: 22px;
    }
}

@media (max-width: 1199px) {
    .safety-section {
        height: 1090px;
    }

    .safety-title {
        width: 685px;
        font-size: 60px;
    }

    .safety-accent {
        width: 974px;
        font-size: 140px;
    }

    .safety-card p {
        font-size: 20px;
    }

    .safety-card--guide,
    .safety-card--vehicle {
        left: calc(50% - 469px);
        width: 543px;
        height: 123px;
        padding: 0 21px;
    }

    .safety-card--guide {
        top: 397px;
    }

    .safety-card--vehicle {
        top: 537px;
    }

    .safety-card--medical {
        top: 398px;
        left: calc(50% + 91px);
        width: 378px;
        height: 262px;
        padding: 0 calc(var(--spacing) * 6);
    }

    .hotels-title {
        top: calc(var(--spacing) * 95);
        font-size: 60px;
    }

    .hotels-accent {
        top: 790px;
        width: 927px;
        font-size: 140px;
    }

    .hotels-copy {
        top: calc(var(--spacing) * 120);
        width: 889px;
        font-size: 20px;
    }
}

@media (max-width: 959px) {
    .safety-section {
        height: 1460px;
    }

    .safety-title {
        top: calc(var(--spacing) * 7);
    }

    .safety-accent {
        top: 145px;
        width: 572px;
        font-size: 120px;
    }

    .safety-card--guide,
    .safety-card--vehicle,
    .safety-card--medical {
        left: 50%;
        width: 620px;
        height: 123px;
        padding: 0 17px;
        transform: translateX(-50%);
    }

    .safety-card--vehicle {
        top: 530px;
    }

    .safety-card--medical {
        top: 663px;
        padding: 0 33px;
    }

    .safety-guide {
        position: absolute;
        top: 826px;
        left: 50%;
        z-index: 5;
        display: grid;
        width: 528px;
        height: 67px;
        place-items: center;
        transform: translateX(-50%);
        border-radius: 42px;
        background: hsl(216, 63.27%, 51.96%);
        font-size: 26px;
        transition: background-color 0.2s ease;
    }

    .safety-guide:hover {
        background: var(--orange);
    }

    .hotels-title {
        top: 989px;
        width: 671px;
    }

    .hotels-accent {
        top: 1019px;
        width: 611px;
        font-size: 120px;
    }

    .hotels-copy {
        top: 1279px;
        width: 595px;
    }
}

@media (max-width: 639px) {
    .safety-section {
        height: 1240px;
    }

    .safety-title {
        width: 488px;
        font-size: 45px;
    }

    .safety-accent {
        top: 125px;
        width: 434px;
        font-size: 80px;
    }

    .safety-card p {
        font-size: 18px;
    }

    .safety-card--guide,
    .safety-card--vehicle,
    .safety-card--medical {
        width: 458px;
    }

    .safety-card--guide {
        top: 315px;
    }

    .safety-card--vehicle {
        top: calc(var(--spacing) * 56);
    }

    .safety-card--medical {
        top: 581px;
        padding: 0 calc(var(--spacing) * 3);
    }

    .safety-guide {
        top: 738px;
        width: 356px;
        height: 48px;
        font-size: 18px;
    }

    .hotels-title {
        top: 849px;
        width: 360px;
        font-size: 45px;
    }

    .hotels-accent {
        top: 921px;
        width: 397px;
        font-size: 80px;
    }

    .hotels-copy {
        top: 1097px;
        width: 440px;
        font-size: 16px;
    }
}

@media (max-width: 479px) {
    .safety-section {
        height: 1260px;
    }

    .safety-title {
        width: 387px;
        font-size: 40px;
    }

    .safety-accent {
        top: calc(var(--spacing) * 14.5);
        width: 434px;
        color: hsl(43.1, 100%, 72.16%);
    }

    .safety-card {
        border-radius: 10px;
    }

    .safety-card p {
        font-size: 16px;
    }

    .safety-card--guide,
    .safety-card--vehicle,
    .safety-card--medical {
        width: 368px;
        padding: 0 10px;
    }

    .safety-card--guide {
        top: calc(var(--spacing) * 39.5);
    }

    .safety-card--vehicle {
        top: 449px;
    }

    .safety-card--medical {
        top: 582px;
        padding: 0 calc(var(--spacing) * 2.5);
    }

    .safety-guide {
        top: 727px;
        width: 230px;
        height: 44px;
        font-size: 16px;
    }

    .hotels-title {
        top: 841px;
        width: 283px;
        font-size: 40px;
    }

    .hotels-accent {
        top: 902px;
    }

    .hotels-copy {
        top: 1082px;
        width: 370px;
    }
}

@media (max-width: 389px) {
    .safety-section {
        height: 1290px;
    }

    .safety-title {
        width: 289px;
    }

    .safety-accent {
        top: calc(var(--spacing) * 19.5);
        width: 434px;
        font-size: 75px;
    }

    .safety-card--guide,
    .safety-card--vehicle,
    .safety-card--medical {
        width: 299px;
    }

    .safety-guide {
        width: 299px;
    }

    .hotels-title {
        width: 283px;
    }

    .hotels-accent {
        width: 312px;
        font-size: 75px;
    }

    .hotels-copy {
        width: 302px;
    }
}

.hero {
    position: relative;
    height: 1054px;
    overflow: hidden;
    background-color: var(--brown);
}

.hero-background {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.hero-background img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.site-header,
.open-search {
    position: absolute;
    z-index: 20;
}

.hero-content {
    position: absolute;
    z-index: 3;
}

.site-header {
    top: 0;
    left: 50%;
    width: min(1200px, 100%);
    height: 190px;
    transform: translateX(-50%);
}

.logo {
    position: absolute;
    top: 43px;
    left: 0;
    width: 89px;
}

.logo img {
    display: block;
    width: 100%;
    height: auto;
}

.desktop-nav {
    position: absolute;
    z-index: 6;
    top: 63px;
    left: 97px;
    width: 780px;
}

.desktop-nav ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style: none;
}

.desktop-nav li {
    position: relative;
}

.desktop-nav > ul > li > a {
    position: relative;
    display: block;
    padding: 4px 0 5px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.8px;
    text-transform: uppercase;
    text-shadow: 0 2px 6px hsla(0, 0%, 0%, 0.7);
}

.desktop-nav > ul > li > a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: var(--white);
    transition: background-color 0.2s ease;
}

.desktop-nav > ul > li:hover > a::after,
.desktop-nav > ul > li:focus-within > a::after {
    background: var(--orange);
}

.submenu {
    position: absolute;
    z-index: 30;
    top: calc(100% + 3px);
    left: 0;
    display: block !important;
    min-width: 220px;
    padding: 6px 0 !important;
    visibility: hidden;
    opacity: 0;
    border-radius: 5px;
    background: hsla(23.33, 29.51%, 23.92%, 0.8);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    box-shadow: 0 4px 6px hsla(0, 0%, 0%, 0.3);
    transition: opacity 0.18s ease, visibility 0.18s ease;
}

.submenu a {
    display: block;
    padding: 10px 16px;
    font-size: 14px;
    white-space: nowrap;
    text-transform: uppercase;
    text-shadow: 0 2px 6px var(--black);
}

.has-submenu:hover > .submenu,
.has-submenu:focus-within > .submenu {
    visibility: visible;
    opacity: 1;
}

.header-actions {
    position: absolute;
    top: 46px;
    right: 0;
    display: flex;
    align-items: center;
    gap: 9px;
}

.social {
    position: relative;
    display: block;
    width: 46px;
    height: 46px;
}

.social img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    transition: opacity 0.2s ease;
}

.social-hover,
.social:hover .social-normal {
    opacity: 0;
}

.social:hover .social-hover {
    opacity: 1;
}

.social--max i {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: currentColor;
    font-size: 30px;
}

.callback {
    display: grid;
    width: 194px;
    height: 48px;
    place-items: center;
    margin-left: 2px;
    border-radius: 42px;
    background: var(--orange);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    transition: background-color 0.2s ease;
}

.callback:hover {
    background: var(--orange-hot);
}

.rating {
    position: absolute;
    top: calc(var(--spacing) * 13.5);
    left: calc(var(--spacing) * 12);
    display: flex;
    align-items: center;
    gap: 14px;
    white-space: nowrap;
}

.rating img {
    display: block;
    width: 125px;
    height: auto;
}

.rating span {
    font-size: 16px;
    line-height: 1.15;
}

.phone {
    position: absolute;
    top: calc(var(--spacing) * 13.5);
    right: calc(var(--spacing) * 40);
    width: 160px;
    padding: 0 0 calc(var(--spacing) * 0.5);
    border-bottom: 1px solid hsla(0, 0%, 100%, 0.8);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
}

.checklist {
    position: absolute;
    top: 109px;
    right: 0;
    display: grid;
    width: 305px;
    height: 45px;
    place-items: center;
    border-radius: 42px;
    background: hsl(216, 63.27%, 51.96%);
    font-size: 16px;
    opacity: 0.95;
}

.mobile-menu-button,
.mobile-menu {
    display: none;
}

.open-search {
    top: 166px;
    right: max(calc((100vw - 1200px) / 2), 24px);
    display: block;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    color: hsla(0, 0%, 100%, 0.75);
    background: transparent;
    text-decoration: none;
    cursor: pointer;
}

.open-search svg,
.main-search svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.hero-content {
    inset: 0;
    text-align: center;
    pointer-events: none;
}

.hero-cta,
.main-search {
    pointer-events: auto;
}

.eyebrow,
.hero-kicker,
.hero-content h1,
.hero-description {
    position: absolute;
    left: 50%;
    margin: 0;
    transform: translateX(-50%);
}

.eyebrow {
    top: 210px;
    width: 560px;
    font-size: 22px;
    line-height: 1;
    text-transform: uppercase;
}

.hero-kicker {
    top: 254px;
    z-index: 2;
    width: 871px;
    font-family: "Safari Display", sans-serif;
    font-size: 80px;
    font-weight: 300;
    line-height: 1;
    text-transform: uppercase;
}

.hero-content h1 {
    top: 282px;
    width: 100%;
    font-family: "Safari Display", sans-serif;
    font-size: 300px;
    font-weight: 300;
    line-height: 1;
    color: var(--yellow);
    text-transform: uppercase;
    white-space: nowrap;
}

.hero-content h1 strong {
    display: block;
    margin-top: -65px;
    color: var(--white);
    font-size: 160px;
    line-height: 1;
}

.hero-cta {
    position: absolute;
    top: 737px;
    left: 50%;
    display: grid;
    width: 306px;
    height: 68px;
    place-items: center;
    transform: translateX(-50%);
    border: 5px solid var(--yellow);
    border-radius: 42px;
    background: var(--orange);
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.hero-cta:hover {
    border-color: var(--orange);
    background: var(--orange-hot);
}

.hero-bottom {
    position: absolute;
    top: 0;
    left: 50%;
    width: 637px;
    transform: translateX(-50%);
}

.hero-description {
    top: calc(var(--spacing) * 107.5);
    width: 637px;
    font-size: 22px;
    line-height: 1.35;
}

.main-search {
    position: absolute;
    top: 938px;
    left: 0;
    display: flex;
    width: 637px;
    gap: calc(var(--spacing) * 2.5);
    padding: 30px;
    border-radius: 15px;
    background: var(--brown-deep);
}

.main-search input {
    min-width: 0;
    height: 39px;
    flex: 1 1 auto;
    padding: 0 18px;
    border: 0;
    border-radius: 25px;
    outline: 0;
    color: var(--white);
    background: hsl(23.77, 43.09%, 24.12%);
    font-size: 18px;
}

.main-search input::placeholder {
    color: hsla(0, 0%, 100%, 0.5);
}

.main-search button {
    min-width: 104px;
    height: 39px;
    padding: 5px 20px;
    border: 0;
    border-radius: 25px;
    color: var(--white);
    background: var(--orange);
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
}

.main-search button svg {
    display: none;
}

.cookie {
    position: fixed;
    z-index: 100;
    bottom: 30px;
    left: calc(var(--spacing) * 2.5);
    display: flex;
    width: 700px;
    min-height: 60px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 25px;
    border-radius: 5px;
    color: var(--white);
    background: hsl(0, 0%, 20%);
    box-shadow: 0 0 5px hsla(0, 0%, 0%, 0.1);
    font-family: Arial, sans-serif;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.cookie[hidden] {
    display: none;
}

.cookie p {
    margin: 0;
    font-size: 14px;
}

.cookie a {
    border-bottom: 1px solid currentColor;
}

.cookie button {
    min-width: 130px;
    height: 30px;
    border: 1px solid hsl(216, 63.27%, 51.96%);
    border-radius: 5px;
    color: var(--white);
    background: hsl(216, 63.27%, 51.96%);
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    cursor: pointer;
}

@media (max-width: 1199px) {
    .hero {
        height: 794px;
    }

    .site-header {
        width: 960px;
    }

    .logo {
        top: 21px;
        left: 42px;
        width: 74px;
    }

    .desktop-nav,
    .callback,
    .checklist {
        display: none;
    }

    .header-actions {
        top: 35px;
        right: 23px;
    }

    .social {
        width: 39px;
        height: 39px;
    }

    .rating {
        top: 41px;
        left: calc(var(--spacing) * 16.5);
        gap: calc(var(--spacing) * 1.5);
    }

    .rating img {
        width: 109px;
    }

    .phone {
        top: 38px;
        right: 85px;
        width: 172px;
    }

    .open-search {
        display: none;
    }

    .eyebrow {
        top: 106px;
        width: 240px;
        font-size: 18px;
    }

    .hero-kicker {
        top: 147px;
        width: 672px;
        font-size: 70px;
    }

    .hero-content h1 {
        top: calc(var(--spacing) * 20.5);
        font-size: 240px;
    }

    .hero-content h1 strong {
        margin-top: -60px;
        font-size: 140px;
    }

    .hero-cta {
        top: 495px;
        width: 280px;
        height: 58px;
        font-size: 18px;
    }

    .hero-description {
        top: calc(var(--spacing) * 72);
        width: 458px;
        font-size: 20px;
    }

    .hero-bottom {
        width: 458px;
    }

    .main-search {
        top: 650px;
        width: 458px;
        padding: calc(var(--spacing) * 2.5);
    }
}

@media (max-width: 959px) {
    .hero {
        height: 844px;
    }

    .site-header {
        width: 640px;
    }

    .logo {
        top: 19px;
        left: 10px;
    }

    .header-actions {
        right: 10px;
    }

    .social--whatsapp {
        display: none;
    }

    .rating {
        top: calc(var(--spacing) * 4);
        left: 94px;
    }

    .rating img {
        width: 76px;
    }

    .rating span {
        width: 220px;
        white-space: normal;
    }

    .phone {
        display: none;
    }

    .mobile-menu-button {
        position: absolute;
        top: 79px;
        right: calc(var(--spacing) * 1.5);
        display: grid;
        width: 40px;
        height: 40px;
        place-content: center;
        gap: calc(var(--spacing) * 0.5);
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: hsla(22.86, 32.98%, 37.45%, 0.65);
        cursor: pointer;
    }

    .mobile-menu-button span:not(.sr-only) {
        display: block;
        width: 19px;
        height: 2px;
        background: var(--white);
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    .mobile-menu-button[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .mobile-menu-button[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-button[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .mobile-menu {
        position: absolute;
        z-index: 10;
        top: calc(var(--spacing) * 16);
        right: 10px;
        display: grid;
        width: min(290px, calc(100% - 20px));
        padding: 17px 20px;
        visibility: hidden;
        opacity: 0;
        border-radius: var(--border-radius);
        background: hsla(22.67, 37.19%, 23.73%, 0.94);
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
        transform: translateY(-8px);
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    }

    .mobile-menu.is-open {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
    }

    .mobile-menu a {
        padding: 9px 0;
        border-bottom: 1px solid hsla(0, 0%, 100%, 0.18);
        font-size: 15px;
        text-transform: uppercase;
    }

    .eyebrow {
        top: 158px;
    }

    .hero-kicker {
        top: 230px;
        width: 518px;
        font-size: 49px;
    }

    .hero-content h1 {
        top: 242px;
        font-size: 180px;
    }

    .hero-content h1 strong {
        margin-top: -40px;
        font-size: 110px;
    }

    .hero-cta {
        top: 533px;
    }

    .hero-description {
        top: 627px;
    }

    .main-search {
        top: 710px;
    }
}

/* Smoothly interpolate the hero between its desktop and tablet layouts. */
@media (min-width: 960px) and (max-width: 1470px) {
    .hero {
        height: clamp(794px, calc(50.98vw + 304.588px), 1054px);
    }

    .eyebrow {
        top: clamp(158px, calc(10.196vw + 60.118px), 210px);
        width: clamp(240px, calc(62.745vw - 362.353px), 560px);
        font-size: clamp(18px, calc(0.784vw + 10.471px), 22px);
    }

    .hero-kicker {
        top: clamp(230px, calc(4.706vw + 184.824px), 254px);
        width: clamp(518px, calc(69.216vw - 146.471px), 871px);
        font-size: clamp(49px, calc(6.078vw - 9.353px), 80px);
    }

    .hero-content h1 {
        top: clamp(242px, calc(7.843vw + 166.706px), 282px);
        font-size: clamp(180px, calc(23.529vw - 45.882px), 300px);
    }

    .hero-content h1 strong {
        margin-top: calc(7.059px - 4.902vw);
        font-size: clamp(110px, calc(9.804vw + 15.882px), 160px);
    }

    .hero-cta {
        top: clamp(533px, calc(40vw + 149px), 737px);
        width: clamp(280px, calc(5.098vw + 231.059px), 306px);
        height: clamp(58px, calc(1.961vw + 39.176px), 68px);
        font-size: clamp(18px, calc(0.392vw + 14.235px), 20px);
    }

    .hero-bottom,
    .hero-description,
    .main-search {
        width: clamp(458px, calc(35.098vw + 121.059px), 637px);
    }

    .hero-description {
        top: clamp(627px, calc(45.686vw + 188.294px), 860px);
        font-size: clamp(20px, calc(0.392vw + 16.235px), 22px);
    }

    .main-search {
        top: clamp(710px, calc(44.706vw + 280.824px), 938px);
        padding: clamp(20px, calc(1.961vw + 1.176px), 30px);
    }
}

@media (max-width: 639px) {
    .hero {
        height: 664px;
    }

    .site-header {
        width: 100%;
    }

    .logo {
        top: calc(var(--spacing) * 2.5);
        left: 10px;
        width: 55px;
    }

    .header-actions {
        top: 19px;
        right: 10px;
    }

    .social {
        width: 40px;
        height: 40px;
    }

    .rating {
        top: 34px;
        left: calc(var(--spacing) * 9.5);
        display: block;
    }

    .rating img {
        width: 104px;
        margin-bottom: 5px;
    }

    .rating span {
        display: block;
        width: 180px;
        font-size: 12px;
        line-height: 1.15;
    }

    .mobile-menu-button {
        top: 78px;
        right: 10px;
        width: 36px;
        height: 36px;
    }

    .mobile-menu {
        top: 119px;
    }

    .eyebrow {
        top: 139px;
        width: 240px;
        font-size: 16px;
    }

    .hero-kicker {
        top: 198px;
        width: 100%;
        padding: 0 10px;
        font-size: 40px;
        white-space: nowrap;
    }

    .hero-content h1 {
        top: 227px;
        font-size: 126px;
    }

    .hero-content h1 strong {
        margin-top: -30px;
        font-size: 80px;
    }

    .hero-cta {
        top: 439px;
        width: 282px;
        height: 58px;
    }

    .hero-bottom {
        width: 100%;
    }

    .hero-description {
        top: 534px;
        width: calc(100% - 32px);
        font-size: 17px;
    }

    .main-search {
        top: 614px;
        left: calc(var(--spacing) * 2.5);
        width: calc(100% - 40px);
        gap: 10px;
        padding: 15px;
    }

    .main-search input {
        width: calc(100% - 40px);
    }

    .main-search button {
        min-width: 30px;
        width: 30px;
        padding: 0;
        color: hsla(0, 0%, 100%, 0.75);
        background: transparent;
    }

    .main-search button span {
        display: none;
    }

    .main-search button svg {
        display: block;
    }

    .cookie {
        bottom: 0;
        left: 0;
        width: 230px;
        min-height: 109px;
        flex-wrap: wrap;
        gap: calc(var(--spacing) * 1.5);
        padding: 12px 24px 15px;
        border-radius: 0;
    }

    .cookie p {
        line-height: 1.45;
    }

    .cookie button {
        margin: 0 auto;
    }

}

@media (max-width: 479px) {
    .eyebrow {
        top: 142px;
        font-size: 14px;
    }

    .hero-kicker {
        top: 190px;
        font-size: 32px;
    }

    .hero-content h1 {
        top: 211px;
        font-size: 92px;
    }

    .hero-content h1 strong {
        margin-top: -20px;
        font-size: 60px;
    }

    .hero-cta {
        top: 377px;
        width: 198px;
        height: 47px;
        border-width: 3px;
        font-size: 16px;
    }

    .hero-description {
        top: calc(var(--spacing) * 55.5);
        font-size: 16px;
    }

    .main-search {
        top: 550px;
    }
}

/* Keep the compact source height below the tablet breakpoint. */
@media (max-width: 959px) {
    .hero {
        height: 794px;
    }
}

@media (min-width: 1920px) {
    .hero {
        height: 1254px;
    }

    .site-header {
        width: 1920px;
    }

    .logo {
        top: calc(var(--spacing) * 2.5);
        left: 25px;
        width: 120px;
    }

    .desktop-nav {
        top: 63px;
        left: 175px;
    }

    .header-actions {
        top: 35px;
        right: 25px;
    }

    .social {
        width: 62px;
        height: 62px;
    }

    .callback {
        width: 281px;
        height: 62px;
        font-size: 20px;
    }

    .rating {
        top: calc(var(--spacing) * 13.5);
        left: 175px;
    }

    .rating img {
        width: 152px;
    }

    .rating span {
        font-size: 18px;
    }

    .eyebrow {
        top: 213px;
        font-size: 26px;
    }

    .hero-kicker {
        top: 253px;
        width: 981px;
        font-size: 105px;
    }

    .hero-content h1 {
        top: 262px;
        font-size: 372px;
    }

    .hero-content h1 strong {
        font-size: 200px;
    }

    .hero-cta {
        top: 846px;
        font-size: 26px;
    }

    .hero-description {
        top: 959px;
        font-size: 26px;
    }

    .main-search {
        top: calc(var(--spacing) * 132);
    }
}

/* Benefits */
.benefits {
    --benefits-height: 611px;
    position: relative;
    z-index: 1;
    height: var(--benefits-height);
    overflow: visible;
    background: var(--brown);
}

.benefits-scene {
    position: absolute;
    z-index: 0;
    left: 50%;
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    pointer-events: none;
    transform: translateX(-50%);
}

.benefits-scene--desktop {
    top: 0;
}

.benefits-scene--mobile {
    display: none;
}

.benefits-inner {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 50%;
    width: 1920px;
    height: 100%;
    transform: translateX(-50%);
}

.benefit {
    position: absolute;
    inset: 0;
    text-align: center;
}

.benefit img,
.benefit p {
    position: absolute;
    margin: 0;
}

.benefit img {
    top: var(--icon-y);
    left: var(--icon-x);
    display: block;
    width: var(--icon-size, 160px);
    height: auto;
}

.benefit p {
    top: var(--text-y);
    left: var(--text-x);
    width: var(--text-width);
    color: var(--white);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.25;
}

.benefit--duration {
    --icon-x: 318px;
    --icon-y: 115px;
    --text-x: 291px;
    --text-y: 290px;
    --text-width: 215px;
}

.benefit--organization {
    --icon-x: 589px;
    --icon-y: 52px;
    --text-x: 590px;
    --text-y: 227px;
    --text-width: 157px;
}

.benefit--program {
    --icon-x: 866px;
    --icon-y: 83px;
    --text-x: 823px;
    --text-y: 258px;
    --text-width: 245px;
}

.benefit--license {
    --icon-x: 1167px;
    --icon-y: 112px;
    --text-x: 1118px;
    --text-y: 287px;
    --text-width: 258px;
}

.benefit--comfort {
    --icon-x: 1429px;
    --icon-y: 95px;
    --text-x: 1389px;
    --text-y: 270px;
    --text-width: 241px;
}

@media (max-width: 1919px) {
    .benefits {
        --benefits-height: 361px;
    }

    .benefits-inner {
        width: 1200px;
    }

    .benefit {
        --icon-size: 115px;
    }

    .benefit p {
        font-size: 16px;
        line-height: 1.3;
    }

    .benefit--duration {
        --icon-x: 179px;
        --icon-y: 82px;
        --text-x: 160px;
        --text-y: 208px;
        --text-width: 155px;
    }

    .benefit--organization {
        --icon-x: 352px;
        --icon-y: 47px;
        --text-x: 343px;
        --text-y: 173px;
        --text-width: 134px;
    }

    .benefit--program {
        --icon-x: 528px;
        --icon-y: 28px;
        --text-x: 494px;
        --text-y: 154px;
        --text-width: 185px;
    }

    .benefit--license {
        --icon-x: 729px;
        --icon-y: 44px;
        --text-x: 694px;
        --text-y: 170px;
        --text-width: 186px;
    }

    .benefit--comfort {
        --icon-x: 905px;
        --icon-y: 45px;
        --text-x: 893px;
        --text-y: 175px;
        --text-width: 146px;
    }
}

@media (min-width: 1399px) and (max-width: 1919px) {
    .benefits-scene--desktop {
        top: -10%;
    }
}

@media (min-width: 1450px) and (max-width: 1919px) {
    .benefits-scene--desktop {
        top: -20%;
    }
}

@media (min-width: 1650px) and (max-width: 1919px) {
    .benefits-scene--desktop {
        top: -30%;
    }
}

@media (min-width: 1800px) and (max-width: 1919px) {
    .benefits-scene--desktop {
        top: -40%;
    }
}

@media (min-width: 2100px) {
    .benefits-scene--desktop {
        top: -10%;
    }
}

@media (max-width: 1199px) {
    .benefits {
        --benefits-height: 241px;
    }

    .benefits-scene--desktop {
        top: -50%;
    }

    .benefits-inner {
        width: 960px;
    }

    .benefit {
        --icon-size: 71px;
    }

    .benefit p {
        font-size: 14px;
    }

    .benefit--duration {
        --icon-x: 172px;
        --icon-y: 36px;
        --text-x: 160px;
        --text-y: 115px;
        --text-width: 96px;
    }

    .benefit--organization {
        --icon-x: 302px;
        --icon-y: 18px;
        --text-x: 286px;
        --text-y: 97px;
        --text-width: 104px;
    }

    .benefit--program {
        --icon-x: 431px;
        --icon-y: 0;
        --text-x: 410px;
        --text-y: 79px;
        --text-width: 115px;
    }

    .benefit--license {
        --icon-x: 579px;
        --icon-y: -26px;
        --text-x: 552px;
        --text-y: 57px;
        --text-width: 127px;
    }

    .benefit--comfort {
        --icon-x: 712px;
        --icon-y: 12px;
        --text-x: 678px;
        --text-y: 93px;
        --text-width: 140px;
    }
}

@media (max-width: 1100px) and (min-width: 960px) {
    .benefits-scene--desktop {
        top: -30%;
    }
}

@media (max-width: 959px) {
    .benefits {
        overflow: hidden;
        --benefits-height: 931px;
    }

    .benefits-scene--desktop {
        display: none;
    }

    .benefits-scene--mobile {
        top: -47px;
        display: block;
        width: 100vw;
    }

    .benefits-inner {
        width: 640px;
    }

    .benefit {
        --icon-size: 90px;
    }

    .benefit p {
        font-size: 18px;
        line-height: 1.25;
        text-align: left;
    }

    .benefit--duration {
        --icon-x: 177px;
        --icon-y: 73px;
        --text-x: 287px;
        --text-y: 106px;
        --text-width: 218px;
    }

    .benefit--organization {
        --icon-x: 109px;
        --icon-y: 197px;
        --text-x: 219px;
        --text-y: 230px;
        --text-width: 248px;
    }

    .benefit--program {
        --icon-x: 170px;
        --icon-y: 354px;
        --text-x: 280px;
        --text-y: 376px;
        --text-width: 263px;
    }

    .benefit--license {
        --icon-x: 104px;
        --icon-y: 491px;
        --text-x: 214px;
        --text-y: 513px;
        --text-width: 306px;
    }

    .benefit--comfort {
        --icon-x: 170px;
        --icon-y: 631px;
        --text-x: 280px;
        --text-y: 653px;
        --text-width: 277px;
    }

    .desktop-only {
        display: none;
    }
}

@media (max-width: 639px) {
    .benefits {
        --benefits-height: 681px;
    }

    .benefits-inner {
        width: 480px;
    }

    .benefit {
        --icon-size: 76px;
    }

    .benefit p {
        font-size: 16px;
    }

    .benefit--duration {
        --icon-x: 140px;
        --icon-y: 37px;
        --text-x: 236px;
        --text-y: 64px;
        --text-width: 218px;
    }

    .benefit--organization {
        --icon-x: 70px;
        --icon-y: 128px;
        --text-x: 166px;
        --text-y: 155px;
        --text-width: 281px;
    }

    .benefit--program {
        --icon-x: 119px;
        --icon-y: 242px;
        --text-x: 215px;
        --text-y: 259px;
        --text-width: 263px;
    }

    .benefit--license {
        --icon-x: 70px;
        --icon-y: 354px;
        --text-x: 166px;
        --text-y: 371px;
        --text-width: 281px;
    }

    .benefit--comfort {
        --icon-x: 116px;
        --icon-y: 465px;
        --text-x: 212px;
        --text-y: 482px;
        --text-width: 204px;
    }
}

@media (max-width: 479px) {
    .benefits {
        --benefits-height: 581px;
    }

    .benefits-inner {
        width: 414px;
    }

    .benefit {
        --icon-size: 70px;
    }

    .benefit p {
        font-size: 14px;
        line-height: 1.2;
    }

    .benefit--duration {
        --icon-x: 136px;
        --icon-y: 20px;
        --text-x: 232px;
        --text-y: 37px;
        --text-width: 97px;
    }

    .benefit--organization {
        --icon-x: 106px;
        --icon-y: 200px;
        --text-x: 195px;
        --text-y: 217px;
        --text-width: 139px;
    }

    .benefit--program {
        --icon-x: 70px;
        --icon-y: 290px;
        --text-x: 166px;
        --text-y: 296px;
        --text-width: 199px;
    }

    .benefit--license {
        --icon-x: 70px;
        --icon-y: 105px;
        --text-x: 166px;
        --text-y: 111px;
        --text-width: 237px;
    }

    .benefit--comfort {
        --icon-x: 106px;
        --icon-y: 390px;
        --text-x: 200px;
        --text-y: 400px;
        --text-width: 204px;
    }
}

@media (max-width: 413px) {
    .benefits-scene--mobile {
        top: -19px;
    }

    .benefits-inner {
        width: 390px;
    }

    .benefit--duration {
        --icon-x: 113px;
        --icon-y: 19px;
        --text-x: 203px;
        --text-y: 37px;
        --text-width: 79px;
    }

    .benefit--organization {
        --icon-x: 100px;
        --icon-y: 215px;
        --text-x: 190px;
        --text-y: 233px;
        --text-width: 117px;
    }

    .benefit--program {
        --icon-x: 59px;
        --icon-y: 303px;
        --text-x: 149px;
        --text-y: 321px;
        --text-width: 197px;
    }

    .benefit--license {
        --icon-x: 62px;
        --icon-y: 122px;
        --text-x: 152px;
        --text-y: 132px;
        --text-width: 217px;
    }

    .benefit--comfort {
        --icon-x: 101px;
        --icon-y: 389px;
        --text-x: 191px;
        --text-y: 398px;
        --text-width: 188px;
    }
}

@media (max-width: 374px) {
    .benefits {
        --benefits-height: 471px;
    }

    .benefits-scene--mobile {
        top: -18px;
    }

    .benefits-inner {
        width: 320px;
    }

    .benefit {
        --icon-size: 58px;
    }

    .benefit--duration {
        --icon-x: 98px;
        --icon-y: 0;
        --text-x: 166px;
        --text-y: 31px;
        --text-width: 145px;
    }

    .benefit--organization {
        --icon-x: 81px;
        --icon-y: 172px;
        --text-x: 149px;
        --text-y: 184px;
        --text-width: 157px;
    }

    .benefit--program {
        --icon-x: 48px;
        --icon-y: 246px;
        --text-x: 116px;
        --text-y: 249px;
        --text-width: 171px;
    }

    .benefit--license {
        --icon-x: 52px;
        --icon-y: 100px;
        --text-x: 120px;
        --text-y: 103px;
        --text-width: 169px;
    }

    .benefit--comfort {
        --icon-x: 80px;
        --icon-y: 326px;
        --text-x: 148px;
        --text-y: 329px;
        --text-width: 163px;
    }
}

/* Tanzania introduction */
.tanzania {
    --tanzania-background-top: -78px;
    position: relative;
    height: 1538px;
    overflow: hidden;
    color: hsl(25.16, 83.78%, 7.25%);
    background: hsl(200.69, 48.33%, 76.47%);
}

.tanzania-background {
    position: absolute;
    z-index: 0;
    top: var(--tanzania-background-top);
    left: 50%;
    display: block;
    width: 100vw;
    transform: translateX(-50%);
    pointer-events: none;
}

.tanzania-background img {
    display: block;
    width: 100%;
    height: auto;
}

/* On desktop the original composition continues underneath the reasons slider.
   Keep the image in markup, clip it only horizontally and blend its lower edge
   into the sand colour instead of cutting it at the Tanzania section boundary. */
@media (min-width: 960px) {
    .tanzania {
        overflow: visible;
    }

    .tanzania > .section-background-clip {
        top: var(--tanzania-background-top);
        bottom: -534px;
        background: linear-gradient(
            to bottom,
            hsl(200.69, 48.33%, 76.47%) 0,
            var(--sand) calc(100% - 534px),
            var(--sand) 100%
        );
    }

    .tanzania-background {
        top: 0;
        -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 120px), transparent 100%);
        mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 120px), transparent 100%);
    }

    .tanzania + .reasons-carousel {
        background: transparent;
    }
}

.tanzania-inner {
    position: absolute;
    z-index: 2;
    inset: 0 auto auto 50%;
    width: 1920px;
    height: 100%;
    transform: translateX(-50%);
}

.tanzania-title,
.tanzania-lead,
.tanzania-copy,
.tanzania-next-title {
    position: absolute;
    margin: 0;
}

.tanzania-title,
.tanzania-lead,
.tanzania-next-title {
    font-family: "Safari Display", sans-serif;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.tanzania-title {
    top: 149px;
    left: calc(var(--spacing) * 27);
    width: 1488px;
    color: hsl(39.55, 88.84%, 49.22%);
    font-size: 200px;
}

.tanzania-lead {
    top: 310px;
    left: calc(var(--spacing) * 58);
    width: 996px;
    color: hsl(23.16, 34.55%, 32.35%);
    font-size: 105px;
}

.tanzania-copy {
    top: calc(var(--spacing) * 72.5);
    left: calc(var(--spacing) * 47.5);
    width: 799px;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.55;
}

.tanzania-faq {
    position: absolute;
    top: calc(var(--spacing) * 125);
    left: calc(var(--spacing) * 47.5);
    display: flex;
    width: 528px;
    height: 67px;
    align-items: center;
    justify-content: center;
    border-radius: 42px;
    color: var(--white);
    background: hsl(216, 63.27%, 51.96%);
    font-size: 26px;
    line-height: 1;
    text-align: center;
    transition: background-color 0.2s ease-in-out;
}

.tanzania-faq-icon {
    position: relative;
    left: 25px;
    width: 124px;
    height: 124px;
}

.tanzania-faq-icon::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: grid;
    width: 124px;
    height: 46px;
    place-items: center;
    border-radius: 23px;
    color: var(--white);
    background: hsl(216.23, 55.21%, 37.65%);
    content: "СКАЧАТЬ";
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
    transform: translateY(-50%);
    transition: background-color 0.2s ease-in-out;
}

.hero-title-mobile-break {
    display: none;
}

.tanzania-faq:hover,
.tanzania-faq:focus-visible {
    background: var(--orange);
}

.tanzania-faq:hover .tanzania-faq-icon::before,
.tanzania-faq:focus-visible .tanzania-faq-icon::before {
    background: var(--orange-hot);
}

.tanzania-next-title {
    top: 1189px;
    left: calc(var(--spacing) * 42);
    width: 1249px;
    color: var(--white);
    font-size: 105px;
}

@media (max-width: 1919px) {
    .tanzania {
        --tanzania-background-top: -17px;
        height: 1151px;
        background: linear-gradient(to bottom, hsl(200.69, 48.33%, 76.47%), hsl(29.61, 42.54%, 64.51%));
    }

    .tanzania-background {
        width: 103vw;
    }

    .tanzania-inner {
        width: 1200px;
    }

    .tanzania-title {
        top: 101px;
        left: -144px;
        font-size: 180px;
    }

    .tanzania-lead {
        top: 237px;
        left: 149px;
        width: 902px;
        font-size: 80px;
    }

    .tanzania-copy {
        top: 431px;
        left: calc(var(--spacing) * 2.5);
        width: 672px;
        font-size: 22px;
    }

    .tanzania-faq {
        top: 778px;
        left: calc(var(--spacing) * 2.5);
        width: 364px;
        height: 45px;
        font-size: 16px;
    }

    .tanzania-next-title {
        top: 895px;
        left: -24px;
    }
}

@media (max-width: 1199px) {
    .tanzania {
        --tanzania-background-top: -21px;
        height: 861px;
    }

    .tanzania-inner {
        width: 960px;
    }

    .tanzania-title {
        top: calc(var(--spacing) * 3.5);
        left: -264px;
        font-size: 140px;
    }

    .tanzania-lead {
        top: 141px;
        left: calc(var(--spacing) * 21);
        width: 624px;
        font-size: 70px;
    }

    .tanzania-copy {
        top: 314px;
        left: 10px;
        width: 578px;
        font-size: 20px;
        line-height: 1.3;
    }

    .tanzania-faq {
        top: calc(var(--spacing) * 72.5);
        left: 10px;
    }

    .tanzania-next-title {
        top: 669px;
        left: calc(var(--spacing) * 10.5);
        width: 793px;
        font-size: 70px;
    }
}

@media (max-width: 959px) {
    .tanzania {
        --tanzania-background-top: 0px;
        height: 1101px;
    }

    .tanzania-background {
        width: 100vw;
    }

    .tanzania-inner {
        width: 640px;
    }

    .tanzania-title {
        top: calc(var(--spacing) * 8);
        left: -9px;
        width: 659px;
        font-size: 95px;
    }

    .tanzania-lead {
        top: 133px;
        left: 31px;
        width: 578px;
        font-size: 50px;
    }

    .tanzania-copy {
        top: 265px;
        left: 10px;
        width: 383px;
        font-size: 22px;
    }

    .tanzania-faq {
        top: 781px;
    }

    .tanzania-next-title {
        top: calc(var(--spacing) * 111.5);
        left: 27px;
        width: 586px;
        font-size: 50px;
    }
}

@media (max-width: 639px) {
    .tanzania {
        height: 921px;
    }

    .tanzania-inner {
        width: 480px;
    }

    .tanzania-title {
        top: 51px;
        left: 63px;
        width: 354px;
    }

    .tanzania-lead {
        top: 230px;
        left: 31px;
        width: 418px;
        font-size: 40px;
    }

    .tanzania-copy {
        top: calc(var(--spacing) * 42.5);
        left: 9px;
        width: 318px;
        font-size: 16px;
    }

    .tanzania-faq {
        top: calc(var(--spacing) * 84.5);
        left: 9px;
        width: 356px;
    }

    .tanzania-next-title {
        top: 778px;
        left: 55px;
        width: 370px;
        font-size: 40px;
    }
}

@media (max-width: 479px) {
    .tanzania {
        height: 871px;
    }

    .tanzania-background {
        width: 112vw;
    }

    .tanzania-inner {
        width: 390px;
    }

    .tanzania-title {
        top: 34px;
        left: 18px;
    }

    .tanzania-lead {
        top: 210px;
        left: 11px;
        width: 368px;
    }

    .tanzania-copy {
        top: 307px;
        left: 10px;
        width: 270px;
        line-height: 1.3;
    }

    .tanzania-faq {
        top: 673px;
        left: 10px;
        width: 253px;
        height: 37px;
        font-size: 14px;
    }

    .tanzania-next-title {
        top: calc(var(--spacing) * 92.5);
        left: 10px;
        width: 368px;
    }
}

@media (max-width: 389px) {
    .tanzania {
        height: 731px;
    }

    .tanzania-background {
        width: 115vw;
    }

    .tanzania-inner {
        width: 320px;
    }

    .tanzania-title {
        left: 25px;
        width: 271px;
        font-size: 75px;
    }

    .tanzania-lead {
        top: calc(var(--spacing) * 20.5);
        left: 22px;
        width: 276px;
        font-size: 30px;
    }

    .tanzania-copy {
        top: 245px;
        width: 222px;
        font-size: 14px;
    }

    .tanzania-faq {
        top: 567px;
        width: 230px;
    }

    .tanzania-next-title {
        top: 627px;
        left: calc(var(--spacing) * 2.5);
        width: 280px;
        font-size: 30px;
    }
}

/* Reasons carousel */
.reasons-carousel {
    --carousel-slot: 960px;
    --carousel-card: 860px;
    position: relative;
    height: 534px;
    padding-top: 25px;
    overflow: hidden;
    background: var(--sand);
}

.reasons-carousel-viewport {
    position: relative;
    height: 450px;
}

.reasons-carousel-track {
    position: absolute;
    top: 0;
    left: 50%;
    display: flex;
    width: max-content;
    height: 450px;
    will-change: transform;
}

.reasons-carousel-track.is-animated {
    transition: transform 0.3s ease-in-out;
}

.reason-slide {
    display: grid;
    flex: 0 0 var(--carousel-slot);
    width: var(--carousel-slot);
    height: 450px;
    margin: 0;
    place-items: center;
}

.reason-slide img {
    display: block;
    width: var(--carousel-card);
    height: 450px;
    border-radius: 15px;
    object-fit: cover;
    opacity: 0.3;
    transform: scale(0.8);
    transition: transform 0.6s ease, opacity 0.3s ease-in-out;
    -webkit-user-drag: none;
    user-select: none;
}

.reason-slide.is-active img {
    opacity: 1;
    transform: scale(1);
}

.reasons-carousel-arrow {
    position: absolute;
    z-index: 3;
    top: 250px;
    display: grid;
    width: 40px;
    height: 40px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: hsl(216.23, 55.21%, 37.65%);
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

.reasons-carousel-arrow:hover,
.reasons-carousel-arrow:focus-visible {
    background: hsl(216, 63.27%, 51.96%);
}

.reasons-carousel-arrow:active {
    transform: translateY(-50%) scale(0.94);
}

.reasons-carousel-arrow--previous {
    left: calc(50% - 430px);
    transform: translate(-50%, -50%);
}

.reasons-carousel-arrow--previous:active {
    transform: translate(-50%, -50%) scale(0.94);
}

.reasons-carousel-arrow--next {
    right: calc(50% - 430px);
    transform: translate(50%, -50%);
}

.reasons-carousel-arrow--next:active {
    transform: translate(50%, -50%) scale(0.94);
}

.reasons-carousel-arrow svg {
    display: block;
    width: 9px;
    height: 17px;
    fill: none;
    stroke: var(--white);
    stroke-linecap: butt;
    stroke-linejoin: butt;
    stroke-width: 1;
}

.reasons-carousel-dots {
    display: flex;
    height: 44px;
    align-items: center;
    justify-content: center;
}

.reasons-carousel-dots button {
    width: 16px;
    height: 8px;
    margin: 0 5px;
    padding: 0;
    border: 0;
    border-radius: calc(var(--border-radius) * 12.5);
    background: var(--white);
    cursor: pointer;
    transition: width 0.6s ease-in-out, background-color 0.2s ease-in-out;
}

.reasons-carousel-dots button:hover,
.reasons-carousel-dots button:focus-visible,
.reasons-carousel-dots button.is-active {
    background: hsl(216.23, 55.21%, 37.65%);
}

.reasons-carousel-dots button.is-active {
    width: 28px;
}

@media (max-width: 1199px) {
    .reasons-carousel {
        --carousel-slot: 780px;
        --carousel-card: 700px;
    }

    .reasons-carousel-arrow--previous {
        left: calc(50% - 350px);
    }

    .reasons-carousel-arrow--next {
        right: calc(50% - 350px);
    }
}

@media (max-width: 959px) {
    .reasons-carousel {
        --carousel-slot: 640px;
        --carousel-card: 600px;
    }

    .reasons-carousel-arrow--previous {
        left: calc(50% - 300px);
    }

    .reasons-carousel-arrow--next {
        right: calc(50% - 300px);
    }
}

@media (max-width: 639px) {
    .reasons-carousel {
        --carousel-slot: 100vw;
        --carousel-card: 100vw;
        padding-top: 15px;
    }

    .reasons-carousel-arrow {
        top: calc(var(--spacing) * 30);
        width: 24px;
        height: 24px;
    }

    .reasons-carousel-arrow--previous {
        left: 5px;
        transform: translateY(-50%);
    }

    .reasons-carousel-arrow--previous:active {
        transform: translateY(-50%) scale(0.94);
    }

    .reasons-carousel-arrow--next {
        right: 5px;
        transform: translateY(-50%);
    }

    .reasons-carousel-arrow--next:active {
        transform: translateY(-50%) scale(0.94);
    }

    .reasons-carousel-arrow svg {
        width: 6px;
        height: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .reasons-carousel-track,
    .reason-slide img,
    .reasons-carousel-dots button {
        transition-duration: 0.01ms !important;
    }
}

/* Individual program */
.program {
    position: relative;
    height: 1594px;
    overflow: hidden;
    color: var(--white);
    background: var(--sand);
}

.program-inner {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1920px;
    height: 100%;
    transform: translateX(-50%);
}

.program-video {
    position: absolute;
    z-index: 1;
    top: calc(var(--spacing) * 12.5);
    left: 379px;
    display: block;
    width: 1162px;
    height: 670px;
    overflow: hidden;
    border-radius: 15px;
    background: var(--brown-deep);
}

.program-video > img,
.program-video > iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.program-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100px;
    height: 100px;
    transform: translate(-50%, -50%);
    background: url("../images/svg/play-button-dark.svg") center / contain no-repeat;
    opacity: 0.9;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.program-video-trigger {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.program-video:hover .program-video-play,
.program-video-trigger:focus-visible .program-video-play {
    transform: translate(-50%, -50%) scale(1.08);
    opacity: 1;
}

.program-title {
    position: absolute;
    z-index: 2;
    top: calc(var(--spacing) * 76);
    left: 50%;
    width: 1133px;
    margin: 0;
    transform: translateX(-50%);
    color: var(--brown-deep);
    font-family: "Safari Display", sans-serif;
    font-size: 200px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.program-title strong {
    position: relative;
    top: 42px;
    z-index: -1;
    color: var(--white);
    font-size: 105px;
    font-weight: 300;
}

.program-copy {
    position: absolute;
    z-index: 2;
    top: calc(var(--spacing) * 163.5);
    left: calc(var(--spacing) * 68);
    width: 833px;
    margin: 0;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
}

.program-cta {
    position: absolute;
    z-index: 2;
    top: 1411px;
    left: 807px;
    display: grid;
    width: 306px;
    height: 68px;
    place-items: center;
    border: 5px solid var(--yellow);
    border-radius: 42px;
    color: var(--white);
    background: var(--orange);
    font-size: 26px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.program-cta:hover,
.program-cta:focus-visible {
    border-color: var(--orange);
    background: var(--orange-hot);
}

@media (max-width: 1919px) {
    .program {
        height: 1310px;
    }

    .program-inner {
        width: 1200px;
    }

    .program-video {
        top: 54px;
        left: 77px;
        width: 1047px;
        height: 604px;
    }

    .program-title {
        top: 497px;
    }

    .program-copy {
        top: calc(var(--spacing) * 141.5);
        left: 250px;
        width: 700px;
        font-size: 22px;
    }

    .program-cta {
        top: calc(var(--spacing) * 152.5);
        left: 447px;
        font-size: 20px;
    }
}

@media (max-width: 1199px) {
    .program {
        height: 1180px;
    }

    .program-inner {
        width: 960px;
    }

    .program-video {
        left: 34px;
        width: 892px;
        height: 515px;
    }

    .program-title {
        top: 430px;
        font-size: 180px;
    }

    .program-title strong {
        top: calc(var(--spacing) * 4.5);
        font-size: 90px;
    }

    .program-copy {
        top: calc(var(--spacing) * 125);
        left: 174px;
        width: 613px;
        font-size: 20px;
    }

    .program-cta {
        top: 1082px;
        left: calc(var(--spacing) * 42.5);
        width: 280px;
        height: 58px;
        font-size: 18px;
    }
}

@media (max-width: 959px) {
    .program {
        height: 930px;
    }

    .program-inner {
        width: 640px;
    }

    .program-video {
        top: 47px;
        left: 11px;
        width: 620px;
        height: 359px;
    }

    .program-title {
        top: 345px;
        font-size: 120px;
    }

    .program-copy {
        top: 718px;
        left: calc(var(--spacing) * 10.5);
        width: 472px;
    }

    .program-cta {
        top: 826px;
        left: calc(var(--spacing) * 22.5);
    }
}

@media (max-width: 639px) {
    .program {
        height: 720px;
    }

    .program-inner {
        width: 480px;
    }

    .program-video {
        top: 21px;
        left: 11px;
        width: 459px;
        height: 295px;
    }

    .program-title {
        top: 267px;
        width: 453px;
        font-size: 90px;
    }

    .program-title strong {
        top: calc(var(--spacing) * 2);
        font-size: 70px;
    }

    .program-copy {
        top: 542px;
        left: 49px;
        width: 383px;
        font-size: 18px;
    }

    .program-cta {
        top: 631px;
        left: calc(var(--spacing) * 12.5);
    }
}

@media (max-width: 479px) {
    .program {
        height: 817px;
    }

    .program-inner {
        width: 390px;
    }

    .program-video {
        left: 11px;
        width: 369px;
        height: 425px;
    }

    .program-title {
        top: calc(var(--spacing) * 50);
        width: 453px;
        font-size: 65px;
    }

    .program-title strong {
        top: calc(var(--spacing) * 1.5);
        font-size: 40px;
    }

    .program-copy {
        top: 702px;
        left: calc(var(--spacing) * 7);
        width: 278px;
        font-size: 16px;
    }

    .program-cta {
        top: 630px;
        left: 86px;
        width: 198px;
        height: 47px;
        border-width: 3px;
        font-size: 16px;
    }
}

@media (max-width: 389px) {
    .program {
        height: 787px;
    }

    .program-inner {
        width: 320px;
    }

    .program-video {
        left: 11px;
        width: 297px;
    }

    .program-title {
        top: 401px;
        width: 240px;
        font-size: 55px;
    }

    .program-copy {
        top: 678px;
        left: 21px;
    }

    .program-cta {
        top: 601px;
        left: 61px;
    }
}

/* Care and trip preparation */
.care {
    position: relative;
    z-index: 2;
    height: 1528px;
    overflow: visible;
    color: var(--white);
    background: var(--sand);
}

/* The source artwork has its own transparent lower fade and intentionally
   continues beneath the following trip carousel, just as in the original. */
.care > .section-background-clip {
    overflow: visible;
}

.care-background {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 50%;
    display: block;
    width: 100vw;
    transform: translateX(-50%);
    pointer-events: none;
}

.care-background img {
    display: block;
    width: 100%;
    height: auto;
}

.care-inner {
    position: absolute;
    z-index: 1;
    inset: 0 auto auto 50%;
    width: 1920px;
    height: 100%;
    transform: translateX(-50%);
}

.care-title,
.care-lead,
.care-column-title,
.care-list,
.care-contract,
.care-next-title {
    position: absolute;
    margin: 0;
}

.care-title,
.care-lead,
.care-next-title {
    font-family: "Safari Display", sans-serif;
    font-weight: 300;
    text-align: center;
    text-transform: uppercase;
}

.care-title {
    top: 90px;
    left: calc(var(--spacing) * 39.5);
    width: 1288px;
    color: hsl(23.16, 34.55%, 32.35%);
    font-size: 200px;
    line-height: 1;
}

.care-lead {
    top: calc(var(--spacing) * 57);
    left: 361px;
    width: 1199px;
    font-size: 105px;
    line-height: 1;
}

.care-column-title {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
}

.care-column-title--planning {
    top: 726px;
    left: 461px;
    width: 531px;
}

.care-column-title--safety {
    top: 726px;
    left: 1055px;
    width: 439px;
}

.care-list {
    padding: 0;
    list-style: none;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
}

.care-list--planning {
    top: 794px;
    left: 494px;
    width: 531px;
}

.care-list--safety {
    top: calc(var(--spacing) * 103.5);
    left: 1089px;
    width: 439px;
}

.care-list li {
    position: relative;
    margin-bottom: 1.3em;
    list-style: none;
}

/* ACF adds an inner list; keep only the custom checkmark, not its native bullet. */
.care-list li::marker,
.company-points li::marker {
    content: "";
}

.care-list li:last-child {
    margin-bottom: 0;
}

.care-list li::before {
    position: absolute;
    top: 11px;
    left: -34px;
    width: 20px;
    height: 20px;
    content: "";
    background: url("../images/svg/check-yellow.svg") center / contain no-repeat;
}

.care-list strong {
    color: hsl(43.1, 100%, 72.16%);
    font-weight: 400;
}

.care-contract {
    top: 1174px;
    left: 477px;
    width: 966px;
    color: hsl(43.1, 100%, 72.16%);
    font-size: 32px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
}

.care-next-title {
    top: 1378px;
    left: 477px;
    width: 966px;
    font-size: 105px;
    line-height: 1.3;
}

@media (max-width: 1919px) {
    .care {
        height: 1321px;
    }

    .care-background {
        top: -26px;
    }

    .care-inner {
        width: 1200px;
    }

    .care-title {
        top: 49px;
        left: 41px;
        width: 1119px;
        font-size: 180px;
    }

    .care-lead {
        top: 381px;
        left: 149px;
        width: 902px;
        font-size: 80px;
    }

    .care-column-title--planning {
        top: 619px;
        left: 71px;
    }

    .care-column-title--safety {
        top: 619px;
        left: 665px;
    }

    .care-list--planning {
        top: 687px;
        left: calc(var(--spacing) * 13);
    }

    .care-list--safety {
        top: 721px;
        left: 699px;
    }

    .care-contract {
        top: 1067px;
        left: 117px;
    }

    .care-next-title {
        top: 1190px;
        left: 117px;
    }
}

@media (max-width: 1199px) {
    .care {
        height: 1131px;
    }

    .care-background {
        top: 0;
    }

    .care-inner {
        width: 960px;
    }

    .care-title {
        top: calc(var(--spacing) * 3.5);
        left: 53px;
        width: 854px;
        font-size: 140px;
    }

    .care-lead {
        top: 286px;
        left: 131px;
        width: 699px;
        font-size: 70px;
    }

    .care-column-title,
    .care-list {
        font-size: 20px;
    }

    .care-column-title--planning {
        top: calc(var(--spacing) * 60);
        left: 22px;
    }

    .care-column-title--safety {
        top: calc(var(--spacing) * 60);
        left: 591px;
        width: 306px;
    }

    .care-list--planning {
        top: 526px;
        left: 55px;
        width: 406px;
    }

    .care-list--safety {
        top: 558px;
        left: 591px;
        width: 310px;
    }

    .care-list li::before {
        width: 18px;
        height: 18px;
    }

    .care-contract {
        top: 839px;
        left: 119px;
        width: 723px;
        font-size: 24px;
    }

    .care-next-title {
        top: 993px;
        left: 61px;
        width: 839px;
    }
}

@media (max-width: 959px) {
    .care {
        height: 1561px;
    }

    .care-inner {
        width: 640px;
    }

    .care-title {
        top: calc(var(--spacing) * 8);
        left: 43px;
        width: 555px;
        font-size: 95px;
    }

    .care-lead {
        top: 234px;
        left: 75px;
        width: 491px;
        font-size: 50px;
    }

    .care-column-title--planning {
        top: 386px;
        left: 15px;
    }

    .care-column-title--safety {
        top: 675px;
        left: 15px;
        width: 552px;
    }

    .care-list--planning {
        top: calc(var(--spacing) * 54);
        left: 45px;
        width: 559px;
    }

    .care-list--safety {
        top: 721px;
        left: 45px;
        width: 512px;
    }

    .care-contract {
        top: 921px;
        left: calc(var(--spacing) * 8);
        width: 496px;
    }

    .care-next-title {
        top: calc(var(--spacing) * 143);
        left: 102px;
        width: 436px;
        font-size: 95px;
        line-height: 1;
    }
}

@media (max-width: 639px) {
    .care {
        height: 1380px;
    }

    .care-inner {
        width: 480px;
    }

    .care-title {
        top: 51px;
        left: 63px;
        width: 354px;
    }

    .care-lead {
        top: 318px;
        left: 31px;
        width: 418px;
        font-size: 40px;
    }

    .care-column-title--planning {
        top: 426px;
        left: 9px;
        width: 462px;
    }

    .care-column-title--safety {
        top: calc(var(--spacing) * 91.5);
        left: 9px;
        width: 454px;
    }

    .care-list--planning {
        top: calc(var(--spacing) * 59);
        left: 45px;
        width: 425px;
    }

    .care-list--safety {
        top: calc(var(--spacing) * 100.5);
        left: 45px;
        width: 416px;
    }

    .care-contract {
        top: 1007px;
        left: 73px;
        width: 334px;
        font-size: 22px;
    }

    .care-next-title {
        top: 1201px;
        left: calc(var(--spacing) * 14);
        width: 257px;
        font-size: 60px;
    }
}

@media (max-width: 479px) {
    .care {
        height: 1121px;
    }

    .care-inner {
        width: 390px;
    }

    .care-title {
        top: 34px;
        left: 18px;
        font-size: 65px;
    }

    .care-lead {
        top: calc(var(--spacing) * 18);
        left: 11px;
        width: 368px;
    }

    .care-column-title,
    .care-list {
        font-size: 16px;
    }

    .care-column-title--planning {
        top: 297px;
        left: 10px;
        width: 369px;
    }

    .care-column-title--safety {
        top: 543px;
        left: 10px;
        width: 371px;
    }

    .care-list--planning {
        top: 338px;
        left: 34px;
        width: 333px;
    }

    .care-list--safety {
        top: 605px;
        left: 34px;
        width: 329px;
    }

    .care-list li::before {
        top: var(--spacing);
        left: -24px;
        width: 10px;
        height: 10px;
    }

    .care-contract {
        top: 771px;
        left: calc(var(--spacing) * 3.5);
        width: 334px;
        color: var(--white);
        font-size: 20px;
    }

    .care-next-title {
        top: 1022px;
        left: -9px;
        width: 408px;
        font-size: 45px;
    }
}

@media (max-width: 389px) {
    .care {
        height: 1101px;
    }

    .care-inner {
        width: 320px;
    }

    .care-title {
        top: 31px;
        left: 10px;
        width: 308px;
    }

    .care-lead {
        top: 207px;
        left: 23px;
        width: 276px;
        font-size: 30px;
    }

    .care-column-title--planning {
        top: calc(var(--spacing) * 40.5);
        width: 297px;
    }

    .care-column-title--safety {
        top: 569px;
        width: 298px;
    }

    .care-list--planning {
        top: 365px;
        width: 278px;
    }

    .care-list--safety {
        top: 631px;
        width: 276px;
    }

    .care-list li::before {
        top: 7px;
    }

    .care-contract {
        top: 797px;
        left: 7px;
        width: 307px;
    }

    .care-next-title {
        top: 986px;
        left: 26px;
        width: 268px;
    }
}

/* Trip stages carousel */
.trip-carousel {
    --trip-card-height: 550px;
    height: calc(var(--trip-card-height) + 74px);
    padding-top: 0;
    padding-bottom: 30px;
}

/* Keep the care artwork behind the slides and controls without cutting off
   its lower fade. The carousel itself must not create a stacking context. */
.trip-carousel .reasons-carousel-viewport,
.trip-carousel .reasons-carousel-dots {
    position: relative;
    z-index: 3;
}

.trip-carousel .reasons-carousel-viewport,
.trip-carousel .reasons-carousel-track,
.trip-carousel .reason-slide,
.trip-carousel .reason-slide img {
    height: var(--trip-card-height);
}

.trip-carousel .reason-slide img {
    object-position: center center;
}

.trip-carousel .reasons-carousel-arrow {
    top: calc(var(--trip-card-height) / 2);
}

@media (max-width: 1199px) {
    .trip-carousel {
        --trip-card-height: 448px;
    }
}

@media (max-width: 959px) {
    .tanzania-background {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transform: none;
    }

    .tanzania-background img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: right top;
    }

    .memory-form-consents {
        right: 0;
        width: 100%;
    }

    .memory-form-consents label {
        width: 100%;
    }

    .memory-form-consents label span {
        min-width: 0;
    }
}

@media (max-width: 639px) {
    .audience-gift-title,
    .safety-title,
    .equipment-visa,
    .equipment-features,
    .blog-intro h2 {
        max-width: 100%;
    }
}

@media (max-width: 959px) {
    .program-video,
    .activity-card-visual,
    .feature-slider-photo,
    .blog-card-photo,
    .blogger-card-media,
    .company-video,
    .travel-gallery-card,
    .team-preview-photo,
    .team-card-media,
    .office-gallery-card {
        overflow: hidden;
    }

    .program-video > img,
    .tour-card-photo,
    .activity-card-photo,
    .feature-slider-photo img,
    .blog-card-photo img,
    .blogger-card-media img,
    .company-video > img,
    .travel-gallery-card > img,
    .story-card-photo,
    .team-preview-photo img,
    .team-card-media img,
    .office-gallery-card img,
    .hotel-slider-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
}

@media (max-width: 389px) {
    .benefits-inner,
    .benefit,
    .guides-title,
    .equipment-visa {
        max-width: 100%;
    }
}

@media (max-width: 959px) {
    .trip-carousel {
        --trip-card-height: 384px;
    }
}

@media (max-width: 639px) {
    .trip-carousel {
        --trip-card-height: calc(100vw * 55 / 86);
        height: calc(var(--trip-card-height) + 59px);
        padding-top: 0;
        padding-bottom: 15px;
    }
}

/* Tours carousel */
.track-slider-arrow {
    position: absolute;
    width: 70px;
    height: 70px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition: transform 160ms ease, filter 160ms ease;
}

.track-slider-arrow:hover {
    filter: brightness(1.08);
    transform: scale(1.04);
}

.track-slider-arrow img {
    display: block;
    width: 100%;
    height: 100%;
}

.track-slider-viewport {
    position: relative;
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y;
}

.track-slider-viewport.is-dragging {
    cursor: grabbing;
}

.track-slider-track {
    display: flex;
    width: max-content;
    transition: transform 300ms ease;
    will-change: transform;
}

.track-slider-track.is-dragging {
    transition: none;
}

.tours {
    position: relative;
    /* Stop the preceding care artwork from painting over this section. */
    z-index: 2;
    overflow: hidden;
    background: var(--brown);
}

.tours-heading {
    position: relative;
    z-index: 2;
    height: 600px;
}

.tours-heading-inner {
    position: relative;
    width: 1200px;
    height: 100%;
    margin: 0 auto;
}

.tours-title,
.tours-word,
.tours-description {
    position: absolute;
    margin: 0;
}

.tours-title {
    top: 71px;
    left: calc(var(--spacing) * 33.5);
    z-index: 2;
    width: 665px;
    color: var(--white);
    font-family: "Safari Display", sans-serif;
    font-size: 80px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.tours-word {
    top: 179px;
    left: 0;
    width: 1200px;
    color: var(--yellow);
    font-family: "Safari Display", sans-serif;
    font-size: 230px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

.tours-description {
    top: 439px;
    left: 285px;
    width: 630px;
    color: var(--white);
    font-size: 22px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
}

.tours-arrow {
    top: 566px;
    z-index: 5;
}

.tours-arrow:active {
    transform: scale(0.96);
}

.tours-arrow:focus-visible,
.tour-card-button:focus-visible,
.tours-viewport:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: 3px;
}

.tours-arrow--previous {
    left: calc(var(--spacing) * 65);
}

.tours-arrow--next {
    left: 610px;
}

.tours-viewport {
    height: 740px;
}

.tours-track {
    gap: calc(var(--spacing) * 3.5);
    margin-left: calc(50vw - 600px - 27px);
}

.tour-card {
    position: relative;
    flex: 0 0 460px;
    width: 460px;
    height: 699px;
    color: var(--white);
}

.tour-card::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 675px;
    border-radius: 15px;
    background: var(--brown-deep);
    content: "";
}

.tour-card-photo {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 360px;
    border-radius: 15px;
    object-fit: cover;
}

.tour-card-content {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.tour-card h3,
.tour-card-subtitle,
.tour-card-note {
    position: absolute;
    left: 50%;
    margin: 0;
    text-align: center;
    transform: translateX(-50%);
}

.tour-card h3 {
    top: 387px;
    width: 310px;
    font-size: 26px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
}

.tour-card-subtitle {
    top: calc(var(--spacing) * 53.5);
    width: 420px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
}

.tour-card-note {
    top: 486px;
    width: 339px;
    font-size: 16px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.3;
}

.tour-card-meta {
    position: absolute;
    top: calc(var(--spacing) * 65);
    left: 25px;
    display: grid;
    grid-template-columns: 83px 1fr;
    column-gap: 61px;
    align-items: center;
    width: 410px;
    height: 70px;
    padding: 0 9px 0 66px;
    background: url("../images/tour-card-info.png") center / 100% 100% no-repeat;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.3;
}

.tour-card-duration,
.tour-card-route {
    display: block;
    text-align: center;
}

.tour-card-route {
    align-self: center;
}

.tour-card-button {
    position: absolute;
    top: 630px;
    left: 50%;
    display: grid;
    place-items: center;
    width: 245px;
    height: 68px;
    padding: 0 calc(var(--spacing) * 2);
    border: 5px solid var(--yellow);
    border-radius: 42px;
    color: var(--white);
    background: var(--orange);
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transform: translateX(-50%);
    transition: background-color 160ms ease, color 160ms ease;
}

.tour-card-button:hover {
    color: var(--orange);
    background: var(--white);
}

@media (min-width: 1920px) {
    .tours-heading {
        height: 736px;
    }

    .tours-heading-inner {
        width: 1920px;
    }

    .tours-title {
        top: calc(var(--spacing) * 10);
        left: 545px;
        width: 831px;
        font-size: 105px;
    }

    .tours-word {
        top: calc(var(--spacing) * 31);
        left: calc(var(--spacing) * 45);
    }

    .tours-description {
        top: 518px;
        left: 571px;
        width: 779px;
        font-size: 26px;
    }

    .tours-arrow {
        top: calc(var(--spacing) * 87.5);
    }

    .tours-arrow--previous {
        left: calc(var(--spacing) * 110);
    }

    .tours-arrow--next {
        left: 970px;
    }

    .tours-viewport {
        height: 760px;
    }

    .tours-track {
        margin-left: calc(50vw - 960px);
    }

    .tour-card-button {
        font-size: 26px;
    }
}

@media (max-width: 1199px) {
    .tours-heading-inner {
        width: 960px;
    }

    .tours-title {
        top: 74px;
        left: 214px;
        width: 532px;
        font-size: 70px;
    }

    .tours-word {
        top: 170px;
        left: 86px;
        width: 788px;
        font-size: 240px;
    }

    .tours-description {
        top: calc(var(--spacing) * 55);
        left: 197px;
        width: 566px;
        font-size: 20px;
    }

    .tours-arrow--previous {
        left: calc(var(--spacing) * 50);
    }

    .tours-arrow--next {
        left: 490px;
    }

    .tours-track {
        gap: calc(var(--spacing) * 2.5);
        margin-left: calc(50vw - 480px + 11px);
    }

    .tour-card--5 {
        order: 1;
    }

    .tour-card--6 {
        order: 2;
    }

    .tour-card--4 {
        order: 3;
    }

    .tour-card--1 {
        order: 4;
    }

    .tour-card--2 {
        order: 5;
    }

    .tour-card--3 {
        order: 6;
    }
}

/* Hotel gallery: reuses the shared slider behavior */
.hotel-slider {
    --equipment-background-overlap: 475px;
    position: relative;
    z-index: 2;
    overflow: hidden;
    padding-bottom: 15px;
    background: linear-gradient(
        to bottom,
        var(--sand) 0,
        var(--sand) calc(100% - var(--equipment-background-overlap)),
        transparent calc(100% - var(--equipment-background-overlap)),
        transparent 100%
    );
}

.hotel-slider-main {
    position: relative;
    z-index: 2;
}

.hotel-slider-viewport {
    width: 860px;
    margin: 0 auto;
    overflow-x: auto;
    overflow-y: hidden;
    border-radius: 10px;
    scrollbar-width: none;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    touch-action: pan-y;
    cursor: grab;
}

.hotel-slider-viewport::-webkit-scrollbar {
    display: none;
}

.hotel-slider-viewport.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    scroll-snap-type: none;
}

.hotel-slider-track {
    display: flex;
    width: max-content;
}

.hotel-slider-card {
    flex: 0 0 860px;
    aspect-ratio: 860 / 500;
    margin: 0;
    overflow: hidden;
    scroll-snap-align: start;
}

.hotel-slider-card img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    object-fit: cover;
    transform: scale(0.8);
    transition: transform 0.6s ease;
}

.hotel-slider-card.is-active img {
    transform: scale(1);
}

.hotel-slider-arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    padding: 0;
    transform: translateY(-50%);
    border: 0;
    border-radius: 50%;
    color: var(--white);
    background: hsl(216.23, 55.21%, 37.65%);
    cursor: pointer;
}

.hotel-slider-arrow--previous {
    left: calc(50% - 445px);
}

.hotel-slider-arrow--next {
    left: calc(50% + 415px);
}

.hotel-slider-arrow svg {
    display: block;
    width: 10px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.hotel-slider-arrow:focus-visible,
.hotel-slider-viewport:focus-visible,
.hotel-slider-dots button:focus-visible {
    outline: 2px solid var(--white);
    outline-offset: 3px;
}

.hotel-slider-dots {
    position: relative;
    z-index: 2;
    display: flex;
    height: 44px;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
    padding-top: 26px;
}

.hotel-slider-dots button {
    width: 16px;
    height: 8px;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    border-radius: calc(var(--border-radius) * 12.5);
    background: var(--white);
    cursor: pointer;
    transition: width 0.6s ease, background-color 0.6s ease;
}

.hotel-slider-dots button.is-active {
    width: 28px;
    background: hsl(216.23, 55.21%, 37.65%);
}

.hotel-slider-captions {
    position: relative;
    z-index: 2;
    width: 760px;
    min-height: 74.3px;
    padding-top: calc(var(--spacing) * 2.5);
    margin: calc(var(--spacing) * 2) auto 0;
    border-top: 1px solid var(--white);
    text-align: center;
}

.hotel-slider-captions p {
    margin: 0;
    color: var(--white);
    font-size: 26px;
    font-weight: 400;
    line-height: 1.55;
}

.hotel-slider-captions p[hidden] {
    display: none;
}

@media (max-width: 1200px) {
    .hotel-slider-viewport {
        width: 700px;
    }

    .hotel-slider-card {
        flex-basis: 700px;
    }

    .hotel-slider-captions {
        width: 620px;
    }
}

@media (max-width: 960px) {
    .hotel-slider-viewport {
        width: 600px;
    }

    .hotel-slider-card {
        flex-basis: 600px;
    }

    .hotel-slider-arrow--previous {
        left: 35px;
    }

    .hotel-slider-arrow--next {
        right: 35px;
        left: auto;
    }

    .hotel-slider-captions {
        width: 600px;
    }
}

@media (max-width: 640px) {
    .hotel-slider-viewport {
        width: 100%;
        border-radius: 0;
    }

    .hotel-slider-card {
        flex-basis: 100vw;
    }

    .hotel-slider-card img {
        border-radius: 10px;
    }

    .hotel-slider-arrow {
        width: 24px;
        height: 24px;
    }

    .hotel-slider-arrow--previous {
        left: 5px;
    }

    .hotel-slider-arrow--next {
        right: 5px;
    }

    .hotel-slider-arrow svg {
        width: 8px;
        height: 14px;
    }

    .hotel-slider-captions {
        width: calc(100% - 40px);
    }
}

@media (max-width: 480px) {
    .hotel-slider-captions {
        min-height: 61.9px;
    }

    .hotel-slider-captions p {
        font-size: 18px;
    }
}

/* Equipment and travel support */
.equipment-section {
    --equipment-background-top: -475px;
    position: relative;
    z-index: 1;
    height: 1860px;
    overflow: visible;
    background: var(--sand);
}

.equipment-section > .section-background-clip {
    top: var(--equipment-background-top);
    background: var(--sand);
}

.equipment-background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
}

.equipment-title,
.equipment-subtitle,
.equipment-lead,
.equipment-visa,
.equipment-features,
.equipment-watch,
.equipment-download,
.equipment-card {
    position: absolute;
    left: 50%;
    z-index: 3;
    margin: 0;
    transform: translateX(-50%);
}

.equipment-title,
.equipment-subtitle,
.equipment-visa,
.equipment-features {
    font-family: "Safari Display", "Jost", Arial, sans-serif;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.equipment-title {
    top: 150px;
    width: 1372px;
    color: hsl(39.71, 100%, 59.41%);
    font-size: 170px;
}

.equipment-subtitle {
    top: 286px;
    width: 1168px;
    color: var(--white);
    font-size: 105px;
}

.equipment-lead {
    top: calc(var(--spacing) * 69.5);
    width: 981px;
    color: var(--white);
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
}

.equipment-card {
    top: calc(var(--spacing) * 77.5);
    width: 863px;
    height: 499px;
    border-radius: calc(var(--border-radius) * 2.5);
    color: var(--white);
    background: var(--brown-deep);
}

.equipment-card-copy {
    position: absolute;
    top: 51px;
    left: 55px;
    width: 812px;
    font-size: 28px;
    font-weight: 400;
    line-height: 36px;
}

.equipment-card-copy > p {
    position: relative;
}

.equipment-check {
    position: absolute;
    top: 0.25em;
    left: -36px;
    display: block;
    width: 20px;
    height: 20px;
}

.equipment-visa {
    top: 1238px;
    width: 1116px;
    color: var(--brown-deep);
    font-size: 230px;
}

.equipment-features {
    top: 1443px;
    width: 1237px;
    color: var(--white);
    font-size: 85px;
}

.equipment-features strong {
    color: var(--yellow);
}

.equipment-watch,
.equipment-download {
    display: grid;
    place-items: center;
    border-radius: 42px;
    color: var(--white);
    background: hsl(216, 63.27%, 51.96%);
    font-size: 26px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.2s ease-in-out;
}

.equipment-watch {
    top: 1689px;
    width: 481px;
    height: 68px;
    font-weight: 600;
    text-transform: uppercase;
}

.equipment-download {
    display: none;
}

.equipment-watch:hover,
.equipment-download:hover {
    background: var(--orange);
}

.equipment-watch:focus-visible,
.equipment-download:focus-visible {
    outline: 2px solid var(--white);
    outline-offset: 3px;
}

@media (max-width: 1919px) {
    .equipment-section {
        height: 1800px;
    }

    .equipment-background {
        left: -157px;
        width: 122%;
    }

    .equipment-title {
        width: 1372px;
    }

    .equipment-subtitle {
        width: 1078px;
    }

    .equipment-lead {
        top: 542px;
        font-size: 22px;
    }

    .equipment-card {
        top: 605px;
        transform: translateX(calc(-50% - 2.5px));
    }

    .equipment-card-copy {
        top: 51px;
    }

    .equipment-visa {
        top: calc(var(--spacing) * 156);
    }

    .equipment-features {
        top: 1453px;
    }

    .equipment-watch {
        top: 1685px;
        width: 364px;
        height: 45px;
        font-size: 16px;
    }
}

@media (max-width: 1199px) {
    .hotel-slider {
        --equipment-background-overlap: 170px;
    }

    .equipment-section {
        --equipment-background-top: -170px;
    }

    .equipment-title {
        width: 962px;
        font-size: 180px;
    }

    .equipment-subtitle {
        top: 471px;
        width: 791px;
        font-size: 80px;
    }

    .equipment-lead {
        top: 678px;
    }

    .equipment-card {
        top: 741px;
        height: 367px;
    }

    .equipment-card-copy {
        font-size: 22px;
        line-height: 29px;
    }

    .equipment-visa {
        font-size: 180px;
    }

    .equipment-features {
        top: 1405px;
        width: 938px;
        font-size: 80px;
    }

    .equipment-watch {
        top: calc(var(--spacing) * 211);
    }
}

@media (max-width: 959px) {
    .hotel-slider {
        --equipment-background-overlap: 55px;
    }

    .equipment-section {
        --equipment-background-top: -55px;
        height: 1650px;
    }

    .equipment-background {
        left: -167px;
        width: 166%;
    }

    .equipment-title {
        top: 325px;
        width: 647px;
        font-size: 100px;
    }

    .equipment-subtitle {
        top: calc(var(--spacing) * 63);
        width: 607px;
        font-size: 60px;
    }

    .equipment-lead {
        top: calc(var(--spacing) * 80.5);
        width: 611px;
        font-size: 20px;
    }

    .equipment-card {
        top: 693px;
        width: 620px;
        height: 400px;
        transform: translateX(-50%);
    }

    .equipment-card-copy {
        top: 34px;
        width: 537px;
        font-size: 20px;
        line-height: 26px;
    }

    .equipment-visa {
        top: 1193px;
        width: 533px;
        font-size: 100px;
    }

    .equipment-features {
        top: 1277px;
        width: 500px;
        font-size: 60px;
    }

    .equipment-watch {
        top: 1555px;
    }
}

@media (max-width: 639px) {
    .hotel-slider {
        --equipment-background-overlap: 25px;
    }

    .equipment-section {
        --equipment-background-top: -25px;
        height: 1530px;
    }

    .equipment-background {
        left: -171px;
    }

    .equipment-title {
        top: 319px;
        width: 409px;
    }

    .equipment-subtitle {
        top: calc(var(--spacing) * 62);
        width: 471px;
        font-size: 45px;
    }

    .equipment-lead {
        top: 606px;
        width: 370px;
        font-size: 18px;
    }

    .equipment-card {
        top: calc(var(--spacing) * 84);
        width: 462px;
        height: 358px;
        border-radius: 10px;
    }

    .equipment-card-copy {
        width: 382px;
        font-size: 16px;
        line-height: 21px;
    }

    .equipment-visa {
        top: 1110px;
    }

    .equipment-features {
        top: 1194px;
        width: 410px;
        font-size: 45px;
    }

    .equipment-watch {
        top: 1421px;
        width: 356px;
    }
}

@media (max-width: 479px) {
    .hotel-slider {
        --equipment-background-overlap: 26px;
    }

    .equipment-section {
        --equipment-background-top: -26px;
        height: 1280px;
    }

    .equipment-background {
        left: -242px;
        width: 220%;
    }

    .equipment-title {
        top: 50px;
        font-size: 65px;
    }

    .equipment-subtitle {
        top: 169px;
        width: 313px;
        font-size: 40px;
    }

    .equipment-lead {
        top: 309px;
        width: 300px;
        font-size: 16px;
    }

    .equipment-card {
        top: 391px;
        width: 370px;
        height: 400px;
    }

    .equipment-card-copy {
        width: 298px;
    }

    .equipment-visa {
        top: 911px;
        width: 341px;
        font-size: 65px;
    }

    .equipment-features {
        top: 965px;
        width: 410px;
        font-size: 40px;
    }

    .equipment-watch {
        display: none;
    }

    .equipment-download {
        top: 1153px;
        display: grid;
        width: 253px;
        height: 37px;
        font-size: 14px;
    }
}

@media (max-width: 389px) {
    .equipment-section {
        height: 1260px;
    }

    .equipment-lead {
        width: 254px;
    }

    .equipment-card {
        width: 301px;
        height: 459px;
    }

    .equipment-card-copy {
        width: 231px;
    }

    .equipment-features {
        width: 291px;
    }

    .equipment-download {
        top: 1159px;
        width: 230px;
    }
}

/* Tour features slider */
.feature-slider {
    --feature-card-width: 1160px;
    --feature-gap: 40px;
    --feature-side: calc(50vw - 960px);
    position: relative;
    height: 510px;
    overflow: visible;
    background: var(--sand);
}

.feature-slider-viewport {
    width: 100%;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    scroll-behavior: smooth;
    touch-action: pan-y;
    cursor: grab;
}

.feature-slider-viewport::-webkit-scrollbar {
    display: none;
}

.feature-slider-viewport.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
}

.feature-slider-track {
    display: flex;
    width: max-content;
    height: 100%;
    gap: var(--feature-gap);
    padding: 0 var(--feature-side);
}

.feature-slider-card {
    position: relative;
    width: var(--feature-card-width);
    height: 480px;
    flex: 0 0 var(--feature-card-width);
    overflow: hidden;
    border-radius: 15px;
    color: var(--white);
    background: var(--brown-deep);
}

.feature-slider-photo {
    position: absolute;
    top: calc(var(--spacing) * 5);
    left: calc(var(--spacing) * 5);
    width: 620px;
    height: 400px;
    overflow: hidden;
    border-radius: 15px;
}

.feature-slider-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.feature-slider-photo:hover img {
    transform: scale(1.05);
}

.feature-slider-card h2,
.feature-slider-card p {
    position: absolute;
    left: calc(var(--spacing) * 88);
    width: 418px;
    margin: 0;
    color: var(--white);
    font-size: 26px;
    line-height: 34px;
}

.feature-slider-card h2 {
    top: 145px;
    width: 400px;
    font-weight: 600;
    text-transform: uppercase;
}

.feature-slider-card p {
    top: 194px;
    font-weight: 400;
}

.feature-slider-card p strong {
    font-weight: 600;
}

.feature-slider-card p a {
    color: hsl(216, 63.27%, 51.96%);
    font-weight: 600;
    text-decoration: underline;
}

.feature-slider-card--charity p {
    top: calc(var(--spacing) * 28.5);
}

.feature-slider-arrow {
    position: absolute;
    top: -37px;
    z-index: 4;
    width: 70px;
    height: 70px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.feature-slider-arrow--previous {
    left: calc(50% - 80px);
}

.feature-slider-arrow--next {
    left: calc(50% + 10px);
}

.feature-slider-arrow img {
    display: block;
    width: 100%;
    height: 100%;
}

.feature-slider-arrow:focus-visible,
.feature-slider-viewport:focus-visible {
    outline: 2px solid var(--white);
    outline-offset: 3px;
}

@media (max-width: 1919px) {
    .feature-slider {
        --feature-side: calc((100vw - 1160px) / 2);
        height: 490px;
    }

    .feature-slider-card {
        height: 447px;
    }

    .feature-slider-photo {
        top: 23px;
        left: calc(var(--spacing) * 3);
    }

    .feature-slider-card h2,
    .feature-slider-card p {
        left: calc(var(--spacing) * 85.5);
    }

    .feature-slider-card h2 {
        top: 114px;
    }

    .feature-slider-card p {
        top: 163px;
    }

    .feature-slider-card--charity p {
        top: 197px;
    }

    .feature-slider-arrow {
        top: -35px;
    }
}

@media (max-width: 1199px) {
    .feature-slider {
        --feature-card-width: 940px;
        --feature-gap: 20px;
        --feature-side: 10px;
        height: 430px;
    }

    .feature-slider-card {
        height: 399px;
    }

    .feature-slider-card--prepayment {
        order: 1;
    }

    .feature-slider-card--instruction {
        order: 2;
    }

    .feature-slider-card--contract {
        order: 3;
    }

    .feature-slider-card--support {
        order: 4;
    }

    .feature-slider-card--airlines {
        order: 5;
    }

    .feature-slider-card--charity {
        order: 6;
    }

    .feature-slider-photo {
        top: calc(var(--spacing) * 2.5);
        left: calc(var(--spacing) * 2.5);
        width: 442px;
        height: 359px;
    }

    .feature-slider-card h2,
    .feature-slider-card p {
        left: 515px;
        font-size: 20px;
        line-height: 26px;
    }

    .feature-slider-card h2 {
        top: 114px;
    }

    .feature-slider-card p,
    .feature-slider-card--charity p {
        top: calc(var(--spacing) * 20);
        width: 370px;
    }
}

@media (max-width: 959px) {
    .feature-slider {
        --feature-card-width: 620px;
        --feature-side: 12px;
        height: 620px;
    }

    .feature-slider-card {
        height: 594px;
    }

    .feature-slider-card--prepayment {
        order: 1;
    }

    .feature-slider-card--instruction {
        order: 2;
    }

    .feature-slider-card--contract {
        order: 3;
    }

    .feature-slider-card--airlines {
        order: 4;
    }

    .feature-slider-card--support {
        order: 5;
    }

    .feature-slider-card--charity {
        order: 6;
    }

    .feature-slider-photo {
        width: 581px;
        height: 372px;
    }

    .feature-slider-card h2,
    .feature-slider-card p {
        left: calc(var(--spacing) * 2.5);
    }

    .feature-slider-card h2 {
        top: 422px;
        width: 400px;
    }

    .feature-slider-card p,
    .feature-slider-card--charity p {
        top: 458px;
        width: 583px;
    }

    .feature-slider-arrow {
        top: -28px;
        width: 56px;
        height: 56px;
    }

    .feature-slider-arrow--previous {
        left: calc(50% - 64px);
    }

    .feature-slider-arrow--next {
        left: calc(50% + 8px);
    }
}

@media (max-width: 639px) {
    .feature-slider {
        --feature-card-width: 460px;
        --feature-side: 11px;
        height: 650px;
    }

    .feature-slider-card {
        margin-top: 1px;
        height: 620px;
    }

    .feature-slider-card--prepayment {
        order: 1;
    }

    .feature-slider-card--contract {
        order: 2;
    }

    .feature-slider-card--instruction {
        order: 3;
    }

    .feature-slider-card--support {
        order: 4;
    }

    .feature-slider-card--airlines {
        order: 5;
    }

    .feature-slider-card--charity {
        order: 6;
    }

    .feature-slider-photo {
        top: calc(var(--spacing) * 2.5);
        left: 21px;
        width: 419px;
    }

    .feature-slider-card h2 {
        top: calc(var(--spacing) * 52);
    }

    .feature-slider-card p,
    .feature-slider-card--charity p {
        top: calc(var(--spacing) * 56.5);
        width: 422px;
    }

    .feature-slider-card--prepayment h2 {
        top: calc(var(--spacing) * 51.5);
    }
}

@media (max-width: 479px) {
    .feature-slider {
        --feature-card-width: 370px;
        --feature-gap: 20px;
        --feature-side: 10px;
        height: 470px;
    }

    .feature-slider-card {
        height: 444px;
    }

    .feature-slider-card--prepayment {
        order: 1;
    }

    .feature-slider-card--airlines {
        order: 2;
    }

    .feature-slider-card--instruction {
        order: 3;
    }

    .feature-slider-card--support {
        order: 4;
    }

    .feature-slider-card--contract {
        order: 5;
    }

    .feature-slider-card--charity {
        order: 6;
    }

    .feature-slider-photo {
        top: 18px;
        left: 18px;
        width: 334px;
        height: 250px;
    }

    .feature-slider-card h2,
    .feature-slider-card p {
        left: 18px;
    }

    .feature-slider-card h2 {
        top: calc(var(--spacing) * 36);
        width: 308px;
    }

    .feature-slider-card p,
    .feature-slider-card--charity p {
        top: calc(var(--spacing) * 40.5);
        width: 334px;
        font-size: 16px;
        line-height: 21px;
    }

    .feature-slider-card--charity p {
        top: 350px;
    }
}

@media (max-width: 389px) {
    .feature-slider {
        --feature-card-width: 299px;
        --feature-gap: 19px;
        height: 460px;
    }

    .feature-slider-card {
        margin-top: 0;
        height: 443px;
    }

    .feature-slider-card--prepayment {
        order: 1;
    }

    .feature-slider-card--contract {
        order: 2;
    }

    .feature-slider-card--instruction {
        order: 3;
    }

    .feature-slider-card--support {
        order: 4;
    }

    .feature-slider-card--airlines {
        order: 5;
    }

    .feature-slider-card--charity {
        order: 6;
    }

    .feature-slider-photo {
        top: 17px;
        left: 15px;
        width: 269px;
        height: 239px;
    }

    .feature-slider-card h2,
    .feature-slider-card p {
        left: 15px;
    }

    .feature-slider-card h2 {
        top: calc(var(--spacing) * 34.5);
        width: 245px;
    }

    .feature-slider-card p,
    .feature-slider-card--charity p {
        top: 338px;
        width: 267px;
    }

    .feature-slider-card--prepayment p {
        top: calc(var(--spacing) * 39);
    }
}

/* Journey benefits and photo-gallery heading */
.journey-benefits {
    position: relative;
    height: 2051px;
    overflow: visible;
    background: var(--brown);
}

.journey-benefits-background {
    position: absolute;
    top: -275px;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    pointer-events: none;
}

.journey-benefits-background img {
    display: block;
    width: 100%;
    height: auto;
}

.journey-benefits-title,
.journey-benefits-lead,
.journey-gallery-title,
.journey-gallery-lead {
    position: absolute;
    left: 50%;
    z-index: 2;
    margin: 0;
    transform: translateX(-50%);
    text-align: center;
}

.journey-benefits-title {
    top: calc(var(--spacing) * 20);
    width: 1100px;
    color: var(--brown-deep);
    font-family: "Safari Display", "Jost", sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-transform: uppercase;
}

.journey-benefits-title strong {
    color: hsl(39.55, 88.84%, 49.22%);
}

.journey-benefits-lead {
    top: 515px;
    width: 560px;
    color: var(--brown-deep);
    font-size: 26px;
    font-weight: 400;
    line-height: 1;
}

.journey-benefits-cards {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.journey-benefit-card {
    position: absolute;
    top: 601px;
    width: 360px;
    margin: 0;
    border-radius: calc(var(--border-radius) * 2.5);
    color: var(--white);
    background: var(--brown);
    text-align: center;
}

.journey-benefit-card--reset {
    left: calc(50% - 650px);
    height: 334px;
}

.journey-benefit-card--impressions {
    left: calc(50% - 250px);
    height: 305px;
    background: var(--sand);
}

.journey-benefit-card--safety {
    left: calc(50% + 150px);
    width: 359px;
    height: 410px;
}

.journey-benefit-card h3 {
    position: absolute;
    top: calc(var(--spacing) * 2.5);
    left: 50%;
    width: calc(100% - 54px);
    margin: 0;
    transform: translateX(-50%);
    font-size: 26px;
    font-weight: 600;
    line-height: 1.3;
    text-transform: uppercase;
}

.journey-benefit-card p,
.journey-benefit-card ul {
    position: absolute;
    left: 13px;
    width: 334px;
    margin: 0;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.3;
}

.journey-benefit-card p {
    top: 103px;
}

.journey-benefit-card ul {
    top: 69px;
    padding-left: calc(var(--spacing) * 2.5);
    text-align: left;
}

.journey-benefit-card li {
    padding-left: 0;
}

.journey-gallery-title {
    top: 1498px;
    width: 1022px;
    color: var(--white);
    font-family: "Safari Display", "Jost", sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-transform: uppercase;
}

.journey-gallery-title strong {
    position: relative;
    bottom: -40px;
    z-index: -1;
    color: var(--yellow);
    font-size: 230px;
    line-height: 1;
}

.journey-gallery-lead {
    top: 1981px;
    width: 1010px;
    font-size: 26px;
    line-height: 1.55;
}

.journey-gallery-arrow {
    position: absolute;
    top: 2037px;
    z-index: 3;
    width: 70px;
    height: 70px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition: filter 160ms ease, transform 160ms ease;
}

.journey-gallery-arrow:hover {
    filter: brightness(1.08);
    transform: scale(1.04);
}

.journey-gallery-arrow--previous {
    left: calc(50% - 80px);
}

.journey-gallery-arrow--next {
    left: calc(50% + 10px);
}

.journey-gallery-arrow img {
    display: block;
    width: 100%;
    height: 100%;
}

.journey-gallery-arrow:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: 3px;
}

@media (max-width: 1919px) {
    .journey-benefits {
        height: 1691px;
    }

    .journey-benefits-background {
        top: -26px;
    }

    .journey-benefits-title {
        top: 49px;
        width: 977px;
        font-size: 100px;
    }

    .journey-benefits-lead {
        top: calc(var(--spacing) * 48.5);
    }

    .journey-benefit-card {
        top: calc(var(--spacing) * 58);
    }

    .journey-benefit-card--reset {
        left: calc(50% - 579px);
    }

    .journey-benefit-card--impressions {
        left: calc(50% - 179px);
    }

    .journey-benefit-card--safety {
        left: calc(50% + 221px);
    }

    .journey-gallery-title {
        top: calc(var(--spacing) * 139);
    }

    .journey-gallery-lead {
        top: 1595px;
    }

    .journey-gallery-arrow {
        top: 1653px;
    }
}

@media (max-width: 1199px) {
    .journey-benefits {
        height: 1211px;
    }

    .journey-benefits-background {
        top: 0;
    }

    .journey-benefits-title {
        top: 78px;
        width: 854px;
        font-size: 60px;
    }

    .journey-benefits-lead {
        top: calc(var(--spacing) * 28.5);
        font-size: 20px;
    }

    .journey-benefit-card {
        top: 293px;
        width: 300px;
        border-radius: calc(var(--border-radius) * 2.5);
    }

    .journey-benefit-card--reset {
        left: calc(50% - 470px);
        height: 283px;
    }

    .journey-benefit-card--impressions {
        left: calc(50% - 150px);
        height: 255px;
    }

    .journey-benefit-card--safety {
        left: calc(50% + 171px);
        height: 343px;
    }

    .journey-benefit-card h3 {
        font-size: 20px;
        line-height: 1.3;
    }

    .journey-benefit-card p,
    .journey-benefit-card ul {
        left: calc(var(--spacing) * 1.5);
        width: 276px;
        font-size: 18px;
    }

    .journey-benefit-card p {
        top: 87px;
    }

    .journey-benefit-card ul {
        top: 61px;
    }

    .journey-gallery-title {
        top: 803px;
        width: 90%;
        font-size: 60px;
    }

    .journey-gallery-title strong {
        font-size: 160px;
    }

    .journey-gallery-lead {
        top: 1117px;
        font-size: 20px;
    }

    .journey-gallery-arrow {
        top: 1178px;
    }
}

@media (max-width: 959px) {
    .journey-benefits {
        height: 2430px;
    }

    .journey-benefits-background {
        top: -248px;
    }

    .journey-benefits-title {
        top: calc(var(--spacing) * 8);
        width: 555px;
        font-size: 95px;
    }

    .journey-benefits-lead {
        top: 569px;
        width: 437px;
        font-size: 26px;
    }

    .journey-benefit-card--reset,
    .journey-benefit-card--impressions,
    .journey-benefit-card--safety {
        left: calc(50% - 150px);
    }

    .journey-benefit-card--reset {
        top: 619px;
    }

    .journey-benefit-card--impressions {
        top: calc(var(--spacing) * 116);
    }

    .journey-benefit-card--safety {
        top: calc(var(--spacing) * 150.5);
    }

    .journey-gallery-title {
        top: 2013px;
        width: 90%;
    }

    .journey-gallery-lead {
        top: 2329px;
        width: 498px;
        line-height: 1.3;
    }

    .journey-gallery-arrow {
        top: 2402px;
        width: 56px;
        height: 56px;
    }

    .journey-gallery-arrow--previous {
        left: calc(50% - 64px);
    }

    .journey-gallery-arrow--next {
        left: calc(50% + 8px);
    }
}

@media (max-width: 693px) {
    .journey-gallery-title {
        font-size: 55px;
    }

    .journey-gallery-title strong {
        bottom: -15px;
        font-size: 85px;
    }
}

@media (max-width: 639px) {
    .journey-benefits {
        height: 1920px;
    }

    .journey-benefits-title {
        top: 51px;
        width: 411px;
        font-size: 65px;
    }

    .journey-benefits-lead {
        top: calc(var(--spacing) * 49.5);
        width: 437px;
        font-size: 16px;
    }

    .journey-benefit-card {
        left: 10px;
        width: calc(100% - 20px);
    }

    .journey-benefit-card--reset {
        top: 453px;
        height: 203px;
    }

    .journey-benefit-card--impressions {
        top: calc(var(--spacing) * 84.5);
        height: 180px;
    }

    .journey-benefit-card--safety {
        top: calc(var(--spacing) * 109.5);
        height: 279px;
    }

    .journey-benefit-card h3 {
        width: calc(100% - 72px);
    }

    .journey-benefit-card p,
    .journey-benefit-card ul {
        left: 18px;
        width: calc(100% - 36px);
    }

    .journey-benefit-card p {
        top: 65px;
    }

    .journey-benefit-card ul {
        top: 61px;
    }

    .journey-gallery-title {
        top: 1543px;
        width: 90%;
    }

    .journey-gallery-lead {
        top: 1833px;
        width: 403px;
        font-size: 16px;
    }

    .journey-gallery-arrow {
        top: 1891px;
    }
}

@media (max-width: 479px) {
    .journey-benefits {
        height: 1531px;
    }

    .journey-benefits-background {
        top: -392px;
    }

    .journey-benefits-title {
        top: 34px;
        width: 318px;
        font-size: 40px;
    }

    .journey-benefits-lead {
        top: 214px;
        width: 437px;
        font-size: 16px;
    }

    .journey-benefit-card {
        left: 10px;
        width: calc(100% - 20px);
        border-radius: 10px;
    }

    .journey-benefit-card--reset {
        top: 261px;
        height: 187px;
    }

    .journey-benefit-card--impressions {
        top: 458px;
        height: 169px;
    }

    .journey-benefit-card--safety {
        top: 637px;
        height: 215px;
    }

    .journey-benefit-card h3 {
        top: 15px;
        width: calc(100% - 76px);
        font-size: 20px;
        line-height: 1.3;
    }

    .journey-benefit-card--safety h3 {
        width: calc(100% - 2px);
    }

    .journey-benefit-card p,
    .journey-benefit-card ul {
        left: 14px;
        width: calc(100% - 32px);
        font-size: 14px;
        line-height: 1.3;
    }

    .journey-benefit-card p {
        top: 82px;
    }

    .journey-benefit-card ul {
        top: calc(var(--spacing) * 7);
        padding-left: calc(var(--spacing) * 2.5);
    }

    .journey-gallery-title {
        top: 1255px;
        width: 100%;
        font-size: 40px;
    }

    .journey-gallery-title strong {
        bottom: -10px;
        font-size: 65px;
    }

    .journey-gallery-lead {
        top: calc(var(--spacing) * 181);
        width: 293px;
        font-size: 16px;
        line-height: 1.3;
    }

    .journey-gallery-arrow {
        top: 1507px;
        width: 40px;
        height: 40px;
    }

    .journey-gallery-arrow--previous {
        left: calc(50% - 45px);
    }

    .journey-gallery-arrow--next {
        left: calc(50% + 5px);
    }
}

@media (max-width: 389px) {
    .journey-benefits {
        height: 1381px;
    }

    .journey-benefits-background {
        top: -210px;
    }

    .journey-benefits-title {
        top: 31px;
        width: 308px;
        font-size: 40px;
    }

    .journey-benefits-lead {
        top: 211px;
    }

    .journey-benefit-card {
        width: calc(100% - 21px);
    }

    .journey-benefit-card--reset {
        top: calc(var(--spacing) * 30.5);
    }

    .journey-benefit-card--impressions {
        top: 442px;
    }

    .journey-benefit-card--safety {
        top: 621px;
        width: calc(100% - 22px);
        height: 223px;
    }

    .journey-benefit-card h3 {
        font-size: 18px;
    }

    .journey-benefit-card p {
        top: 67px;
    }

    .journey-benefit-card ul {
        top: 41px;
    }

    .journey-gallery-title {
        top: 1074px;
    }

    .journey-gallery-lead {
        top: 1307px;
    }

    .journey-gallery-arrow {
        top: 1361px;
    }
}

/* Travel photo and video gallery */
.travel-gallery {
    position: relative;
    background: var(--brown);
}

.travel-gallery-viewport {
    position: relative;
    height: 530px;
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y;
    scrollbar-width: none;
}

.travel-gallery-viewport::-webkit-scrollbar {
    display: none;
}

.travel-gallery-viewport.is-dragging {
    cursor: grabbing;
}

.travel-gallery-track {
    position: relative;
    display: flex;
    width: max-content;
    height: 100%;
    gap: 30px;
    margin-left: calc(50vw - 960px + 12px);
}

.travel-gallery-card {
    position: relative;
    top: 17px;
    display: block;
    flex: 0 0 360px;
    width: 360px;
    height: 500px;
    padding: 0;
    margin: 0;
    overflow: hidden;
    border: 0;
    border-radius: calc(var(--border-radius) * 2.5);
    background: var(--brown-deep);
}

.travel-gallery-card--video {
    border-radius: 10px;
    cursor: pointer;
}

.travel-gallery-card > img,
.travel-gallery-card iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.travel-gallery-card--video::before {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 100px;
    height: 100px;
    transform: translate(-50%, -50%);
    background: url("../images/svg/play-button-dark.svg") center / cover no-repeat;
    content: "";
    opacity: 0.9;
    pointer-events: none;
}

.travel-gallery-card--video.is-playing::before {
    display: none;
}

.travel-gallery-footer {
    position: relative;
    z-index: 3;
    height: 108px;
    background: var(--brown);
}

.travel-gallery-cta {
    position: absolute;
    top: -40px;
    left: 50%;
    display: grid;
    width: 217px;
    height: 68px;
    place-items: center;
    transform: translateX(-50%);
    border: 5px solid var(--yellow);
    border-radius: 42px;
    background: var(--orange);
    font-size: 26px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    transition: background-color 160ms ease, border-color 160ms ease;
}

.travel-gallery-cta:hover {
    border-color: var(--orange);
    background: var(--orange-hot);
}

.travel-gallery-viewport:focus-visible,
.travel-gallery-card--video:focus-visible,
.travel-gallery-cta:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: 3px;
}

@media (max-width: 1919px) {
    .travel-gallery-viewport {
        height: 550px;
    }

    .travel-gallery-track {
        margin-left: calc(50vw - 600px + 12px);
    }
}

@media (max-width: 1199px) {
    .travel-gallery-viewport {
        height: 420px;
    }

    .travel-gallery-track {
        gap: 23px;
        margin-left: calc(50vw - 480px + 12px);
    }

    .travel-gallery-card {
        flex-basis: 263px;
        width: 263px;
        height: 366px;
    }

    .travel-gallery-cta {
        top: -29px;
        width: 226px;
        height: 58px;
        font-size: 18px;
    }
}

@media (max-width: 959px) {
    .travel-gallery-viewport {
        height: 400px;
    }

    .travel-gallery-track {
        margin-left: calc(50vw - 320px + 10px);
    }

    .travel-gallery-card {
        top: 7px;
    }

    .travel-gallery-cta {
        top: -21px;
        width: 234px;
        height: 47px;
        border-width: 3px;
        font-size: 16px;
    }
}

@media (max-width: 639px) {
    .travel-gallery-viewport {
        height: 340px;
    }

    .travel-gallery-track {
        gap: 19px;
        margin-left: calc(50vw - 240px + 10px);
    }

    .travel-gallery-card {
        flex-basis: 218px;
        width: 218px;
        height: 303px;
    }

    .travel-gallery-cta {
        top: -20px;
    }
}

@media (max-width: 479px) {
    .travel-gallery-viewport {
        height: 270px;
    }

    .travel-gallery-track {
        gap: calc(var(--spacing) * 2);
        margin-left: calc(50vw - 195px + 10px);
    }

    .travel-gallery-card {
        top: 7px;
        flex-basis: 174px;
        width: 174px;
        height: 242px;
        border-radius: 10px;
    }
}

@media (max-width: 389px) {
    .travel-gallery-track {
        margin-left: calc(50vw - 160px + 10px);
    }
}

/* Company certificates slider */
.certificate-slider {
    position: relative;
    height: 610px;
    overflow: hidden;
    background: var(--brown);
}

.certificate-slider-viewport {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y;
    scrollbar-width: none;
}

.certificate-slider-viewport::-webkit-scrollbar {
    display: none;
}

.certificate-slider-viewport.is-dragging {
    cursor: grabbing;
}

.certificate-slider-track {
    display: flex;
    width: max-content;
    gap: 30px;
    margin-left: calc(50vw - 960px - 2px);
}

.certificate-slider-card {
    flex: 0 0 360px;
    width: 360px;
    margin: 0;
    color: var(--white);
    text-align: center;
}

.certificate-slider-card img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
}

.certificate-slider-card figcaption {
    margin-top: 15px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.3;
    white-space: nowrap;
}

.certificate-slider-viewport:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: -3px;
}

@media (max-width: 1919px) {
    .certificate-slider {
        height: 526px;
    }

    .certificate-slider-track {
        margin-left: calc(50vw - 600px + 19px);
    }

    .certificate-slider-card {
        flex-basis: 307px;
        width: 307px;
    }

    .certificate-slider-card figcaption {
        margin-top: 10px;
    }
}

@media (max-width: 1199px) {
    .certificate-slider {
        height: 486px;
    }

    .certificate-slider-track {
        margin-left: calc(50vw - 480px + 11px);
    }
}

@media (max-width: 959px) {
    .certificate-slider {
        height: 456px;
    }

    .certificate-slider-track {
        gap: 21px;
        margin-left: calc(50vw - 320px + 10px);
    }

    .certificate-slider-card {
        flex-basis: 278px;
        width: 278px;
    }

    .certificate-slider-card figcaption {
        margin-top: 15px;
        font-size: 16px;
    }
}

@media (max-width: 639px) {
    .certificate-slider-track {
        margin-left: calc(50vw - 160px + 10px);
    }

    .certificate-slider-card figcaption {
        margin-top: 10px;
        font-size: 14px;
    }
}

/* Travel consultation form */
.travel-form-section {
    position: relative;
    height: 668px;
    overflow: hidden;
    background: var(--brown);
}

.travel-form-background {
    position: absolute;
    top: 251px;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
}

.travel-form-panel {
    position: absolute;
    top: 110px;
    left: calc(50% - 960px + 380px);
    z-index: 1;
    width: 1160px;
    height: 517px;
    border-radius: 15px;
    background: var(--brown-deep);
}

.travel-form-title,
.travel-form-lead,
.travel-form {
    position: absolute;
    z-index: 2;
    margin: 0;
}

.travel-form-title {
    top: 49px;
    left: calc(50% - 960px + 468px);
    width: 971px;
    color: var(--yellow);
    font-family: "Safari Display", "Jost", sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.travel-form-lead {
    top: 174px;
    left: calc(50% - 960px + 503px);
    width: 901px;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
}

.travel-form {
    top: 251px;
    left: calc(50% - 960px + 409px);
    display: flex;
    width: 1103px;
    flex-direction: column;
}

.travel-form > input {
    width: 100%;
    height: 60px;
    padding: 0 calc(var(--spacing) * 2.5);
    margin: 0 0 calc(var(--spacing) * 2.5);
    border: 0;
    border-radius: 500px;
    outline: 0;
    color: var(--white);
    background: hsl(23.77, 43.09%, 24.12%);
    font-size: 18px;
    font-weight: 400;
}

.travel-form > input::placeholder {
    color: hsla(0, 0%, 100%, 0.55);
    opacity: 1;
}

.travel-form > input:focus-visible {
    box-shadow: 0 0 0 3px hsla(39.55, 95.65%, 54.9%, 0.75);
}

.travel-form-consent {
    display: flex;
    min-height: 20px;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 calc(var(--spacing) * 2.5);
    color: var(--white);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    cursor: pointer;
}

.travel-form-consent input {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    appearance: none;
    margin: 0;
    border: 2px solid hsla(0, 0%, 100%, 0.75);
    border-radius: 0;
    background: transparent;
}

.travel-form-consent input:checked {
    background: var(--yellow);
    box-shadow: inset 0 0 0 4px var(--brown-deep);
}

.travel-form-consent input:focus-visible {
    outline: 2px solid var(--yellow);
    outline-offset: 2px;
}

.travel-form-consent a {
    border-bottom: 1px solid var(--white);
}

.travel-form > button {
    width: 100%;
    height: 60px;
    flex: 0 0 60px;
    padding: 0 calc(var(--spacing) * 2.5);
    border: 0;
    border-radius: 500px;
    color: var(--white);
    background: var(--orange);
    font-size: 26px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 160ms ease;
}

.travel-form > button:hover {
    background: var(--orange-hot);
}

.travel-form > button:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 3px;
}

@media (max-width: 1919px) {
    .travel-form-section {
        height: 638px;
    }

    .travel-form-background {
        top: calc(var(--spacing) * 7);
        left: calc(50% - 62.5% + 52px);
        width: 125%;
    }

    .travel-form-panel {
        top: calc(var(--spacing) * 12.5);
        left: calc(50% - 600px + 20px);
        height: 530px;
    }

    .travel-form-title {
        top: 39px;
        left: calc(50% - 600px + 108px);
    }

    .travel-form-lead {
        top: calc(var(--spacing) * 20.5);
        left: calc(50% - 600px + 143px);
    }

    .travel-form {
        top: 231px;
        left: calc(50% - 600px + 42px);
    }
}

@media (max-width: 1199px) {
    .travel-form-section {
        height: 600px;
    }

    .travel-form-background {
        top: 161px;
        left: calc(50% - 62.5% + 66px);
    }

    .travel-form-panel {
        left: 11px;
        width: calc(100% - 22px);
        max-width: 939px;
        height: 487px;
    }

    .travel-form-title {
        left: 50%;
        transform: translateX(-50%);
    }

    .travel-form-lead {
        top: 154px;
        left: 50%;
        width: min(901px, calc(100% - 60px));
        transform: translateX(-50%);
        font-size: 20px;
    }

    .travel-form {
        top: calc(var(--spacing) * 24);
        left: 50%;
        width: min(902px, calc(100% - 58px));
        transform: translateX(-50%);
    }

    .travel-form > button {
        width: 280px;
        align-self: center;
        font-size: 20px;
    }
}

@media (max-width: 959px) {
    .travel-form-section {
        height: 594px;
    }

    .travel-form-background {
        top: calc(var(--spacing) * 56.5);
        left: calc(50% - 54.5% + 29px);
        width: 109%;
    }

    .travel-form-panel {
        top: 73px;
        height: 510px;
    }

    .travel-form-title {
        top: calc(var(--spacing) * 3.5);
        width: min(559px, calc(100% - 30px));
        font-size: 80px;
    }

    .travel-form-lead {
        top: 110px;
        width: min(412px, calc(100% - 40px));
        font-size: 18px;
    }

    .travel-form {
        top: 162px;
        width: min(570px, calc(100% - 70px));
    }

    .travel-form-consent {
        font-size: 13px;
    }

    .travel-form > button {
        width: 100%;
    }
}

@media (max-width: 639px) {
    .travel-form-section {
        height: 660px;
    }

    .travel-form-background {
        top: 571px;
        left: calc(50% - 54.5% + 22px);
    }

    .travel-form-panel {
        top: 163px;
        left: 10px;
        width: calc(100% - 20px);
        height: 488px;
    }

    .travel-form-title {
        top: 41px;
        width: 361px;
    }

    .travel-form-lead {
        top: 205px;
        width: 337px;
    }

    .travel-form {
        top: calc(var(--spacing) * 32.5);
        width: calc(100% - 80px);
    }

    .travel-form > input {
        margin-bottom: 10px;
    }
}

@media (max-width: 479px) {
    .travel-form-section {
        height: 550px;
    }

    .travel-form-background {
        top: calc(var(--spacing) * 58);
        left: calc(50% - 149.5% - 26px);
        width: 299%;
    }

    .travel-form-panel {
        top: 57px;
        height: 440px;
    }

    .travel-form-title {
        top: 41px;
        width: calc(100% - 29px);
        font-size: 40px;
    }

    .travel-form-lead {
        top: 85px;
        width: calc(100% - 53px);
        font-size: 16px;
    }

    .travel-form {
        top: 135px;
        width: calc(100% - 70px);
    }

    .travel-form > input {
        height: 50px;
        font-size: 16px;
    }

    .travel-form-consent {
        gap: var(--spacing);
        margin-bottom: 15px;
        font-size: 13px;
        line-height: 1.3;
    }

    .travel-form-consent input {
        width: 18px;
        height: 18px;
        flex-basis: 18px;
    }

    .travel-form > button {
        height: 50px;
        flex-basis: 50px;
        font-size: 16px;
    }
}

@media (max-width: 389px) {
    .travel-form-section {
        height: 545px;
    }

    .travel-form-panel {
        width: 300px;
        height: 470px;
    }

    .travel-form-title,
    .travel-form-lead {
        width: 300px;
    }

    .travel-form {
        width: 260px;
    }
}

/* Company in Tanzania */
.company-section {
    position: relative;
    height: 2012px;
    overflow: visible;
    background: var(--brown);
}

.company-background {
    position: absolute;
    top: -417px;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
}

.company-title,
.company-fact,
.company-points,
.company-video,
.company-office,
.company-arrow {
    position: absolute;
    z-index: 1;
}

.company-title {
    top: 0;
    left: calc(50% - 960px + 377px);
    width: 706px;
    margin: 0;
    font-family: "Safari Display", "Jost", sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-transform: uppercase;
}

.company-title strong {
    color: hsl(43.1, 100%, 72.16%);
}

.company-fact {
    top: 375px;
    width: 388px;
    margin: 0;
    text-align: center;
}

.company-fact img {
    display: block;
    width: 160px;
    height: 160px;
    margin: 0 auto calc(var(--spacing) * 3);
}

.company-fact p {
    margin: 0;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
}

.company-fact--years {
    left: calc(50% - 960px + 366px);
    width: 388px;
}

.company-fact--local {
    left: calc(50% - 960px + 779px);
}

.company-fact--guides {
    left: calc(50% - 960px + 1207px);
}

.company-points {
    inset: 0;
    z-index: 2;
    margin: 0;
    padding: 0;
    list-style: none;
    pointer-events: none;
}

.company-point {
    position: absolute;
    display: flex;
    height: 60px;
    align-items: center;
    justify-content: center;
    padding: 0 calc(var(--spacing) * 3.5) 0 calc(var(--spacing) * 7);
    border-radius: 42px;
    background: var(--brown);
    font-size: 22px;
    line-height: 1.3;
    text-align: center;
    white-space: nowrap;
}

.company-point::before {
    position: absolute;
    left: 25px;
    width: 20px;
    height: 20px;
    background: url("../images/svg/company-check.svg") center / contain no-repeat;
    content: "";
}

.company-point--support,
.company-point--jeeps,
.company-point--gear {
    background: hsl(38.48, 100%, 61.18%);
}

.company-point--support {
    top: 755px;
    left: calc(50% - 960px + 374px);
    width: 577px;
}

.company-point--support::before {
    left: 67px;
}

.company-point--association {
    top: 755px;
    left: calc(50% - 960px + 973px);
    width: 573px;
}

.company-point--association::before {
    left: calc(var(--spacing) * 5);
}

.company-point--hotels {
    top: 835px;
    left: calc(50% - 960px + 372px);
    width: 577px;
}

.company-point--hotels::before {
    left: 23px;
}

.company-point--jeeps {
    top: 835px;
    left: calc(50% - 960px + 971px);
    width: 573px;
}

.company-point--jeeps::before {
    left: 46px;
}

.company-point--gear {
    top: 915px;
    left: calc(50% - 960px + 624px);
    width: 672px;
}

.company-point--gear::before {
    left: 23px;
}

.company-video {
    top: 1075px;
    left: calc(50% - 960px + 379px);
    width: 1162px;
    height: 670px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 10px;
    background: var(--brown-deep);
    cursor: pointer;
}

.company-video > img,
.company-video iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.company-video::before {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 100px;
    height: 100px;
    transform: translate(-50%, -50%);
    background: url("../images/svg/play-button-dark.svg") center / contain no-repeat;
    content: "";
    pointer-events: none;
}

.company-video.is-playing::before {
    display: none;
}

.company-office {
    top: 1809px;
    left: calc(50% - 960px + 498px);
    display: flex;
    width: 924px;
    align-items: flex-start;
    gap: 1px;
}

.company-office img {
    width: 57px;
    height: 76px;
    flex: 0 0 57px;
}

.company-office p {
    margin: 7px 0 0;
    font-size: 26px;
    line-height: 1.3;
}

.company-arrow {
    top: 1969px;
    width: 70px;
    height: 70px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.company-arrow img {
    display: block;
    width: 100%;
    height: 100%;
}

.company-arrow--previous {
    left: calc(50% - 960px + 880px);
}

.company-arrow--next {
    left: calc(50% - 960px + 970px);
}

.company-video:focus-visible,
.company-arrow:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: 3px;
}

@media (max-width: 1919px) {
    .company-section {
        height: 1862px;
    }

    .company-background {
        top: -582px;
        left: calc(50% - 62.5% + 52px);
        width: 125%;
    }

    .company-title {
        left: calc(50% - 600px + 20px);
    }

    .company-fact {
        top: 379px;
    }

    .company-fact--years {
        left: calc(50% - 600px + 20px);
        width: 360px;
    }

    .company-fact--local {
        left: calc(50% - 600px + 406px);
    }

    .company-fact--guides {
        left: calc(50% - 600px + 816px);
        width: 384px;
    }

    .company-point--support {
        top: 770px;
        left: calc(50% - 600px + 14px);
    }

    .company-point--association {
        top: 770px;
        left: calc(50% - 600px + 613px);
    }

    .company-point--hotels {
        top: 850px;
        left: calc(50% - 600px + 14px);
    }

    .company-point--jeeps {
        top: 850px;
        left: calc(50% - 600px + 613px);
    }

    .company-point--gear {
        top: 930px;
        left: calc(50% - 600px + 264px);
    }

    .company-video {
        top: 1038px;
        left: calc(50% - 600px + 77px);
        width: 1047px;
        height: 604px;
    }

    .company-office {
        top: 1686px;
        left: calc(50% - 600px + 138px);
    }

    .company-office p {
        margin-left: 0;
    }

    .company-arrow {
        top: 1825px;
    }

    .company-arrow--previous {
        left: calc(50% - 600px + 520px);
    }

    .company-arrow--next {
        left: calc(50% - 600px + 610px);
    }
}

@media (max-width: 1199px) {
    .company-section {
        height: 1440px;
    }

    .company-background {
        top: -439px;
        left: calc(50% - 62.5% + 66px);
    }

    .company-title {
        left: 10px;
        width: 799px;
        font-size: 80px;
    }

    .company-fact {
        top: 182px;
    }

    .company-fact img {
        width: 126px;
        height: 126px;
        margin-bottom: 19px;
    }

    .company-fact p {
        font-size: 20px;
    }

    .company-fact--years {
        left: 11px;
        width: 284px;
    }

    .company-fact--local {
        left: calc(50% - 154px);
        width: 307px;
    }

    .company-fact--guides {
        right: 0;
        left: auto;
        width: 303px;
    }

    .company-point {
        font-size: 18px;
    }

    .company-point--support::before {
        left: 33px;
    }

    .company-point--association::before {
        left: 28px;
    }

    .company-point--hotels::before {
        left: 14px;
    }

    .company-point--jeeps::before {
        left: 35px;
    }

    .company-point--gear::before {
        left: 14px;
    }

    .company-point--support {
        top: 469px;
        left: 10px;
        width: calc(50% - 18px);
    }

    .company-point--association {
        top: 469px;
        right: 7px;
        left: auto;
        width: calc(50% - 19px);
    }

    .company-point--hotels {
        top: 549px;
        left: 10px;
        width: calc(50% - 18px);
    }

    .company-point--jeeps {
        top: 549px;
        right: 7px;
        left: auto;
        width: calc(50% - 19px);
    }

    .company-point--gear {
        top: 629px;
        left: 50%;
        width: 540px;
        transform: translateX(-50%);
    }

    .company-video {
        top: calc(var(--spacing) * 95);
        left: 34px;
        width: calc(100% - 68px);
        height: 515px;
    }

    .company-office {
        top: 1301px;
        left: 58px;
        width: calc(100% - 116px);
    }

    .company-office img {
        width: 52px;
        height: 69px;
        flex-basis: 52px;
    }

    .company-office p {
        font-size: 24px;
    }

    .company-arrow {
        top: 1406px;
    }

    .company-arrow--previous {
        left: calc(50% - 80px);
    }

    .company-arrow--next {
        left: calc(50% + 10px);
    }
}

@media (max-width: 959px) {
    .company-section {
        height: 1496px;
    }

    .company-background {
        top: -142px;
        left: calc(50% - 54.5% + 29px);
        width: 109%;
    }

    .company-title {
        left: 11px;
        width: 395px;
        font-size: 60px;
    }

    .company-fact {
        top: calc(var(--spacing) * 31.5);
    }

    .company-fact img {
        width: 81px;
        height: 81px;
        margin-bottom: 13px;
    }

    .company-fact p {
        font-size: 16px;
    }

    .company-fact--years {
        left: 18px;
        width: 183px;
    }

    .company-fact--local {
        left: calc(50% - 99px);
        width: 198px;
    }

    .company-fact--guides {
        right: 7px;
        width: 196px;
    }

    .company-point {
        background: var(--sand);
    }

    .company-point--support,
    .company-point--hotels,
    .company-point--gear {
        background: hsl(38.48, 100%, 61.18%);
    }

    .company-point--association,
    .company-point--jeeps {
        background: var(--brown-deep);
    }

    .company-point {
        right: auto;
        left: 50%;
        width: min(577px, calc(100% - 20px));
        transform: translateX(-50%);
    }

    .company-point--association,
    .company-point--jeeps {
        width: min(573px, calc(100% - 20px));
    }

    .company-point--jeeps::before {
        left: 39px;
    }

    .company-point--support {
        top: 485px;
    }

    .company-point--association {
        top: 555px;
    }

    .company-point--hotels {
        top: 625px;
    }

    .company-point--jeeps {
        top: 695px;
    }

    .company-point--gear {
        top: 765px;
        width: min(672px, calc(100% - 20px));
    }

    .company-video {
        top: calc(var(--spacing) * 108.5);
        left: 10px;
        width: calc(100% - 20px);
        height: 359px;
    }

    .company-office {
        top: 1254px;
        left: 54px;
        display: block;
        width: calc(100% - 108px);
    }

    .company-office img {
        width: 52px;
        height: 69px;
        margin: 0 auto;
    }

    .company-office p {
        margin: 14px 0 0;
        font-size: 20px;
        text-align: center;
    }

    .company-arrow {
        top: 1469px;
        width: 56px;
        height: 56px;
    }

    .company-arrow--previous {
        left: calc(50% - 64px);
    }

    .company-arrow--next {
        left: calc(50% + 8px);
    }
}

@media (max-width: 639px) {
    .company-section {
        height: 1610px;
    }

    .company-background {
        top: -89px;
        left: calc(50% - 54.5% + 22px);
    }

    .company-title {
        left: 10px;
        width: 248px;
        font-size: 45px;
    }

    .company-fact {
        width: calc(100% - 20px);
        text-align: center;
    }

    .company-fact--years {
        top: 219px;
        left: 10px;
    }

    .company-fact--local {
        top: 395px;
        left: 10px;
    }

    .company-fact--guides {
        top: 571px;
        right: auto;
        left: 10px;
    }

    .company-fact img {
        margin-bottom: 13px;
    }

    .company-point {
        left: 10px;
        width: calc(100% - 20px);
        height: 51px;
        padding: 0 calc(var(--spacing) * 2) 0 calc(var(--spacing) * 5);
        font-size: 16px;
        transform: none;
    }

    .company-point::before {
        width: 13px;
        height: 12px;
    }

    .company-point--support::before {
        left: 68px;
    }

    .company-point--association::before {
        left: 45px;
    }

    .company-point--hotels::before {
        left: 30px;
    }

    .company-point--jeeps::before {
        left: 55px;
    }

    .company-point--gear::before {
        left: 7px;
    }

    .company-point--support {
        top: 746px;
    }

    .company-point--association {
        top: 805px;
        right: auto;
    }

    .company-point--hotels {
        top: 865px;
    }

    .company-point--jeeps {
        top: 925px;
        right: auto;
    }

    .company-point--gear {
        top: 984px;
        transform: none;
    }

    .company-video {
        top: 1077px;
        left: 11px;
        width: calc(100% - 21px);
        height: 295px;
    }

    .company-office {
        top: 1405px;
        left: 45px;
        width: calc(100% - 90px);
    }

    .company-office img {
        width: 38px;
        height: 51px;
        flex-basis: 38px;
    }

    .company-office p {
        margin-top: 10px;
        font-size: 16px;
    }

    .company-arrow {
        top: 1583px;
    }
}

@media (max-width: 479px) {
    .company-section {
        height: 1940px;
    }

    .company-background {
        top: -86px;
        left: calc(50% - 149.5% - 26px);
        width: 299%;
    }

    .company-title {
        left: calc(var(--spacing) * 5);
        width: 310px;
        font-size: 40px;
        text-align: center;
    }

    .company-fact {
        left: 10px;
        width: 220px;
        text-align: left;
    }

    .company-fact--years {
        top: 148px;
    }

    .company-fact--local {
        top: 366px;
    }

    .company-fact--guides {
        top: 605px;
    }

    .company-fact img {
        width: 80px;
        height: 80px;
        margin: 0 0 14px;
    }

    .company-point {
        left: 11px;
        width: calc(100% - 20px);
        height: 60px;
        padding-right: var(--spacing);
        padding-left: calc(var(--spacing) * 6);
        white-space: normal;
    }

    .company-point::before {
        width: 20px;
        height: 19px;
    }

    .company-point--support::before,
    .company-point--association::before,
    .company-point--hotels::before,
    .company-point--jeeps::before,
    .company-point--gear::before {
        left: 15px;
    }

    .company-point--support {
        top: 801px;
    }

    .company-point--association {
        top: 857px;
    }

    .company-point--hotels {
        top: 927px;
    }

    .company-point--jeeps {
        top: 997px;
    }

    .company-point--gear {
        top: 1067px;
    }

    .company-video {
        top: 1207px;
        left: 10px;
        width: calc(100% - 19px);
        height: 425px;
    }

    .company-video::before {
        width: 76px;
        height: 76px;
    }

    .company-office {
        top: 1673px;
        left: 39px;
        width: calc(100% - 78px);
    }

    .company-office img {
        width: 57px;
        height: 76px;
        flex-basis: 57px;
        margin: 0 auto;
    }

    .company-office p {
        margin-top: 15px;
        text-align: center;
    }

    .company-arrow {
        top: calc(var(--spacing) * 238.5);
    }
}

@media (max-width: 389px) {
    .company-section {
        height: 1915px;
    }

    .company-title {
        left: 5px;
        width: 310px;
    }

    .company-point {
        left: 11px;
        width: 300px;
    }

    .company-point--support {
        top: 831px;
    }

    .company-point--association {
        top: 895px;
    }

    .company-point--hotels {
        top: 965px;
    }

    .company-point--jeeps {
        top: 1035px;
    }

    .company-point--gear {
        top: 1105px;
    }

    .company-video {
        left: 11px;
        width: 297px;
    }

    .company-office {
        left: calc(var(--spacing) * 1.5);
        width: 296px;
    }

    .company-arrow {
        top: 1889px;
    }
}

/* Activities and experiences */
.activities {
    position: relative;
    overflow: hidden;
    background: var(--brown);
}

.activities-guide {
    position: relative;
    height: 120px;
}

.activities-guide-link {
    position: absolute;
    top: 0;
    left: 50%;
    display: flex;
    width: 528px;
    height: 67px;
    align-items: center;
    justify-content: space-between;
    padding-left: 47px;
    transform: translateX(-50%);
    border-radius: 42px;
    background: hsl(216, 63.27%, 51.96%);
    font-size: 26px;
    font-weight: 400;
    line-height: 1;
    transition: background-color 180ms ease;
}

.activities-guide-link strong {
    display: grid;
    width: 124px;
    height: 47px;
    place-items: center;
    margin-right: 10px;
    border-radius: 42px;
    background: hsl(215.32, 57.41%, 42.35%);
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    transition: background-color 180ms ease;
}

.activities-guide-link:hover {
    background: var(--orange);
}

.activities-guide-link:hover strong {
    background: hsl(20.86, 76.33%, 48.04%);
}

.activities-heading {
    position: relative;
    z-index: 3;
    height: 740px;
    overflow: visible;
}

.activities-title {
    position: absolute;
    top: calc(var(--spacing) * 7.5);
    left: 50%;
    width: 1200px;
    margin: 0;
    transform: translateX(-50%);
    color: var(--white);
    font-family: "Safari Display", sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.activities-title-big {
    position: relative;
    z-index: -1;
    bottom: -40px;
    display: inline;
    color: var(--yellow);
    font-size: 230px;
    line-height: 1;
}

.activities-title-accent {
    color: hsl(43.1, 100%, 72.16%);
}

.activities-lead {
    position: absolute;
    top: calc(var(--spacing) * 81);
    left: 50%;
    width: 560px;
    margin: 0;
    transform: translateX(-50%);
    font-size: 26px;
    line-height: 1.3;
    text-align: center;
}

.activities-arrow {
    top: 701px;
    z-index: 6;
}

.activities-arrow--previous {
    left: calc(50% - 80px);
}

.activities-arrow--next {
    left: calc(50% + 10px);
}

.activities-arrow:focus-visible,
.activities-viewport:focus-visible,
.activity-card-button:focus-visible,
.activities-guide-link:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: 3px;
}

.activities-viewport {
    height: 680px;
}

.activities-track {
    gap: calc(var(--spacing) * 2.5);
    margin-left: calc(50vw - 570px);
    padding-top: 10px;
}

.activity-card {
    position: relative;
    flex: 0 0 1160px;
    width: 1160px;
    height: 642px;
    border-radius: 15px;
    background: var(--brown-deep);
}

.activity-card-visual {
    position: absolute;
    top: calc(var(--spacing) * 5);
    left: calc(var(--spacing) * 5);
    width: 620px;
    height: 400px;
}

.activity-card-photo {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 15px;
    object-fit: cover;
}

.activity-card-play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100px;
    height: 100px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: hsl(207, 62.5%, 6.27%);
}

.activity-card-play::after {
    position: absolute;
    top: 50%;
    left: 54%;
    width: 0;
    height: 0;
    transform: translate(-50%, -50%);
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 27px solid hsl(203.08, 61.9%, 95.88%);
    content: "";
}

.activity-card-gallery {
    position: absolute;
    top: calc(var(--spacing) * 55);
    left: calc(var(--spacing) * 5);
    display: block;
    width: 620px;
    height: 200px;
    object-fit: contain;
}

.activity-card-copy h3,
.activity-card-copy p {
    position: absolute;
    left: calc(var(--spacing) * 87.5);
    margin: 0;
}

.activity-card-copy h3 {
    top: 157px;
    width: 430px;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.27;
    text-transform: uppercase;
}

.activity-card-copy p {
    top: 239px;
    width: 437px;
    font-size: 22px;
    line-height: 1.32;
}

.activity-card-button {
    position: absolute;
    top: 375px;
    left: calc(var(--spacing) * 87.5);
    display: grid;
    width: 277px;
    height: 68px;
    place-items: center;
    border: 5px solid var(--yellow);
    border-radius: 42px;
    background: var(--orange);
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    transition: background-color 160ms ease, color 160ms ease;
}

.activity-card-button:hover {
    color: var(--orange);
    background: var(--white);
}

@media (max-width: 1199px) {
    .activities-heading {
        height: 630px;
    }

    .activities-title {
        top: calc(var(--spacing) * 7.5);
        width: 900px;
        font-size: 80px;
    }

    .activities-title-big {
        font-size: 200px;
    }

    .activities-lead {
        top: 553px;
        width: 335px;
        font-size: 22px;
    }

    .activities-arrow {
        top: 594px;
    }

    .activities-track {
        margin-left: calc(50vw - 460px);
    }

    .activity-card {
        flex-basis: 920px;
        width: 920px;
    }

    .activity-card-visual {
        width: 500px;
    }

    .activity-card-gallery {
        width: 500px;
    }

    .activity-card-copy h3,
    .activity-card-copy p {
        left: calc(var(--spacing) * 72.5);
    }

    .activity-card-copy h3 {
        width: 310px;
    }

    .activity-card-copy p {
        width: 310px;
        font-size: 20px;
    }

    .activity-card-button {
        left: calc(var(--spacing) * 72.5);
    }
}

@media (max-width: 959px) {
    .activities-heading {
        height: 420px;
    }

    .activities-title {
        top: 7px;
        width: 600px;
        font-size: 45px;
    }

    .activities-title-big {
        bottom: -20px;
        font-size: 150px;
    }

    .activities-lead {
        top: calc(var(--spacing) * 42.5);
        font-size: 20px;
    }

    .activities-arrow {
        top: 390px;
        width: 56px;
        height: 56px;
    }

    .activities-arrow--previous {
        left: calc(50% - 64px);
    }

    .activities-arrow--next {
        left: calc(50% + 8px);
    }

    .activities-viewport {
        height: 700px;
    }

    .activities-track {
        margin-left: 10px;
        padding-top: var(--spacing);
    }

    .activity-card {
        flex-basis: calc(100vw - 20px);
        width: calc(100vw - 20px);
        height: 660px;
    }

    .activity-card-visual {
        top: calc(var(--spacing) * 1.5);
        left: calc(var(--spacing) * 1.5);
        width: calc(100% - 24px);
        height: 330px;
    }

    .activity-card-gallery {
        top: 455px;
        left: calc(var(--spacing) * 1.5);
        width: calc(100% - 24px);
        height: 180px;
    }

    .activity-card-copy h3,
    .activity-card-copy p {
        left: 22px;
    }

    .activity-card-copy h3 {
        top: calc(var(--spacing) * 45);
        width: calc(100% - 44px);
        font-size: 22px;
    }

    .activity-card-copy p {
        top: 410px;
        width: calc(100% - 44px);
        font-size: 17px;
    }

    .activity-card-button {
        top: 605px;
        left: 50%;
        width: 210px;
        height: 50px;
        transform: translateX(-50%);
        font-size: 16px;
    }
}

@media (max-width: 639px) {
    .activities-heading {
        height: 410px;
    }

    .activities-title {
        width: 470px;
    }

    .activities-title-big {
        bottom: -15px;
        font-size: 110px;
    }

    .activities-lead {
        top: 341px;
    }

    .activities-arrow {
        top: calc(var(--spacing) * 48);
    }
}

@media (max-width: 479px) {
    .activities-guide-link {
        top: calc(var(--spacing) * 2);
        width: 356px;
        height: 44px;
        padding-left: 22px;
        font-size: 16px;
    }

    .activities-guide-link strong {
        width: 124px;
        height: 44px;
        margin-right: 0;
        font-size: 16px;
    }

    .activities-heading {
        height: 360px;
    }

    .activities-title {
        top: 7px;
        width: 340px;
        font-size: 40px;
    }

    .activities-title-big {
        bottom: -10px;
        font-size: 80px;
    }

    .activities-lead {
        top: 303px;
        left: calc(50% - 161px);
        width: 335px;
        font-size: 16px;
        transform: none;
    }

    .activities-arrow {
        top: calc(var(--spacing) * 42.5);
        width: 40px;
        height: 40px;
    }

    .activities-arrow--previous {
        left: calc(50% - 45px);
    }

    .activities-arrow--next {
        left: calc(50% + 5px);
    }

    .activities-viewport {
        height: 740px;
    }

    .activity-card {
        height: 685px;
    }

    .activity-card-visual {
        height: 309px;
    }

    .activity-card-copy h3,
    .activity-card-copy p {
        left: calc(var(--spacing) * 1.5);
    }

    .activity-card-copy h3 {
        top: 341px;
        width: 330px;
        font-size: 20px;
        line-height: 1.25;
    }

    .activity-card-copy p {
        top: 401px;
        width: 340px;
        font-size: 16px;
        line-height: 1.31;
    }

    .activity-card-gallery {
        top: 502px;
        height: 200px;
    }

    .activity-card-button {
        top: 659px;
        width: 198px;
        height: 47px;
        border-width: 3px;
    }
}

@media (max-width: 389px) {
    .activities-guide-link {
        top: 0;
        width: 299px;
        padding-left: 17px;
        font-size: 14px;
    }

    .activities-guide-link strong {
        width: 105px;
        font-size: 14px;
    }

    .activities-heading {
        height: 330px;
    }

    .activities-title {
        top: 7px;
        width: 303px;
        font-size: 36px;
    }

    .activities-title-big {
        font-size: 77px;
    }

    .activities-lead {
        top: calc(var(--spacing) * 34.5);
        left: calc(50% - 135px);
        width: 270px;
    }

    .activities-arrow {
        top: 310px;
    }

    .activity-card {
        height: 640px;
    }

    .activity-card-visual {
        height: 260px;
    }

    .activity-card-copy h3 {
        top: calc(var(--spacing) * 36.5);
        width: 276px;
        font-size: 18px;
    }

    .activity-card-copy p {
        top: 347px;
        width: 276px;
        font-size: 14px;
    }

    .activity-card-gallery {
        top: calc(var(--spacing) * 55);
        height: 160px;
    }

    .activity-card-button {
        top: 585px;
    }
}

@media (max-width: 959px) {
    .tours-heading {
        height: 530px;
    }

    .tours-heading-inner {
        width: 640px;
    }

    .tours-title {
        top: 74px;
        left: 130px;
        width: 381px;
        font-size: 49px;
    }

    .tours-word {
        top: 138px;
        left: 7px;
        width: 627px;
        font-size: 190px;
    }

    .tours-description {
        top: 358px;
        left: calc(var(--spacing) * 14);
        width: 417px;
        font-size: 20px;
    }

    .tours-arrow {
        top: 497px;
        width: 56px;
        height: 56px;
    }

    .tours-arrow--previous {
        left: calc(var(--spacing) * 32);
    }

    .tours-arrow--next {
        left: calc(var(--spacing) * 41);
    }

    .tours-viewport {
        height: 500px;
    }

    .tours-track {
        margin-left: calc(50vw - 320px + 10px);
    }

    .tour-card {
        flex-basis: 310px;
        width: 310px;
        height: 480px;
    }

    .tour-card::before {
        height: 455px;
    }

    .tour-card-photo {
        height: 243px;
    }

    .tour-card h3 {
        top: 270px;
        width: 208px;
        font-size: 16px;
    }

    .tour-card-subtitle {
        top: 293px;
        width: 283px;
        font-size: 14px;
    }

    .tour-card-note {
        top: calc(var(--spacing) * 41.5);
        width: 228px;
        font-size: 12px;
    }

    .tour-card-meta {
        top: 354px;
        left: 17px;
        grid-template-columns: 56px 1fr;
        column-gap: 41px;
        width: 276px;
        height: 46px;
        padding: 0 5px 0 44px;
        font-size: 12px;
    }

    .tour-card-button {
        top: 433px;
        width: 130px;
        height: 47px;
        border-width: 3px;
        font-size: 16px;
    }

    .tour-card--4 {
        order: 1;
    }

    .tour-card--5 {
        order: 2;
    }

    .tour-card--6 {
        order: 3;
    }

    .tour-card--2 {
        order: 4;
    }

    .tour-card--1 {
        order: 5;
    }

    .tour-card--3 {
        order: 6;
    }
}

@media (max-width: 639px) {
    .tours-heading {
        height: 410px;
    }

    .tours-heading-inner {
        width: 480px;
    }

    .tours-title {
        top: 51px;
        left: 74px;
        width: 332px;
        font-size: 40px;
    }

    .tours-word {
        top: 105px;
        left: 10px;
        width: 461px;
        font-size: 140px;
    }

    .tours-description {
        top: calc(var(--spacing) * 33);
        left: calc(var(--spacing) * 4);
        width: 417px;
        font-size: 18px;
    }

    .tours-arrow {
        top: calc(var(--spacing) * 48);
    }

    .tours-arrow--previous {
        left: calc(var(--spacing) * 22);
    }

    .tours-arrow--next {
        left: calc(var(--spacing) * 31);
    }

    .tours-track {
        margin-left: calc(50vw - 240px + 10px);
    }
}

@media (max-width: 479px) {
    .tours-heading {
        height: 400px;
    }

    .tours-heading-inner {
        width: 390px;
    }

    .tours-title {
        top: 57px;
        left: 41px;
        width: 309px;
        font-size: 40px;
    }

    .tours-word {
        top: 119px;
        left: -35px;
        font-size: 95px;
    }

    .tours-description {
        top: 234px;
        left: 42px;
        width: 307px;
        font-size: 16px;
    }

    .tours-arrow {
        top: 379px;
        width: 40px;
        height: 40px;
    }

    .tours-arrow--previous {
        left: 150px;
    }

    .tours-arrow--next {
        left: calc(var(--spacing) * 25);
    }

    .tours-viewport {
        height: 600px;
    }

    .tours-track {
        gap: calc(var(--spacing) * 3);
        margin-left: calc(50vw - 195px + 9px);
    }

    .tour-card {
        flex-basis: 370px;
        width: 370px;
        height: 574px;
    }

    .tour-card::before {
        height: 543px;
    }

    .tour-card-photo {
        height: 290px;
    }

    .tour-card h3 {
        top: 323px;
        width: 250px;
    }

    .tour-card-subtitle {
        top: 350px;
        width: 339px;
    }

    .tour-card-note {
        top: 395px;
        width: 270px;
    }

    .tour-card-meta {
        top: 423px;
        left: calc(var(--spacing) * 2.5);
        grid-template-columns: 67px 1fr;
        column-gap: 49px;
        width: 329px;
        height: 54px;
        padding-left: calc(var(--spacing) * 6.5);
    }

    .tour-card-button {
        top: 517px;
        width: 200px;
        height: 56px;
    }

    .tour-card--5 {
        order: 1;
    }

    .tour-card--4 {
        order: 2;
    }

    .tour-card--6 {
        order: 3;
    }

    .tour-card--2 {
        order: 4;
    }

    .tour-card--1 {
        order: 5;
    }

    .tour-card--3 {
        order: 6;
    }
}

@media (max-width: 389px) {
    .tours-heading {
        height: 420px;
    }

    .tours-heading-inner {
        width: 320px;
    }

    .tours-title {
        left: 6px;
    }

    .tours-word {
        top: 121px;
        left: -70px;
    }

    .tours-description {
        left: 21px;
        width: 278px;
        transform: rotate(1deg);
    }

    .tours-arrow {
        top: calc(var(--spacing) * 50);
    }

    .tours-arrow--previous {
        left: 115px;
    }

    .tours-arrow--next {
        left: 165px;
    }

    .tours-viewport {
        height: 500px;
    }

    .tours-track {
        gap: calc(var(--spacing) * 2.5);
        margin-left: calc(50vw - 160px + 9px);
    }

    .tour-card {
        flex-basis: 300px;
        width: 300px;
        height: 492px;
    }

    .tour-card::before {
        height: 464px;
    }

    .tour-card-photo {
        height: 235px;
    }

    .tour-card h3 {
        top: 261px;
        width: 201px;
    }

    .tour-card-subtitle {
        top: 289px;
        width: 273px;
    }

    .tour-card-note {
        top: 341px;
        width: 220px;
    }

    .tour-card-meta {
        top: calc(var(--spacing) * 46.5);
        left: 13px;
        grid-template-columns: 56px 1fr;
        column-gap: 41px;
        width: 274px;
        height: 40px;
        padding-left: calc(var(--spacing) * 5.5);
    }

    .tour-card-button {
        top: 435px;
        width: 160px;
    }

    .tour-card--5 {
        order: 1;
    }

    .tour-card--1 {
        order: 2;
    }

    .tour-card--6 {
        order: 3;
    }

    .tour-card--4 {
        order: 4;
    }

    .tour-card--2 {
        order: 5;
    }

    .tour-card--3 {
        order: 6;
    }
}

/* Traveller stories */
.stories-intro {
    position: relative;
    z-index: 4;
    height: 500px;
    overflow: visible;
    background: var(--brown);
}

.stories-title {
    position: absolute;
    top: calc(var(--spacing) * 12.5);
    left: 50%;
    width: 90%;
    margin: -40px 0 0;
    color: var(--white);
    font-family: "Safari Display", "Jost", Arial, sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    transform: translateX(-50%);
}

.stories-title strong {
    position: relative;
    bottom: -40px;
    z-index: -1;
    display: inline-block;
    color: var(--yellow);
    font-size: 230px;
    line-height: 1;
}

.stories-arrows {
    position: absolute;
    top: calc(var(--spacing) * 59);
    left: 50%;
    z-index: 10;
    display: flex;
    gap: calc(var(--spacing) * 2.5);
    transform: translateX(-50%);
}

.stories-arrows button {
    width: 70px;
    height: 70px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.stories-arrows img {
    display: block;
    width: 70px;
    height: 70px;
}

.stories-arrows button:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: 3px;
}

.stories-slider {
    height: 530px;
    overflow: hidden;
    color: var(--white);
    background: hsl(24.19, 32.63%, 37.25%);
}

.stories-slider-viewport {
    width: 100%;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding-top: 10px;
    padding-left: 2px;
    scrollbar-width: none;
    touch-action: pan-y;
    cursor: grab;
}

.stories-slider-viewport::-webkit-scrollbar {
    display: none;
}

.stories-slider-viewport.is-dragging {
    cursor: grabbing;
}

.stories-slider-track {
    display: flex;
    width: max-content;
    column-gap: calc(var(--spacing) * 5);
    padding-right: calc(var(--spacing) * 2.5);
}

.story-card {
    position: relative;
    flex: 0 0 1160px;
    width: 1160px;
    height: 514px;
    overflow: hidden;
    border-radius: 15px;
    background: var(--brown-deep);
    user-select: none;
}

.story-card-photo {
    position: absolute;
    top: calc(var(--spacing) * 5);
    left: calc(var(--spacing) * 2.5);
    display: block;
    width: 320px;
    height: 434px;
    border-radius: 15px;
    object-fit: cover;
}

.story-card-copy {
    position: absolute;
    top: calc(var(--spacing) * 4.5);
    left: calc(var(--spacing) * 50);
    width: 726px;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
}

.story-card-copy h3,
.story-card-copy p {
    margin: 0;
    font-size: inherit;
    font-weight: 400;
}

.story-card-copy p {
    margin-top: 1.3em;
}

.story-card-copy strong {
    color: hsl(43.1, 100%, 72.16%);
    font-weight: 400;
}

.stories-outro {
    position: relative;
    height: 150px;
    background: linear-gradient(180deg, var(--brown) 0%, hsl(25.31, 26.02%, 48.24%) 100%);
}

.stories-cta {
    position: absolute;
    top: calc(var(--spacing) * 7.5);
    left: calc(50% - 108px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 217px;
    height: 67px;
    border: 5px solid var(--yellow);
    border-radius: 42px;
    color: var(--white);
    background: var(--orange);
    font-size: 26px;
    font-weight: 600;
}

.stories-cta:hover {
    border-color: var(--orange);
    background: var(--orange-hot);
}

@media (max-width: 1919px) {
    .stories-intro {
        height: 460px;
    }

    .stories-title strong {
        font-size: 200px;
    }

    .stories-arrows {
        top: 421px;
    }

    .stories-slider {
        height: 520px;
    }

    .stories-slider-viewport {
        padding-top: 0;
    }

    .story-card {
        height: 474px;
    }

    .story-card-photo {
        top: 19px;
    }

    .story-card-copy {
        top: 34px;
        left: calc(var(--spacing) * 46.5);
        font-size: 24px;
    }
}

@media (max-width: 1919px) and (min-width: 1200px) {
    .stories-slider-viewport {
        padding-left: calc((100vw - 1200px) / 2 + 20px);
    }
}

@media (max-width: 1199px) {
    .stories-intro {
        height: 400px;
    }

    .stories-title {
        font-size: 80px;
    }

    .stories-title strong {
        font-size: 180px;
    }

    .stories-arrows {
        top: 362px;
    }

    .stories-slider-viewport {
        padding-left: calc((100vw - 960px) / 2 + 10px);
    }

    .stories-slider-track {
        column-gap: calc(var(--spacing) * 2.5);
    }

    .story-card {
        flex-basis: 940px;
        width: 940px;
    }

    .story-card-photo {
        top: calc(var(--spacing) * 2.5);
    }

    .story-card-copy {
        left: calc(var(--spacing) * 47.5);
        width: 526px;
        font-size: 22px;
    }

    .stories-cta {
        top: 45px;
        left: calc(50% - 110px);
        width: 226px;
        height: 58px;
        font-size: 18px;
    }
}

@media (max-width: 959px) {
    .stories-intro {
        height: 330px;
    }

    .stories-title {
        top: 49px;
        font-size: 60px;
    }

    .stories-title strong {
        bottom: -25px;
        font-size: 160px;
    }

    .stories-arrows {
        top: 297px;
        gap: calc(var(--spacing) * 2);
    }

    .stories-arrows button,
    .stories-arrows img {
        width: 56px;
        height: 56px;
    }

    .stories-slider {
        height: 600px;
    }

    .stories-slider-viewport {
        padding-left: calc((100vw - 640px) / 2 + 10px);
    }

    .story-card {
        flex-basis: 620px;
        width: 620px;
        height: 576px;
    }

    .story-card-photo {
        top: calc(var(--spacing) * 2.5);
        width: 330px;
        height: 255px;
    }

    .story-card-copy {
        top: 295px;
        left: calc(var(--spacing) * 2.5);
        width: 582px;
        font-size: 18px;
    }

    .stories-cta {
        top: 49px;
        left: calc(50% - 117px);
        width: 234px;
        height: 47px;
        font-size: 16px;
    }
}

@media (max-width: 639px) {
    .stories-intro {
        height: 370px;
    }

    .stories-title {
        margin-top: -20px;
    }

    .stories-arrows {
        top: 342px;
    }

    .stories-slider {
        height: 770px;
    }

    .stories-slider-viewport {
        padding-left: calc((100vw - 480px) / 2 + 10px);
    }

    .story-card {
        flex-basis: 460px;
        width: 460px;
        height: 750px;
    }

    .story-card-photo {
        width: 420px;
        height: 354px;
    }

    .story-card-copy {
        top: 394px;
        width: 419px;
    }

    .stories-cta {
        top: 30px;
        left: calc(50% - 116px);
        width: 217px;
        height: 67px;
        font-size: 26px;
    }
}

@media (max-width: 479px) {
    .stories-intro {
        height: 300px;
    }

    .stories-title strong {
        font-size: 95px;
    }

    .stories-arrows {
        top: 269px;
    }

    .stories-slider {
        height: 710px;
    }

    .stories-slider-viewport {
        padding-left: calc(50vw - 195px + 11px);
    }

    .story-card {
        flex-basis: 369px;
        width: 369px;
        height: 689px;
    }

    .story-card-photo {
        top: 19px;
        left: calc(var(--spacing) * 2);
        width: calc(100% - 32px);
        height: 281px;
    }

    .story-card-copy {
        top: calc(var(--spacing) * 40);
        left: calc(var(--spacing) * 2);
        width: calc(100% - 32px);
        font-size: 16px;
    }

    .story-card--anna {
        order: 1;
    }

    .story-card--alexander {
        order: 2;
    }

    .story-card--vasiliy {
        order: 3;
    }

    .stories-outro {
        height: 105px;
    }

    .stories-cta {
        top: 18px;
        left: calc(50% - 94px);
        width: 188px;
        height: 67px;
        font-size: 26px;
    }
}

@media (max-width: 389px) {
    .stories-intro {
        height: 274px;
    }

    .stories-arrows {
        top: calc(var(--spacing) * 30.5);
    }

    .stories-slider {
        height: 720px;
    }

    .story-card {
        flex-basis: 300px;
        width: 300px;
        height: 699px;
    }

    .story-card-photo {
        left: 14px;
        width: 275px;
        height: 246px;
    }

    .story-card-copy {
        top: 286px;
        left: 14px;
        width: 274px;
    }

    .story-card--alexander {
        order: 1;
    }

    .story-card--vasiliy {
        order: 2;
    }

    .story-card--anna {
        order: 3;
    }

    .stories-slider-viewport {
        padding-left: 10px;
    }

    .stories-cta {
        top: calc(var(--spacing) * 2.5);
        left: calc(50% - 94px);
        width: 217px;
    }
}

/* Guides FAQ */
.stories-outro {
    height: 590px;
    background: linear-gradient(180deg, var(--brown) 0%, var(--sand) 100%);
}

.guides-title {
    position: absolute;
    top: 307px;
    left: 50%;
    width: 1340px;
    margin: -30px 0 0;
    color: var(--white);
    font-family: "Safari Display", "Jost", Arial, sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    transform: translateX(-50%);
}

.guides-title strong {
    position: relative;
    z-index: -1;
    bottom: -25px;
    display: inline-block;
    color: var(--brown-deep);
    font-size: 200px;
    line-height: 1;
}

.guides-faq {
    padding: 60px 0 90px;
    color: var(--white);
    background: var(--sand);
}

.guides-faq-inner {
    width: 1160px;
    margin: 0 auto;
}

.guide-faq-item {
    margin: 0 0 10px;
    overflow: hidden;
    border-radius: 10px;
    background: hsl(26.75, 33.33%, 48.82%);
}

.guide-faq-item summary {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 85px;
    padding: 25px 72px 25px 30px;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
    list-style: none;
    cursor: pointer;
}

.guide-faq-item summary::-webkit-details-marker {
    display: none;
}

.guide-faq-item summary::marker {
    content: "";
}

.guide-faq-item summary i,
.guide-faq-item summary i::after {
    position: absolute;
    display: block;
    width: 24px;
    height: 1px;
    background: var(--white);
    content: "";
}

.guide-faq-item summary i {
    top: 50%;
    right: 26px;
    transform: translateY(-50%);
    transition: transform 0.2s ease;
}

.guide-faq-item summary i::after {
    top: 0;
    left: 0;
    transform: rotate(90deg);
}

.guide-faq-item[open] summary i {
    transform: translateY(-50%) rotate(45deg);
}

.guide-faq-answer {
    padding: 0 30px 30px;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.3;
}

.guide-faq-answer p {
    margin: 0 0 0.7em;
}

.guide-faq-answer p:last-child {
    margin-bottom: 0;
}

.guide-faq-item summary:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: -3px;
}

.guides-faq-outro {
    position: relative;
    height: 78px;
    overflow: visible;
    background: var(--sand);
}

.guides-question-button {
    position: absolute;
    top: -40px;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 428px;
    height: 68px;
    border: 5px solid var(--yellow);
    border-radius: 42px;
    color: var(--white);
    background: var(--orange);
    font-size: 26px;
    font-weight: 600;
    text-transform: uppercase;
    transform: translateX(-50%);
}

.guides-question-button:hover {
    border-color: var(--orange);
    background: var(--orange-hot);
}

@media (max-width: 1919px) {
    .stories-outro {
        height: 530px;
    }

    .guides-title {
        top: 289px;
        font-size: 80px;
    }

    .guides-title strong {
        font-size: 180px;
    }
}

@media (max-width: 1199px) {
    .stories-outro {
        height: 400px;
    }

    .guides-title {
        top: 223px;
        width: 1033px;
        font-size: 60px;
    }

    .guides-title strong {
        font-size: 140px;
    }

    .guides-faq-inner {
        width: calc(100% - 20px);
        max-width: 940px;
    }

    .guides-faq-outro {
        height: 88px;
    }

    .guides-question-button {
        top: -29px;
        width: 311px;
        height: 58px;
        font-size: 18px;
    }
}

@media (max-width: 959px) {
    .stories-outro {
        height: 300px;
    }

    .stories-cta {
        border-width: 3px;
    }

    .guides-title {
        top: 167px;
        width: 628px;
        font-size: 45px;
    }

    .guides-title strong {
        bottom: -15px;
        font-size: 95px;
    }

    .guides-faq-inner {
        max-width: 620px;
    }

    .guides-question-button {
        top: -21px;
        width: 261px;
        height: 47px;
        border-width: 3px;
        font-size: 16px;
    }
}

@media (max-width: 693px) {
    .guides-title strong {
        bottom: -12px;
    }
}

@media (max-width: 639px) {
    .stories-outro {
        height: 430px;
    }

    .guides-title {
        top: calc(var(--spacing) * 20.5);
        width: 412px;
    }

    .guides-faq-outro {
        height: 68px;
    }

    .guides-question-button {
        top: -20px;
        width: 263px;
    }

    .guides-faq-inner {
        width: calc(100% - 40px);
        max-width: none;
    }

    .guide-faq-item summary {
        min-height: 62px;
        padding: 20px 54px 20px 20px;
        font-size: 16px;
    }

    .guide-faq-item summary i {
        right: calc(var(--spacing) * 2);
    }

    .guide-faq-answer {
        padding: 0 calc(var(--spacing) * 2.5) calc(var(--spacing) * 2.5);
        font-size: 14px;
    }
}

@media (max-width: 479px) {
    .stories-outro {
        height: 400px;
    }

    .guides-title {
        top: 185px;
        width: 327px;
        margin-top: -20px;
        font-size: 40px;
    }

    .guides-title strong {
        font-size: 65px;
    }
}

@media (max-width: 389px) {
    .stories-outro {
        height: 370px;
    }

    .guides-title {
        top: 165px;
    }
}

/* Blog introduction and article slider */
.blog-intro {
    position: relative;
    height: 570px;
    overflow: visible;
    color: var(--white);
    background: var(--sand);
}

.blog-intro h2,
.blog-intro > p,
.blog-slider-arrows {
    position: absolute;
    left: 50%;
    margin: 0;
    transform: translateX(-50%);
}

.blog-intro h2 {
    top: 90px;
    width: 870px;
    font-family: "Safari Display", "Jost", Arial, sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.blog-intro h2 strong {
    color: hsl(43.16, 100%, 77.65%);
}

.blog-intro > p {
    top: calc(var(--spacing) * 42.5);
    width: 917px;
    color: hsl(24.32, 45.68%, 15.88%);
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
}

.blog-slider-arrows {
    top: calc(var(--spacing) * 67);
    z-index: 4;
    display: flex;
    gap: calc(var(--spacing) * 2.5);
}

.blog-slider-arrows button {
    display: block;
    width: 70px;
    height: 70px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.blog-slider-arrows img {
    display: block;
    width: 100%;
    height: 100%;
}

.blog-slider-arrows button:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: 3px;
}

.blog-slider {
    position: relative;
    height: 580px;
    overflow: hidden;
    background: var(--sand);
}

.blog-slider-viewport {
    width: 100%;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    cursor: grab;
}

.blog-slider-viewport::-webkit-scrollbar {
    display: none;
}

.blog-slider-viewport.is-dragging {
    cursor: grabbing;
    user-select: none;
}

.blog-slider-track {
    display: flex;
    width: max-content;
    min-width: 100%;
    height: 100%;
    gap: calc(var(--spacing) * 5);
    padding-left: calc(50vw - 960px + 10px);
    padding-right: calc(var(--spacing) * 5);
}

.blog-card {
    --blog-title-top: 387px;
    --blog-description-top: 449px;
    --blog-title-width: 392px;
    --blog-description-width: 433px;
    position: relative;
    flex: 0 0 460px;
    width: 460px;
    height: 550px;
    overflow: hidden;
    border-radius: 15px;
    color: var(--white);
    background: var(--brown-deep);
}

.blog-card-link {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

.blog-card-photo {
    position: absolute;
    inset: 0 0 auto;
    width: 100%;
    height: 360px;
    overflow: hidden;
}

.blog-card-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 300ms ease;
}

.blog-card h3,
.blog-card p {
    position: absolute;
    left: 50%;
    margin: 0;
    text-align: center;
    transform: translateX(-50%);
}

.blog-card h3 {
    top: var(--blog-title-top);
    width: var(--blog-title-width);
    font-size: 26px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
}

.blog-card p {
    top: var(--blog-description-top);
    width: var(--blog-description-width);
    color: var(--white);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
}

.blog-card--kilimanjaro {
    --blog-title-width: 428px;
    --blog-description-width: 376px;
}

.blog-card--romance,
.blog-card--tribes {
    --blog-description-top: 501px;
}

.blog-card--romance {
    --blog-title-width: 424px;
}

.blog-card--tribes {
    --blog-title-width: 422px;
}

.blog-card--family {
    --blog-title-top: 396px;
    --blog-description-top: 458px;
    --blog-title-width: 415px;
}

.blog-card--kenya,
.blog-card--lions {
    --blog-title-top: 396px;
    --blog-description-top: 438px;
}

.blog-card--kenya {
    --blog-title-width: 304px;
    --blog-description-width: 428px;
}

.blog-card--lions {
    --blog-title-width: 349px;
}

@media (hover: hover) and (pointer: fine) {
    .blog-card-link:hover .blog-card-photo img {
        transform: scale(1.05);
    }
}

@media (max-width: 1919px) {
    .blog-slider {
        height: 550px;
    }

    .blog-slider-track {
        padding-left: calc(50vw - 600px + 21px);
    }

    .blog-card h3 {
        font-size: 24px;
    }

    .blog-card--romance,
    .blog-card--tribes {
        --blog-description-top: 473px;
    }
}

@media (max-width: 1199px) {
    .blog-intro {
        height: 480px;
    }

    .blog-intro h2 {
        width: 651px;
        font-size: 80px;
    }

    .blog-intro > p {
        top: 283px;
        width: 668px;
        font-size: 20px;
    }

    .blog-slider-arrows {
        top: 446px;
    }

    .blog-slider-track {
        padding-left: calc(50vw - 480px + 11px);
    }
}

@media (max-width: 959px) {
    .blog-intro {
        height: 390px;
    }

    .blog-intro h2 {
        width: 485px;
        font-size: 60px;
    }

    .blog-intro > p {
        top: 234px;
        width: 594px;
        font-size: 18px;
    }

    .blog-slider-arrows {
        top: calc(var(--spacing) * 45);
        gap: calc(var(--spacing) * 2);
    }

    .blog-slider-arrows button {
        width: 56px;
        height: 56px;
    }

    .blog-slider-track {
        padding-left: calc(50vw - 320px + 12px);
    }
}

@media (max-width: 639px) {
    .blog-intro h2 {
        width: 485px;
    }

    .blog-intro > p {
        top: 230px;
        width: 438px;
        font-size: 16px;
    }

    .blog-slider-arrows {
        top: 358px;
    }

    .blog-slider-track {
        gap: 38px;
        padding-left: calc(50vw - 240px + 10px);
        padding-right: 38px;
    }

    .blog-card {
        --blog-title-top: 352px;
        --blog-description-top: 402px;
        --blog-title-width: 334px;
        --blog-description-width: 393px;
        flex-basis: 418px;
        width: 418px;
        height: 488px;
    }

    .blog-card-photo {
        height: 327px;
    }

    .blog-card h3 {
        font-size: 20px;
    }

    .blog-card p {
        font-size: 16px;
    }

    .blog-card--romance,
    .blog-card--tribes {
        --blog-description-top: 422px;
    }

    .blog-card--kilimanjaro {
        --blog-title-width: 327px;
    }

    .blog-card--tribes {
        --blog-title-width: 351px;
    }

    .blog-card--family {
        --blog-title-width: 322px;
        --blog-description-width: 351px;
    }

    .blog-card--kenya {
        --blog-description-top: 381px;
        --blog-title-width: 276px;
        --blog-description-width: 370px;
    }

    .blog-card--lions {
        --blog-description-top: 382px;
        --blog-title-width: 276px;
    }
}

@media (max-width: 479px) {
    .blog-intro {
        height: 356px;
    }

    .blog-intro h2 {
        top: calc(var(--spacing) * 7.5);
        width: 360px;
        font-size: 40px;
    }

    .blog-intro > p {
        top: calc(var(--spacing) * 20);
        width: 355px;
        font-size: 16px;
    }

    .blog-slider-arrows {
        top: 326px;
    }

    .blog-slider {
        height: 530px;
    }

    .blog-slider-track {
        gap: 22px;
        padding-left: calc(50vw - 185px + 10px);
        padding-right: 22px;
    }

    .blog-card {
        --blog-title-top: 375px;
        --blog-description-top: 424px;
        flex-basis: 347px;
        width: 347px;
        height: 515px;
    }

    .blog-card-photo {
        height: 360px;
    }

    .blog-card p {
        --blog-description-width: 300px;
        line-height: 1.2;
    }

    .blog-card--surf {
        --blog-title-width: 288px;
    }

    .blog-card--romance {
        --blog-title-width: 297px;
    }

    .blog-card--tribes {
        --blog-title-width: 325px;
    }

    .blog-card--romance {
        --blog-description-top: 465px;
    }

    .blog-card--tribes {
        --blog-description-top: 464px;
    }

    .blog-card--family {
        --blog-title-top: 380px;
        --blog-description-top: 429px;
    }

    .blog-card--kenya {
        --blog-description-top: 404px;
    }

    .blog-card--lions {
        --blog-title-top: 380px;
        --blog-description-top: 409px;
    }
}

@media (max-width: 389px) {
    .blog-intro {
        height: 396px;
    }

    .blog-intro h2 {
        width: 322px;
    }

    .blog-intro > p {
        width: 291px;
    }

    .blog-slider-arrows {
        top: calc(var(--spacing) * 46);
        gap: 23px;
    }

    .blog-slider-track {
        padding-left: 10px;
    }
}

/* Memory form and team preview */
.memory-team-section {
    position: relative;
    z-index: 2;
    height: 1460px;
    overflow: visible;
    color: var(--white);
    background: linear-gradient(180deg, var(--sand) 0%, var(--brown) 100%);
}

.memory-form-card,
.memory-title,
.memory-subtitle,
.memory-form,
.team-preview-title,
.team-preview-photo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.memory-form-card {
    top: 241px;
    z-index: 0;
    width: 1160px;
    height: 270px;
    border-radius: 15px;
    background: var(--brown-deep);
}

.memory-title,
.team-preview-title {
    z-index: 2;
    margin: 0;
    font-family: "Safari Display", "Jost", Arial, sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.memory-title {
    top: calc(var(--spacing) * 22.5);
    width: 1193px;
    color: var(--yellow);
}

.memory-subtitle {
    top: 305px;
    z-index: 2;
    width: 610px;
    margin: 0;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
}

.memory-form {
    top: 395px;
    z-index: 2;
    width: 1103px;
}

.memory-form-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) 363px;
    gap: calc(var(--spacing) * 2.5);
}

.memory-form input,
.memory-form button {
    height: 60px;
    border: 0;
    border-radius: 500px;
}

.memory-form-fields > input {
    min-width: 0;
    padding: 0 calc(var(--spacing) * 2.5);
    color: var(--white);
    background: hsl(23.77, 43.09%, 24.12%);
    font-size: 18px;
    font-weight: 400;
    outline: none;
}

.memory-form-fields > input::placeholder {
    color: hsla(0, 0%, 100%, 0.55);
    opacity: 1;
}

.memory-form-fields > input:focus {
    box-shadow: 0 0 0 2px var(--yellow);
}

.memory-form-fields > button {
    padding: 0 calc(var(--spacing) * 2);
    color: var(--white);
    background: var(--orange);
    font-size: 26px;
    font-weight: 600;
    cursor: pointer;
}

.memory-form-fields > button:hover {
    background: var(--orange-hot);
}

.memory-form-consents {
    display: grid;
    gap: 13px;
    margin-top: 14px;
}

.memory-form-consents label {
    display: flex;
    align-items: center;
    gap: 10px;
    width: max-content;
    max-width: 100%;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    cursor: pointer;
}

.memory-form-consents input {
    position: relative;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 2px solid hsla(0, 0%, 100%, 0.8);
    border-radius: 0;
    appearance: none;
    background: transparent;
}

.memory-form-consents input:checked::after {
    position: absolute;
    top: 1px;
    left: 5px;
    width: 5px;
    height: 10px;
    border: solid var(--yellow);
    border-width: 0 2px 2px 0;
    content: "";
    transform: rotate(45deg);
}

.memory-form-consents input:focus-visible {
    outline: 2px solid var(--yellow);
    outline-offset: 2px;
}

.memory-form-consents a {
    color: var(--yellow);
}

.team-preview-title {
    top: 691px;
    width: 560px;
}

.team-preview-photo {
    top: calc(var(--spacing) * 107);
    z-index: 1;
    width: 1040px;
    height: 600px;
    overflow: hidden;
    border-radius: 15px;
    background: hsl(23, 30.3%, 61.18%);
}

.team-preview-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team-preview-arrows {
    position: absolute;
    top: -38px;
    left: calc(50% - 80px);
    z-index: 3;
    display: flex;
    gap: calc(var(--spacing) * 2.5);
}

.team-preview-arrows button {
    width: 70px;
    height: 70px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.team-preview-arrows img {
    display: block;
    width: 100%;
    height: 100%;
}

.team-preview-arrows button:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: 3px;
}

@media (max-width: 1919px) {
    .memory-team-section {
        height: 1310px;
    }

    .memory-form-card {
        top: 161px;
        left: calc(50% + 7px);
        height: 300px;
    }

    .memory-title {
        top: calc(var(--spacing) * 12.5);
        left: calc(50% + 7px);
        width: 1160px;
    }

    .memory-subtitle {
        top: 225px;
        width: 901px;
    }

    .memory-form {
        top: 310px;
    }

    .team-preview-title {
        top: 565px;
    }

    .team-preview-photo {
        top: calc(var(--spacing) * 87.5);
    }

    .team-preview-arrows {
        top: -36px;
        left: calc(50% - 58px);
    }
}

@media (max-width: 1199px) {
    .memory-team-section {
        height: 1160px;
    }

    .memory-form-card {
        left: 50%;
        width: 940px;
        height: 218px;
    }

    .memory-title {
        left: 50%;
        width: 940px;
        font-size: 80px;
    }

    .memory-subtitle {
        top: calc(var(--spacing) * 25.5);
        width: 826px;
        font-size: 22px;
    }

    .memory-form {
        top: 266px;
        width: 886px;
    }

    .memory-form-fields {
        grid-template-columns: repeat(3, minmax(0, 1fr)) 240px;
    }

    .memory-form-fields > input,
    .memory-form-fields > button {
        font-size: 16px;
    }

    .team-preview-title {
        top: 489px;
    }

    .team-preview-photo {
        top: 630px;
        width: 941px;
        height: 513px;
    }

    .team-preview-arrows {
        top: -34px;
        left: calc(50% - 80px);
    }
}

@media (max-width: 959px) {
    .memory-team-section {
        height: 1200px;
    }

    .memory-form-card {
        width: 619px;
        height: 492px;
    }

    .memory-title {
        top: 38px;
        width: 605px;
    }

    .memory-subtitle {
        top: calc(var(--spacing) * 27.5);
        width: 466px;
        font-size: 20px;
    }

    .memory-form {
        top: 294px;
        width: 540px;
    }

    .memory-form-fields {
        display: block;
    }

    .memory-form-fields > input {
        display: block;
        width: 100%;
        margin-bottom: calc(var(--spacing) * 2.5);
        font-size: 18px;
    }

    .memory-form-fields > button {
        position: absolute;
        top: calc(var(--spacing) * 37.5);
        left: 0;
        width: 100%;
        font-size: 22px;
    }

    .memory-form-consents {
        position: absolute;
        top: 222px;
        left: 0;
        margin-top: 0;
    }

    .team-preview-title {
        top: 694px;
        font-size: 80px;
    }

    .team-preview-photo {
        top: calc(var(--spacing) * 99.5);
        width: 622px;
        height: 384px;
    }

    .team-preview-arrows {
        top: -30px;
        left: calc(50% - 64px);
        gap: calc(var(--spacing) * 2);
    }

    .team-preview-arrows button {
        width: 56px;
        height: 56px;
    }
}

@media (max-width: 639px) {
    .memory-team-section {
        height: 1010px;
    }

    .memory-form-card {
        width: 459px;
        height: 433px;
    }

    .memory-title {
        top: 63px;
        width: 410px;
        font-size: 60px;
    }

    .memory-subtitle {
        top: 203px;
        width: 365px;
        font-size: 18px;
    }

    .memory-form {
        top: calc(var(--spacing) * 34.5);
        width: 400px;
    }

    .memory-form-fields > input,
    .memory-form-fields > button {
        height: 47px;
    }

    .memory-form-fields > input {
        margin-bottom: 15px;
        font-size: 16px;
    }

    .memory-form-fields > button {
        top: 270px;
        font-size: 18px;
    }

    .memory-form-consents {
        top: calc(var(--spacing) * 23);
        font-size: 12px;
    }

    .team-preview-title {
        top: 609px;
        width: 335px;
    }

    .team-preview-photo {
        top: calc(var(--spacing) * 88);
        width: 461px;
        height: 302px;
    }

    .team-preview-arrows {
        top: -24px;
    }
}

@media (max-width: 479px) {
    .memory-team-section {
        height: 1030px;
    }

    .memory-form-card {
        top: 121px;
        width: 351px;
        height: 435px;
        border-radius: 15px;
    }

    .memory-title {
        width: 291px;
        font-size: 40px;
    }

    .memory-subtitle {
        top: 145px;
        width: 264px;
        font-size: 16px;
    }

    .memory-form {
        top: calc(var(--spacing) * 22.5);
        width: 300px;
    }

    .memory-form-fields > input {
        margin-bottom: 15px;
        padding: 0 calc(var(--spacing) * 2.5);
    }

    .memory-form-fields > button {
        top: 307px;
        font-size: 16px;
    }

    .memory-form-consents {
        top: 190px;
        gap: 18px;
    }

    .memory-form-consents label {
        gap: 10px;
        width: 300px;
        font-size: 12px;
        line-height: 1.45;
    }

    .team-preview-title {
        top: 603px;
        width: 350px;
        font-size: 40px;
    }

    .team-preview-photo {
        top: 679px;
        width: 350px;
        height: 346px;
        border-radius: 10px;
    }

    .team-preview-arrows {
        top: -32px;
        left: calc(50% - 57px);
    }
}

@media (max-width: 369px) {
    .memory-team-section {
        height: 970px;
    }

    .memory-form-card {
        width: 300px;
        height: 465px;
    }

    .memory-form {
        width: 260px;
    }

    .memory-form-consents label {
        width: 260px;
    }

    .memory-form-fields > button {
        top: 343px;
    }

    .team-preview-title {
        width: 266px;
    }

    .team-preview-photo {
        top: 682px;
        width: 300px;
        height: 277px;
    }

    .team-preview-arrows {
        top: -32px;
        left: calc(50% - 64px);
    }
}

/* Team video slider */
.team-slider {
    position: relative;
    z-index: 3;
    height: 656px;
    overflow: visible;
    background: var(--brown);
}

.team-slider-viewport {
    width: 100%;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    cursor: grab;
}

.team-slider-viewport::-webkit-scrollbar {
    display: none;
}

.team-slider-viewport.is-dragging {
    cursor: grabbing;
    user-select: none;
}

.team-slider-track {
    display: flex;
    width: max-content;
    min-width: 100%;
    height: 100%;
    gap: 30px;
    padding-left: calc(50vw - 960px + 12px);
    padding-right: 30px;
}

.team-card {
    --team-media-top: 18px;
    --team-caption-width: 235px;
    --team-caption-shift: 0px;
    position: relative;
    flex: 0 0 360px;
    width: 360px;
    height: 100%;
}

.team-card--zuwena {
    --team-media-top: 17px;
    --team-caption-width: 291px;
}

.team-card--dickson {
    --team-media-top: 19px;
}

.team-card--kelvin {
    --team-media-top: 23px;
}

.team-card--emanuel {
    --team-media-top: 22px;
}

.team-card--konstantin {
    --team-caption-width: 323px;
}

.team-card-media {
    position: absolute;
    top: var(--team-media-top);
    left: 0;
    display: block;
    width: 360px;
    height: 500px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 10px;
    background: var(--brown-deep);
    cursor: pointer;
}

.team-card-media img,
.team-card-media iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.team-card-media::before,
.team-card-media::after {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    content: "";
    transform: translate(-50%, -50%);
}

.team-card-media::before {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: hsla(0, 0%, 0%, 0.92);
}

.team-card-media::after {
    margin-left: 3px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 16px solid var(--white);
}

.team-card-media.is-playing::before,
.team-card-media.is-playing::after {
    display: none;
}

.team-card-media:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: -3px;
}

.team-card-caption {
    position: absolute;
    top: 481px;
    left: calc(50% + var(--team-caption-shift));
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: var(--team-caption-width);
    height: 85px;
    padding: 8px 10px;
    border-radius: 42px;
    background: hsl(23.77, 43.09%, 24.12%);
    text-align: center;
    transform: translateX(-50%);
    pointer-events: none;
}

.team-card--konstantin .team-card-caption {
    top: calc(var(--spacing) * 60);
}

.team-card-caption h2,
.team-card-caption p {
    margin: 0;
    font-weight: 400;
    line-height: 1;
}

.team-card-caption h2 {
    font-size: 26px;
}

.team-card-caption p {
    margin-top: 7px;
    color: hsla(0, 0%, 100%, 0.67);
    font-size: 18px;
}

@media (max-width: 1919px) {
    .team-slider {
        height: 610px;
    }

    .team-slider-track {
        padding-left: calc(50vw - 600px + 12px);
    }

    .team-card--konstantin {
        --team-caption-shift: 9px;
    }
}

@media (max-width: 1199px) {
    .team-slider-track {
        padding-left: calc(50vw - 480px + 12px);
    }

    .team-card--konstantin {
        --team-caption-shift: 9px;
    }
}

@media (max-width: 959px) {
    .team-slider {
        height: 500px;
    }

    .team-slider-track {
        gap: 25px;
        padding-left: calc(50vw - 320px + 12px);
        padding-right: 25px;
    }

    .team-card {
        --team-caption-width: 191px;
        flex-basis: 293px;
        width: 293px;
    }

    .team-card--zuwena {
        --team-caption-width: 271px;
    }

    .team-card--konstantin {
        --team-caption-width: 259px;
        --team-caption-shift: 0px;
    }

    .team-card--konstantin,
    .team-card--kelvin {
        --team-media-top: 22px;
    }

    .team-card--emanuel {
        --team-media-top: 21px;
    }

    .team-card-media {
        width: 293px;
        height: 408px;
    }

    .team-card-caption,
    .team-card--konstantin .team-card-caption {
        top: 406px;
        height: 71px;
    }

    .team-card--konstantin .team-card-caption {
        top: 407px;
    }

    .team-card-caption h2 {
        font-size: 22px;
    }

    .team-card-caption p {
        margin-top: 5px;
        font-size: 16px;
    }
}

@media (max-width: 639px) {
    .team-slider {
        height: 400px;
    }

    .team-slider-track {
        gap: 22px;
        padding-left: calc(50vw - 240px + 12px);
        padding-right: 22px;
    }

    .team-card {
        --team-media-top: 8px;
        --team-caption-width: 162px;
        flex-basis: 249px;
        width: 249px;
    }

    .team-card--zuwena {
        --team-media-top: 5px;
        --team-caption-width: 235px;
    }

    .team-card--dickson {
        --team-media-top: 7px;
    }

    .team-card--konstantin {
        --team-media-top: 14px;
        --team-caption-width: 219px;
    }

    .team-card--idd {
        --team-media-top: 6px;
    }

    .team-card--kelvin {
        --team-media-top: 9px;
    }

    .team-card-media {
        width: 249px;
        height: 348px;
    }

    .team-card-caption,
    .team-card--konstantin .team-card-caption {
        top: calc(var(--spacing) * 40.5);
        height: 58px;
    }

    .team-card-caption h2 {
        font-size: 18px;
    }

    .team-card-caption p {
        margin-top: calc(var(--spacing) * 0.5);
        font-size: 14px;
    }
}

@media (max-width: 479px) {
    .team-slider {
        height: 290px;
    }

    .team-slider-track {
        gap: calc(var(--spacing) * 2);
        padding-left: calc(var(--spacing) * 1.5);
        padding-right: calc(var(--spacing) * 2);
    }

    .team-card {
        --team-media-top: 8px;
        --team-caption-width: 113px;
        flex-basis: 173px;
        width: 173px;
    }

    .team-card--zuwena {
        --team-media-top: 17px;
        --team-caption-width: 155px;
    }

    .team-card--dickson,
    .team-card--konstantin {
        --team-media-top: 6px;
    }

    .team-card--konstantin {
        --team-caption-width: 142px;
    }

    .team-card--idd {
        --team-media-top: 18px;
    }

    .team-card-media {
        width: 173px;
        height: 243px;
    }

    .team-card-media::before {
        width: 56px;
        height: 56px;
    }

    .team-card-media::after {
        border-top-width: 9px;
        border-bottom-width: 9px;
        border-left-width: 14px;
    }

    .team-card-caption,
    .team-card--konstantin .team-card-caption {
        top: 231px;
        height: 38px;
        padding: 3px 4px;
        border-radius: 21px;
    }

    .team-card-caption h2 {
        font-size: 12px;
    }

    .team-card-caption p {
        margin-top: 2px;
        font-size: 10px;
    }
}

/* More tours call to action */
.more-tours {
    position: relative;
    height: 345px;
    overflow: hidden;
    color: var(--white);
    background: var(--brown);
}

.more-tours-card,
.more-tours-title,
.more-tours-copy,
.more-tours-arrow,
.more-tours-button {
    position: absolute;
    z-index: 2;
}

.more-tours-card {
    top: 99px;
    left: calc(50% - 960px + 379px);
    width: 1160px;
    height: 222px;
    border-radius: 15px;
    background: var(--brown-deep);
}

.more-tours-title {
    top: 38px;
    left: calc(50% - 960px + 363px);
    width: 1193px;
    margin: 0;
    color: var(--yellow);
    font-family: "Safari Display", "Jost", Arial, sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.more-tours-copy {
    top: 163px;
    left: calc(50% - 960px + 653px);
    width: 610px;
    margin: 0;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
}

.more-tours-arrow {
    top: calc(var(--spacing) * 23);
    left: calc(50% - 960px + 1029px);
    width: 51px;
    height: auto;
    transform: rotate(25deg);
}

.more-tours-button {
    top: 225px;
    left: calc(50% - 960px + 812px);
    display: grid;
    width: 295px;
    height: 67px;
    place-items: center;
    border: 5px solid var(--yellow);
    border-radius: 42px;
    background: var(--orange);
    font-size: 26px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

.more-tours-button:hover {
    border-color: var(--orange);
    background: var(--orange-hot);
}

.more-tours-button:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: 3px;
}

@media (max-width: 1919px) {
    .more-tours {
        height: 335px;
    }

    .more-tours-card {
        top: 61px;
        left: calc(50% - 600px + 30px);
        width: 1160px;
        height: 254px;
    }

    .more-tours-title {
        top: 0;
        left: calc(50% - 600px + 30px);
        width: 1160px;
    }

    .more-tours-copy {
        top: 143px;
        left: calc(50% - 600px + 522px);
        width: 142px;
    }

    .more-tours-arrow {
        top: calc(var(--spacing) * 20.5);
        left: calc(50% - 600px + 664px);
    }

    .more-tours-button {
        top: 206px;
        left: calc(50% - 600px + 461px);
    }
}

@media (max-width: 1199px) {
    .more-tours {
        height: 305px;
    }

    .more-tours-card {
        top: 69px;
        left: calc(50% - 480px + 10px);
        width: 940px;
        height: 218px;
    }

    .more-tours-title {
        top: 34px;
        left: calc(50% - 480px + 10px);
        width: 940px;
        font-size: 80px;
    }

    .more-tours-copy {
        top: calc(var(--spacing) * 16.5);
        left: calc(50% - 480px + 409px);
        width: 126px;
        font-size: 22px;
    }

    .more-tours-arrow {
        top: 150px;
        left: calc(50% - 480px + 535px);
    }

    .more-tours-button {
        top: 187px;
        left: calc(50% - 480px + 329px);
        width: 303px;
        height: 58px;
        font-size: 18px;
    }
}

@media (max-width: 959px) {
    .more-tours {
        height: 355px;
    }

    .more-tours-card {
        top: 70px;
        left: calc(50% - 320px + 10px);
        width: 619px;
        height: 260px;
    }

    .more-tours-title {
        top: 19px;
        left: calc(50% - 320px + 10px);
        width: 605px;
    }

    .more-tours-copy {
        top: 189px;
        left: calc(50% - 320px + 87px);
        width: 466px;
        font-size: 20px;
    }

    .more-tours-arrow {
        top: 202px;
        left: calc(50% - 320px + 380px);
        width: 30px;
    }

    .more-tours-button {
        top: 238px;
        left: calc(50% - 320px + 170px);
        width: 300px;
        height: 47px;
        border-width: 3px;
        font-size: 16px;
    }
}

@media (max-width: 639px) {
    .more-tours {
        height: 285px;
    }

    .more-tours-card {
        top: 45px;
        left: calc(50% - 240px + 10px);
        width: 459px;
        height: 225px;
    }

    .more-tours-title {
        top: var(--spacing);
        left: calc(50% - 240px + 35px);
        width: 410px;
        font-size: 60px;
    }

    .more-tours-copy {
        top: calc(var(--spacing) * 18);
        left: calc(50% - 240px + 52px);
        width: 365px;
        font-size: 18px;
    }

    .more-tours-arrow {
        top: 158px;
        left: calc(50% - 240px + 287px);
    }

    .more-tours-button {
        top: 191px;
        left: calc(50% - 240px + 90px);
    }
}

@media (max-width: 479px) {
    .more-tours {
        height: 340px;
    }

    .more-tours-card {
        top: 89px;
        left: calc(50% - 195px + 10px);
        width: 373px;
        height: 225px;
    }

    .more-tours-title {
        top: 0;
        left: calc(50% - 195px + 69px);
        width: 269px;
    }

    .more-tours-copy {
        top: 201px;
        left: calc(50% - 195px + 119px);
        width: 157px;
    }

    .more-tours-arrow {
        top: 214px;
        left: calc(50% - 195px + 247px);
    }

    .more-tours-button {
        top: calc(var(--spacing) * 30.5);
        left: calc(50% - 195px + 45px);
    }
}

@media (max-width: 389px) {
    .more-tours-card {
        top: 57px;
        left: calc(50% - 160px + 10px);
        width: 300px;
        height: 261px;
    }

    .more-tours-title {
        top: 13px;
        left: calc(50% - 160px + 22px);
        width: 272px;
    }

    .more-tours-copy {
        top: 205px;
        left: calc(50% - 160px + 93px);
        width: 119px;
        line-height: 1.2;
    }

    .more-tours-arrow {
        top: 217px;
        left: calc(50% - 160px + 212px);
    }

    .more-tours-button {
        top: calc(var(--spacing) * 30.5);
        left: calc(50% - 160px + 33px);
        width: 254px;
    }
}

/* Moscow office */
.office-section {
    color: var(--white);
    background: var(--brown);
}

.office-heading {
    position: relative;
    height: 265px;
}

.office-heading h2 {
    position: absolute;
    top: calc(var(--spacing) * 12.5);
    left: calc(50% - 960px + 680px);
    width: 560px;
    margin: 0;
    font-family: "Safari Display", "Jost", Arial, sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.office-map-wrap {
    width: 1160px;
    height: 385px;
    margin: 0 auto;
    overflow: hidden;
    background: hsl(40, 10.34%, 88.63%);
}

.office-map {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.office-final-wrap {
    position: relative;
    overflow: hidden;
    color: var(--white);
    background: var(--brown);
}

.office-details {
    position: relative;
    z-index: 1;
    height: 503px;
    overflow: hidden;
    background: transparent;
}

.office-address,
.office-phone,
.office-hours,
.office-photos,
.office-gallery {
    position: absolute;
    z-index: 2;
}

.office-address {
    top: calc(var(--spacing) * 5);
    left: calc(50% - 960px + 380px);
    width: 438px;
    margin: 0;
    font-size: 26px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.3;
}

.office-address span,
.office-hours span,
.office-phone p {
    color: hsl(22.11, 20%, 62.75%);
}

.office-phone {
    top: calc(var(--spacing) * 5);
    left: calc(50% - 960px + 880px);
    width: 260px;
    font-size: 26px;
    line-height: 1.3;
}

.office-phone p,
.office-phone a,
.office-hours {
    margin: 0;
}

.office-phone a {
    display: block;
    margin-top: 5px;
    text-decoration: underline;
}

.office-hours {
    top: calc(var(--spacing) * 5);
    left: calc(50% - 960px + 1180px);
    width: 438px;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
}

.office-photos {
    top: 222px;
    left: calc(50% - 960px + 380px);
    display: grid;
    grid-template-columns: repeat(3, 360px);
    gap: calc(var(--spacing) * 5);
}

.office-photos img {
    display: block;
    width: 360px;
    height: 239px;
    border-radius: 15px;
    object-fit: cover;
}

.office-gallery {
    display: none;
}

@media (max-width: 1919px) {
    .office-details {
        height: 504px;
    }

    .office-heading h2 {
        left: calc(50% - 600px + 320px);
    }

    .office-address {
        left: calc(50% - 600px + 20px);
    }

    .office-phone {
        left: calc(50% - 600px + 520px);
    }

    .office-hours {
        left: calc(50% - 600px + 820px);
    }

    .office-photos {
        left: calc(50% - 600px + 20px);
    }
}

@media (max-width: 1199px) {
    .office-heading h2 {
        left: calc(50% - 480px + 200px);
    }

    .office-map-wrap {
        width: 940px;
    }

    .office-details {
        height: 419px;
    }

    .office-address,
    .office-phone,
    .office-hours {
        font-size: 20px;
    }

    .office-address {
        left: calc(50% - 480px + 10px);
        width: 338px;
    }

    .office-phone {
        left: calc(50% - 480px + 434px);
        width: 172px;
    }

    .office-phone a {
        margin-top: 7px;
        white-space: nowrap;
    }

    .office-hours {
        left: calc(50% - 480px + 708px);
        width: 233px;
    }

    .office-photos {
        top: calc(var(--spacing) * 22.5);
        left: calc(50% - 480px + 10px);
        grid-template-columns: repeat(3, 292px);
        gap: calc(var(--spacing) * 4);
    }

    .office-photos img {
        width: 292px;
        height: 194px;
    }
}

@media (max-width: 959px) {
    .office-heading h2 {
        left: calc(50% - 320px + 40px);
    }

    .office-map-wrap {
        width: 620px;
    }

    .office-details {
        height: 526px;
    }

    .office-address {
        left: calc(50% - 320px + 10px);
        width: 617px;
    }

    .office-address-break {
        display: none;
    }

    .office-phone {
        top: 122px;
        left: calc(50% - 320px + 10px);
        width: 260px;
    }

    .office-phone a {
        margin-top: 10px;
    }

    .office-hours {
        top: 214px;
        left: calc(50% - 320px + 10px);
        width: 438px;
    }

    .office-photos {
        top: 323px;
        left: calc(50% - 320px + 10px);
        grid-template-columns: repeat(3, 192px);
        gap: 22px;
    }

    .office-photos img {
        width: 192px;
        height: 127px;
        border-radius: 10px;
    }
}

@media (max-width: 639px) {
    .office-heading {
        height: 175px;
    }

    .office-heading h2 {
        top: 61px;
        left: calc(50% - 240px + 121px);
        width: 238px;
        font-size: 80px;
    }

    .office-map-wrap {
        width: 460px;
    }

    .office-details {
        height: 695px;
    }

    .office-address,
    .office-phone,
    .office-hours {
        left: calc(50% - 240px + 10px);
        font-size: 18px;
    }

    .office-address {
        width: 462px;
    }

    .office-phone {
        top: 129px;
    }

    .office-phone a {
        margin-top: 5px;
    }

    .office-hours {
        top: 201px;
    }

    .office-photos {
        display: none;
    }

    .office-gallery {
        top: 271px;
        left: calc(50% - 240px + 10px);
        display: block;
        width: 461px;
        height: 307px;
        overflow: hidden;
    }

    .office-gallery-viewport {
        width: 100%;
        height: 100%;
        overflow: hidden;
        border-radius: 0;
        scrollbar-width: none;
        cursor: grab;
    }

    .office-gallery-viewport::-webkit-scrollbar {
        display: none;
    }

    .office-gallery-viewport.is-dragging {
        cursor: grabbing;
    }

    .office-gallery-track {
        display: flex;
        width: max-content;
        height: 100%;
    }

    .office-gallery-card {
        flex: 0 0 461px;
        width: 461px;
        height: 307px;
        margin: 0;
    }

    .office-gallery-card img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .office-gallery-arrow {
        position: absolute;
        top: 50%;
        z-index: 4;
        display: grid;
        width: 30px;
        height: 30px;
        padding: 0;
        place-items: center;
        transform: translateY(-50%);
        border: 0;
        border-radius: 50%;
        background: hsl(0, 0%, 90.98%);
        cursor: pointer;
    }

    .office-gallery-arrow--previous {
        left: calc(var(--spacing) * 2.5);
    }

    .office-gallery-arrow--next {
        right: calc(var(--spacing) * 2.5);
    }

    .office-gallery-arrow svg {
        width: 9px;
        height: 15px;
        fill: none;
        stroke: var(--black);
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.5;
    }

    .office-gallery-arrow:focus-visible {
        outline: 3px solid var(--yellow);
        outline-offset: 2px;
    }
}

@media (max-width: 479px) {
    .office-heading {
        height: 120px;
    }

    .office-heading h2 {
        top: calc(var(--spacing) * 5);
        left: calc(50% - 195px + 76px);
        font-size: 40px;
    }

    .office-map-wrap {
        width: 370px;
    }

    .office-details {
        height: 627px;
    }

    .office-address,
    .office-phone,
    .office-hours {
        left: calc(50% - 195px + 10px);
    }

    .office-address {
        width: 369px;
    }

    .office-gallery {
        left: calc(50% - 195px + 10px);
        width: 371px;
        height: 319px;
    }

    .office-gallery-card {
        flex-basis: 371px;
        width: 371px;
        height: 319px;
    }
}

@media (max-width: 389px) {
    .office-heading h2 {
        left: calc(50% - 160px + 41px);
    }

    .office-map-wrap {
        width: 300px;
    }

    .office-details {
        height: 625px;
    }

    .office-address,
    .office-phone,
    .office-hours {
        left: calc(50% - 160px + 10px);
    }

    .office-address {
        width: 303px;
    }

    .office-gallery {
        left: calc(50% - 160px + 10px);
        width: 300px;
    }

    .office-gallery-card {
        flex-basis: 300px;
        width: 300px;
    }
}

/* Final consultation and footer */
.final-area {
    position: relative;
    z-index: 1;
    height: 601px;
    overflow: hidden;
    color: var(--white);
    background: transparent;
}

.final-area-background {
    position: absolute;
    z-index: 0;
    display: block;
    pointer-events: none;
}

.final-area-background--desktop {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
}

.final-area-background--mobile {
    display: none;
}

.final-consultation,
.site-footer {
    position: relative;
    z-index: 1;
}

.final-consultation {
    height: 365px;
}

.final-consultation-panel,
.final-consultation h2,
.final-consultation-lead,
.final-consultation-form {
    position: absolute;
    z-index: 2;
}

.final-consultation-panel {
    top: 61px;
    left: calc(50% - 960px + 379px);
    width: 1160px;
    height: 290px;
    border-radius: 15px;
    background: var(--brown-deep);
}

.final-consultation h2 {
    top: 0;
    left: calc(50% - 960px + 363px);
    width: 1193px;
    margin: 0;
    color: var(--yellow);
    font-family: "Safari Display", "Jost", Arial, sans-serif;
    font-size: 105px;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.final-consultation-lead {
    top: 125px;
    left: calc(50% - 960px + 654px);
    width: 610px;
    margin: 0;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
}

.final-consultation-form {
    top: 193px;
    left: calc(50% - 960px + 401px);
    width: 1103px;
}

.final-consultation-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) 363px;
    gap: calc(var(--spacing) * 2.5);
}

.final-consultation-fields > input,
.final-consultation-fields > button {
    box-sizing: border-box;
    width: 100%;
    height: 60px;
    border: 0;
    border-radius: 500px;
    font-family: "Jost", Arial, sans-serif;
}

.final-consultation-fields > input {
    min-width: 0;
    padding: 0 calc(var(--spacing) * 2.5);
    color: var(--white);
    background: hsl(23.08, 49.19%, 63.73%);
    font-size: 18px;
    font-weight: 400;
    outline: 0;
}

.final-consultation-fields > input::placeholder {
    color: hsla(0, 0%, 100%, 0.55);
    opacity: 1;
}

.final-consultation-fields > input:focus-visible {
    box-shadow: 0 0 0 3px hsla(39.55, 95.65%, 54.9%, 0.8);
}

.final-consultation-fields > button {
    padding: 0 calc(var(--spacing) * 2);
    color: var(--white);
    background: var(--orange);
    font-size: 26px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.final-consultation-fields > button:hover {
    background: var(--orange-hot);
}

.final-consultation-fields > button:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 3px;
}

.final-consultation-consents {
    display: grid;
    gap: 6px;
    margin-top: calc(var(--spacing) * 1.5);
}

.final-consultation-consents label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    max-width: 100%;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    cursor: pointer;
}

.final-consultation-consents input {
    position: relative;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 2px solid hsla(0, 0%, 100%, 0.8);
    border-radius: 0;
    background: transparent;
    appearance: none;
}

.final-consultation-consents input:checked::after {
    position: absolute;
    top: 1px;
    left: 5px;
    width: 6px;
    height: 11px;
    border: solid var(--yellow);
    border-width: 0 2px 2px 0;
    content: "";
    transform: rotate(45deg);
}

.final-consultation-consents input:focus-visible {
    outline: 2px solid var(--yellow);
    outline-offset: 2px;
}

.final-consultation-consents a {
    color: hsl(39.45, 94.81%, 54.71%);
}

.site-footer {
    height: 236px;
}

.site-footer-logo,
.site-footer-phone,
.site-footer-messengers,
.site-footer-follow,
.site-footer-socials {
    position: absolute;
    z-index: 2;
}

.site-footer-logo {
    top: 0;
    left: calc(50% - 960px + 380px);
    display: block;
    width: 130px;
    height: 165px;
    object-fit: contain;
}

.site-footer-phone {
    top: calc(var(--spacing) * 1.5);
    left: calc(50% - 960px + 716px);
    width: 191px;
}

.site-footer-phone p,
.site-footer-messengers > p {
    margin: 0;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
}

.site-footer-phone a {
    display: block;
    margin-top: calc(var(--spacing) * 2.5);
    color: var(--orange);
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}

.site-footer-messengers {
    top: calc(var(--spacing) * 1.5);
    left: calc(50% - 960px + 1112px);
    width: 191px;
}

.site-footer-icon-row {
    display: flex;
    gap: 15px;
    margin-top: 21px;
    margin-left: 2px;
}

.site-footer-icon-row a,
.site-footer-socials a {
    display: block;
    width: 40px;
    height: 40px;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.site-footer-icon-row a:hover,
.site-footer-socials a:hover {
    opacity: 0.78;
    transform: translateY(-2px);
}

.site-footer-icon-row img,
.site-footer-socials img {
    display: block;
    width: 40px;
    height: 40px;
}

.site-footer-icon-row i,
.site-footer-socials i {
    display: block;
    width: 40px;
    height: 40px;
    color: currentColor;
    font-size: 32px;
    line-height: 40px;
    text-align: center;
}

.site-footer-follow {
    top: 130px;
    left: calc(50% - 960px + 716px);
    width: 576px;
    margin: 0;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
}

.site-footer-follow a {
    color: hsl(13.38, 100%, 69.22%);
    text-decoration: none;
}

.site-footer-socials {
    top: 121px;
    left: calc(50% - 960px + 1313px);
    display: flex;
    width: 205px;
    flex-wrap: wrap;
    gap: 15px;
}

@media (min-width: 960px) and (max-width: 1919px) {
    .site-footer-socials {
        transform: translateY(-15px);
    }
}

@media (max-width: 1919px) {
    .final-area {
        height: 590px;
    }

    .final-area-background--desktop {
        top: auto;
        bottom: 0;
    }

    .final-consultation {
        height: 378px;
    }

    .final-consultation-panel {
        left: calc(50% - 600px + 20px);
        height: 290px;
    }

    .final-consultation h2 {
        left: calc(50% - 600px + 20px);
        width: 1160px;
    }

    .final-consultation-lead {
        left: calc(50% - 600px + 143px);
        width: 901px;
    }

    .final-consultation-form {
        top: 202px;
        left: calc(50% - 600px + 42px);
    }

    .site-footer {
        height: 212px;
    }

    .site-footer-logo {
        left: calc(50% - 600px + 120px);
    }

    .site-footer-phone,
    .site-footer-follow {
        left: calc(50% - 600px + 356px);
    }

    .site-footer-messengers {
        left: calc(50% - 600px + 752px);
    }

    .site-footer-icon-row {
        margin-left: -1px;
    }

    .site-footer-socials {
        left: calc(50% - 600px + 953px);
    }
}

@media (max-width: 1199px) {
    .final-area {
        height: 485px;
    }

    .final-area-background--desktop {
        top: auto;
        bottom: 0;
    }

    .final-consultation {
        height: 286px;
    }

    .final-consultation-panel {
        top: 35px;
        left: calc(50% - 480px + 10px);
        width: 940px;
        height: 245px;
    }

    .final-consultation h2 {
        left: calc(50% - 480px + 10px);
        width: 940px;
        font-size: 80px;
    }

    .final-consultation-lead {
        top: 98px;
        left: calc(50% - 480px + 29px);
        width: 901px;
        font-size: 22px;
    }

    .final-consultation-form {
        top: calc(var(--spacing) * 17.5);
        left: calc(50% - 480px + 37px);
        width: 886px;
    }

    .final-consultation-fields {
        grid-template-columns: repeat(3, minmax(0, 1fr)) 240px;
    }

    .final-consultation-fields > input,
    .final-consultation-fields > button {
        font-size: 16px;
    }

    .site-footer {
        height: 199px;
    }

    .site-footer-logo {
        top: -6px;
        left: calc(50% - 480px + 42px);
    }

    .site-footer-phone {
        top: 6px;
        left: calc(50% - 480px + 248px);
    }

    .site-footer-messengers {
        top: 6px;
        left: calc(50% - 480px + 746px);
    }

    .site-footer-icon-row {
        margin-left: 2px;
    }

    .site-footer-follow {
        top: calc(var(--spacing) * 15.5);
        left: calc(50% - 480px + 248px);
        width: 524px;
        font-size: 20px;
    }

    .site-footer-socials {
        top: 115px;
        left: calc(50% - 480px + 801px);
    }
}

@media (max-width: 959px) {
    .final-area {
        height: 1008px;
    }

    .final-area-background--desktop {
        top: auto;
        bottom: 0;
    }

    .final-consultation {
        height: 583px;
    }

    .final-consultation-panel {
        top: 51px;
        left: calc(50% - 320px + 10px);
        width: 619px;
        height: 530px;
    }

    .final-consultation h2 {
        left: calc(50% - 320px + 10px);
        width: 605px;
    }

    .final-consultation-lead {
        top: calc(var(--spacing) * 14);
        left: calc(50% - 320px + 87px);
        width: 466px;
        font-size: 20px;
    }

    .final-consultation-form {
        top: 165px;
        left: calc(50% - 320px + 50px);
        width: 540px;
    }

    .final-consultation-fields {
        grid-template-columns: 1fr;
    }

    .final-consultation-fields > input,
    .final-consultation-fields > button {
        font-size: 18px;
    }

    .site-footer {
        height: 425px;
    }

    .site-footer-logo {
        top: calc(var(--spacing) * 28);
        left: calc(50% - 320px + 255px);
    }

    .site-footer-phone {
        top: 3px;
        left: calc(50% - 320px + 9px);
    }

    .site-footer-messengers {
        top: 0;
        left: calc(50% - 320px + 424px);
    }

    .site-footer-follow {
        top: 121px;
        left: calc(50% - 320px + 10px);
        width: 286px;
    }

    .site-footer-socials {
        top: 123px;
        left: calc(50% - 320px + 329px);
    }
}

@media (max-width: 639px) {
    .final-area {
        height: 869px;
    }

    .final-area-background--desktop {
        top: auto;
        bottom: -7px;
        left: -181px;
        width: 208%;
    }

    .final-consultation {
        height: 473px;
    }

    .final-consultation-panel {
        top: 37px;
        left: calc(50% - 240px + 10px);
        width: 459px;
        height: 434px;
    }

    .final-consultation h2 {
        left: calc(50% - 240px + 35px);
        width: 410px;
        font-size: 60px;
    }

    .final-consultation-lead {
        top: 78px;
        left: calc(50% - 240px + 51px);
        width: 365px;
        font-size: 18px;
    }

    .final-consultation-form {
        top: 119px;
        left: calc(50% - 240px + 33px);
        width: 400px;
    }

    .final-consultation-fields {
        gap: 15px;
    }

    .final-consultation-fields > input,
    .final-consultation-fields > button {
        height: 47px;
        font-size: 16px;
    }

    .final-consultation-consents {
        gap: 5px;
        margin-top: 10px;
    }

    .final-consultation-consents label {
        gap: var(--spacing);
        font-size: 11px;
    }

    .final-consultation-consents input {
        flex-basis: 18px;
        width: 18px;
        height: 18px;
    }

    .site-footer {
        height: 396px;
    }

    .site-footer-logo {
        top: 279px;
        left: calc(50% - 240px + 0px);
        width: 72px;
        height: 91px;
    }

    .site-footer-phone {
        top: 0;
        left: calc(50% - 240px + 10px);
    }

    .site-footer-phone p,
    .site-footer-messengers > p {
        font-size: 16px;
    }

    .site-footer-phone a {
        margin-top: 10px;
        font-size: 20px;
    }

    .site-footer-messengers {
        top: 86px;
        left: calc(50% - 240px + 10px);
    }

    .site-footer-icon-row {
        margin-top: calc(var(--spacing) * 2);
        margin-left: 0;
    }

    .site-footer-follow {
        top: 193px;
        left: calc(50% - 240px + 10px);
        width: 429px;
        font-size: 16px;
    }

    .site-footer-socials {
        top: 231px;
        left: calc(50% - 240px + 10px);
    }
}

@media (max-width: 479px) {
    .journey-benefits-lead,
    .safety-accent,
    .hotels-accent,
    .equipment-title,
    .equipment-features,
    .care-next-title {
        max-width: 100%;
    }

    .final-area {
        height: 1007px;
    }

    .final-area-background--desktop {
        display: none;
    }

    .final-area-background--mobile {
        top: auto;
        right: 0;
        bottom: -5px;
        display: block;
        width: 100%;
        height: auto;
    }

    .final-consultation {
        height: 511px;
    }

    .final-consultation-panel {
        top: 89px;
        left: calc(50% - 195px - 35px);
        width: 459px;
        height: 407px;
    }

    .final-consultation h2 {
        left: calc(50% - 195px + 59px);
        width: 269px;
    }

    .final-consultation-lead {
        top: calc(var(--spacing) * 17.5);
        left: calc(50% - 195px + 6px);
    }

    .final-consultation-form {
        top: calc(var(--spacing) * 22.5);
        left: calc(50% - 195px + 4px);
        width: 380px;
    }

    .site-footer {
        height: 496px;
    }

    .site-footer-logo {
        top: 346px;
        left: calc(50% - 195px + 0px);
        width: 110px;
        height: 140px;
    }

    .site-footer-phone {
        top: calc(var(--spacing) * 32.5);
        left: calc(50% - 195px + 10px);
    }

    .site-footer-messengers {
        top: 0;
        left: calc(50% - 195px + 10px);
    }

    .site-footer-follow {
        top: calc(var(--spacing) * 14);
        left: calc(50% - 195px + 10px);
        width: 230px;
        line-height: 1.3;
    }

    .site-footer-socials {
        top: 169px;
        left: calc(50% - 195px + 10px);
    }
}

@media (max-width: 389px) {
    .final-area {
        height: 1009px;
    }

    .final-area-background--mobile {
        top: auto;
        bottom: -1px;
    }

    .final-consultation {
        height: 562px;
    }

    .final-consultation-panel {
        top: calc(var(--spacing) * 5.5);
        left: calc(50% - 160px + 11px);
        width: 300px;
        height: 485px;
    }

    .final-consultation h2 {
        left: calc(50% - 160px + 23px);
        width: 272px;
    }

    .final-consultation-lead {
        top: 139px;
        left: calc(50% - 160px + 25px);
        width: 270px;
        line-height: 1.2;
    }

    .final-consultation-form {
        top: 202px;
        left: calc(50% - 160px + 30px);
        width: 260px;
    }

    .site-footer {
        height: 447px;
    }

    .site-footer-logo {
        top: 297px;
        left: calc(50% - 160px + 0px);
    }

    .site-footer-phone {
        top: 211px;
        left: calc(50% - 160px + 10px);
    }

    .site-footer-messengers {
        top: -10px;
        left: calc(50% - 160px + 10px);
    }

    .site-footer-icon-row {
        gap: 11px;
        margin-top: calc(var(--spacing) * 2);
    }

    .site-footer-follow {
        top: 89px;
        left: calc(50% - 160px + 10px);
        line-height: 1.2;
    }

    .site-footer-socials {
        top: 141px;
        left: calc(50% - 160px + 10px);
    }
}

.scroll-top,
.floating-chat {
    position: fixed;
    z-index: 10;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.scroll-top {
    right: auto;
    bottom: 30px;
    left: 30px;
    width: 50px;
    height: 50px;
    background: transparent;
}

.scroll-top[hidden] {
    display: none;
}

.scroll-top svg {
    display: block;
    width: 50px;
    height: 50px;
    fill: var(--yellow);
    filter: drop-shadow(0 2px 4px hsla(0, 0%, 0%, 0.12));
}

.floating-chat {
    right: calc(var(--spacing) * 2.5);
    bottom: calc(var(--spacing) * 2.5);
    width: 60px;
    height: 60px;
    background: hsl(217.22, 91.22%, 59.8%);
    box-shadow: 0 4px 14px hsla(0, 0%, 0%, 0.2);
}

.floating-chat svg {
    display: block;
    width: 32px;
    height: 32px;
    fill: none;
    stroke: var(--white);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.scroll-top:hover,
.floating-chat:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

.scroll-top:focus-visible,
.floating-chat:focus-visible {
    outline: 3px solid var(--white);
    outline-offset: 3px;
}

@media (max-width: 639px) {
    .scroll-top {
        bottom: 18px;
        left: 14px;
    }

    .floating-chat {
        right: 14px;
        bottom: 14px;
    }
}

/* Fixed header from the original site: it appears after 500px of scrolling. */
html {
    scroll-padding-top: 90px;
}

.anchor-target {
    display: block;
    width: 0;
    height: 0;
    overflow: hidden;
}

.site-header.is-fixed {
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    transform: none;
    isolation: isolate;
    border-top: 1px solid var(--yellow);
    background: var(--brown);
    box-shadow: 0 2px 10px hsla(20, 51.22%, 8.04%, 0.16);
    animation: fixed-header-in 0.3s ease both;
}

.site-header.is-fixed::before {
    display: none;
}

.site-header.is-fixed .logo {
    top: calc(var(--spacing) * 0.5);
    left: 25px;
    width: 55px;
}

.site-header.is-fixed .desktop-nav {
    top: 15px;
    left: 137px;
    width: 800px;
}

.site-header.is-fixed .desktop-nav > ul {
    justify-content: flex-start;
    gap: 17px;
}

.site-header.is-fixed .desktop-nav > ul > li > a {
    padding: 0 0 7px;
    font-size: 16px;
    letter-spacing: -0.8px;
    white-space: nowrap;
}

.site-header.is-fixed .submenu {
    min-width: 190px;
}

.site-header.is-fixed .submenu a {
    padding: 8px 13px;
    font-size: 12px;
}

.site-header.is-fixed .header-actions {
    top: calc(var(--spacing) * 0.5);
    right: 30px;
    gap: 7px;
}

.site-header.is-fixed .social {
    width: 35px;
    height: 35px;
}

.site-header.is-fixed .callback {
    width: 265px;
    height: 35px;
    margin-left: 1px;
    font-size: 18px;
}

.site-header.is-fixed .rating {
    top: 41px;
    left: 137px;
    align-items: flex-start;
    gap: calc(var(--spacing) * 2.5);
}

.site-header.is-fixed .rating img {
    width: 125px;
}

.site-header.is-fixed .rating span {
    width: 400px;
    margin-top: 6px;
    font-size: 16px;
    line-height: 1;
}

.site-header.is-fixed .phone {
    top: 43px;
    right: 402px;
    width: 148px;
    font-size: 16px;
    line-height: 1.1;
}

.site-header.is-fixed .checklist {
    top: 45px;
    right: 30px;
    width: 350px;
    height: 30px;
    font-size: 16px;
}

@keyframes fixed-header-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@media (max-width: 1199px) {
    html {
        scroll-padding-top: 82px;
    }

    .site-header.is-fixed {
        height: 72px;
    }

    .site-header.is-fixed .logo {
        top: 5px;
        left: calc(var(--spacing) * 2);
        width: 43px;
    }

    .site-header.is-fixed .rating {
        top: 11px;
        left: calc(var(--spacing) * 9);
        gap: var(--spacing);
    }

    .site-header.is-fixed .rating img {
        width: 82px;
    }

    .site-header.is-fixed .rating span {
        width: 310px;
        font-size: 11px;
        white-space: nowrap;
    }

    .site-header.is-fixed .phone {
        top: 41px;
        right: calc(var(--spacing) * 8);
        width: 155px;
        font-size: 12px;
    }

    .site-header.is-fixed .header-actions {
        top: var(--spacing);
        right: calc(var(--spacing) * 8);
    }

    .site-header.is-fixed .social {
        width: 30px;
        height: 30px;
    }

    .site-header.is-fixed .mobile-menu-button {
        top: 17px;
        right: calc(var(--spacing) * 2);
        width: 36px;
        height: 36px;
    }

    .mobile-menu-button {
        position: absolute;
        top: 79px;
        right: 23px;
        display: grid;
        width: 40px;
        height: 40px;
        place-content: center;
        gap: calc(var(--spacing) * 0.5);
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: hsla(22.86, 32.98%, 37.45%, 0.8);
        cursor: pointer;
    }

    .mobile-menu-button span:not(.sr-only) {
        display: block;
        width: 19px;
        height: 2px;
        background: var(--white);
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    .mobile-menu-button[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .mobile-menu-button[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-button[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .mobile-menu {
        position: absolute;
        z-index: 10001;
        top: calc(var(--spacing) * 16);
        right: max(23px, calc((100vw - 960px) / 2));
        display: grid;
        width: min(310px, calc(100% - 46px));
        padding: 17px 20px;
        visibility: hidden;
        opacity: 0;
        border-radius: var(--border-radius);
        background: hsla(22.67, 37.19%, 23.73%, 0.96);
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
        box-shadow: 0 12px 30px hsla(0, 0%, 0%, 0.24);
        transform: translateY(-8px);
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    }

    .mobile-menu.is-open {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
    }

    .mobile-menu a {
        padding: 9px 0;
        border-bottom: 1px solid hsla(0, 0%, 100%, 0.18);
        font-size: 15px;
        text-transform: uppercase;
    }

    .site-header.is-fixed + .mobile-menu {
        position: fixed;
        top: calc(var(--spacing) * 9.5);
    }
}

@media (max-width: 959px) {
    .site-header.is-fixed {
        height: 68px;
    }

    .site-header.is-fixed .logo {
        top: 5px;
        left: calc(var(--spacing) * 1.5);
        width: 41px;
    }

    .site-header.is-fixed .rating {
        top: 9px;
        left: calc(var(--spacing) * 8);
    }

    .site-header.is-fixed .rating img {
        width: 76px;
    }

    .site-header.is-fixed .rating span {
        width: 220px;
        font-size: 10px;
        white-space: normal;
    }

    .site-header.is-fixed .phone {
        display: none;
    }

    .site-header.is-fixed .header-actions {
        top: var(--spacing);
        right: 58px;
    }

    .site-header.is-fixed .mobile-menu-button {
        top: 15px;
        right: calc(var(--spacing) * 1.5);
    }

    .mobile-menu-button {
        right: calc(var(--spacing) * 1.5);
    }

    .mobile-menu {
        right: 10px;
    }

    .site-header.is-fixed + .mobile-menu {
        top: calc(var(--spacing) * 9);
    }
}

@media (max-width: 639px) {
    html {
        scroll-padding-top: 83px;
    }

    .site-header.is-fixed {
        height: 83px;
    }

    .site-header.is-fixed .logo {
        top: var(--spacing);
        left: 10px;
        width: 55px;
    }

    .site-header.is-fixed .rating {
        top: calc(var(--spacing) * 2);
        left: calc(var(--spacing) * 9.5);
        display: block;
    }

    .site-header.is-fixed .rating img {
        width: 76px;
        margin: 0 0 calc(var(--spacing) * 0.5);
    }

    .site-header.is-fixed .rating span {
        display: block;
        width: 90px;
        margin: 0;
        font-size: 10px;
        line-height: 1.15;
        white-space: normal;
    }

    .site-header.is-fixed .header-actions {
        top: 11px;
        right: 55px;
        gap: 7px;
    }

    .site-header.is-fixed .social {
        width: 40px;
        height: 40px;
    }

    .site-header.is-fixed .social--whatsapp {
        display: block;
    }

    .site-header.is-fixed .phone {
        top: 58px;
        right: calc(var(--spacing) * 1.5);
        display: block;
        width: 142px;
        font-size: 14px;
        line-height: 1;
        text-align: right;
    }

    .site-header.is-fixed .mobile-menu-button {
        top: 11px;
        right: calc(var(--spacing) * 1.5);
        width: 36px;
        height: 36px;
        background: hsl(216.23, 55.21%, 37.65%);
    }

    .mobile-menu-button {
        right: 10px;
    }

    .site-header.is-fixed + .mobile-menu {
        top: 66px;
    }
}

@media (max-width: 479px) {
    .site-header.is-fixed {
        height: 83px;
    }
}

/* Accessible reusable popup layer. */
html.modal-open,
html.modal-open body {
    overflow: hidden;
}

.modal-layer[hidden],
.site-modal-form[hidden],
.site-modal-video[hidden],
.site-modal-tour-fields[hidden],
.site-modal-question[hidden] {
    display: none !important;
}

.modal-layer {
    position: fixed;
    z-index: 200000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: calc(var(--spacing) * 3);
    overflow: auto;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: hsla(22.86, 32.98%, 37.45%, 0.95);
    cursor: default;
}

.site-modal {
    position: relative;
    z-index: 1;
    width: min(680px, 100%);
    max-height: calc(100dvh - 48px);
    padding: 54px 62px 48px;
    overflow: auto;
    border-radius: 10px;
    outline: 0;
    color: hsl(24, 11.9%, 16.47%);
    background: var(--white);
    box-shadow: 0 24px 80px hsla(21.6, 58.14%, 8.43%, 0.3);
    animation: site-modal-in 0.22s ease both;
}

@keyframes site-modal-in {
    from {
        opacity: 0;
        transform: translateY(16px) scale(0.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.site-modal-close {
    position: absolute;
    z-index: 2;
    top: 18px;
    right: 18px;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
}

.site-modal-close span {
    position: absolute;
    top: 18px;
    left: var(--spacing);
    width: 22px;
    height: 2px;
    background: var(--brown);
}

.site-modal-close span:first-child {
    transform: rotate(45deg);
}

.site-modal-close span:last-child {
    transform: rotate(-45deg);
}

.site-modal-close:focus-visible {
    outline: 3px solid var(--yellow);
    outline-offset: 2px;
}

.site-modal-copy {
    margin-bottom: calc(var(--spacing) * 3.5);
    text-align: center;
}

.site-modal-copy h2 {
    margin: 0;
    color: var(--brown);
    font-size: clamp(32px, 5vw, 58px);
    font-weight: 300;
    line-height: 1.02;
}

.site-modal-copy p {
    max-width: 500px;
    margin: 15px auto 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.35;
}

.site-modal-form {
    display: grid;
    gap: 14px;
}

.site-modal-tour-fields {
    display: grid;
    gap: 14px;
}

.site-modal-tour-fields > label,
.site-modal-people label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 600;
}

.site-modal-people {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.site-modal input[type="text"],
.site-modal input[type="date"],
.site-modal select,
.site-modal textarea {
    width: 100%;
    min-height: 52px;
    padding: 12px 15px;
    border: 1px solid hsl(0, 0%, 78.82%);
    border-radius: 5px;
    outline: 0;
    color: hsl(24, 11.9%, 16.47%);
    background: var(--white);
    font-size: 16px;
}

.site-modal-date input::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 0;
}

.site-modal textarea {
    min-height: 105px;
    resize: vertical;
}

.site-modal input:focus,
.site-modal select:focus,
.site-modal textarea:focus {
    border-color: var(--orange);
    box-shadow: 0 0 0 3px hsla(24.36, 87.07%, 54.51%, 0.16);
}

.site-modal-contact {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.site-modal-contact-title {
    margin: 0 0 var(--spacing);
    color: var(--muted);
    font-size: 14px;
    font-weight: 600;
}

.site-modal-contact legend {
    margin-bottom: var(--spacing);
    color: var(--muted);
    font-size: 14px;
    font-weight: 600;
}

.site-modal-contact-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing);
}

.site-modal-contact-options label {
    position: relative;
    cursor: pointer;
}

.site-modal-contact-options input {
    position: absolute;
    opacity: 0;
}

.site-modal-contact-options span {
    display: grid;
    min-height: 42px;
    place-items: center;
    padding: 7px 9px;
    border: 1px solid hsl(26.67, 9.68%, 81.76%);
    border-radius: 22px;
    color: hsl(25.71, 7.87%, 34.9%);
    font-size: 14px;
}

.site-modal-contact-options input:checked + span {
    border-color: var(--orange);
    color: hsl(23.28, 69.88%, 32.55%);
    background: hsla(24.36, 87.07%, 54.51%, 0.1);
}

.site-modal-contact-options input:focus-visible + span {
    outline: 3px solid hsla(24.36, 87.07%, 54.51%, 0.28);
    outline-offset: 2px;
}

.site-modal-consent {
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: start;
    gap: 9px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}

.site-modal-consent input {
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: var(--orange);
}

.site-modal-consent a {
    color: hsl(23.42, 76.04%, 37.65%);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.site-modal-submit {
    min-height: 54px;
    margin-top: calc(var(--spacing) * 0.5);
    padding: 12px 22px;
    border: 0;
    border-radius: calc(var(--border-radius) * 3.5);
    color: var(--white);
    background: var(--orange);
    font-size: 17px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.site-modal-submit:hover {
    background: var(--orange-hot);
}

.site-modal-submit:active {
    transform: translateY(1px);
}

.site-modal-status {
    min-height: 20px;
    margin: 0;
    color: hsl(88, 41.9%, 35.1%);
    font-size: 14px;
    text-align: center;
}

.site-modal-date > svg,
.site-modal-contact-icon,
.site-modal-phone-prefix {
    display: none;
}

.site-modal-phone-prefix {
    position: relative;
    min-width: max-content;
    overflow: hidden;
}

.site-modal-contact-options b {
    font: inherit;
}

/* The main “Хочу в Танзанию” popup mirrors the original Tilda form. */
.modal-layer.is-choose-tour {
    display: block;
    padding: 65px 20px;
    overflow: auto;
    scrollbar-width: none;
}

.modal-layer.is-choose-tour::-webkit-scrollbar {
    display: none;
}

.site-modal.is-choose-tour {
    width: 560px;
    max-height: none;
    margin: 0 auto;
    padding: 40px 45px;
    overflow: visible;
    border-radius: 0;
    color: var(--black);
    box-shadow: none;
    animation: none;
    transform: none;
}

.site-modal.is-choose-tour .site-modal-close {
    position: fixed;
    top: 10px;
    right: 10px;
    width: 43px;
    height: 43px;
}

.site-modal.is-choose-tour .site-modal-close span {
    top: calc(var(--spacing) * 2.5);
    left: 7px;
    width: 29px;
    height: 2px;
    background: var(--white);
}

.site-modal.is-choose-tour .site-modal-copy {
    margin-bottom: calc(var(--spacing) * 3);
}

.site-modal.is-choose-tour .site-modal-copy h2 {
    margin: 0 0 11px;
    color: var(--brown);
    font-family: "Safari Display", sans-serif;
    font-size: 60px;
    font-weight: 300;
    line-height: 1.23;
    text-align: center;
    text-transform: uppercase;
}

.site-modal.is-choose-tour .site-modal-copy p {
    max-width: none;
    margin: 0;
    color: var(--muted);
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    text-align: center;
}

.site-modal.is-choose-tour .site-modal-form,
.site-modal.is-choose-tour .site-modal-tour-fields,
.site-modal.is-choose-tour .site-modal-people {
    display: block;
}

.site-modal.is-choose-tour .site-modal-tour-fields > label,
.site-modal.is-choose-tour .site-modal-people label,
.site-modal.is-choose-tour .site-modal-field {
    position: relative;
    display: block;
    margin: 0 0 25px;
}

.site-modal.is-choose-tour .site-modal-tour-fields > label,
.site-modal.is-choose-tour .site-modal-people label {
    color: var(--muted);
    font-size: 16px;
    font-weight: 400;
}

.site-modal.is-choose-tour .site-modal-people label > span:not(.sr-only) {
    display: block;
    height: 31px;
    color: var(--muted);
    font-family: "Jost", Arial, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 31px;
}

.site-modal.is-choose-tour input[type="text"],
.site-modal.is-choose-tour input[type="date"],
.site-modal.is-choose-tour select,
.site-modal.is-choose-tour textarea {
    display: block;
    width: 100%;
    height: 60px;
    min-height: 60px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid hsl(0, 0%, 78.82%);
    border-radius: 0;
    outline: 0;
    color: var(--black);
    background: transparent;
    box-shadow: none;
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 21.28px;
}

.site-modal.is-choose-tour input[type="text"]::placeholder,
.site-modal.is-choose-tour textarea::placeholder {
    color: var(--muted);
    opacity: 1;
}

.site-modal.is-choose-tour input[type="text"]:focus,
.site-modal.is-choose-tour select:focus,
.site-modal.is-choose-tour textarea:focus {
    border-color: var(--orange);
    box-shadow: none;
}

.site-modal.is-choose-tour .site-modal-date {
    width: 470px;
}

.site-modal.is-choose-tour .site-modal-date input {
    width: 245px;
}

.site-modal.is-choose-tour .site-modal-date svg {
    display: block;
    position: absolute;
    top: 13px;
    left: 219px;
    width: 25px;
    height: 28px;
    fill: none;
    stroke: var(--orange);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
    pointer-events: none;
}

.site-modal.is-choose-tour select {
    padding-right: 30px;
    appearance: none;
}

.site-modal.is-choose-tour .site-modal-people label::after {
    position: absolute;
    right: 1px;
    bottom: 27px;
    width: 0;
    height: 0;
    border-top: 7px solid var(--orange);
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    content: "";
    pointer-events: none;
}

.site-modal.is-choose-tour .site-modal-contact {
    height: 72px;
}

.site-modal.is-choose-tour .site-modal-contact legend {
    display: block;
    width: 100%;
    height: 31px;
    margin: 0;
    color: var(--muted);
    font-family: "Jost", Arial, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 31px;
}

.site-modal.is-choose-tour .site-modal-contact-options {
    display: flex;
    height: 41px;
    gap: 6px;
}

.site-modal.is-choose-tour .site-modal-contact-options label {
    width: 75px;
    height: 41px;
}

.site-modal.is-choose-tour .site-modal-contact-options label:nth-child(3) {
    width: 80px;
}

.site-modal.is-choose-tour .site-modal-contact-options > label > span {
    display: flex;
    width: 100%;
    min-height: 41px;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 0.5);
    padding: 0 5px;
    border: 1px solid transparent;
    border-radius: calc(var(--border-radius) * 0.5);
    color: var(--black);
    background: transparent;
    font-family: "Safari Display", sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 23.25px;
}

.site-modal.is-choose-tour .site-modal-contact-options b {
    font: inherit;
}

.site-modal.is-choose-tour .site-modal-contact-icon {
    display: block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
}

.site-modal.is-choose-tour svg.site-modal-contact-icon circle {
    fill: var(--black);
}

.site-modal.is-choose-tour svg.site-modal-contact-icon path {
    fill: var(--white);
}

.site-modal.is-choose-tour .site-modal-contact-options input:checked + span {
    border-color: hsla(24.36, 87.07%, 54.51%, 0.4);
    color: var(--black);
    background: hsla(24.36, 87.07%, 54.51%, 0.1);
}

.site-modal.is-choose-tour .site-modal-contact-value {
    display: flex;
    height: 43px;
    align-items: center;
    margin-top: 25px;
    border-bottom: 1px solid hsl(0, 0%, 78.82%);
}

.site-modal.is-choose-tour .site-modal-contact-value input {
    flex: 1 1 auto;
    width: auto;
    height: 42px;
    min-height: 42px;
    border: 0;
}

.site-modal.is-choose-tour .site-modal-phone-prefix {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    margin-right: 7px;
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    line-height: 1;
}

.site-modal-phone-prefix[hidden] {
    display: none !important;
}

.site-modal-country-flag {
    width: 20px;
    overflow: hidden;
    font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif;
    font-size: 18px;
    line-height: 1;
}

.site-modal-country-arrow {
    width: 0;
    height: 0;
    border-top: 5px solid hsl(0, 0%, 72.94%);
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

.site-modal-country-code {
    color: var(--black);
}

.site-modal-country-select {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
    opacity: 0;
    appearance: none;
    cursor: pointer;
}

.site-modal-contact-value > input[name="contact"] {
    position: relative;
    z-index: 0;
    min-width: 0;
}

.site-modal.is-choose-tour .site-modal-consent {
    display: flex;
    min-height: 20px;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 25px;
    color: var(--muted);
    font-family: "Safari Display", sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 15px;
}

.site-modal.is-choose-tour .site-modal-consent input {
    position: relative;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 2px solid hsla(24.36, 87.07%, 54.51%, 0.7);
    border-radius: 0;
    background: transparent;
    appearance: none;
}

.site-modal.is-choose-tour .site-modal-consent input:checked::after {
    position: absolute;
    top: 1px;
    left: 5px;
    width: 6px;
    height: 11px;
    border: solid var(--orange);
    border-width: 0 2px 2px 0;
    content: "";
    transform: rotate(45deg);
}

.site-modal.is-choose-tour .site-modal-consent a {
    color: var(--orange);
}

.site-modal.is-choose-tour .site-modal-submit {
    width: 100%;
    min-height: 54px;
    margin: 0;
    padding: 10.8px 60px;
    border: 5px solid var(--yellow);
    border-radius: 42px;
    color: var(--white);
    background: hsl(24.65, 87.07%, 54.51%);
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 22.4px;
    text-transform: uppercase;
}

.site-modal.is-choose-tour .site-modal-status:empty {
    display: none;
}

/* Tour-card and “Хочу посетить” popups use the original wide desktop form. */
.site-modal.is-choose-tour.is-card-tour {
    width: 960px;
}

.site-modal.is-choose-tour.is-card-tour .site-modal-copy h2 {
    white-space: pre-line;
}

.site-modal.is-choose-tour.is-card-tour .site-modal-date {
    width: 100%;
}

.site-modal.is-choose-tour.is-card-tour .site-modal-country-flag {
    height: 14px;
    background: linear-gradient(to bottom, var(--black) 0 33.333%, hsl(0, 100%, 43.33%) 33.333% 66.666%, hsl(48.47, 100%, 50%) 66.666% 100%);
    font-size: 0;
}

/* Original “Детальный FAQ по Танзании” download popup. */
.modal-layer.is-faq-download {
    overflow: auto;
    scrollbar-width: none;
}

.modal-layer.is-faq-download::-webkit-scrollbar {
    display: none;
}

.site-modal.is-faq-download {
    width: 560px;
    max-height: none;
    padding: 40px 45px;
    overflow: visible;
    border-radius: 0;
    color: var(--black);
    background: var(--white);
    box-shadow: none;
    animation: none;
    transform: none;
}

.site-modal.is-faq-download .site-modal-close {
    position: fixed;
    top: 10px;
    right: 10px;
    width: 43px;
    height: 43px;
}

.site-modal.is-faq-download .site-modal-close span {
    top: calc(var(--spacing) * 2.5);
    left: 7px;
    width: 29px;
    height: 2px;
    background: var(--white);
}

.site-modal.is-faq-download .site-modal-copy {
    margin-bottom: calc(var(--spacing) * 3);
}

.site-modal.is-faq-download .site-modal-copy h2 {
    margin: 0;
    color: var(--orange);
    font-family: "Safari Display", sans-serif;
    font-size: 60px;
    font-weight: 300;
    line-height: 1.23;
    text-align: center;
    text-transform: uppercase;
}

.site-modal.is-faq-download .site-modal-form {
    display: block;
}

.site-modal.is-faq-download .site-modal-field {
    position: relative;
    display: block;
    height: 60px;
    margin: 0 0 25px;
}

.site-modal.is-faq-download .site-modal-contact-value {
    display: block;
    border: 0;
}

.site-modal.is-faq-download .site-modal-phone-prefix {
    display: none;
}

.site-modal.is-faq-download input[type="text"],
.site-modal.is-faq-download input[type="tel"] {
    display: block;
    width: 100%;
    height: 60px;
    min-height: 60px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid hsl(0, 0%, 78.82%);
    border-radius: 0;
    outline: 0;
    color: var(--black);
    background: transparent;
    box-shadow: none;
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 21.28px;
}

.site-modal.is-faq-download input[type="text"]::placeholder,
.site-modal.is-faq-download input[type="tel"]::placeholder {
    color: var(--muted);
    opacity: 1;
}

.site-modal.is-faq-download input[type="text"]:focus,
.site-modal.is-faq-download input[type="tel"]:focus {
    border-color: var(--orange);
    box-shadow: none;
}

.site-modal.is-faq-download .site-modal-consent {
    display: flex;
    min-height: 20px;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 25px;
    color: var(--muted);
    font-family: "Safari Display", sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 15px;
}

.site-modal.is-faq-download .site-modal-consent input {
    position: relative;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 2px solid hsla(24.36, 87.07%, 54.51%, 0.7);
    border-radius: 0;
    background: transparent;
    appearance: none;
}

.site-modal.is-faq-download .site-modal-consent input:checked::after {
    position: absolute;
    top: 1px;
    left: 5px;
    width: 6px;
    height: 11px;
    border: solid var(--orange);
    border-width: 0 2px 2px 0;
    content: "";
    transform: rotate(45deg);
}

.site-modal.is-faq-download .site-modal-consent a {
    color: var(--orange);
}

.site-modal.is-faq-download .site-modal-submit {
    width: 100%;
    min-height: 54px;
    margin: 0;
    padding: 10.8px 60px;
    border: 5px solid var(--yellow);
    border-radius: 42px;
    color: var(--white);
    background: hsl(24.65, 87.07%, 54.51%);
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 22.4px;
    text-transform: uppercase;
    white-space: normal;
}

.site-modal.is-faq-download .site-modal-status:empty {
    display: none;
}

/* Original “Гайд «Что взять на сафари»” download popup. */
.modal-layer.is-guide-download {
    overflow: auto;
    scrollbar-width: none;
}

.modal-layer.is-guide-download::-webkit-scrollbar {
    display: none;
}

.site-modal.is-guide-download {
    width: 560px;
    max-height: none;
    padding: 40px 45px;
    overflow: visible;
    border-radius: 0;
    color: var(--black);
    background: var(--white);
    box-shadow: none;
    animation: none;
    transform: none;
}

.site-modal.is-guide-download .site-modal-close {
    position: fixed;
    top: 10px;
    right: 10px;
    width: 43px;
    height: 43px;
}

.site-modal.is-guide-download .site-modal-close span {
    top: calc(var(--spacing) * 2.5);
    left: 7px;
    width: 29px;
    height: 2px;
    background: var(--white);
}

.site-modal.is-guide-download .site-modal-copy {
    margin-bottom: calc(var(--spacing) * 3);
}

.site-modal.is-guide-download .site-modal-copy h2 {
    margin: 0;
    color: var(--orange);
    font-family: "Safari Display", sans-serif;
    font-size: 60px;
    font-weight: 300;
    line-height: 1.23;
    text-align: center;
    text-transform: uppercase;
}

.site-modal.is-guide-download .site-modal-form {
    display: block;
}

.site-modal.is-guide-download .site-modal-field {
    position: relative;
    display: block;
    height: 60px;
    margin: 0 0 25px;
}

.site-modal.is-guide-download input[type="text"] {
    display: block;
    width: 100%;
    height: 60px;
    min-height: 60px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid hsl(0, 0%, 78.82%);
    border-radius: 0;
    outline: 0;
    color: var(--black);
    background: transparent;
    box-shadow: none;
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 21.28px;
}

.site-modal.is-guide-download input[type="text"]::placeholder {
    color: var(--muted);
    opacity: 1;
}

.site-modal.is-guide-download input[type="text"]:focus {
    border-color: var(--orange);
    box-shadow: none;
}

.site-modal.is-guide-download .site-modal-contact {
    height: 72px;
}

.site-modal.is-guide-download .site-modal-contact legend {
    display: block;
    width: 100%;
    height: 31px;
    margin: 0;
    color: var(--muted);
    font-family: "Jost", Arial, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 31px;
}

.site-modal.is-guide-download .site-modal-contact-options {
    display: flex;
    height: 41px;
    gap: 6px;
}

.site-modal.is-guide-download .site-modal-contact-options label {
    width: 75px;
    height: 41px;
}

.site-modal.is-guide-download .site-modal-contact-options label:nth-child(3) {
    width: 80px;
}

.site-modal.is-guide-download .site-modal-contact-options > label > span {
    display: flex;
    width: 100%;
    min-height: 41px;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 0.5);
    padding: 0 5px;
    border: 1px solid transparent;
    border-radius: calc(var(--border-radius) * 0.5);
    color: var(--black);
    background: transparent;
    font-family: "Safari Display", sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 23.25px;
}

.site-modal.is-guide-download .site-modal-contact-icon {
    display: block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
}

.site-modal.is-guide-download svg.site-modal-contact-icon circle {
    fill: var(--black);
}

.site-modal.is-guide-download svg.site-modal-contact-icon path {
    fill: var(--white);
}

.site-modal.is-guide-download .site-modal-contact-options input:checked + span {
    border-color: hsla(24.36, 87.07%, 54.51%, 0.4);
    color: var(--black);
    background: hsla(24.36, 87.07%, 54.51%, 0.1);
}

.site-modal.is-guide-download .site-modal-contact-value {
    display: flex;
    height: 43px;
    align-items: center;
    margin-top: 25px;
    border-bottom: 1px solid hsl(0, 0%, 78.82%);
}

.site-modal.is-guide-download .site-modal-contact-value input {
    flex: 1 1 auto;
    width: auto;
    height: 42px;
    min-height: 42px;
    border: 0;
}

.site-modal.is-guide-download .site-modal-phone-prefix {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    margin-right: 7px;
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    line-height: 1;
}

.site-modal.is-guide-download .site-modal-phone-prefix[hidden] {
    display: none;
}

.site-modal.is-guide-download .site-modal-consent {
    display: flex;
    min-height: 20px;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 25px;
    color: var(--muted);
    font-family: "Safari Display", sans-serif;
    font-size: 15px;
    font-weight: 300;
    line-height: 15px;
}

.site-modal.is-guide-download .site-modal-consent input {
    position: relative;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 2px solid hsla(24.36, 87.07%, 54.51%, 0.7);
    border-radius: 0;
    background: transparent;
    appearance: none;
}

.site-modal.is-guide-download .site-modal-consent input:checked::after {
    position: absolute;
    top: 1px;
    left: 5px;
    width: 6px;
    height: 11px;
    border: solid var(--orange);
    border-width: 0 2px 2px 0;
    content: "";
    transform: rotate(45deg);
}

.site-modal.is-guide-download .site-modal-consent a {
    color: var(--orange);
}

.site-modal.is-guide-download .site-modal-submit {
    width: 100%;
    min-height: 54px;
    margin: 0;
    padding: 10.8px 60px;
    border: 5px solid var(--yellow);
    border-radius: 42px;
    color: var(--white);
    background: hsl(24.65, 87.07%, 54.51%);
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 22.4px;
    text-transform: uppercase;
    white-space: normal;
}

.site-modal.is-guide-download .site-modal-status:empty {
    display: none;
}

.site-modal.is-video {
    width: min(960px, 100%);
    padding: 50px 0 0;
    overflow: hidden;
    background: hsl(30, 22.22%, 7.06%);
}

.site-modal.is-video .site-modal-copy {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.site-modal.is-video .site-modal-close span {
    background: var(--white);
}

.site-modal-video {
    aspect-ratio: 16 / 9;
    background: var(--black);
}

.site-modal-video iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 639px) {
    .modal-layer {
        align-items: start;
        padding: 10px;
    }

    .site-modal {
        max-height: calc(100dvh - 20px);
        padding: 50px 20px 28px;
    }

    .site-modal-copy {
        margin-bottom: 22px;
    }

    .site-modal-copy h2 {
        font-size: 31px;
    }

    .site-modal-copy p {
        font-size: 15px;
    }

    .site-modal-contact-options {
        grid-template-columns: 1fr;
    }

    .site-modal-contact-options span {
        min-height: 38px;
    }

    .site-modal.is-video {
        margin-top: max(0px, calc((100dvh - 220px) / 2));
        padding-top: calc(var(--spacing) * 6);
    }
}

@media (max-width: 639px) {
    .modal-layer.is-choose-tour {
        padding: 0;
    }

    .site-modal.is-choose-tour {
        width: 100%;
        min-height: 100dvh;
        margin: 0;
        padding: 70px 20px 20px;
        background: linear-gradient(to bottom, var(--black) 0 50px, var(--white) 50px 100%);
    }

    .site-modal.is-choose-tour .site-modal-close {
        top: 7px;
        right: 10px;
        width: 36px;
        height: 36px;
    }

    .site-modal.is-choose-tour .site-modal-close span {
        top: 17px;
        left: 7px;
        width: 22px;
    }

    .site-modal.is-choose-tour .site-modal-copy {
        margin-bottom: 14px;
    }

    .site-modal.is-choose-tour .site-modal-copy h2 {
        margin-bottom: 6px;
        font-size: 30px;
        line-height: 1.23;
        white-space: nowrap;
    }

    .site-modal.is-choose-tour .site-modal-copy p {
        font-size: 12px;
        line-height: 1.45;
    }

    .site-modal.is-choose-tour .site-modal-tour-fields > label,
    .site-modal.is-choose-tour .site-modal-people label,
    .site-modal.is-choose-tour .site-modal-field {
        margin-bottom: calc(var(--spacing) * 2.5);
    }

    .site-modal.is-choose-tour input[type="text"],
    .site-modal.is-choose-tour select,
    .site-modal.is-choose-tour textarea {
        height: 50px;
        min-height: 50px;
    }

    .site-modal.is-choose-tour .site-modal-date,
    .site-modal.is-choose-tour .site-modal-date input {
        width: 100%;
    }

    .site-modal.is-choose-tour .site-modal-date svg {
        top: 10px;
        right: 0;
        left: auto;
    }

    .site-modal.is-choose-tour .site-modal-people label > span:not(.sr-only) {
        height: 23px;
        font-size: 16px;
        line-height: 23px;
    }

    .site-modal.is-choose-tour .site-modal-people label::after {
        bottom: 22px;
    }

    .site-modal.is-choose-tour .site-modal-contact {
        height: 64px;
    }

    .site-modal.is-choose-tour .site-modal-contact legend {
        height: 23px;
        font-size: 16px;
        line-height: 23px;
    }

    .site-modal.is-choose-tour .site-modal-contact-options {
        grid-template-columns: none;
    }

    .site-modal.is-choose-tour .site-modal-contact-options label {
        width: 77px;
    }

    .site-modal.is-choose-tour .site-modal-contact-options label:nth-child(3) {
        width: 83px;
    }

    .site-modal.is-choose-tour .site-modal-contact-options > label > span {
        font-size: 12px;
        line-height: 17.4px;
    }

    .site-modal.is-choose-tour .site-modal-contact-value {
        height: 50px;
        margin-top: 14px;
        margin-bottom: 14px;
    }

    .site-modal.is-choose-tour .site-modal-contact-value input {
        height: 49px;
        min-height: 49px;
    }

    .site-modal.is-choose-tour .site-modal-consent {
        margin-bottom: calc(var(--spacing) * 2.5);
        font-size: 12px;
        line-height: 12px;
    }

    .site-modal.is-choose-tour .site-modal-consent + .site-modal-consent {
        margin-bottom: 25px;
    }

    .site-modal.is-choose-tour .site-modal-submit {
        min-height: 50px;
        padding: 8.8px 30px;
    }

    .site-modal.is-choose-tour.is-card-tour {
        width: 100%;
    }

    .site-modal.is-choose-tour.is-card-tour .site-modal-copy h2 {
        white-space: pre-line;
    }
}

@media (max-width: 639px) {
    .modal-layer.is-faq-download {
        display: block;
        padding: 0;
    }

    .site-modal.is-faq-download {
        width: 100%;
        min-height: 100dvh;
        margin: 0;
        padding: 70px 20px 20px;
        background: linear-gradient(to bottom, var(--black) 0 50px, var(--white) 50px 100%);
    }

    .site-modal.is-faq-download .site-modal-close {
        top: 7px;
        right: 10px;
        width: 36px;
        height: 36px;
    }

    .site-modal.is-faq-download .site-modal-close span {
        top: 17px;
        left: 7px;
        width: 22px;
    }

    .site-modal.is-faq-download .site-modal-copy {
        margin-bottom: 14px;
    }

    .site-modal.is-faq-download .site-modal-copy h2 {
        font-size: 30px;
        line-height: 1.23;
        white-space: nowrap;
    }

    .site-modal.is-faq-download .site-modal-field {
        height: 50px;
        margin-bottom: calc(var(--spacing) * 2.5);
    }

    .site-modal.is-faq-download input[type="text"],
    .site-modal.is-faq-download input[type="tel"] {
        height: 50px;
        min-height: 50px;
    }

    .site-modal.is-faq-download .site-modal-consent {
        margin-bottom: calc(var(--spacing) * 2.5);
        font-size: 12px;
        line-height: 12px;
    }

    .site-modal.is-faq-download .site-modal-consent + .site-modal-consent {
        margin-bottom: 25px;
    }

    .site-modal.is-faq-download .site-modal-submit {
        min-height: 50px;
        padding: 8.8px 30px;
    }
}

@media (max-width: 639px) {
    .modal-layer.is-guide-download {
        display: block;
        padding: 0;
    }

    .site-modal.is-guide-download {
        width: 100%;
        min-height: 100dvh;
        margin: 0;
        padding: 70px 20px 20px;
        background: linear-gradient(to bottom, var(--black) 0 50px, var(--white) 50px 100%);
    }

    .site-modal.is-guide-download .site-modal-close {
        top: 7px;
        right: 10px;
        width: 36px;
        height: 36px;
    }

    .site-modal.is-guide-download .site-modal-close span {
        top: 17px;
        left: 7px;
        width: 22px;
    }

    .site-modal.is-guide-download .site-modal-copy {
        margin-bottom: 14px;
    }

    .site-modal.is-guide-download .site-modal-copy h2 {
        font-size: 30px;
        line-height: 1.23;
        white-space: nowrap;
    }

    .site-modal.is-guide-download .site-modal-field {
        height: 50px;
        margin-bottom: calc(var(--spacing) * 2.5);
    }

    .site-modal.is-guide-download input[type="text"] {
        height: 50px;
        min-height: 50px;
    }

    .site-modal.is-guide-download .site-modal-contact {
        height: 64px;
    }

    .site-modal.is-guide-download .site-modal-contact legend {
        height: 23px;
        font-size: 16px;
        line-height: 23px;
    }

    .site-modal.is-guide-download .site-modal-contact-options {
        grid-template-columns: none;
    }

    .site-modal.is-guide-download .site-modal-contact-options label {
        width: 77px;
    }

    .site-modal.is-guide-download .site-modal-contact-options label:nth-child(3) {
        width: 83px;
    }

    .site-modal.is-guide-download .site-modal-contact-options > label > span {
        font-size: 12px;
        line-height: 17.4px;
    }

    .site-modal.is-guide-download .site-modal-contact-value {
        height: 50px;
        margin-top: 14px;
        margin-bottom: 14px;
    }

    .site-modal.is-guide-download .site-modal-contact-value input {
        height: 49px;
        min-height: 49px;
    }

    .site-modal.is-guide-download .site-modal-consent {
        margin-bottom: calc(var(--spacing) * 2.5);
        font-size: 12px;
        line-height: 12px;
    }

    .site-modal.is-guide-download .site-modal-consent + .site-modal-consent {
        margin-bottom: 25px;
    }

    .site-modal.is-guide-download .site-modal-submit {
        min-height: 50px;
        padding: 8.8px 30px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header.is-fixed,
    .site-modal {
        animation: none;
    }
}

/* Mobile fidelity pass against the source layout. */
@media (max-width: 639px) {
    .site-header:not(.is-fixed) .logo {
        top: 19px;
        left: 10px;
        width: 74px;
    }

    .site-header:not(.is-fixed) .header-actions {
        top: 25px;
        right: 71px;
        gap: calc(var(--spacing) * 2);
    }

    .site-header:not(.is-fixed) .social {
        width: 40px;
        height: 40px;
    }

    .site-header:not(.is-fixed) .social--whatsapp {
        display: block;
    }

    .site-header:not(.is-fixed) .rating {
        top: calc(var(--spacing) * 4);
        left: 94px;
        display: block;
    }

    .site-header:not(.is-fixed) .rating img {
        width: 76px;
        margin: 0 0 var(--spacing);
    }

    .site-header:not(.is-fixed) .rating span {
        display: block;
        width: 187px;
        font-size: 14px;
        line-height: 1;
    }

    .site-header:not(.is-fixed) .phone {
        top: calc(var(--spacing) * 9.5);
        right: 7px;
        display: block;
        width: 160px;
        font-size: 16px;
        text-align: right;
    }

    .site-header:not(.is-fixed) .mobile-menu-button {
        top: 25px;
        right: 10px;
        width: 39px;
        height: 39px;
        background: hsl(216.23, 55.21%, 37.65%);
    }

    .site-header:not(.is-fixed) + .mobile-menu {
        top: 70px;
        right: 10px;
    }

    .open-search {
        top: calc(var(--spacing) * 13.5);
        right: 10px;
        display: block;
        width: 30px;
        height: 30px;
    }

    .hero-bottom,
    .hero-description {
        width: 307px;
    }

    .main-search {
        left: 0;
        width: 307px;
    }

    .main-search input {
        width: auto;
        min-width: 0;
        flex: 1 1 0;
    }

    .memory-form-consents label {
        font-size: 12px;
        line-height: 1.2;
    }

    .reasons-carousel:not(.trip-carousel) {
        --mobile-reason-height: calc(100vw * 45 / 86);
        height: calc(var(--mobile-reason-height) + 15px);
        padding-top: 0;
    }

    .reasons-carousel:not(.trip-carousel) .reasons-carousel-viewport,
    .reasons-carousel:not(.trip-carousel) .reasons-carousel-track,
    .reasons-carousel:not(.trip-carousel) .reason-slide,
    .reasons-carousel:not(.trip-carousel) .reason-slide img {
        height: var(--mobile-reason-height);
    }

    .trip-carousel {
        --trip-card-height: calc(100vw * 55 / 86);
        height: calc(var(--trip-card-height) + 83px);
        padding-bottom: 15px;
    }

    .reasons-carousel .reasons-carousel-arrow {
        top: calc(var(--mobile-reason-height, var(--trip-card-height)) / 2);
    }

    .reasons-carousel .reasons-carousel-dots {
        position: absolute;
        right: 0;
        bottom: 3px;
        left: 0;
        height: 8px;
    }

    .trip-carousel .reasons-carousel-dots {
        top: calc(var(--trip-card-height) + 25px);
        bottom: auto;
    }
}

@media (max-width: 479px) {
    .site-header:not(.is-fixed) .logo {
        top: calc(var(--spacing) * 2.5);
        width: 55px;
    }

    .site-header:not(.is-fixed) .header-actions {
        top: 19px;
        right: 70px;
        gap: 10px;
    }

    .site-header:not(.is-fixed) .rating {
        top: 34px;
        left: calc(var(--spacing) * 9.5);
    }

    .site-header:not(.is-fixed) .rating img {
        width: 76px;
        margin-bottom: var(--spacing);
    }

    .site-header:not(.is-fixed) .rating span {
        width: 110px;
        font-size: 8px;
        line-height: 1.2;
    }

    .site-header:not(.is-fixed) .phone {
        top: 74px;
        right: 9px;
    }

    .site-header:not(.is-fixed) .mobile-menu-button {
        top: 22px;
        width: 40px;
        height: 40px;
    }

    .hero-kicker {
        top: 171px;
    }

    .hero-content h1 {
        top: 185px;
    }

    .main-search {
        top: 527px;
    }

    .hotel-slider-card {
        height: 341px;
        aspect-ratio: auto;
    }

    .feature-slider {
        margin-top: 1px;
    }

    .guides-faq {
        padding-bottom: 69px;
    }

    .stories-cta {
        left: 50%;
        transform: translateX(-50%);
    }

    .team-preview-arrows {
        left: calc(50% - 64px);
    }
}

@media (max-width: 389px) {
    .hero-title-mobile-break {
        display: block;
    }

    .activities-viewport {
        height: 668px;
    }

    .benefit--comfort {
        --text-width: calc(100vw - var(--text-x) - 10px);
    }

    .site-header:not(.is-fixed) .rating {
        top: 30px;
    }

    .site-header:not(.is-fixed) .rating span {
        width: 80px;
        line-height: 1.15;
    }

    .site-header:not(.is-fixed) .phone {
        top: calc(var(--spacing) * 9);
        width: 142px;
        font-size: 14px;
    }

    .site-header:not(.is-fixed) .mobile-menu-button {
        top: 23px;
        width: 36px;
        height: 36px;
    }
}

@media (max-width: 350px) {
    .site-modal.is-choose-tour .site-modal-copy h2,
    .site-modal.is-faq-download .site-modal-copy h2,
    .site-modal.is-guide-download .site-modal-copy h2 {
        white-space: normal;
    }

    .site-modal.is-choose-tour.is-card-tour .site-modal-copy h2 {
        white-space: pre-line;
    }
}

@media (max-width: 959px) {
    .memory-form-consents {
        right: 0;
        width: 100%;
    }

    .memory-form-consents label {
        width: 100%;
    }

    .memory-form-consents label span {
        min-width: 0;
    }
}

@media (max-width: 959px) {
    .benefits {
        box-shadow: none;
    }

    .activities-transition {
        position: absolute;
        z-index: 5;
        right: 0;
        bottom: 0;
        left: 0;
        height: 248px;
        overflow: hidden;
        pointer-events: none;
    }

    .activities-transition img {
        display: block;
        width: 100%;
        height: auto;
    }

    .tanzania-faq-icon {
        display: none;
    }

    .tanzania {
        background-color: hsl(200.69, 48.33%, 76.47%);
    }
}

@media (max-width: 479px) {
    .activities-transition {
        height: 392px;
    }
}

@media (max-width: 389px) {
    .activities-transition {
        height: 210px;
    }
}

/* Original compact callback popup. */
.modal-layer.is-callback {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 65px 20px;
    overflow: auto;
    scrollbar-width: none;
}

.modal-layer.is-callback::-webkit-scrollbar {
    display: none;
}

.site-modal.is-callback {
    width: 560px;
    max-height: none;
    padding: 40px 45px;
    overflow: visible;
    border-radius: 0;
    color: var(--black);
    background: var(--white);
    box-shadow: none;
    animation: none;
    transform: none;
}

.site-modal.is-callback .site-modal-close {
    position: fixed;
    top: 10px;
    right: 10px;
    width: 43px;
    height: 43px;
}

.site-modal.is-callback .site-modal-close span {
    top: calc(var(--spacing) * 2.5);
    left: 7px;
    width: 29px;
    height: 2px;
    background: var(--white);
}

.site-modal.is-callback .site-modal-copy {
    margin-bottom: calc(var(--spacing) * 3);
}

.site-modal.is-callback .site-modal-copy h2 {
    margin: 0;
    color: var(--orange);
    font-family: "Jost", Arial, sans-serif;
    font-size: 60px;
    font-weight: 300;
    line-height: 1.23;
    text-align: center;
    text-transform: uppercase;
}

.site-modal.is-callback .site-modal-copy p {
    display: none;
}

.site-modal.is-callback .site-modal-form {
    display: block;
}

.site-modal.is-callback .site-modal-field {
    position: relative;
    display: block;
    margin: 0 0 25px;
}

.site-modal.is-callback input[type="text"] {
    display: block;
    width: 100%;
    height: 60px;
    min-height: 60px;
    padding: 0 calc(var(--spacing) * 2.5);
    border: 1px solid hsl(0, 0%, 78.82%);
    border-radius: 5px;
    outline: 0;
    color: var(--black);
    background: var(--white);
    box-shadow: none;
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.site-modal.is-callback input[type="text"]::placeholder {
    color: hsla(0, 0%, 0%, 0.5);
    opacity: 1;
}

.site-modal.is-callback input[type="text"]:focus {
    border-color: var(--orange);
    box-shadow: none;
}

.site-modal.is-callback .site-modal-question[hidden] {
    display: none;
}

.site-modal.is-question .site-modal-copy h2,
.site-modal.is-tour-presentation .site-modal-copy h2 {
    color: var(--orange);
}

.modal-layer.is-question,
.modal-layer.is-tour-presentation {
    display: grid;
    place-items: center;
    padding: var(--spacing) 0;
    overflow: auto;
    scrollbar-width: none;
}

.modal-layer.is-question::-webkit-scrollbar,
.modal-layer.is-tour-presentation::-webkit-scrollbar {
    display: none;
}

.site-modal.is-question .site-modal-question textarea {
    display: block;
    width: 100%;
    height: 102px;
    min-height: 102px;
    max-height: 102px;
    padding: 17px 0 0;
    resize: vertical;
    border: 0;
    border-bottom: 1px solid hsl(0, 0%, 78.82%);
    border-radius: 0;
    outline: 0;
    color: var(--black);
    background: transparent;
    box-shadow: none;
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.45;
}

.site-modal.is-question .site-modal-question textarea::placeholder {
    color: hsla(0, 0%, 0%, 0.5);
    opacity: 1;
}

.site-modal.is-question .site-modal-question textarea:focus {
    border-color: var(--orange);
}

@media (max-width: 639px) {
    .site-modal.is-question .site-modal-question textarea {
        padding-top: calc(var(--spacing) * 1.5);
    }
}

/* At 561–639px Tilda still keeps this particular form as a centred 560px card. */
@media (min-width: 561px) and (max-width: 639px) {
    .site-modal.is-question,
    .site-modal.is-tour-presentation {
        width: 560px;
        min-height: 0;
        margin: 0;
        padding: 40px 45px;
        background: var(--white);
    }

    .site-modal.is-question .site-modal-close,
    .site-modal.is-tour-presentation .site-modal-close {
        top: 10px;
        right: 10px;
        width: 43px;
        height: 43px;
    }

    .site-modal.is-question .site-modal-close span,
    .site-modal.is-tour-presentation .site-modal-close span {
        top: calc(var(--spacing) * 2.5);
        left: 7px;
        width: 29px;
    }

    .site-modal.is-question .site-modal-copy,
    .site-modal.is-tour-presentation .site-modal-copy {
        margin-bottom: calc(var(--spacing) * 3);
    }

    .site-modal.is-question .site-modal-copy h2,
    .site-modal.is-tour-presentation .site-modal-copy h2 {
        margin-bottom: 11px;
        font-size: 60px;
        line-height: 1.23;
    }

    .site-modal.is-question .site-modal-field,
    .site-modal.is-tour-presentation .site-modal-field {
        margin-bottom: 25px;
    }

    .site-modal.is-question input[type="text"],
    .site-modal.is-tour-presentation input[type="text"] {
        height: 60px;
        min-height: 60px;
    }

    .site-modal.is-question .site-modal-contact,
    .site-modal.is-tour-presentation .site-modal-contact {
        height: 72px;
    }

    .site-modal.is-question .site-modal-contact legend,
    .site-modal.is-tour-presentation .site-modal-contact legend {
        height: 31px;
        font-size: 20px;
        line-height: 31px;
    }

    .site-modal.is-question .site-modal-contact-options label,
    .site-modal.is-tour-presentation .site-modal-contact-options label {
        width: 75px;
    }

    .site-modal.is-question .site-modal-contact-options label:nth-child(3),
    .site-modal.is-tour-presentation .site-modal-contact-options label:nth-child(3) {
        width: 80px;
    }

    .site-modal.is-question .site-modal-contact-options > label > span,
    .site-modal.is-tour-presentation .site-modal-contact-options > label > span {
        font-size: 15px;
        line-height: 23.25px;
    }

    .site-modal.is-question .site-modal-contact-value,
    .site-modal.is-tour-presentation .site-modal-contact-value {
        height: 43px;
        margin-top: 25px;
        margin-bottom: 25px;
    }

    .site-modal.is-question .site-modal-contact-value input,
    .site-modal.is-tour-presentation .site-modal-contact-value input {
        height: 42px;
        min-height: 42px;
    }

    .site-modal.is-question .site-modal-consent,
    .site-modal.is-tour-presentation .site-modal-consent {
        margin-bottom: 25px;
        font-size: 15px;
        line-height: 15px;
    }

    .site-modal.is-question .site-modal-consent + .site-modal-consent,
    .site-modal.is-tour-presentation .site-modal-consent + .site-modal-consent {
        margin-bottom: 25px;
    }

    .site-modal.is-question .site-modal-submit,
    .site-modal.is-tour-presentation .site-modal-submit {
        min-height: 54px;
        padding: 10.8px 60px;
    }
}

@media (max-width: 560px) {
    .modal-layer.is-question,
    .modal-layer.is-tour-presentation {
        display: block;
        padding: 0;
    }
}

.site-modal.is-callback .site-modal-contact {
    margin: 0 0 25px;
}

.site-modal.is-callback .site-modal-contact legend {
    display: block;
    width: 100%;
    margin: 0 0 6px;
    color: var(--muted);
    font-family: "Jost", Arial, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.55;
}

.site-modal.is-callback .site-modal-contact-options {
    display: flex;
    min-height: 41px;
    flex-wrap: wrap;
    gap: 6px;
}

.site-modal.is-callback .site-modal-contact-options label {
    width: 91px;
    height: 41px;
}

.site-modal.is-callback .site-modal-contact-options label:nth-child(2) {
    width: 104px;
}

.site-modal.is-callback .site-modal-contact-options label:nth-child(3) {
    width: 110px;
}

.site-modal.is-callback .site-modal-contact-options > label > span {
    display: flex;
    width: 100%;
    min-height: 41px;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 0.5);
    padding: 0 7px;
    border: 1px solid transparent;
    border-radius: calc(var(--border-radius) * 0.5);
    color: var(--black);
    background: transparent;
    font-family: "Jost", Arial, sans-serif;
    font-size: 14px;
    line-height: 1;
}

.site-modal.is-callback .site-modal-contact-icon {
    display: block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
}

.site-modal.is-callback svg.site-modal-contact-icon circle {
    fill: var(--black);
}

.site-modal.is-callback svg.site-modal-contact-icon path {
    fill: var(--white);
}

.site-modal.is-callback .site-modal-contact-options input:checked + span {
    border-color: hsla(24.36, 87.07%, 54.51%, 0.4);
    color: var(--black);
    background: hsla(24.36, 87.07%, 54.51%, 0.1);
}

.site-modal.is-callback .site-modal-contact-value {
    display: flex;
    height: 60px;
    align-items: center;
    padding: 0 15px;
    border: 1px solid hsl(0, 0%, 78.82%);
    border-radius: 5px;
}

.site-modal.is-callback .site-modal-contact-value input {
    flex: 1 1 auto;
    width: auto;
    height: 58px;
    min-height: 58px;
    padding: 0;
    border: 0;
}

.site-modal.is-callback .site-modal-phone-prefix {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    margin-right: 7px;
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    line-height: 1;
}

.site-modal.is-callback .site-modal-phone-prefix[hidden] {
    display: none;
}

.site-modal.is-callback .site-modal-consent {
    display: flex;
    min-height: 20px;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 25px;
    color: var(--muted);
    font-family: "Jost", Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
}

.site-modal.is-callback .site-modal-consent input {
    position: relative;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 0;
    border: 2px solid hsla(24.36, 87.07%, 54.51%, 0.7);
    border-radius: 0;
    background: transparent;
    appearance: none;
}

.site-modal.is-callback .site-modal-consent input:checked::after {
    position: absolute;
    top: 1px;
    left: 5px;
    width: 6px;
    height: 11px;
    border: solid var(--orange);
    border-width: 0 2px 2px 0;
    content: "";
    transform: rotate(45deg);
}

.site-modal.is-callback .site-modal-consent a {
    color: var(--orange);
}

.site-modal.is-callback .site-modal-submit {
    width: 100%;
    min-height: 60px;
    margin: 0;
    padding: 10px 30px;
    border: 5px solid var(--yellow);
    border-radius: 42px;
    color: var(--white);
    background: hsl(24.65, 87.07%, 54.51%);
    font-family: "Jost", Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    text-transform: uppercase;
}

.site-modal.is-callback .site-modal-status:empty {
    display: none;
}

@media (max-width: 900px) {
    .site-modal.is-callback .site-modal-copy h2 {
        font-size: 30px;
    }
}

@media (max-width: 639px) {
    .modal-layer.is-callback {
        padding: 55px 10px 20px;
    }

    .site-modal.is-callback {
        width: 100%;
        padding: calc(var(--spacing) * 5) calc(var(--spacing) * 2.5);
    }

    .site-modal.is-callback .site-modal-contact legend {
        font-size: 16px;
    }

    .site-modal.is-callback .site-modal-contact-options {
        flex-wrap: nowrap;
    }

    .site-modal.is-callback .site-modal-contact-options label,
    .site-modal.is-callback .site-modal-contact-options label:nth-child(2),
    .site-modal.is-callback .site-modal-contact-options label:nth-child(3) {
        width: auto;
        flex: 1 1 0;
    }

    .site-modal.is-callback .site-modal-contact-options > label > span {
        padding: 0 calc(var(--spacing) * 0.5);
        font-size: 13px;
    }

    .site-modal.is-callback .site-modal-consent {
        font-size: 13px;
        line-height: 1.15;
    }
}

/* Final responsive header and off-canvas navigation fidelity pass. */
html.menu-open,
html.menu-open body {
    overflow: hidden;
}

@media (max-width: 1199px) {
    .mobile-menu {
        position: fixed;
        z-index: 30000;
        inset: 0 0 0 auto;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        width: min(360px, 100%);
        height: 100vh;
        height: 100dvh;
        padding: 0;
        overflow-x: hidden;
        overflow-y: auto;
        visibility: hidden;
        opacity: 0;
        border: 0;
        border-radius: 0;
        color: var(--white);
        background: var(--brown);
        box-shadow: -12px 0 32px hsla(20.87, 48.94%, 9.22%, 0.24);
        transform: translateX(100%);
        transition: opacity 0.24s ease, transform 0.32s ease, visibility 0.32s ease;
    }

    .mobile-menu.is-open,
    .site-header.is-fixed + .mobile-menu.is-open {
        top: 0;
        visibility: visible;
        opacity: 1;
        transform: translateX(0);
    }

    .site-header.is-fixed + .mobile-menu {
        top: 0;
    }

    .site-header + .mobile-menu,
    .site-header:not(.is-fixed) + .mobile-menu,
    .site-header.is-fixed + .mobile-menu {
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        width: min(360px, 100%);
    }

    .mobile-menu-close {
        position: absolute;
        top: 14px;
        right: 15px;
        z-index: 2;
        width: 24px;
        height: 24px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
    }

    .mobile-menu-close::before,
    .mobile-menu-close::after {
        position: absolute;
        top: 11px;
        left: 0;
        width: 24px;
        height: 2px;
        background: var(--white);
        content: "";
    }

    .mobile-menu-close::before {
        transform: rotate(45deg);
    }

    .mobile-menu-close::after {
        transform: rotate(-45deg);
    }

    .mobile-menu .mobile-menu-logo {
        position: absolute;
        top: 45px;
        left: 27px;
        display: block;
        width: 115px;
        padding: 0;
        border: 0;
    }

    .mobile-menu-logo img {
        display: block;
        width: 100%;
        height: auto;
    }

    .mobile-menu-list,
    .mobile-submenu {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .mobile-menu-list {
        flex: 0 0 auto;
        margin: 222px 24px 0 27px;
        padding-bottom: 32px;
    }

    .mobile-menu-item {
        margin: 0;
        padding: 0;
    }

    .mobile-menu-row {
        display: flex;
        min-height: 32px;
        align-items: center;
    }

    .mobile-menu .mobile-menu-item > a,
    .mobile-menu .mobile-menu-row > a {
        display: inline-block;
        padding: 0;
        border: 0;
        color: var(--white);
        font-size: 16px;
        font-weight: 500;
        line-height: 32px;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .mobile-submenu-toggle {
        position: relative;
        width: 20px;
        height: 32px;
        flex: 0 0 20px;
        margin-left: calc(var(--spacing) * 5);
        padding: 0;
        border: 0;
        color: var(--white);
        background: transparent;
        cursor: pointer;
    }

    .mobile-submenu-toggle::before {
        position: absolute;
        top: 9px;
        left: 3px;
        width: 8px;
        height: 8px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        content: "";
        transform: rotate(45deg);
        transition: transform 0.25s ease, top 0.25s ease;
    }

    .mobile-menu-item.is-expanded > .mobile-menu-row .mobile-submenu-toggle::before {
        top: 13px;
        transform: rotate(225deg);
    }

    .mobile-submenu {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transition: max-height 0.35s ease, opacity 0.25s ease, padding 0.35s ease;
    }

    .mobile-menu-item.is-expanded > .mobile-submenu {
        max-height: 360px;
        padding: 2px 0 8px 13px;
        opacity: 1;
    }

    .mobile-menu .mobile-submenu a {
        display: block;
        padding: 3px 0;
        border: 0;
        color: hsla(0, 0%, 100%, 0.84);
        font-size: 13px;
        font-weight: 400;
        line-height: 1.35;
        text-transform: none;
    }

    .mobile-menu-socials {
        position: static;
        display: block;
        flex: 0 0 auto;
        margin: auto 24px 31px 27px;
    }

    .mobile-menu-socials__title {
        display: block;
        margin-bottom: 12px;
        color: hsla(0, 0%, 100%, 0.72);
        font-size: 12px;
        font-weight: 500;
        line-height: 1.3;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .mobile-menu .mobile-menu-socials .sz-theme-footer-socials {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin: 0;
    }

    .mobile-menu .mobile-menu-socials .sz-theme-footer-socials a {
        display: grid;
        box-sizing: border-box;
        width: 40px;
        height: 40px;
        place-items: center;
        padding: 0;
        border: 0;
        border-radius: 50%;
        color: var(--white);
        background: hsla(0, 0%, 100%, 0.12);
        text-decoration: none;
        transition: background-color 0.2s ease, transform 0.2s ease;
    }

    .mobile-menu .mobile-menu-socials .sz-theme-footer-socials a:hover,
    .mobile-menu .mobile-menu-socials .sz-theme-footer-socials a:focus-visible {
        background: hsla(0, 0%, 100%, 0.22);
        transform: translateY(-1px);
    }

    .mobile-menu .mobile-menu-socials .sz-theme-footer-socials img,
    .mobile-menu .mobile-menu-socials .sz-theme-footer-socials i {
        display: block;
        width: 28px;
        height: 28px;
        object-fit: contain;
    }

    .mobile-menu .mobile-menu-socials .sz-theme-footer-socials i {
        font-size: 24px;
        line-height: 28px;
        text-align: center;
    }
}

@media (max-width: 639px) {
    .mobile-menu {
        width: 100%;
        box-shadow: none;
    }

    .site-header + .mobile-menu,
    .site-header:not(.is-fixed) + .mobile-menu,
    .site-header.is-fixed + .mobile-menu {
        width: 100%;
    }
}

@media (max-width: 1199px) and (max-height: 650px) {
    .mobile-menu-logo {
        top: calc(var(--spacing) * 3.5);
        width: 92px;
    }

    .mobile-menu-list {
        margin-top: calc(var(--spacing) * 18.5);
        margin-bottom: 0;
        padding-bottom: calc(var(--spacing) * 3);
    }

    .mobile-menu-socials {
        margin-bottom: calc(var(--spacing) * 2.5);
    }
}

/* Homepage refinements: heading emphasis, section transition and responsive form. */
/* Preserve the original display weight when heading emphasis uses strong. */
:where(body.sz-home h1, body.sz-home h2, body.sz-home h3,
    body.sz-home h4, body.sz-home h5, body.sz-home h6) strong {
    font-weight: inherit;
}

/* Let the consultation panel grow when consent text wraps or fonts scale. */
.sz-home .travel-form-section {
    --travel-title-size: clamp(40px, 7.3vw, 105px);
    --travel-top-space: clamp(28px, 3.4vw, 49px);
    display: grid;
    grid-template-columns: minmax(0, 1160px);
    justify-content: center;
    height: auto;
    padding: var(--travel-top-space) 10px 68px;
    row-gap: 24px;
}

.sz-home .travel-form-panel {
    top: calc(var(--travel-top-space) + var(--travel-title-size) * 0.58);
    right: auto;
    bottom: 40px;
    left: 50%;
    width: min(1160px, calc(100% - 20px));
    max-width: none;
    height: auto;
    transform: translateX(-50%);
}

.sz-home .travel-form-title,
.sz-home .travel-form-lead,
.sz-home .travel-form {
    position: relative;
    top: auto;
    left: auto;
    min-width: 0;
    margin: 0 auto;
    transform: none;
}

.sz-home .travel-form-title {
    width: 100%;
    font-size: var(--travel-title-size);
    overflow-wrap: anywhere;
}

.sz-home .travel-form-lead {
    width: min(901px, calc(100% - 56px));
    font-size: clamp(16px, 1.8vw, 26px);
    overflow-wrap: anywhere;
}

.sz-home .travel-form {
    width: calc(100% - 56px);
    gap: 20px;
    margin-top: 12px;
}

.sz-home .travel-form > input {
    min-width: 0;
    margin: 0;
    flex-shrink: 0;
}

.sz-home .travel-form-consent {
    min-width: 0;
    margin: 0;
}

.sz-home .travel-form-consent > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.sz-home .travel-form > button {
    width: 100%;
    min-height: 60px;
    height: auto;
    flex: 0 0 auto;
    padding: 16px 20px;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 639px) {
    .sz-home .travel-form-section {
        row-gap: 20px;
    }

    .sz-home .travel-form-lead,
    .sz-home .travel-form {
        width: calc(100% - 32px);
    }

    .sz-home .travel-form {
        gap: 14px;
        margin-top: 0;
    }

    .sz-home .travel-form > button {
        min-height: 50px;
        padding: 14px 16px;
    }
}

/* Keep the three messenger icons from crowding the desktop navigation. */
@media (min-width: 1200px) and (max-width: 1919px) {
    .site-header:not(.is-fixed) .header-actions {
        gap: 7px;
    }

    .site-header:not(.is-fixed) .social {
        width: 40px;
        height: 40px;
    }

    .site-header:not(.is-fixed) .callback {
        width: 170px;
        height: 42px;
        font-size: 14px;
    }

    .site-header.is-fixed .header-actions {
        gap: 6px;
    }

    .site-header.is-fixed .social {
        width: 30px;
        height: 30px;
    }

    .site-header.is-fixed .callback {
        width: 200px;
        height: 35px;
        font-size: 14px;
    }
}

@media (min-width: 1200px) and (max-width: 1279px) {
    .site-header.is-fixed .desktop-nav {
        width: 730px;
    }

    .site-header.is-fixed .header-actions {
        right: 20px;
        gap: 6px;
    }

    .site-header.is-fixed .social {
        width: 30px;
        height: 30px;
    }

    .site-header.is-fixed .callback {
        width: 170px;
        font-size: 14px;
    }
}

/* Three icons must fit between the rating and the mobile menu button. */
@media (max-width: 639px) {
    .site-header:not(.is-fixed) .header-actions,
    .site-header.is-fixed .header-actions {
        top: 19px;
        right: 55px;
        gap: 4px;
    }

    .site-header:not(.is-fixed) .social,
    .site-header.is-fixed .social {
        width: 28px;
        height: 28px;
    }

    .site-header:not(.is-fixed) .social--max i,
    .site-header.is-fixed .social--max i {
        font-size: 22px;
    }

    .site-header.is-fixed .header-actions {
        top: 11px;
    }
}
