@media (max-width: 1040px) {
    .desktop-nav {
        display: none;
    }

    .menu-toggle {
        display: grid;
    }

    .hero__inner {
        grid-template-columns: 1fr 390px;
        gap: 35px;
    }

    .hero h1 {
        font-size: clamp(54px, 7.8vw, 78px);
    }

    .experience-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .experience-card--large,
    .experience-card--wide {
        grid-column: span 1;
    }

    .live-board__shell,
    .guest-flow__grid {
        gap: 35px;
    }
}

@media (max-width: 820px) {
    :root {
        --container: min(100% - 28px, 680px);
    }

    .section {
        padding: 82px 0;
    }

    .btn--header {
        display: none;
    }

    .hero {
        min-height: auto;
    }

    .hero__inner {
        padding-top: 155px;
        padding-bottom: 110px;
        grid-template-columns: 1fr;
    }

    .hero h1 {
        max-width: 650px;
        font-size: clamp(53px, 12vw, 88px);
    }

    .hero-card {
        max-width: 600px;
    }

    .section-heading--split,
    .guest-flow__grid,
    .live-board__shell {
        grid-template-columns: 1fr;
    }

    .section-heading--split {
        gap: 10px;
    }

    .experience-search {
        grid-template-columns: 1fr 1fr;
    }

    .experience-search .btn {
        grid-column: span 2;
    }

    .footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cta-band__inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    body {
        padding-bottom: 88px;
    }

    .site-header {
        padding: 14px 0;
    }

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

    .brand__text strong {
        font-size: 15px;
    }

    .header-search,
    .menu-toggle {
        width: 41px;
        height: 41px;
    }

    .hero__inner {
        padding-top: 130px;
        padding-bottom: 100px;
        gap: 48px;
    }

    .eyebrow {
        font-size: 10px;
        letter-spacing: .13em;
    }

    .hero h1 {
        margin-top: 19px;
        font-size: clamp(48px, 15vw, 68px);
    }

    .hero__content > p {
        margin-top: 22px;
        font-size: 16px;
    }

    .hero__actions {
        display: grid;
    }

    .hero__actions .btn {
        width: 100%;
    }

    .hero__trust {
        align-items: flex-start;
    }

    .hero-card {
        padding: 14px;
        border-radius: 25px;
    }

    .hero-card__visual {
        min-height: 230px;
        padding: 18px;
        gap: 15px;
    }

    .hero-card__monogram {
        width: 92px;
        height: 92px;
        font-size: 50px;
    }

    .hero-card__visual h2 {
        font-size: 27px;
    }

    .hero-card__grid article {
        min-height: 72px;
    }

    .section-heading {
        margin-bottom: 30px;
    }

    .section-heading h2,
    .guest-flow h2,
    .live-board h2,
    .cta-band h2,
    .coming-module h2 {
        font-size: clamp(36px, 11vw, 49px);
    }

    .section-heading p,
    .guest-flow__copy > p,
    .live-board__intro p,
    .coming-module p {
        font-size: 15px;
    }

    .search-shell {
        padding: 9px;
        border-radius: 22px;
    }

    .experience-search {
        grid-template-columns: 1fr;
    }

    .experience-search .btn {
        grid-column: auto;
    }

    .search-field {
        min-height: 72px;
    }

    .experience-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .experience-card {
        min-height: 405px;
    }

    .experience-card__body {
        padding: 20px;
    }

    .live-board__shell {
        padding: 27px 18px;
        border-radius: 27px;
    }

    .live-board__items {
        grid-template-columns: 1fr;
    }

    .live-board__items article {
        min-height: 100px;
    }

    .flow-points {
        grid-template-columns: 1fr;
    }

    .phone-card {
        padding: 17px;
        border-radius: 28px;
    }

    .cta-band {
        padding: 62px 0;
    }

    .footer__grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .mobile-book-bar {
        display: flex;
    }

    .coming-module {
        padding: 30px 22px;
    }

    .coming-module__actions {
        display: grid;
    }

    .booking-hero {
        padding: 150px 0 75px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}


@media (max-width: 1040px) {
    .hero__inner--real {
        grid-template-columns: 1fr .48fr;
        gap: 35px;
    }

    .story-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .story-card--tall {
        grid-row: span 1;
    }

    .story-card--wide {
        grid-column: span 2;
    }
}

@media (max-width: 820px) {
    .hero__inner--real,
    .taste-grid,
    .directions-grid {
        grid-template-columns: 1fr;
    }

    .hero__side {
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 10px;
    }

    .hero__side-label {
        grid-column: span 2;
    }

    .hero__bottom-inner {
        justify-content: flex-start;
        overflow-x: auto;
        white-space: nowrap;
    }

    .taste-gallery img {
        height: 470px;
    }

    .event-poster-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .brand--image img {
        width: 98px;
        height: 45px;
    }

    .hero--real {
        min-height: 900px;
    }

    .hero__photo {
        background-position: 56% center;
    }

    .hero__overlay {
        background:
            linear-gradient(0deg, rgba(4,23,14,.96) 0%, rgba(5,28,17,.78) 58%, rgba(5,28,17,.25) 100%);
    }

    .hero__inner--real {
        min-height: 900px;
        align-content: end;
        padding-top: 115px;
        padding-bottom: 100px;
    }

    .hero--real h1 {
        font-size: clamp(48px, 15vw, 68px);
    }

    .hero__side {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .hero-mini-card {
        min-height: 78px;
        padding: 12px;
    }

    .hero-mini-card strong {
        font-size: 14px;
    }

    .hero__bottom {
        display: none;
    }

    .story-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 440px;
    }

    .story-card--wide {
        grid-column: span 1;
    }

    .story-card__content {
        padding: 22px;
    }

    .story-card__content h3 {
        padding-right: 50px;
        font-size: 26px;
    }

    .taste-gallery {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .taste-gallery img,
    .taste-gallery img:last-child {
        height: 360px;
        border-radius: 22px;
    }

    .event-poster-grid {
        grid-template-columns: 1fr;
    }

    .directions-image {
        max-height: 540px;
    }

    .directions-image img {
        max-height: 540px;
    }
}


@media (max-width: 1040px) {
    .hero__inner--slider {
        grid-template-columns: 1fr .48fr;
        gap: 35px;
    }

    .day-journey {
        grid-template-columns: repeat(2, 1fr);
    }

    .day-card:nth-child(even) {
        margin-top: 0;
    }

    .mood-shell {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .hero__inner--slider {
        grid-template-columns: 1fr;
    }

    .hero__side {
        display: none;
    }

    .mood-shell {
        padding: 38px 28px;
    }
}

@media (max-width: 600px) {
    .hero--slider {
        min-height: 920px;
    }

    .hero-slide img {
        object-position: 55% center;
    }

    .hero-slide:nth-child(2) img {
        object-position: center;
    }

    .hero__overlay--slider {
        background:
            linear-gradient(0deg, rgba(3,19,12,.98) 0%, rgba(4,27,16,.82) 58%, rgba(4,27,16,.2) 100%);
    }

    .hero__inner--slider {
        min-height: 920px;
        align-content: end;
        padding-top: 120px;
        padding-bottom: 95px;
    }

    .hero-slider__controls {
        flex-wrap: wrap;
        gap: 10px;
    }

    .hero-dots button {
        width: 20px;
    }

    .hero-dots button.active {
        width: 34px;
    }

    .day-journey {
        grid-template-columns: 1fr;
    }

    .day-card {
        min-height: 430px;
    }

    .mood-shell {
        padding: 30px 18px;
        border-radius: 27px;
    }

    .mood-actions {
        grid-template-columns: 1fr;
    }

    .mood-actions a {
        min-height: 125px;
    }

    .gallery-marquee__track img {
        width: 250px;
        height: 350px;
    }

    .mobile-menu {
        padding: 0;
    }

    .mobile-menu__panel {
        border-radius: 0;
    }
}


@media (max-width: 920px) {
    .room-card,
    .room-detail-layout,
    .booking-form-layout,
    .success-layout {
        grid-template-columns: 1fr;
    }

    .room-search-card {
        grid-template-columns: repeat(2, 1fr);
    }

    .room-search-card .btn {
        grid-column: span 2;
    }

    .room-card__image {
        min-height: 380px;
    }

    .room-detail-layout,
    .booking-form-layout,
    .success-layout {
        gap: 35px;
    }

    .room-booking-summary,
    .checkout-summary {
        position: static;
    }

    .confirmation-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .rooms-hero {
        min-height: 650px;
    }

    .rooms-hero__content {
        padding-top: 145px;
        padding-bottom: 90px;
    }

    .rooms-hero h1,
    .booking-form-hero h1,
    .success-hero h1 {
        font-size: clamp(49px, 15vw, 68px);
    }

    .room-search-section {
        margin-top: -28px;
    }

    .room-search-card {
        grid-template-columns: 1fr;
        padding: 10px;
    }

    .room-search-card .btn {
        grid-column: auto;
    }

    .room-card {
        border-radius: 24px;
    }

    .room-card__image {
        min-height: 330px;
    }

    .room-card__body {
        padding: 25px 20px;
    }

    .room-card__heading {
        flex-direction: column;
        gap: 15px;
    }

    .room-price {
        text-align: left;
    }

    .room-card__actions {
        display: grid;
    }

    .room-detail-gallery {
        grid-template-columns: 1fr;
        grid-template-rows: 430px 210px;
        border-radius: 24px 24px 0 0;
    }

    .room-detail-gallery__main {
        grid-row: auto;
    }

    .room-detail-gallery img:nth-child(n+3) {
        display: none;
    }

    .room-facts {
        grid-template-columns: repeat(2, 1fr);
    }

    .amenity-grid {
        grid-template-columns: 1fr;
    }

    .guest-booking-form {
        padding: 28px 18px;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-field--full {
        grid-column: auto;
    }

    .confirmation-card__top,
    .confirmation-room,
    .confirmation-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .confirmation-grid {
        grid-template-columns: 1fr;
    }

    .confirmation-room img {
        width: 100%;
        height: 230px;
    }

    .confirmation-actions {
        display: grid;
    }
}


/* ===== AMORA V4.1 RESPONSIVE POLISH ===== */

@media (min-width: 921px) {
    .room-listing {
        padding-top: 72px;
    }

    .room-card__image img {
        object-position: center;
    }
}

@media (max-width: 600px) {
    /* Move homepage slider copy higher */
    .hero__inner--slider {
        align-content: end;
        padding-top: 105px;
        padding-bottom: 155px;
    }

    .hero-copy__label {
        margin-top: 14px;
    }

    .hero-slider__controls {
        margin-top: 27px;
    }

    /* Move rooms-page hero content higher */
    .rooms-hero__content {
        padding-top: 125px;
        padding-bottom: 125px;
    }

    /* Keep mobile room cards compact but readable */
    .room-cards {
        width: 100%;
    }

    .room-card {
        min-height: 0;
    }

    .room-card__image {
        min-height: 305px;
        max-height: 330px;
    }

    /* Prevent white space after footer */
    body {
        padding-bottom: 0 !important;
    }

    .site-footer {
        padding-bottom: 105px;
    }

    .mobile-book-bar {
        bottom: 12px;
    }
}


/* ===== AMORA V4.2 FINAL MOBILE HERO POSITION ===== */
@media (max-width: 600px) {
    /*
     * Earlier hero rules use align-content:end, which keeps the content too low.
     * This direct transform moves the complete content group upward while
     * preserving the background image and the floating booking bar.
     */
    .hero--slider .hero__inner--slider {
        padding-top: 100px !important;
        padding-bottom: 120px !important;
    }

    .hero--slider .hero__content {
        transform: translateY(-72px) !important;
    }

    .hero--slider .hero-slider__controls {
        margin-top: 22px !important;
    }

    /*
     * Keep the hotel rooms hero comfortably above its search card.
     */
    .rooms-page .rooms-hero__content {
        transform: translateY(-38px);
        padding-top: 130px !important;
        padding-bottom: 105px !important;
    }
}

@media (max-width: 390px) {
    .hero--slider .hero__content {
        transform: translateY(-58px) !important;
    }
}
