@media (max-width: 1100px) {

    .product-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .review-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 900px) {

    .nav-links {
        display: none;
    }

    .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero {
        padding-top: 70px;
    }

    .feature-grid {
        grid-template-columns: 1fr;
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .two-column {
        grid-template-columns: 1fr;
    }

    .contact-grid {
        grid-template-columns: 1fr;
    }

    .review-grid {
        grid-template-columns: 1fr 1fr;
    }

}

@media (max-width: 650px) {

    .container {
        width: min(94%, 1180px);
    }

    .nav {
        min-height: 68px;
    }

    .nav-button {
        padding: 9px 13px;
        font-size: 11px;
    }

    .hero {
        padding: 65px 0;
    }

    .hero h1 {
        font-size: 47px;
        letter-spacing: -2.5px;
    }

    .page-hero h1 {
        font-size: 45px;
        letter-spacing: -2px;
    }

    .hero-visual {
        min-height: 340px;
    }

    .section {
        padding: 55px 0 65px;
    }

    .section-heading h2 {
        font-size: 30px;
    }

    .product-grid {
        grid-template-columns: 1fr;
    }

    .review-grid {
        grid-template-columns: 1fr;
    }

    .actions {
        flex-direction: column;
    }

    .button {
        width: 100%;
    }

    .footer-inner {
        flex-direction: column;
        align-items: flex-start;
    }

}

@media (max-width: 420px) {

    .hero h1 {
        font-size: 40px;
    }

    .page-hero h1 {
        font-size: 39px;
    }

    .hero-console {
        padding: 20px;
    }

    .hero-console h3 {
        font-size: 24px;
    }

    .panel {
        padding: 22px;
    }

}