@media only screen and (max-width: 48em) {
    body.home .px-grid-margin {
        padding-left: 20px;
        padding-right: 20px;
    }

    body.home .py-section-gap {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    body.home .leodigi-hero-slide .font-display-hero,
    body.home .leodigi-hero-slide h1.font-display-hero {
        font-size: 34px !important;
        line-height: 1.2 !important;
        letter-spacing: 0.02em !important;
    }

    body.home .leodigi-hero-slide h1 {
        margin-bottom: 1.5rem !important;
    }

    body.home .font-h1-editorial {
        font-size: 30px !important;
        line-height: 1.15 !important;
    }

    body.home .leodigi-hero-slide .flex-col {
        width: 100% !important;
        max-width: 320px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.home .leodigi-hero-slide .flex-col a {
        width: 100% !important;
        min-height: 52px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    body.home .leodigi-about-images {
        grid-template-columns: 1fr !important;
    }

    body.home .leodigi-about-images > .space-y-6 {
        display: none !important;
    }

    body.home .leodigi-about-images > div:first-child {
        aspect-ratio: 4 / 3 !important;
        margin-top: 0 !important;
    }

    body.home .leodigi-about-section .lg\:col-span-5 {
        padding-left: 0 !important;
    }

    body.home .font-label-caps {
        font-size: 11px;
        letter-spacing: 0.24em;
    }

    body.home .space-y-48 > :not([hidden]) ~ :not([hidden]) {
        margin-top: 4rem;
        margin-bottom: 0;
    }

    body.home .mb-32,
    body.home .mb-48,
    body.home .lg\:mb-48 {
        margin-bottom: 3rem;
    }

    body.home #sanctuary {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    body.home #sanctuary .-rotate-90 {
        display: none;
    }

    body.home #sanctuary .aspect-\[16\/11\] {
        aspect-ratio: 4 / 3 !important;
    }

    body.home #sanctuary .aspect-\[16\/11\] > div.p-4 {
        padding: 0 !important;
        border: none !important;
    }

    body.home #sanctuary img {
        filter: sepia(0.15) saturate(0.9) opacity(1) brightness(1.05) !important;
        mix-blend-mode: normal !important;
    }

    body.home #sanctuary .space-y-20 > * + * {
        margin-top: 1.5rem !important;
    }

    body.home .leodigi-room-item .aspect-\[16\/10\] {
        aspect-ratio: 3 / 2 !important;
    }

    body.home .leodigi-room-item .room-text-col {
        margin-top: 1.5rem !important;
        padding-left: 0 !important;
    }

    body.home .leodigi-room-item .room-text-col .flex.flex-wrap.gap-8 {
        gap: 0.5rem !important;
    }

    body.home .leodigi-room-item a.group {
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        border-bottom: 1px solid rgba(58, 36, 27, 0.2) !important;
        padding-bottom: 2px !important;
    }

    body.home section .leodigi-rooms-list ~ div a {
        padding: 0.875rem 2rem !important;
    }

    body.home .leodigi-content-gallery {
        overflow-x: hidden !important;
    }

    body.home .leodigi-content-gallery .grid.grid-cols-1 {
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body.home .leodigi-content-gallery .grid.grid-cols-1 > * {
        grid-column: 1 / -1 !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.home .leodigi-content-gallery .aspect-\[16\/9\] {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        margin-bottom: 1rem !important;
    }

    body.home .leodigi-content-gallery .aspect-\[16\/9\] img {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    body.home .leodigi-content-gallery .lg\:col-span-4 .aspect-square {
        display: none !important;
    }

    body.home .leodigi-content-gallery .lg\:col-span-4 {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.home .leodigi-content-gallery .lg\:col-span-4 > div:last-child {
        padding: 1.25rem 1rem !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        box-shadow: none !important;
        border-left: 3px solid #C9A86A !important;
        border-top: none !important;
        border-right: none !important;
        border-bottom: none !important;
        background: transparent !important;
    }

    body.home .leodigi-content-gallery .lg\:col-span-4 > div:last-child .material-symbols-outlined {
        display: none !important;
    }

    body.home .leodigi-content-gallery .lg\:col-span-4 > div:last-child blockquote {
        width: 100% !important;
        max-width: none !important;
        font-size: 0.9375rem !important;
        line-height: 1.8 !important;
        margin-bottom: 1.25rem !important;
    }

    body.home .leodigi-itineraries-section h2 {
        font-size: 30px !important;
    }

    body.home .leodigi-itineraries-section .flex.justify-between {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 1rem !important;
        margin-bottom: 2rem !important;
    }

    body.home .leodigi-experiences-section h2 {
        font-size: 30px !important;
    }

    body.home .leodigi-experience-item .p-12 {
        padding: 1.5rem !important;
    }

    body.home .leodigi-experience-item .p-10 {
        padding: 1.25rem !important;
    }

    body.home .leodigi-itinerary-quote {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    body.home .leodigi-itinerary-quote > div {
        max-width: none !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.home .leodigi-itinerary-quote .w-px {
        display: none !important;
    }

    body.home .leodigi-itinerary-quote p {
        font-size: 1.1875rem !important;
        line-height: 1.55 !important;
        color: rgba(58, 36, 27, 0.62) !important;
    }

    body.home section,
    body.home #sanctuary {
        scroll-margin-top: 80px;
    }

    body.home .leodigi-about-section {
        padding-top: 72px !important;
    }

    body.home #sanctuary .aspect-\[16\/11\] {
        background: transparent !important;
        padding: 0 !important;
        border: none !important;
    }

    body.home #sanctuary img {
        opacity: 1 !important;
        filter: none !important;
        mix-blend-mode: normal !important;
    }

    body.home .leodigi-itinerary-item .aspect-\[4\/3\] > img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        transform: none !important;
        opacity: 1 !important;
        filter: none !important;
    }

    body.home .leodigi-facility-item .facility-icon-wrap {
        margin-bottom: 1rem !important;
    }

    body.home .leodigi-facility-item p {
        font-size: 11px !important;
        letter-spacing: 0.2em !important;
        line-height: 1.35 !important;
        color: rgba(58, 36, 27, 0.86) !important;
    }

    body.home .leodigi-itinerary-item {
        gap: 2rem !important;
    }

    body.home .leodigi-itinerary-item .space-y-10 > * + * {
        margin-top: 1.5rem !important;
    }

    body.home .leodigi-itinerary-item .space-y-6 > * + * {
        margin-top: 0.875rem !important;
    }

    body.home .leodigi-itinerary-item ul.space-y-4 > * + * {
        margin-top: 0.625rem !important;
    }

    body.home .leodigi-itinerary-item h3 {
        font-size: 26px !important;
        line-height: 1.2 !important;
    }

    body.home .leodigi-itinerary-item a.group {
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
    }

    body.home .leodigi-room-item a.group {
        color: #C9A86A !important;
        border-bottom-color: rgba(201, 168, 106, 0.55) !important;
        column-gap: 0.75rem !important;
        row-gap: 0.75rem !important;
    }

    body.home .leodigi-room-item a.group .material-symbols-outlined {
        color: #C9A86A !important;
    }

    body.home .leodigi-experiences-section .flex.justify-between.items-end {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.75rem !important;
        margin-bottom: 1.5rem !important;
    }

    body.home .leodigi-experiences-section .pb-4 {
        padding-bottom: 0 !important;
    }

    body.home [id^="leodigi-inquiry-"] .inquiry-left h2 {
        font-size: 26px !important;
        line-height: 1.2 !important;
    }

    body.home [id^="leodigi-inquiry-"] .inquiry-right input[type="submit"],
    body.home [id^="leodigi-inquiry-"] .inquiry-right button,
    body.home [id^="leodigi-inquiry-"] .inquiry-right .button,
    body.home [id^="leodigi-inquiry-"] .inquiry-right .wpcf7-submit {
        width: 100% !important;
        min-height: 52px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    /*
    P2 optional, not active: if mobile testing confirms overlays stay readable,
    cards after the first can be made two-column with:
    body.home .leodigi-experiences-grid .leodigi-experience-item:not(.leodigi-experience-item-0) {
        grid-column: span 6 / span 6;
    }
    */

    body.home #top-bar,
    body.home .header-top {
        display: none;
    }

    body.home [id^="leodigi-inquiry-"] .inquiry-left,
    body.home [id^="leodigi-inquiry-"] .inquiry-right {
        padding: 1.5rem;
    }
}

@media only screen and (min-width: 64em) {
    .lg\:scale-90 {
        --tw-scale-x: .9;
        --tw-scale-y: .9;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }

    .lg\:opacity-60 {
        opacity: .6;
    }

    .lg\:grayscale {
        --tw-grayscale: grayscale(100%);
        filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    }
}
