@media (max-width: 1280px) {
    :root {
        --container-padding: clamp(1.5rem, 3vw, 3rem);
        --section-space: clamp(5.5rem, 9vw, 8.5rem);
    }

    .site-header__container {
        min-height: 82px;
    }

    .site-nav {
        gap: clamp(1.2rem, 2vw, 2rem);
    }

    .site-header__cta {
        padding-inline: 1.15rem;
    }

    .hero__content {
        width: min(820px, 80%);
    }

    .hero__title {
        font-size: clamp(3.8rem, 7vw, 7.2rem);
    }

    .experience-card {
        min-height: 310px;
        padding-inline: 1.6rem;
    }

    .booking-section__grid {
        grid-template-columns:
            minmax(280px, 0.7fr) minmax(460px, 1.3fr);

        gap: clamp(3rem, 6vw, 6rem);
    }
}

@media (max-width: 1100px) {
    :root {
        --heading-md: clamp(2.4rem, 5vw, 4rem);
        --heading-lg: clamp(3rem, 7vw, 5.8rem);
    }

    .site-nav {
        gap: 1.35rem;
    }

    .site-nav__link {
        font-size: 0.8rem;
    }

    .section-header--split {
        grid-template-columns:
            minmax(0, 1.2fr) minmax(260px, 0.8fr);

        gap: 3rem;
    }

    .villora-story__grid {
        grid-template-columns:
            minmax(190px, 0.5fr) minmax(0, 1.5fr);

        gap: clamp(3rem, 6vw, 5rem);
    }

    .why-villora__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .experience-card {
        min-height: 280px;
        border-bottom: 1px solid var(--color-border-light);
    }

    .experience-card:nth-child(2) {
        border-right: 0;
    }

    .experience-card:nth-child(3),
    .experience-card:nth-child(4) {
        border-bottom: 0;
    }

    .experience-card__title {
        margin-top: 4.5rem;
    }

    .weddings-section__grid {
        grid-template-columns:
            minmax(0, 1fr) minmax(350px, 0.9fr);

        gap: clamp(3rem, 6vw, 5rem);
    }

    .booking-section__grid {
        grid-template-columns: 1fr;
        gap: var(--space-16);
    }

    .booking-section__intro {
        position: static;
        max-width: 720px;
    }

    .booking-panel {
        width: 100%;
        max-width: 900px;
        margin-inline: auto;
    }

    .faq-section__grid {
        grid-template-columns:
            minmax(260px, 0.65fr) minmax(0, 1.35fr);

        gap: 4rem;
    }
}

