@media (min-width: 768px) and (max-width: 1024px) {
    :root {
        --section-padding-y: 6.5rem;
        --section-padding-x: 5%;
    }

    .navbar {
        width: min(calc(100% - 1.5rem), 100%);
        grid-template-columns: auto 1fr auto;
        padding-inline: 1rem;
    }

    .navbar.navbar-scrolled,
    .navbar.scrolled {
        width: min(calc(100% - 2rem), 100%);
        opacity: 0.88;
    }

    .nav-cta {
        display: none;
    }

    .hero-container {
        grid-template-columns: 1fr;
        gap: 2.75rem;
    }

    .hero-left {
        max-width: 44rem;
    }

    .hero-left h1 {
        font-size: clamp(3rem, 8vw, 4.8rem);
    }

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

    .hero-right {
        min-height: 24rem;
        padding-bottom: 1.5rem;
    }

    .hero-visual {
        position: relative;
        right: auto;
        bottom: auto;
        width: min(25rem, 80vw);
        margin: 0 auto;
    }

    .hero-visual-shell {
        inset: 10% 10% 10%;
        width: auto;
    }

    .hero-visual-badge-top {
        top: 1rem;
        left: 0.75rem;
    }

    .hero-visual-badge-bottom {
        right: 0.75rem;
        bottom: 0.5rem;
    }

    .hero-bg-video {
        opacity: 0.12;
    }

    .hero-grid-overlay {
        background-size: 56px 56px;
    }

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

    .project-card.large,
    .project-card.small,
    .project-card.tall {
        min-height: 18.5rem;
    }

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

    .contact-panel {
        display: grid;
        gap: 2rem;
    }

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

    .contact-card.disabled {
        grid-column: 1 / -1;
    }

    .site-footer-inner {
        flex-wrap: wrap;
    }
}
