@media (max-width: 1100px) {
    .card-grid.five {
        grid-template-columns: repeat(3, 1fr);
    }

    .feature-grid.four,
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1024px) {
    .fortigate-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    .hero-grid,
    .about-grid,
    .contact-grid,
    .product-page .content-grid.two-col-text {
        grid-template-columns: 1fr;
    }

    .card-grid.three,
    .product-list-grid {
        grid-template-columns: 1fr;
    }

    .page-hero.small h1,
    .product-page .page-hero h1 {
        font-size: 36px;
    }

    .section-heading h2,
    .product-page .section-heading h2,
    .fortigate-cta-content h2 {
        font-size: 30px;
    }

    .cta-band-inner,
    .fortigate-cta-box {
        flex-direction: column;
        align-items: flex-start;
    }

    .cta-btn,
    .fortigate-cta-action {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .container {
        width: min(100% - 24px, 1200px);
    }

    .topbar-inner,
    .header-inner {
        flex-wrap: wrap;
    }

    .main-nav {
        display: none;
        width: 100%;
    }

    .main-nav ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        padding: 12px 0 4px;
    }

    .menu-toggle {
        display: block;
        margin-left: auto;
    }

    .hero,
    .section,
    .page-hero {
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .page-hero {
        padding-bottom: 40px;
    }

    .hero-content h1,
    .page-hero h1 {
        font-size: 34px;
    }

    .hero-content p,
    .page-hero p,
    .section-heading p,
    .product-page .page-hero p,
    .product-page .section-heading p,
    .product-page .content-card p,
    .product-page .feature-box p,
    .product-page .info-note {
        font-size: 15px;
        line-height: 1.75;
    }

    .section-heading h2,
    .product-page .section-heading h2,
    .fortigate-cta-content h2 {
        font-size: 27px;
    }

    .service-card,
    .feature-box,
    .about-box,
    .contact-box,
    .contact-form-box,
    .stat-box,
    .content-card,
    .fortigate-card-inner {
        padding: 22px;
    }

    .hero-flex {
        flex-direction: column;
        text-align: center;
    }

    .hero-product-img {
        max-width: 220px;
        margin-top: 20px;
    }

    .hero-actions {
        justify-content: center;
    }

    .hero-specs {
        justify-content: center;
    }

    .product-page .product-table th,
    .product-page .product-table td,
    .compare-table th,
    .compare-table td,
    .spec-table th,
    .spec-table td,
    .data-table th,
    .data-table td {
        font-size: 14px;
        padding: 12px 14px;
    }

    .card-grid.two,
    .card-grid.three,
    .card-grid.five,
    .feature-grid.three,
    .feature-grid.four,
    .stats-grid,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .download-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .download-actions .btn {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .fortigate-card-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 992px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (max-width: 576px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        padding: 16px 0 20px;
    }

    .footer-copy,
    .footer-disclaimer {
        font-size: 13px;
    }
}