@media (max-width: 1060px) {
    .site-header {
        grid-template-columns: auto auto;
        justify-content: space-between;
    }

    .main-nav {
        position: fixed;
        top: 76px;
        left: 20px;
        right: 20px;
        display: none;
        padding: 18px;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        background: rgba(5, 7, 13, 0.96);
        box-shadow: var(--shadow);
    }

    .main-nav.is-open {
        display: grid;
        justify-content: stretch;
        gap: 4px;
    }

    .main-nav.is-open .main-nav-list {
        display: grid;
        gap: 4px;
    }

    .main-nav a {
        padding: 12px;
    }

    .live-now-link {
        min-height: 40px;
        padding: 9px 12px;
        font-size: 0.72rem;
    }

    .menu-toggle {
        display: block;
    }

    .split-grid,
    .reverse,
    .lyrics-grid,
    .contact-grid,
    .full-service-grid,
    .seo-hero-grid,
    .seo-cards,
    .difference-grid,
    .event-showcase-grid,
    .partner-logo-grid,
    .mid-cta-grid {
        grid-template-columns: 1fr;
    }

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

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

    .dates-grid,
    .testimonials-grid {
        grid-template-columns: 1fr;
    }

    .klb-date-subscribe {
        grid-template-columns: 1fr;
    }

    .klb-consent {
        grid-column: auto;
    }

    .date-card {
        grid-template-columns: 70px minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    :root {
        --container: min(100vw - 28px, 1120px);
    }

    body {
        background-attachment: scroll;
    }

    .site-header {
        min-height: 70px;
        padding-inline: 14px;
    }

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

    .main-nav {
        top: 70px;
        left: 14px;
        right: 14px;
    }

    .btn-compact {
        min-width: 72px;
        padding-inline: 12px;
        font-size: 0;
    }

    .btn-compact::after {
        content: "Devis";
        font-size: 0.82rem;
    }

    .hero {
        min-height: 94svh;
        background:
            linear-gradient(180deg, rgba(5, 7, 13, 0.56), rgba(5, 7, 13, 0.94) 74%, var(--black)),
            linear-gradient(90deg, rgba(5, 7, 13, 0.58), rgba(5, 7, 13, 0.3)),
            url("../img/photos/514589096_1232051902266183_5899058541186376431_n.webp") 58% center / cover scroll;
    }

    .hero-overlay {
        background: linear-gradient(180deg, transparent 0%, rgba(5, 7, 13, 0.3) 58%, var(--black) 100%);
    }

    .hero-video {
        display: none;
    }

    .hero-media img {
        object-position: 58% center;
    }

    .hero-content {
        padding-top: 120px;
        padding-bottom: 54px;
        align-self: end;
    }

    .hero-photo-stack,
    .scroll-cue {
        display: none;
    }

    h1 {
        font-size: clamp(3.35rem, 16vw, 5.6rem);
    }

    h2 {
        font-size: clamp(2.55rem, 12vw, 4rem);
    }

    .hero-actions,
    .center-action,
    .with-action {
        align-items: stretch;
        flex-direction: column;
    }

    .hero-actions .btn,
    .center-action .btn,
    .with-action .btn,
    .quote-form .btn {
        width: 100%;
    }

    .section {
        padding: 70px 0;
    }

    .proof-grid div {
        min-height: 98px;
        padding: 18px 14px;
    }

    .difference-grid article {
        min-height: 210px;
    }

    .photo-flow {
        padding: 18px 0;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .photo-flow::before,
    .photo-flow::after {
        display: none;
    }

    .photo-flow-track {
        width: max-content;
        padding-inline: 14px;
        animation: none !important;
        transform: none !important;
    }

    .photo-flow figure {
        width: min(74vw, 300px);
        scroll-snap-align: center;
    }

    .klb-home .section::before {
        background-attachment: scroll;
        opacity: 0.18;
    }

    .scene-strip {
        min-height: 28vh;
        background-attachment: scroll;
    }

    .scene-strip-compact {
        min-height: 24vh;
    }

    .scene-strip-track {
        width: auto;
        max-width: var(--container);
        margin-inline: auto;
        padding-inline: 14px;
        justify-content: center;
        flex-wrap: wrap;
        white-space: normal;
        text-align: center;
        font-size: clamp(2.25rem, 11vw, 4.2rem);
        animation: none !important;
        transform: none !important;
    }

    .scene-strip-track span:nth-child(n+4) {
        display: none;
    }

    .scene-strip-track span:nth-child(3)::after {
        content: "";
        margin-inline: 0;
    }

    .mid-cta-section {
        background-attachment: scroll;
    }

    .mid-cta-grid {
        align-items: stretch;
    }

    .mid-cta-grid .btn {
        width: 100%;
    }

    .scene-strip-compact .scene-strip-track {
        font-size: clamp(2rem, 10vw, 3.8rem);
        animation: none !important;
        transform: none !important;
    }

    .klb-page-hero {
        padding: 120px 0 46px;
        background:
            linear-gradient(180deg, rgba(5, 7, 13, 0.72), rgba(5, 7, 13, 0.94)),
            url("../img/photos/481974507_1137147225089985_7230154511315540136_n.webp") center / cover;
    }

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

    .check-grid,
    .steps-grid,
    .form-row,
    .footer-inner {
        grid-template-columns: 1fr;
    }

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

    .steps-grid::before {
        display: none;
    }

    .bento-grid {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 136px;
        gap: 10px;
    }

    .gallery-feature {
        grid-column: 1 / -1;
        grid-row: span 2;
    }

    .gallery-item:nth-child(3),
    .gallery-item:nth-child(5) {
        grid-column: auto;
        grid-row: auto;
    }

    .event-tags {
        justify-content: flex-start;
    }

    .event-showcase-grid article {
        min-height: 220px;
    }

    .date-card {
        padding: 18px;
        gap: 14px;
    }

    .full-service-panel {
        grid-template-columns: 1fr;
    }

    .stat-card,
    .stat-card-wide {
        min-height: 150px;
    }

    .quote-form {
        padding: 20px;
    }

    .contact-trust-grid div {
        padding: 14px;
    }

    .seo-hero {
        min-height: 88svh;
        padding: 118px 0 62px;
        background-attachment: scroll;
    }
}

@media (max-width: 430px) {
    .header-actions {
        gap: 8px;
    }

    .live-now-link {
        padding-inline: 10px;
    }

    .live-now-link span {
        width: 8px;
        height: 8px;
    }

    .badge-list li,
    .event-tags span {
        font-size: 0.78rem;
    }

    .photo-flow-track,
    .scene-strip-track,
    .scene-strip-compact .scene-strip-track {
        animation: none !important;
        transform: none !important;
    }

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

    .gallery-feature {
        grid-row: span 1;
    }

    .gallery-item {
        min-height: 210px;
    }

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

    .date-card > a,
    .date-card-actions {
        grid-column: auto;
    }

    .date-card-actions {
        grid-column: 1 / -1;
        justify-items: start;
    }

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