/* =========================
   TABLET (max-width: 1023px)
   ========================= */

@media (max-width: 1023px) {

    :root {
        --font-size-h1: 3rem;
        --font-size-h2: 2.2rem;
    }

    /* HEADER */
    .nav-list {
        gap: var(--space-md);
    }

    .nav {
        gap: var(--space-md);
    }

    /* HERO */
    .hero-inner {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }

    .hero-media {
        justify-content: center;
    }

    /* REASSURANCE */
    .reassurance-inner {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-lg) 0;
    }

    .reassurance-item:nth-child(3) {
        border-left: none;
    }

    /* GRILLES */
    .problem-solution-grid,
    .secteurs-grid,
    .services-grid,
    .approach-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* FOOTER */
    .footer-inner {
        grid-template-columns: 1fr 1fr;
    }

}


/* =========================
   MOBILE (max-width: 767px)
   ========================= */

@media (max-width: 767px) {

    :root {
        --font-size-h1: 2.3rem;
        --font-size-h2: 1.8rem;
        --font-size-h3: 1.2rem;
    }

    .container {
        width: min(100% - 32px, var(--container));
    }

    section {
        padding: var(--space-2gxl) 0;
    }

    .header-inner {
        min-height: 70px;
    }

    .nav {
        display: none;
    }

    /* HERO */
    .hero {
        min-height: auto;
        padding: 60px 0;
    }

    .hero h1 {
        line-height: 1.1;
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .hero-badges {
        flex-direction: column;
        align-items: flex-start;
    }

    .hero-badges span {
        width: 100%;
    }

    .hero-carousel {
        max-width: 100%;
    }

    /* REASSURANCE */
    .reassurance-inner {
        grid-template-columns: 1fr;
        gap: var(--space-md) 0;
    }

    .reassurance-item {
        padding: var(--space-sm) 0;
    }

    .reassurance-item + .reassurance-item {
        border-left: none;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    /* GRILLES */
    .problem-solution-grid,
    .services-grid,
    .secteurs-grid,
    .approach-grid {
        grid-template-columns: 1fr;
    }

    .service-card {
        padding: 24px;
    }

    /* FOOTER */
    .footer-inner {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }

}