/* =========================================================================
   HABILLAGE DES PAGES SOLUTIONS EXISTANTES (Conformité IA Act, Cybersécurité,
   Formation IA) : le contenu ne bouge pas, le visuel rejoint celui des pages
   Expertise, Logiciel et Interface web. Chargé en dernier dans le <head>, il
   passe devant le style inline de chaque page (préfixe body pour la priorité).
   ========================================================================= */
@font-face {
  font-family: "Schibsted Grotesk"; font-style: normal; font-weight: 500 700; font-display: swap;
  src: url("/fonts/schibsted-grotesk-latin-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
  --hs-ink: #0c1e44;
  --hs-ink-2: #3d4a63;
  --hs-ink-3: #5d6880;
  --hs-rule: #d7dce6;
  --hs-paper-2: #f4f6fa;
  --hs-navy: #0c1e44;
  --hs-navy-text: #c6d3ea;
  --hs-blue: var(--brand, #0066ff);
  --hs-blue-ink: #0052cc;
  --hs-blue-wash: #eef4ff;
  --hs-display: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
}

/* Titres : la grotesque des nouvelles pages, en marine */
body main h1, body main h2, body main h3,
body .fp-h2, body .fp-big, body .fp-h, body .fp-why__head h3 {
  font-family: var(--hs-display);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--hs-ink);
}
body main h1 { font-size: clamp(2.125rem, 1.4rem + 2.2vw, 3.25rem); line-height: 1.08; letter-spacing: -0.03em; }
body .fp-h2 { font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem); line-height: 1.12; }
body .fp-sec--dark h1, body .fp-sec--dark h2, body .fp-sec--dark h3,
body .fp-sec--dark .fp-h2, body .fp-sec--dark .fp-big, body .fp-final h2 { color: #fff; }

/* Étiquettes de section : un repère discret, plus de capitales espacées */
body .fp-eyebrow {
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--hs-blue-ink);
  gap: 0;
}
body .fp-eyebrow::before { content: none; }
body .fp-sec--dark .fp-eyebrow { color: #7ab0ff; }

/* Le surlignage rose devient une simple mise en couleur */
body .fp-mark { background: none; color: var(--hs-blue-ink); padding: 0; }
body .fp-sec--dark .fp-mark { color: #7ab0ff; }

/* Fonds : aplats nets, sans dégradé */
body .fp-hero { background: #fff; }
body .fp-hero::before, body .fp-hero::after { content: none; }
body .fp-sec--alt { background: var(--hs-paper-2); }
body .fp-sec--dark, body .fp-final { background: var(--hs-navy); }
body .fp-sec--dark .fp-body p, body .fp-sec--dark .fp-lead, body .fp-sec--dark p { color: var(--hs-navy-text); }
body .fp-mesh { display: none; }

/* Texte courant */
body .fp-lead { color: var(--hs-ink-2); }

/* Icônes : une seule teinte, celle de la marque */
body .fp-ic, body .fp-ic--coral, body .fp-ic--emerald, body .fp-ic--violet,
body .fp-row__ic, body .fp-ctx__ic {
  background: var(--hs-blue-wash);
  color: var(--hs-blue);
  border-radius: 6px;
}

/* Cartes et lignes : filet fin, angles sobres, ombre seulement au survol */
body .fp-card, body .fp-row, body .fp-cert__card, body .fp-encadre, body .fp-chat, body .fp-tarifs, body .fp-compare {
  border: 1px solid var(--hs-rule);
  border-radius: 6px;
  box-shadow: none;
}
body .fp-card:hover, body .fp-row:hover { border-color: #b9c6dc; box-shadow: 0 16px 32px -24px rgba(12, 30, 68, 0.35); transform: none; }
body .fp-row__tag, body .fp-tag {
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--hs-blue-ink);
}
body .fp-chat::before { background: var(--hs-blue); }

/* Boutons : les mêmes que sur les nouvelles pages */
body main .btn { border-radius: 4px; font-weight: 600; }
body main .btn--primary { box-shadow: 0 1px 2px rgba(12, 30, 68, 0.18); }
body main .btn--primary:hover { box-shadow: 0 8px 20px -8px rgba(0, 82, 204, 0.6); }
body main .btn--outline { border: 1px solid var(--hs-rule); border-radius: 4px; }
body main .btn--outline:hover { border-color: var(--hs-ink); }

/* Numéros d'étapes et de raisons */
body .fp-why__n, body .fp-steps .fp-num, body .fp-num li::before { font-family: var(--hs-display); }

/* Le titre de héros : le style inline de la page (.fp-hero h1) bat body main h1 */
body .fp-hero h1 { font-family: var(--hs-display); font-weight: 600; letter-spacing: -0.03em; }

/* Fil d'Ariane aligné sur le contenu, comme sur les nouvelles pages */
body .fp-hero .crumbs { max-width: none; margin: 0 0 1.75rem; padding-top: 0; }
body .crumbs a { font-weight: 500; }
