/* Mobile overrides for the Claude Design export. Inline styles need !important. */
@media (max-width: 768px) {
  /* header */
  .ivl-hdr-menu { top: 20px !important; left: 20px !important; }
  .ivl-hdr-name { top: 22px !important; font-size: .72rem !important; letter-spacing: .12em !important; }
  .ivl-hdr-lang { top: 20px !important; right: 20px !important; gap: 10px !important; font-size: .75rem !important; }

  /* hero */
  .ivl-slogan { left: 24px !important; right: 24px !important; transform: translateY(-50%) !important; max-width: none !important; }
  .ivl-slogan-row2 { margin-left: 0 !important; align-self: flex-end !important; gap: 8px !important; }
  .ivl-slogan-mid { font-size: min(1.5rem, 5vw) !important; }  /* FR 'construite comme un' must fit next to SYSTÈME */
  .ivl-hero-intro { left: 24px !important; right: 24px !important; bottom: 28px !important; max-width: none !important;
                    flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
  .ivl-hero-avatar { width: 64px !important; height: 64px !important; }
  .ivl-bubble-arrow { display: none !important; }

  /* full-screen menu */
  .ivl-menu-close { top: 20px !important; right: 20px !important; }
  .ivl-menu-links { gap: 18px !important; }
  .ivl-menu-links a { font-size: 1.75rem !important; }

  /* spacing */
  .ivl-padx { padding-left: 20px !important; padding-right: 20px !important; }
  .ivl-secy { padding-top: 56px !important; padding-bottom: 64px !important; }
  .ivl-foot { padding-top: 56px !important; padding-bottom: 32px !important; }
  .ivl-sec-title { margin-bottom: 36px !important; }

  /* grids */
  .ivl-grid-1col { grid-template-columns: 1fr !important; gap: 20px !important; }
  .ivl-case-cols { margin-bottom: 56px !important; gap: 28px !important; }
  .ivl-grid-results { grid-template-columns: 1fr 1fr !important; gap: 24px !important; margin-bottom: 48px !important; }
  .ivl-approach-grid { gap: 40px !important; }
  .ivl-foot-grid { gap: 32px !important; padding-bottom: 48px !important; }

  /* featured case card */
  .ivl-feat { margin-top: 32px !important; margin-bottom: 64px !important; border-radius: 1.5rem !important; }
  .ivl-feat-img { display: none !important; }
  .ivl-feat-body { padding: 28px 24px !important; width: 100% !important; }

  /* approach */
  .ivl-sticky { position: static !important; }
  .ivl-doodle { display: none !important; }

  /* contact + footer */
  .ivl-cta-row2 { margin-left: 16px !important; }
  .ivl-foot-mail { font-size: 1.6rem !important; }

  /* case page header */
  .ivl-case-hdr { padding: 12px 16px !important; gap: 10px !important; }
  .ivl-case-lang { gap: 8px !important; letter-spacing: .08em !important; }
}
@media (max-width: 400px) {
  .ivl-grid-results { grid-template-columns: 1fr !important; }
  .ivl-foot-mail { font-size: 1.35rem !important; }
}
@media (max-width: 560px) {
  /* MENU + language switch leave no room for the centred name */
  .ivl-hdr-name { display: none !important; }
  .ivl-case-logos { display: none !important; }
}