@media (max-width: 900px) {
    :root {
        --container-padding: clamp(1.25rem, 4vw, 2rem);
        --section-space: clamp(5rem, 10vw, 7rem);
        --section-space-small: clamp(3.5rem, 8vw, 5rem);
    }

    .site-header.is-scrolled {
        background: rgba(11, 13, 15, 0.96);

        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .site-header__container {
        display: flex;
        align-items: center;
        justify-content: space-between;

        min-height: 76px;
    }

    .site-nav {
        position: fixed;

        top: 0;
        right: 0;
        bottom: 0;
        left: 0;

        width: 100%;
        height: 100dvh;

        z-index: calc(var(--z-header) + 1);

        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;

        gap: 0;

        padding:
            7rem var(--container-padding) 4rem;

        overflow-y: auto;
        overscroll-behavior: contain;

        background: #0b0d0f;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transform: translate3d(0, -18px, 0);

        transition:
            opacity 450ms var(--ease-default),
            visibility 450ms,
            transform 650ms var(--ease-luxury);
    }

    .site-nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        transform: translate3d(0, 0, 0);
    }

    .site-header__container {
        min-height: 76px;
    }

    .site-header__logo {
        height: 42px;
    }

    .site-header__cta {
        display: none;
    }

    .menu-toggle {
        position: relative;
        z-index: calc(var(--z-header) + 2);
        display: inline-flex;
    }

    .site-nav {
        position: fixed;
        inset: 0;
        z-index: calc(var(--z-header) + 1);

        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;

        gap: 0;

        padding:
            7rem var(--container-padding) 4rem;

        background: rgba(11, 13, 15, 0.98);

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transform: translate3d(0, -18px, 0);

        transition:
            opacity 450ms var(--ease-default),
            visibility 450ms,
            transform 650ms var(--ease-luxury);
    }

    .site-nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate3d(0, 0, 0);
    }

    .site-nav__link {
        width: 100%;

        padding: 1.15rem 0;

        border-bottom: 1px solid rgba(255, 255, 255, 0.1);

        color: rgba(255, 255, 255, 0.9);

        font-family: var(--font-heading);
        font-size: clamp(1.8rem, 6vw, 3.2rem);
        font-weight: var(--font-weight-medium);

        letter-spacing: -0.04em;
    }

    .site-nav__link::after {
        display: none;
    }

    .site-nav__link:hover {
        color: var(--color-gold-light);
    }

    .hero__content {
        width: min(760px, 92%);
    }

    .hero__container {
        padding-top: 8.5rem;
    }

    .hero__title {
        font-size: clamp(3.7rem, 10vw, 6.8rem);
    }

    .hero-search {
        width: calc(100% - (var(--container-padding) * 2));
    }

    .hero-search__form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .hero-search__submit {
        grid-column: 1 / -1;
        min-height: 58px;
        border-radius: 0;
    }

    .quick-highlights__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quick-highlights__item:nth-child(2)::after {
        display: none;
    }

    .quick-highlights__item:nth-child(-n + 2) {
        border-bottom: 1px solid var(--color-border);
    }

    .villora-story__grid {
        grid-template-columns: 1fr;
        gap: var(--space-12);
    }

    .villora-story__meta {
        gap: var(--space-8);
    }

    .villora-story__intro {
        max-width: 520px;
    }

    .villora-story__content {
        max-width: none;
    }

    .villora-story__content .section-description,
    .villora-story__content .text-link {
        margin-left: 0;
    }

    .villa-list {
        column-gap: 1.5rem;
        row-gap: 5rem;
    }

    .villa-card:nth-child(even) {
        margin-top: 4rem;
    }

    .weddings-section__grid {
        grid-template-columns: 1fr;
        gap: var(--space-16);
    }

    .weddings-section__media {
        width: min(100%, 760px);
    }

    .weddings-section__image-wrap {
        aspect-ratio: 16 / 12;
    }

    .weddings-section__content {
        max-width: 760px;
    }

    .testimonials-section__grid {
        grid-template-columns: 1fr;
        gap: var(--space-12);
    }

    .location-card {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-6);
    }

    .faq-section__grid {
        grid-template-columns: 1fr;
        gap: var(--space-12);
    }

    .faq-section__intro {
        position: static;
        max-width: 720px;
    }
}

