@media (max-width: 1180px) {
    .header-shell {
        grid-template-columns: auto 1fr auto;
    }

    .desktop-nav {
        display: none;
    }

    .menu-toggle {
        display: inline-flex;
        justify-self: end;
    }

    .header-cta {
        display: none;
    }

    .card-grid,
    .why-grid,
    .values-grid,
    .references-grid,
    .news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-projects__grid,
    .home-why__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-gallery__row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .process-steps {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem 1rem;
    }

    .process-step::before {
        display: none;
    }

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

    .home-hero__grid,
    .home-about__grid,
    .home-testimonials__grid {
        grid-template-columns: 1fr;
    }

    .home-heading,
    .cta-band__inner,
    .home-about__features,
    .home-stats__grid,
    .home-process__timeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lux-project,
    .lux-project:nth-child(even),
    .lux-lifestyle,
    .lux-process__grid,
    .lux-legacy__grid,
    .lux-expertise-list article {
        grid-template-columns: 1fr;
    }

    .lux-project:nth-child(even) .lux-project__image {
        order: 0;
    }

    .lux-project {
        min-height: auto;
    }

    .lux-project__image {
        min-height: 420px;
    }

    .lux-about__grid,
    .lux-statement__grid,
    .lux-page-grid,
    .lux-contact-layout {
        grid-template-columns: 1fr;
    }

    .lux-about__media {
        min-height: 620px;
    }

    .lux-process__sticky {
        position: static;
    }

    .lux-value-list {
        grid-template-columns: 1fr;
    }

    .lux-gallery-page__grid {
        grid-template-columns: 1fr 1fr;
    }

    .lux-milestone {
        grid-template-columns: 1fr;
        gap: 0.8rem;
    }
}

