/* =============================================================================
   NOAMER — Responsive
   Desktop-first, points de rupture : 1200 / 992 / 768 / 560
   Le mobile n'est pas une réduction : navigation, cartes, timelines
   et hero sont repensés pour le tactile.
   ========================================================================== */

/* ---------- ≤ 1200px : grands écrans / laptops ---------- */
@media (max-width: 1200px) {
    :root { --header-h: 84px; }

    .stats__grid,
    .feature-grid { grid-template-columns: repeat(2, 1fr); }
    .stat { border-left: 0; }

    .founder-hero { grid-template-columns: 280px 1fr; }
}

/* ---------- ≤ 992px : tablette ---------- */
@media (max-width: 992px) {
    .site-nav { display: none; }
    .site-header__cta { display: none; }
    .menu-toggle { display: flex; }

    .fs-menu__inner { grid-template-columns: 1fr; align-content: start; padding-top: calc(var(--header-h) + 2rem); overflow-y: auto; gap: 2.4rem; }
    .fs-menu__col--aside { border-top: 1px solid rgba(255,255,255,.12); padding-top: 1.8rem; }

    .editorial,
    .contact-layout,
    .split-media,
    .founder-hero,
    .project-detail__layout { grid-template-columns: 1fr; }
    .editorial--reverse .editorial__media { order: 0; }
    .editorial__media img { aspect-ratio: 16 / 10; }
    .founder-hero__portrait { max-width: 360px; }

    .domain-cards,
    .project-grid,
    .library-grid,
    .grid--3 { grid-template-columns: repeat(2, 1fr); }

    .partners-grid { grid-template-columns: repeat(3, 1fr); }

    .facts-card { position: static; }

    /* Timeline horizontale -> défilement tactile */
    .process__track { grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1rem; -webkit-overflow-scrolling: touch; }
    .process__step { scroll-snap-align: start; }
}

/* ---------- ≤ 768px : mobile large ---------- */
@media (max-width: 768px) {
    :root { --section-y: 3.75rem; }

    .hero { min-height: 92svh; align-items: center; padding-top: calc(var(--header-h) + 2rem); }
    .hero__title { font-size: clamp(2.4rem, 11vw, 3.4rem); }
    .hero__actions { flex-direction: column; align-items: stretch; }
    .hero__actions .btn { justify-content: center; }
    .hero__scroll { display: none; }

    .domain-cards,
    .project-grid,
    .library-grid,
    .feature-grid,
    .grid--2,
    .grid--3,
    .grid--4,
    .stats__grid { grid-template-columns: 1fr; }

    .domain-card { min-height: 380px; }

    .form-row { grid-template-columns: 1fr; gap: 0; }

    .partners-grid { grid-template-columns: repeat(2, 1fr); }
    .partners-grid__cell { min-height: 120px; padding: 1.6rem 1rem; }

    /* Timeline projet : passe en verticale */
    .process__track { display: block; }
    .process__line { display: none; }
    .process__step { padding: 0 0 2rem 2.4rem; border-left: 2px solid var(--line); }
    .process__dot { left: -11px; top: 4px; }
    .process__step:last-child { border-color: transparent; }
    .section--navy .process__step { border-color: rgba(255,255,255,.15); }

    .fs-menu__link { font-size: clamp(1.6rem, 8vw, 2.4rem); }
    .fs-menu__sublist { margin-left: 2.6rem; }

    .marquee__track { gap: 2.5rem; }

    .breadcrumb { font-size: .76rem; }
}

/* ---------- ≤ 560px : petit mobile ---------- */
@media (max-width: 560px) {
    :root { --gutter: 1.15rem; }

    .btn { width: 100%; justify-content: center; }
    .link-arrow { font-size: .84rem; }

    .site-header__logo { width: 122px; }

    .editorial__media img { aspect-ratio: 3 / 4; }

    .stat__value { font-size: clamp(2.6rem, 16vw, 3.4rem); }

    .form-card { padding: 1.4rem; }

    .cta-band__title,
    .section-title { font-size: clamp(1.6rem, 7vw, 2rem); }
}

/* ---------- Pied de page ---------- */
@media (max-width: 992px) {
    .site-footer__inner { grid-template-columns: 1fr; }
    .site-footer__nav { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
    .site-footer__nav { grid-template-columns: repeat(2, 1fr); }
    .site-footer__bottom { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) {
    .site-footer__nav { grid-template-columns: 1fr; }
    .footer-news { max-width: 100%; }
}

/* ---------- Écrans très larges ---------- */
@media (min-width: 1600px) {
    :root { --fs-hero: clamp(4rem, 6vw, 6.5rem); }
}

/* ---------- Orientation paysage mobile ---------- */
@media (max-height: 500px) and (orientation: landscape) {
    .hero { min-height: 100svh; }
    .fs-menu__inner { align-content: start; }
}

/* ---------- Impression ---------- */
@media print {
    .site-header, .fs-menu, .cursor, .scroll-progress, .preloader,
    .hero__scroll, .site-footer__lines, .marquee { display: none !important; }
    body { color: #000; }
    .section--navy, .page-hero { background: #fff !important; color: #000 !important; }
}
