@media (max-width: 991.98px) {
    .site-navbar .navbar-collapse {
        padding: 16px 0 22px;
        border-top: 1px solid var(--border);
    }

    .site-navbar .nav-item.ms-lg-3 {
        margin-top: 10px;
    }

    .site-navbar .nav-link::after {
        right: auto;
        width: 60px;
    }

    .hero {
        min-height: auto;
    }

    .hero-overlay,
    .page-hero-overlay {
        background: linear-gradient(90deg, rgba(17, 13, 10, 0.96), rgba(27, 19, 14, 0.76));
    }

    .hero-road-line {
        right: -4%;
    }

    .hero-deco,
    .cta-deco {
        display: none;
    }

    .scroll-cue {
        display: none;
    }

    .highlight-item:nth-child(2) {
        border-right: 0;
    }

    .highlight-item:nth-child(-n+2) {
        border-bottom: 1px solid var(--border);
    }

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

    .instagram-panel,
    .location-note {
        display: grid;
        justify-items: start;
    }

    .service-card-wide {
        grid-template-columns: 1fr;
    }

    .service-card-wide .service-media {
        min-height: 280px;
    }
}

@media (max-width: 767.98px) {
    :root {
        --demo-height: 52px;
    }

    .section {
        padding: 76px 0;
    }

    .brand-copy {
        display: none;
    }

    .brand-logo {
        width: 52px;
        height: 52px;
    }

    .footer-brand .brand-copy {
        display: block;
    }

    .hero-content {
        padding-top: 58px;
        padding-bottom: 70px;
    }

    .hero-brand-seal {
        width: 94px;
        height: 94px;
    }

    .hero h1 {
        font-size: clamp(3.3rem, 17vw, 5.5rem);
    }

    .hero-actions {
        display: grid;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .hero-proof {
        display: grid;
        gap: 10px;
    }

    .page-hero {
        min-height: 54vh;
        padding: 92px 0 78px;
    }

    .page-hero h1 {
        font-size: clamp(3rem, 14vw, 5rem);
    }

    .highlight-item {
        min-height: 138px;
        flex-direction: column;
        gap: 10px;
        padding: 18px 12px;
    }

    .road-frame,
    .road-frame-reverse {
        margin: 0 14px 18px;
    }

    .road-frame::before,
    .road-frame-reverse::before {
        inset: 14px 14px -14px -14px;
    }

    .road-frame img {
        min-height: 390px;
    }

    .unit-card {
        grid-template-rows: 245px minmax(0, 1fr);
    }

    .unit-map {
        height: 245px;
    }

    .unit-content {
        padding: 34px 22px 24px;
    }

    .unit-content h3 {
        font-size: 2.55rem;
    }

    .unit-heading-row {
        min-height: 178px;
        grid-template-columns: minmax(0, 1fr) 96px;
    }

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

    .unit-status,
    .btn-unit {
        min-height: 58px;
    }

    .instagram-panel,
    .location-note {
        padding: 34px 24px;
    }

    .instagram-panel .btn,
    .location-note .btn {
        width: 100%;
    }

    .booking-card {
        padding: 34px 24px;
    }

    .footer-bottom {
        flex-direction: column;
    }

    .floating-whatsapp span {
        display: none;
    }

    .floating-whatsapp {
        right: 14px;
        bottom: calc(var(--demo-height) + 14px);
        width: 52px;
        height: 52px;
        justify-content: center;
        padding: 0;
        border-radius: 50%;
        font-size: 1.3rem;
    }

    .demo-disclaimer {
        gap: 7px;
        padding: 6px 10px;
        font-size: 0.58rem;
        line-height: 1.2;
    }

    .demo-credit {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .route-card-media {
        height: 220px;
    }

    .unit-heading-row {
        display: block;
        min-height: 0;
    }

    .unit-heading-row h3 {
        min-height: 0;
    }

    .unit-rating {
        display: flex;
        gap: 7px;
        justify-content: flex-start;
        align-items: center;
        margin: -12px 0 22px;
    }

    .unit-rating i {
        margin: 0;
    }
}

@media (max-width: 1199.98px) {
    .about-masthead-grid,
    .services-masthead-grid {
        grid-template-columns: 1fr 0.82fr;
        gap: 54px;
    }

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

    .booking-experience-aside {
        position: relative;
        top: auto;
        height: auto;
        min-height: 720px;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }
}

@media (max-width: 991.98px) {
    .about-masthead-grid,
    .services-masthead-grid,
    .about-manifesto-title,
    .service-ledger-heading,
    .units-masthead-top {
        grid-template-columns: 1fr;
    }

    .about-portrait {
        width: min(100%, 560px);
        margin: 0 auto;
    }

    .about-manifesto-grid {
        grid-template-columns: 1fr;
    }

    .about-manifesto-grid > div {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(33,23,17,.22);
    }

    .about-manifesto-grid > div:last-child {
        border-bottom: 0;
    }

    .services-index {
        margin-top: 12px;
    }

    .service-ledger-row {
        grid-template-columns: 54px 120px 1fr;
    }

    .service-ledger-action {
        grid-column: 2 / 4;
        padding-top: 14px;
        border-top: 1px solid var(--border);
    }

    .units-route-line {
        grid-template-columns: 1fr;
    }

    .units-route-line > i {
        display: none;
    }

    .units-route-line a + a {
        border-top: 1px solid var(--border);
    }

    .booking-choice {
        grid-template-columns: 72px 1fr;
    }

    .booking-choice-meta {
        grid-column: 2;
        padding: 18px 0 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .booking-choice-actions {
        grid-column: 2;
    }
}

@media (max-width: 767.98px) {
    .about-masthead,
    .services-masthead,
    .units-masthead {
        padding-top: 72px;
    }

    .about-masthead-copy h1,
    .services-title-block h1,
    .units-masthead-top h1,
    .booking-aside-inner h1 {
        font-size: clamp(3.35rem, 16vw, 5.4rem);
    }

    .about-facts {
        display: grid;
        gap: 10px;
    }

    .about-portrait::before {
        inset: 14px -10px -14px 10px;
    }

    .about-portrait-frame {
        height: 520px;
        min-height: 0;
        border-radius: 120px 120px 20px 20px;
    }

    .about-seal {
        bottom: 26px;
        left: -8px;
        width: 88px;
        height: 88px;
    }

    .about-portrait-caption {
        margin-left: 0;
    }

    .about-manifesto-title {
        margin-bottom: 42px;
    }

    .about-manifesto-title h2 {
        font-size: clamp(2.65rem, 12vw, 4rem);
    }

    .about-manifesto-grid > div {
        padding: 30px 8px;
    }

    .service-ledger-row {
        grid-template-columns: 42px 1fr;
        gap: 16px;
        padding: 26px 0;
    }

    .service-ledger-media {
        grid-column: 2;
        width: 100%;
        height: 210px;
    }

    .service-ledger-copy,
    .service-ledger-action {
        grid-column: 2;
    }

    .service-ledger-row:hover {
        padding-right: 8px;
        padding-left: 8px;
    }

    .units-masthead-top {
        gap: 24px;
        padding-bottom: 46px;
    }

    .units-route-line a {
        padding-right: 4px;
        padding-left: 4px;
    }

    .booking-experience-aside {
        min-height: auto;
    }

    .booking-aside-inner,
    .booking-experience-options {
        padding: 62px 20px;
    }

    .booking-aside-logo {
        width: 88px;
        height: 88px;
    }

    .booking-choice {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 28px 22px;
    }

    .booking-choice-number,
    .booking-choice-main,
    .booking-choice-meta,
    .booking-choice-actions {
        grid-column: 1;
    }

    .booking-choice-number {
        position: absolute;
        top: 18px;
        right: 20px;
        padding-top: 0;
        opacity: .38;
    }

    .booking-choice-main h2 {
        min-height: 0;
    }

    .booking-choice-meta {
        padding-top: 18px;
    }

    .booking-choice-actions {
        display: grid;
        gap: 16px;
    }

    .booking-choice-actions .btn {
        width: 100%;
    }
}