@media (max-width: 920px) {
    .topbar {
        display: none;
    }

    .intro-grid,
    .split-content,
    .contact-grid,
    .project-layout,
    .cta-band__inner,
    .footer-bottom,
    .filter-bar,
    .detail-grid,
    .meta-grid {
        grid-template-columns: 1fr;
    }

    .home-heading {
        grid-template-columns: 1fr;
    }

    .home-projects__filters {
        grid-auto-flow: row;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

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

    .stat-card:nth-child(2) {
        border-right: 0;
    }

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

    .gallery-tile,
    .gallery-tile:nth-child(1),
    .gallery-tile:nth-child(2),
    .gallery-tile:nth-child(3),
    .gallery-tile:nth-child(4),
    .gallery-tile:nth-child(5),
    .gallery-tile:nth-child(6) {
        grid-column: span 1;
    }

    .home-hero {
        padding-top: 8rem;
    }

    .home-hero__trust,
    .home-projects__grid,
    .home-why__grid,
    .home-gallery__row,
    .home-process__timeline,
    .home-about__features,
    .home-stats__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-process__timeline::before {
        display: none;
    }

    .home-about__media {
        min-height: auto;
    }

    .page-hero h1,
    .detail-hero h1 {
        font-size: 2.45rem;
    }

    .service-card img,
    .project-card img,
    .news-card img {
        height: 230px;
    }

    .lux-hero {
        min-height: 86vh;
    }

    .lux-hero__content {
        padding-top: 6rem;
    }

    .lux-hero__rail {
        right: 1.5rem;
        left: 1.5rem;
        bottom: 1.5rem;
        grid-template-columns: 1fr;
    }

    .lux-hero__rail span {
        border-right: 0;
        border-bottom: 1px solid rgba(235, 217, 177, 0.18);
    }

    .lux-scroll {
        display: none;
    }

    .lux-craft__strip {
        min-height: auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .lux-craft__strip figure {
        min-height: 300px;
    }

    .lux-gallery__grid {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 240px;
    }

    .lux-page-media--stacked {
        min-height: 560px;
    }

    .lux-gallery-page__grid {
        grid-auto-rows: 230px;
    }
}

@media (max-width: 680px) {
    html,
    body {
        overflow-x: hidden;
    }

    .section {
        padding: 4rem 0;
    }

    .hero {
        min-height: auto;
    }

    .hero__content,
    .page-hero,
    .detail-hero {
        padding-top: 8.5rem;
    }

    .hero__actions,
    .trust-points,
    .stats-grid,
    .card-grid,
    .why-grid,
    .values-grid,
    .references-grid,
    .news-grid,
    .process-steps,
    .footer-grid,
    .form-grid {
        grid-template-columns: 1fr;
    }

    .section-heading {
        display: block;
    }

    .search-field {
        min-width: 100%;
    }

    .image-stack {
        min-height: auto;
    }

    .image-card--main,
    .image-card--offset {
        position: static;
        width: 100%;
        max-width: 100%;
    }

    .image-card--offset {
        border-width: 0;
    }

    .badge-year {
        position: static;
        display: inline-block;
        margin-top: 1rem;
    }

    .hero__actions .button,
    .cta-band__actions .button {
        width: 100%;
    }

    .enquiry-modal {
        padding: 1rem;
    }

    .enquiry-modal__dialog {
        padding: 1.35rem;
        border-radius: 22px;
    }

    .header-shell,
    .home-projects__filters,
    .home-hero__trust,
    .home-projects__grid,
    .home-why__grid,
    .home-gallery__row,
    .home-testimonials__grid,
    .home-process__timeline,
    .home-about__features,
    .home-stats__grid,
    .footer-grid,
    .footer-bottom {
        grid-template-columns: 1fr;
    }

    .brand img,
    .footer-brand img {
        width: 180px;
    }

    .header-shell {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 0.9rem;
        padding: 0.8rem 0;
    }

    .brand {
        display: inline-flex;
        width: fit-content;
        max-width: 100%;
    }

    .brand img {
        width: 168px;
    }

    .menu-toggle {
        justify-self: end;
        min-width: 52px;
        width: 52px;
    }

    .home-hero__copy h1,
    .home-about__content h2,
    .home-heading h2 {
        font-size: 2.4rem;
    }

    .home-about__main,
    .home-about__offset {
        position: static;
        width: 100%;
        max-width: 100%;
    }

    .home-about__offset {
        margin-top: 1rem;
        border-width: 0;
    }

    .home-about__badge {
        position: static;
        margin-top: 1rem;
    }

    .page-hero,
    .detail-hero {
        padding: 3.8rem 0 3rem;
    }

    .page-hero h1,
    .detail-hero h1,
    .section-heading h2,
    .split-content h2,
    .contact-card h2,
    .form-card h2 {
        font-size: 2rem;
    }

    .service-card img,
    .project-card img,
    .news-card img {
        height: 210px;
    }

    .rich-text,
    .article-content,
    .thank-you .info-card {
        padding: 1.4rem;
    }

    :root {
        --lux-max: min(100% - 28px, 1440px);
        --lux-content: min(100% - 28px, 1320px);
    }

    .luxury-home .header-shell,
    body:not(.is-homepage) .header-shell {
        width: var(--lux-max);
    }

    .lux-hero h1 {
        font-size: clamp(2.8rem, 11.5vw, 3.8rem);
        line-height: 0.94;
    }

    .lux-hero__content > p:not(.lux-eyebrow) {
        font-size: 1rem;
    }

    .lux-hero__actions,
    .cta-band__actions {
        display: grid;
    }

    .lux-hero {
        min-height: auto;
    }

    .lux-hero__content {
        padding-top: 8rem;
        padding-bottom: 9.5rem;
    }

    .lux-hero__rail {
        right: 14px;
        left: 14px;
        bottom: 14px;
    }

    .lux-hero__rail span {
        padding: 0.8rem 0.9rem;
        font-size: 0.68rem;
    }

    .lux-button {
        width: 100%;
    }

    .lux-statement,
    .lux-about,
    .lux-developments,
    .lux-craft,
    .lux-process,
    .lux-legacy,
    .lux-gallery {
        padding: 4rem 0;
    }

    .lux-statement h2,
    .lux-about h2,
    .lux-section-head h2,
    .lux-philosophy h2,
    .lux-lifestyle h2,
    .lux-process h2,
    .lux-legacy h2,
    .lux-final-cta h2 {
        font-size: clamp(2.7rem, 12vw, 4rem);
    }

    .lux-section-head {
        margin-bottom: 2.3rem;
    }

    .lux-section-head--split {
        grid-template-columns: 1fr;
        gap: 1rem;
        align-items: start;
    }

    .lux-section-head--split > p {
        max-width: none;
        font-size: 1rem;
        line-height: 1.7;
    }

    .lux-about__media {
        min-height: 460px;
    }

    .lux-page-media--stacked {
        min-height: 430px;
    }

    .lux-about__main {
        width: 78%;
    }

    .lux-about__detail {
        width: 62%;
        height: 30%;
        border-width: 8px;
    }

    .lux-principles article {
        grid-template-columns: 1fr;
        gap: 0.8rem;
    }

    .lux-project__image {
        min-height: 330px;
    }

    .lux-project__panel {
        padding: 2rem 1.2rem;
    }

    .lux-philosophy {
        min-height: 580px;
    }

    .lux-craft__strip {
        grid-template-columns: 1fr;
    }

    .lux-craft__strip figure {
        min-height: 260px;
    }

    .lux-lifestyle__copy {
        padding: 3rem 1.2rem;
    }

    .lux-process__steps h3 {
        font-size: 2.4rem;
    }

    .lux-gallery__grid {
        grid-template-columns: 1fr;
    }

    .lux-gallery-page__grid {
        grid-template-columns: 1fr;
    }

    .lux-gallery__grid a,
    .lux-gallery__grid a:nth-child(1),
    .lux-gallery__grid a:nth-child(3) {
        grid-column: auto;
        grid-row: auto;
        min-height: 260px;
    }

    .lux-gallery-card,
    .lux-gallery-card:nth-child(1),
    .lux-gallery-card:nth-child(3),
    .lux-gallery-card:nth-child(6) {
        grid-column: auto;
        grid-row: auto;
        min-height: 250px;
    }

    .lux-expertise-list article {
        gap: 1.2rem;
    }

    .lux-expertise-list img {
        height: 240px;
    }

    .lux-contact-panel,
    .lux-contact-page .form-card {
        padding: 1.4rem;
    }

    .site-footer__wordmark {
        left: 14px;
        top: 1.2rem;
        font-size: clamp(4.2rem, 18vw, 6.5rem);
    }

    .cookie-consent {
        right: 14px;
        bottom: 14px;
        left: 14px;
    }

    .cookie-consent__inner {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1.15rem 1rem;
    }

    .cookie-consent__actions {
        justify-content: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }

    .cookie-consent__actions .button {
        width: 100%;
    }
}