@media (max-width: 768px) {
    :root {
        --text-md: 1rem;
        --heading-sm: clamp(1.9rem, 8vw, 2.7rem);
        --heading-md: clamp(2.5rem, 10vw, 4rem);
        --heading-lg: clamp(3rem, 13vw, 5rem);
        --section-space: clamp(4.5rem, 15vw, 6rem);
        --section-space-small: clamp(3.5rem, 11vw, 4.5rem);
    }

    .section-title {
        margin-top: var(--space-5);
        letter-spacing: -0.045em;
    }

    .section-description,
    .villora-story__intro,
    .experience-card__description,
    .faq-item__content p,
    .final-cta__description {
        text-align: left;
        text-align-last: auto;
    }

    .section-eyebrow {
        font-size: 0.68rem;
        letter-spacing: 0.15em;
    }

    .section-eyebrow::before {
        width: 22px;
    }

    .section-header {
        margin-bottom: clamp(2.5rem, 10vw, 4rem);
    }

    .section-header--split {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-6);
    }

    .section-header--split .section-description {
        justify-self: auto;
    }

    .site-header__container {
        min-height: 72px;
    }

    .site-header__logo {
        height: 38px;
    }

    .menu-toggle {
        width: 44px;
        height: 44px;
    }

    .menu-toggle span:first-child {
        top: 18px;
    }

    .menu-toggle span:last-child {
        top: 24px;
    }

    .menu-toggle.is-open span:first-child,
    .menu-toggle.is-open span:last-child {
        top: 21px;
    }

    .hero {
        display: block;
        min-height: auto;
    }

    .hero__media {
        inset: -5% 0;
        height: 100%;
    }

    .hero__image {
        object-position: center;
    }

    .hero__overlay {
        background:
            linear-gradient(180deg,
                rgba(4, 7, 10, 0.46) 0%,
                rgba(4, 7, 10, 0.25) 25%,
                rgba(4, 7, 10, 0.54) 58%,
                rgba(4, 7, 10, 0.9) 100%);
    }

    .hero__container {
        justify-content: center;

        min-height: auto;

        padding-top: calc(72px + 5.5rem);
        padding-bottom: 3rem;
    }

    .hero__content {
        width: 100%;
        max-width: 680px;

        margin-inline: auto;

        text-align: center;
    }

    .hero__eyebrow {
        width: fit-content;
        margin-inline: auto;
    }

    .hero__title {
        max-width: 680px;

        margin-inline: auto;

        font-size: clamp(3.35rem, 14vw, 5.8rem);
        letter-spacing: -0.06em;
        line-height: 0.96;

        text-align: center;
    }

    .hero__description {
        max-width: 540px;

        margin-top: var(--space-6);
        margin-inline: auto;

        color: rgba(255, 255, 255, 0.76);

        font-size: 0.95rem;
        line-height: 1.75;

        text-align: center;
        text-align-last: auto;
    }

    .hero__actions {
        justify-content: center;

        margin-top: var(--space-6);
    }

    .hero__actions .button {
        min-height: 52px;
    }

    .hero__categories {
        display: none;
    }

    .hero-search {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;

        width: auto;

        margin: 0 var(--container-padding);
        padding-bottom: var(--space-6);

        transform: none;
    }

    .hero-search__form {
        grid-template-columns: 1fr;
        border-radius: var(--radius-md);
    }

    .hero-search__field {
        min-height: 76px;
        padding: 1rem 1.25rem;
    }

    .hero-search__field:not(:first-child)::before {
        top: 0;
        right: 1.25rem;
        bottom: auto;
        left: 1.25rem;

        width: auto;
        height: 1px;
    }

    .hero-search__submit {
        grid-column: auto;
        min-height: 58px;
    }

    .reveal-ready .hero-search {
        opacity: 0;
        transform: translate3d(0, 24px, 0);
    }

    .reveal-ready body.is-page-loaded .hero-search {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

    .quick-highlights {
        padding-top: var(--section-space-small);
    }

    .quick-highlights__item {
        min-height: 76px;
        padding: 1rem;
        font-size: 0.75rem;
    }

    .villora-story__grid {
        gap: var(--space-10);
    }

    .villora-story__intro {
        font-size: 0.875rem;
    }

    .villora-story__content .section-description {
        margin-top: var(--space-6);
    }

    .villora-story__content .text-link {
        margin-top: var(--space-6);
    }

    .villa-list {
        grid-template-columns: 1fr;
        row-gap: var(--space-16);
    }

    .villa-card:nth-child(even) {
        margin-top: 0;
    }

    .villa-card__media {
        aspect-ratio: 4 / 4.8;
    }

    .villa-card__index {
        top: var(--space-4);
        left: var(--space-4);

        min-width: 38px;
        height: 38px;
    }

    .villa-card__title {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .villa-card__footer {
        align-items: center;
        margin-top: var(--space-6);
    }

    .experience-visual {
        min-height: 72svh;
    }

    .experience-visual__media {
        inset: -5% 0;
    }

    .experience-visual__content {
        padding-bottom: var(--space-16);
    }

    .experience-visual__title {
        max-width: 620px;

        font-size: clamp(3rem, 12vw, 5.2rem);
        letter-spacing: -0.055em;
    }

    .why-villora__grid {
        grid-template-columns: 1fr;
        margin-top: var(--space-10);
    }

    .experience-card {
        min-height: auto;

        padding: var(--space-8) 0;

        border-right: 0;
        border-bottom: 1px solid var(--color-border-light);
    }

    .experience-card:nth-child(3) {
        border-bottom: 1px solid var(--color-border-light);
    }

    .experience-card:last-child {
        border-bottom: 0;
    }

    .experience-card__title {
        max-width: 420px;

        margin-top: var(--space-10);

        font-size: 1.35rem;
    }

    .experience-card__description {
        max-width: 520px;
    }

    .weddings-section__grid {
        gap: var(--space-12);
    }

    .weddings-section__image-wrap {
        aspect-ratio: 4 / 5;
    }

    .weddings-section__content .section-description {
        margin-top: var(--space-6);
    }

    .weddings-section__partner {
        margin-top: var(--space-6);
    }

    .wedding-package {
        margin-top: var(--space-6);
    }

    .wedding-package__header {
        flex-direction: column;
        gap: var(--space-3);
    }

    .wedding-package__includes {
        grid-template-columns: 1fr;
    }

    .occasions__list {
        justify-content: flex-start;

        gap: var(--space-3);

        margin-top: var(--space-10);
    }

    .occasion-item {
        padding: 0.9rem 1.25rem;
        font-size: clamp(1.15rem, 5vw, 1.5rem);
    }

    .gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;

        gap: var(--space-3);
    }

    .gallery-item,
    .gallery-item--large,
    .gallery-item--wide {
        grid-column: auto;
        grid-row: auto;

        aspect-ratio: 4 / 5;
    }

    .gallery-item--large {
        grid-column: 1 / -1;
        aspect-ratio: 16 / 11;
    }

    .gallery-item--wide {
        grid-column: 1 / -1;
        aspect-ratio: 16 / 10;
    }

    .gallery-item::after {
        right: var(--space-3);
        bottom: var(--space-3);

        opacity: 1;
        transform: none;

        font-size: 0.58rem;
    }

    .testimonial-card__quote-mark {
        margin-bottom: var(--space-6);
        font-size: 4rem;
    }

    .testimonial-card__quote {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .booking-section__grid {
        gap: var(--space-10);
    }

    .booking-section__note {
        margin-top: var(--space-8);
    }

    .booking-panel {
        padding: clamp(1.5rem, 6vw, 2.5rem);
        border-radius: var(--radius-md);
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .booking-intents {
        gap: var(--space-2);
    }

    .booking-intent span {
        min-height: 42px;
        padding: 0.7rem 1rem;
    }

    .booking-form__submit {
        min-height: 58px;
    }

    .location-list {
        grid-template-columns: 1fr;
    }

    .location-card {
        min-height: auto;

        padding: var(--space-8) 0;

        border-right: 0 !important;
    }

    .location-card:nth-child(odd) {
        padding-left: 0;
    }

    .location-card__title {
        font-size: clamp(1.8rem, 8vw, 2.5rem);
    }

    .villa-map {
        min-height: 380px;

        margin-top: var(--space-8);

        border-radius: var(--radius-sm);
    }

    .faq-item__trigger {
        gap: var(--space-5);
        padding: var(--space-5) 0;
    }

    .faq-item__question {
        font-size: 1rem;
    }

    .faq-item__icon {
        width: 34px;
        height: 34px;
    }

    .faq-item__content {
        padding:
            0 var(--space-10) var(--space-5) 0;
    }

    .final-cta {
        min-height: 78svh;
    }

    .final-cta__media {
        inset: -5% 0;
    }

    .final-cta__title {
        font-size: clamp(3rem, 13vw, 5.2rem);
        line-height: 0.98;
    }

    .final-cta__description {
        margin-top: var(--space-6);
    }

    .final-cta__categories {
        gap: var(--space-3) var(--space-4);

        margin-top: var(--space-8);

        font-size: 0.62rem;
    }

    .site-footer__top {
        grid-template-columns: 1fr;
        gap: var(--space-12);
    }

    .site-footer__brand {
        max-width: 520px;
    }

    .site-footer__nav {
        gap: var(--space-6);
    }

    .site-footer__bottom {
        min-height: auto;
        padding-block: var(--space-6);
    }

    .mobile-booking-cta:not([hidden]) {
        display: block;
    }

    .villa-dialog {
        width: calc(100% - 1rem);
        max-height: calc(100dvh - 1rem);
        border-radius: var(--radius-md);
    }

    .villa-detail {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .villa-detail__media {
        min-height: auto;
        aspect-ratio: 16 / 11;
    }

    .villa-detail__content {
        padding:
            2rem 1.5rem 2.5rem;
    }

    .villa-detail__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gallery-lightbox {
        width: calc(100% - 1rem);
        height: calc(100dvh - 1rem);
        border-radius: var(--radius-md);
    }

    .booking-success {
        width: calc(100% - 1.5rem);
    }
}

@media (max-width: 560px) {
    :root {
        --container-padding: 1.15rem;
        --radius-lg: 18px;
        --radius-xl: 24px;
    }

    .button {
        min-height: 50px;

        padding: 0.9rem 1.25rem;

        font-size: 0.8rem;
    }

    .site-header__logo {
        height: 36px;
    }

    .site-nav {
        padding:
            6.5rem var(--container-padding) 3rem;
    }

    .site-nav__link {
        font-size: clamp(1.75rem, 9vw, 2.6rem);
    }

    .hero__container {
        padding-top: calc(72px + 4rem);
        padding-bottom: 2.5rem;
    }

    .hero__content {
        width: 100%;
        margin-inline: auto;
        text-align: center;
    }

    .hero__eyebrow {
        margin-inline: auto;
    }

    .hero__title {
        margin-inline: auto;

        font-size: clamp(3rem, 15vw, 4.4rem);
        line-height: 0.98;

        text-align: center;
    }

    .hero__description {
        margin-inline: auto;

        font-size: 0.9rem;

        text-align: center;
    }

    .hero__actions {
        display: grid;
        grid-template-columns: 1fr;

        width: 100%;

        justify-content: center;
    }

    .hero__actions .button {
        width: 100%;
    }

    .hero__categories {
        display: none;
    }

    .hero-search {
        margin-inline: var(--container-padding);
    }

    .hero-search__field {
        min-height: 70px;
    }

    .quick-highlights__list {
        grid-template-columns: 1fr;
    }

    .quick-highlights__item {
        min-height: 64px;
        border-bottom: 1px solid var(--color-border);
    }

    .quick-highlights__item:last-child {
        border-bottom: 0;
    }

    .quick-highlights__item::after {
        display: none !important;
    }

    .villa-card__media {
        aspect-ratio: 4 / 5;
    }

    .villa-card__meta {
        gap: var(--space-2);
        font-size: 0.65rem;
    }

    .villa-card__meta span:not(:last-child)::after {
        margin-left: var(--space-2);
    }

    .villa-card__features {
        gap: var(--space-2);
        font-size: 0.78rem;
    }

    .villa-card__features span:not(:last-child)::after {
        margin-left: var(--space-2);
    }

    .villa-card__footer {
        flex-direction: column;
        align-items: flex-start;

        gap: var(--space-5);
    }

    .villa-card__footer .text-link {
        align-self: flex-start;
    }

    .experience-visual {
        min-height: 68svh;
    }

    .weddings-section__image-wrap {
        aspect-ratio: 4 / 5.3;
    }

    .weddings-section__partner strong {
        font-size: 1.4rem;
    }

    .wedding-package__card {
        padding: var(--space-5);
    }

    .occasions__list {
        gap: var(--space-2);
    }

    .occasion-item {
        padding: 0.8rem 1rem;
    }

    .gallery-grid {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }

    .gallery-item,
    .gallery-item--large,
    .gallery-item--wide {
        grid-column: auto;
        aspect-ratio: 4 / 5;
    }

    .gallery-item:nth-child(odd) {
        aspect-ratio: 4 / 4.4;
    }

    .booking-panel {
        padding:
            1.5rem 1.15rem;
    }

    .booking-intents {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .booking-intent span {
        width: 100%;
        height: 100%;

        padding: 0.7rem 0.75rem;

        text-align: center;
    }

    .booking-form {
        gap: var(--space-5);
    }

    .form-field input,
    .form-field select {
        min-height: 54px;
    }

    .villa-map {
        min-height: 320px;
    }

    .faq-item__trigger {
        align-items: flex-start;
    }

    .faq-item__content {
        padding-right: 0;
    }

    .final-cta {
        min-height: 72svh;
    }

    .final-cta__content {
        padding-block: clamp(5rem, 20vw, 7rem);
    }

    .final-cta__content>.button {
        width: 100%;
    }

    .final-cta__categories {
        display: grid;
        grid-template-columns: repeat(2, max-content);
    }

    .final-cta__categories li:not(:last-child)::after {
        display: none;
    }

    .site-footer {
        padding-bottom: 80px;
    }

    .site-footer__nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: var(--space-10);
    }

    .site-footer__column:last-child {
        grid-column: 1 / -1;
    }

    .site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;

        gap: var(--space-3);
    }

    .villa-detail__media {
        aspect-ratio: 4 / 3;
    }

    .villa-detail__content {
        padding:
            1.75rem 1.15rem 2rem;
    }

    .villa-detail__stats {
        gap: var(--space-3);
    }

    .villa-detail__stat {
        padding: var(--space-4);
    }

    .villa-detail__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .villa-detail__actions .button {
        width: 100%;
    }

    .booking-success__inner {
        padding:
            2rem 1.25rem;
    }
}

@media (max-width: 390px) {
    :root {
        --container-padding: 1rem;
    }

    .hero__title {
        font-size: clamp(2.8rem, 15.5vw, 3.8rem);
    }

    .hero__categories {
        display: none;
    }

    .booking-intents {
        grid-template-columns: 1fr;
    }

    .villa-detail__stats {
        grid-template-columns: 1fr;
    }

    .site-footer__nav {
        grid-template-columns: 1fr;
    }

    .site-footer__column:last-child {
        grid-column: auto;
    }

    .final-cta__categories {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) and (orientation: landscape) and (max-height: 600px) {

    .hero__container {
        padding-top: 7rem;
        padding-bottom: 2rem;
    }

    .hero__content {
        margin-inline: auto;
        text-align: center;
    }

    .hero__eyebrow {
        margin-inline: auto;
    }

    .hero__title {
        margin-inline: auto;

        font-size: clamp(3rem, 8vw, 5rem);

        text-align: center;
    }

    .hero__description {
        margin-top: var(--space-4);
        margin-inline: auto;

        text-align: center;
    }

    .hero__actions {
        justify-content: center;
        margin-top: var(--space-5);
    }

    .hero__categories {
        display: none;
    }

    .site-nav {
        justify-content: flex-start;
        overflow-y: auto;
    }
}

@media (hover: none) and (pointer: coarse) {
    .button:hover {
        transform: none;
    }

    .villa-card:hover .villa-card__media img {
        transform: none;
    }

    .occasion-item:hover {
        transform: none;
    }

    .gallery-item:hover img {
        transform: none;
        filter: none;
    }

    .gallery-item::after {
        opacity: 1;
        transform: none;
    }

    .site-footer__column a:hover::after {
        transform: scaleX(0);
    }
}

@media (min-width: 1600px) {
    :root {
        --container-width: 1460px;
    }

    .hero__content {
        width: min(940px, 72%);
    }

    .hero-search {
        width: min(calc(100% - (var(--container-padding) * 2)),
                1280px);
    }

    .villa-list {
        column-gap: 4rem;
    }
}

@media (max-width: 768px) and (prefers-reduced-motion: reduce) {

    .hero-search {
        opacity: 1 !important;
        transform: none !important;
    }

    .site-nav {
        transition: none;
    }
}

@supports (padding: max(0px)) {
    @media (max-width: 900px) {
        .site-header__container {
            padding-left:
                max(var(--container-padding),
                    env(safe-area-inset-left));

            padding-right:
                max(var(--container-padding),
                    env(safe-area-inset-right));
        }

        .site-nav {
            padding-left:
                max(var(--container-padding),
                    env(safe-area-inset-left));

            padding-right:
                max(var(--container-padding),
                    env(safe-area-inset-right));
        }
    }
}