/* ========================================================================
   NS STUDIO — CLEAN UI / PHASE 1 / V1
   Fichier dédié uniquement à l'accueil public et à l'onboarding.
   Aucune modification JS, PHP métier, BDD, calculs, PDF ou bulletin.
   But: contraste, lisibilité, sobriété, identité NS bleu foncé.
   ======================================================================== */

:root {
  --nsc-blue: #1761eb;
  --nsc-blue-hover: #0d4bc3;
  --nsc-ink: #182b43;
  --nsc-muted: #50627a;
  --nsc-line: #dce4ec;
  --nsc-bg: #f7f9fc;
  --nsc-soft: #f0f5fb;
  --nsc-focus: 0 0 0 3px rgba(23,97,235,.18);
}
/* Focus clavier visible (important pour la confiance et l'accessibilité). */
.home-page :is(a, button, input, select, textarea):focus-visible,
body.ns-app .nsl-onboarding :is(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--nsc-blue) !important;
  outline-offset: 3px;
}

/* 01 — ACCUEIL PUBLIC : minimaliste, sans verre flou. */
body.home-page {background:#fff !important;color:var(--nsc-ink);font-size:15px;line-height:1.65}
.home-page .home-header {
  background:#fff !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-bottom:1px solid var(--nsc-line) !important;
  box-shadow:none !important;
}
.home-page .home-brand>span,
.home-page .footer-brand>span {
  background:#1761eb !important;
  box-shadow:none !important;
  border-radius:10px !important;
}
.home-page .home-brand strong {color:#172b43;font-size:15px !important}
.home-page .home-brand small {color:#52667d !important;font-size:9px !important;letter-spacing:.2px !important}
.home-page .home-simple-nav {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
}
.home-page .home-simple-nav>a {
  color:#394d63 !important;
  background:transparent !important;
  border-radius:8px !important;
  font-size:12px !important;
  font-weight:600 !important;
  padding:11px 10px !important;
}
.home-page .home-simple-nav>a:hover {background:#f1f5fa !important;color:var(--nsc-blue) !important}
.home-page .home-simple-nav .home-nav-verify {background:transparent !important;color:var(--nsc-blue) !important}
.home-page .home-simple-nav .home-nav-register {
  background:var(--nsc-blue) !important;
  color:white !important;
  border-radius:9px !important;
  box-shadow:none !important;
  padding:11px 16px !important;
}
.home-page .home-simple-nav .home-nav-register:hover {background:var(--nsc-blue-hover) !important;color:white !important;transform:none !important}
.home-page .home-hero {
  background:#fff !important;
  border-color:#e8edf3 !important;
}
.home-page .home-hero::before {display:none !important}
.home-page .home-hero-grid {padding-block:72px 58px !important;gap:38px !important}
.home-page .home-hero-copy h1 {
  max-width:950px !important;
  color:#152c44 !important;
  font-size:clamp(38px,5.3vw,67px) !important;
  line-height:1.14 !important;
  letter-spacing:-1.65px !important;
  font-weight:700 !important;
}
.home-page .home-hero-copy h1 em {
  color:var(--nsc-blue) !important;
  background:none !important;
  -webkit-text-fill-color:var(--nsc-blue) !important;
  font-style:normal !important;
}
.home-page .home-hero-copy>p {
  color:var(--nsc-muted) !important;
  font-size:clamp(15px,1.5vw,18px) !important;
  line-height:1.8 !important;
}
.home-page .home-announcement {
  background:#eef5fc !important;
  color:#1761eb !important;
  border:1px solid #d8e7f7 !important;
  border-radius:7px !important;
  box-shadow:none !important;
  font-size:11px !important;
  line-height:1.35;
  letter-spacing:.2px !important;
}
.home-page .home-primary,
.home-page .home-secondary,
.home-page .home-nav-register {
  transition:background-color .15s ease,border-color .15s ease !important;
  transform:none !important;
  box-shadow:none !important;
}
.home-page .home-primary,
.home-page .home-secondary {
  min-height:49px !important;
  border-radius:9px !important;
  font-size:13px !important;
  font-weight:650 !important;
}
.home-page .home-primary {background:var(--nsc-blue) !important;color:#fff !important}
.home-page .home-primary:hover {background:var(--nsc-blue-hover) !important}
.home-page .home-secondary {background:#fff !important;border:1px solid #cdd9e5 !important;color:#304760 !important}
.home-page .home-secondary:hover {background:#f7f9fc !important}
.home-page .home-proof-pills>span {
  box-shadow:none !important;
  color:#44586d !important;
  font-size:12px !important;
}
.home-page .home-proof-pills>span b {color:var(--nsc-blue) !important}
.home-page .home-bulletin-hero-stage,
.home-page .bulletin-showcase-grid,
.home-page .mineduc-demo,
.home-page .certificate-creation-stage,
.home-page .home-verification-stage,
.home-page .award-story {
  border:1px solid #dce5ef !important;
  border-radius:14px !important;
  box-shadow:none !important;
}
.home-page .home-bulletin-hero-stage,
.home-page .certificate-creation-stage,
.home-page .home-verification-stage {
  background:#f4f7fb !important;
}
.home-page .home-section-head h2,
.home-page .bulletin-showcase-head h2,
.home-page .certificate-product-copy h2 {
  color:var(--nsc-ink) !important;
  letter-spacing:-.9px !important;
  line-height:1.2 !important;
}
.home-page .home-section-head p,
.home-page .bulletin-tab-panel>p,
.home-page .certificate-product-copy>p,
.home-page .connected-copy>p,
.home-page .audience-card>p,
.home-page .home-final-cta p {
  color:var(--nsc-muted) !important;
  font-size:15px !important;
  line-height:1.75 !important;
}
.home-page .certificate-product-section,
.home-page .bulletin-showcase,
.home-page .connected-section,
.home-page .audience-section,
.home-page .credits-section {background:#fff !important}
.home-page .certificate-flow article,
.home-page .home-solution,
.home-page .audience-card,
.home-page .solution-card-art {
  border-color:#dce4ec !important;
  box-shadow:none !important;
}
.home-page .certificate-flow strong,
.home-page .award-story-points span {font-size:14px !important}
.home-page .certificate-flow small,
.home-page .home-solution li,
.home-page .bulletin-tab-panel li {font-size:13px !important;line-height:1.65 !important}
.home-page .certificate-flow b {font-size:13px !important}
.home-page .certificate-product-copy>a,
.home-page .award-story-copy>a,
.home-page .bulletin-showcase-action {
  background:var(--nsc-blue) !important;
  color:#fff !important;
  border-radius:9px !important;
  box-shadow:none !important;
  transform:none !important;
}
.home-page .certificate-product-copy>a:hover,
.home-page .award-story-copy>a:hover {background:var(--nsc-blue-hover) !important;transform:none !important}
/* Supprime le flou de navigation/présentation sans modifier le scan fonctionnel. */
.home-page .award-proof,
.home-page .certificate-stage-head,
.home-page .certificate-editor-toolbar,
.home-page .home-header {backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
.home-page .certificate-stage-head {background:#fff !important}
.home-page .award-story:after {background:linear-gradient(90deg,#f8fbff 0%,#f8fbff 27%,rgba(248,251,255,.86) 48%,transparent 78%) !important}
.home-page .award-proof {background:#15395d !important;box-shadow:none !important}
.home-page .certificate-product-section {border-block:1px solid #e5ebf2}

/* 02 — ONBOARDING : parcours clair, 3 étapes et formulaires lisibles. */
body.ns-app .nsl-onboarding {color:var(--nsc-ink);max-width:1060px}
body.ns-app .nsl-onboarding .onboarding-head {padding:18px 0 29px}
body.ns-app .nsl-onboarding .onboarding-head h1 {
  color:#142c44;
  font-size:clamp(27px,3.6vw,40px) !important;
  line-height:1.25;
  letter-spacing:-.7px;
  font-weight:700;
}
body.ns-app .nsl-onboarding .onboarding-head p {
  color:var(--nsc-muted) !important;
  font-size:15px !important;
  line-height:1.65;
}
body.ns-app .nsl-onboarding .eyebrow {letter-spacing:.55px !important;font-size:11px !important;color:var(--nsc-blue)}
body.ns-app .nsl-onboarding .stepper {max-width:640px;gap:11px}
body.ns-app .nsl-onboarding .stepper span {font-size:12px !important;color:#617188 !important;font-weight:600}
body.ns-app .nsl-onboarding .stepper span.active {color:var(--nsc-blue) !important}
body.ns-app .nsl-onboarding .stepper span i {
  width:31px;height:31px;border-radius:50%;font-size:12px;
  background:#edf1f6;color:#4a6178;
}
body.ns-app .nsl-onboarding .stepper span.active i {background:var(--nsc-blue);color:#fff}
body.ns-app .nsl-onboarding .stepper b {background:#d9e3ec}
body.ns-app .nsl-onboarding .onboarding-card {
  background:#fff;
  border:1px solid var(--nsc-line) !important;
  border-radius:14px !important;
  box-shadow:0 4px 18px rgba(18,43,70,.045) !important;
}
body.ns-app .nsl-onboarding .wizard-step {padding:32px !important}
body.ns-app .nsl-onboarding .section-title {align-items:flex-start}
body.ns-app .nsl-onboarding .section-title>span {
  width:42px;height:42px;border-radius:9px;
  background:#edf4fc;color:var(--nsc-blue);font-size:14px;
}
body.ns-app .nsl-onboarding .section-title h2 {
  color:var(--nsc-ink);font-size:20px !important;line-height:1.35;
}
body.ns-app .nsl-onboarding .section-title p {
  color:var(--nsc-muted) !important;font-size:13px !important;line-height:1.6;
}
body.ns-app .nsl-onboarding label {color:#283e55;font-size:13px !important;font-weight:600}
body.ns-app .nsl-onboarding label small {color:#54677b;font-size:12px !important;font-weight:400}
body.ns-app .nsl-onboarding :is(input:not([type=radio]):not([type=file]),select,textarea) {
  min-height:46px;background:#fff;color:#1a3148;
  border:1px solid #c8d5e2 !important;border-radius:8px !important;
  font-size:14px !important;line-height:1.5;
}
body.ns-app .nsl-onboarding :is(input,select,textarea)::placeholder {color:#6b798a;opacity:1}
body.ns-app .nsl-onboarding .nsl-account-types {gap:12px}
body.ns-app .nsl-onboarding .account-type {
  border:1px solid #d4dfeb !important;
  background:#fff !important;border-radius:10px !important;
  padding:17px !important;box-shadow:none !important;
}
body.ns-app .nsl-onboarding .account-type strong {color:#243a50 !important;font-size:15px !important}
body.ns-app .nsl-onboarding .account-type small {display:block;color:#52667a !important;font-size:12px !important}
body.ns-app .nsl-onboarding .account-type.selected,
body.ns-app .nsl-onboarding .account-type:has(input:checked) {
  background:#f2f7fd !important;border-color:var(--nsc-blue) !important;
  box-shadow:0 0 0 1px var(--nsc-blue) !important;
}
body.ns-app .nsl-onboarding .logo-uploader {border-radius:10px}
body.ns-app .nsl-onboarding .logo-preview {border-radius:10px;box-shadow:none}
body.ns-app .nsl-onboarding .onboarding-space-grid {gap:12px}
body.ns-app .nsl-onboarding .onboarding-space-card {
  min-height:202px;background:#fff;
  border:1px solid #d1deea !important;border-radius:11px !important;
  box-shadow:none !important;transform:none !important;
  padding:20px !important;
}
body.ns-app .nsl-onboarding .onboarding-space-card.selected,
body.ns-app .nsl-onboarding .onboarding-space-card:has(input:checked) {
  border:2px solid var(--nsc-blue) !important;background:#f4f8fd !important;
  padding:19px !important;
}
body.ns-app .nsl-onboarding .onboarding-space-card>span {
  border-radius:9px;background:#ebf3fc !important;color:var(--nsc-blue) !important;
}
body.ns-app .nsl-onboarding .onboarding-space-card small {font-size:11px !important;color:#345574 !important;letter-spacing:.15px}
body.ns-app .nsl-onboarding .onboarding-space-card strong {font-size:16px !important;color:#203a53 !important;line-height:1.4}
body.ns-app .nsl-onboarding .onboarding-space-card p {font-size:13px !important;color:#50647a !important;line-height:1.6}
body.ns-app .nsl-onboarding .onboarding-space-options,
body.ns-app .nsl-onboarding .onboarding-default-space {
  background:#f8fafc !important;border:1px solid #d8e3ed !important;
  border-radius:9px !important;padding:18px !important;
}
body.ns-app .nsl-onboarding .onboarding-default-space>p,
body.ns-app .nsl-onboarding .nsl-start-note p {font-size:13px !important;color:#50647a !important;line-height:1.65}
body.ns-app .nsl-onboarding .wizard-step[data-step="3"]>p {font-size:14px !important;color:#53657b !important;line-height:1.6}
body.ns-app .nsl-onboarding .wizard-actions {
  background:#fff;border-top:1px solid var(--nsc-line);
  padding:19px 30px !important;
}
body.ns-app .nsl-onboarding .primary-button,
body.ns-app .nsl-onboarding .secondary-button {
  border-radius:8px !important;min-height:47px;font-size:14px !important;
  font-weight:650;box-shadow:none !important;transform:none !important;
}
body.ns-app .nsl-onboarding .primary-button {background:var(--nsc-blue);color:#fff}
body.ns-app .nsl-onboarding .primary-button:hover {background:var(--nsc-blue-hover)}
body.ns-app .nsl-onboarding .secondary-button {background:#fff;border:1px solid #c8d5e2}
body.ns-app .nsl-onboarding .secondary-button:hover {background:#f5f8fc}
body.ns-app .nsl-onboarding .completion-mark {border-radius:50%}

/* Mobile: espaces tactiles confortables, navigation sans débordement. */
@media(max-width:1000px) {
  .home-page .home-simple-nav {background:#fff !important;border:1px solid var(--nsc-line) !important;padding:12px !important;border-radius:10px !important}
  .home-page .home-simple-nav>a {font-size:13px !important;min-height:43px}
  body.ns-app .nsl-onboarding .onboarding-space-grid {grid-template-columns:1fr !important}
  body.ns-app .nsl-onboarding .onboarding-space-card {min-height:0}
}
@media(max-width:680px) {
  .home-page .home-header {height:70px}
  .home-page .home-hero-grid {padding-block:48px 37px !important;gap:26px !important}
  .home-page .home-hero-copy h1 {font-size:clamp(34px,9.5vw,43px) !important;letter-spacing:-.7px !important}
  .home-page .home-announcement {font-size:10px !important}
  .home-page .home-hero-copy>p {font-size:15px !important;line-height:1.7 !important}
  .home-page .home-primary,.home-page .home-secondary {width:100%;font-size:13px !important}
  .home-page .home-bulletin-hero-stage {border-radius:12px !important}
  body.ns-app .nsl-onboarding .onboarding-head {padding:6px 0 23px}
  body.ns-app .nsl-onboarding .onboarding-head h1 {font-size:28px !important}
  body.ns-app .nsl-onboarding .onboarding-head p {font-size:14px !important}
  body.ns-app .nsl-onboarding .stepper {gap:6px}
  body.ns-app .nsl-onboarding .stepper span {font-size:0 !important}
  body.ns-app .nsl-onboarding .stepper span i {font-size:12px !important}
  body.ns-app .nsl-onboarding .wizard-step {padding:20px 16px !important}
  body.ns-app .nsl-onboarding .section-title h2 {font-size:18px !important}
  body.ns-app .nsl-onboarding .section-title p {font-size:13px !important}
  body.ns-app .nsl-onboarding .wizard-actions {padding:15px 16px !important}
  body.ns-app .nsl-onboarding .wizard-actions :is(button[data-wizard-next],button[data-wizard-submit]) {min-width:0}
  body.ns-app .nsl-onboarding .onboarding-space-card strong {font-size:15px !important}
  body.ns-app .nsl-onboarding .nsl-account-types {display:grid;grid-template-columns:1fr}
  body.ns-app .nsl-onboarding .nsl-start-note {padding:16px}
}
@media(prefers-reduced-motion:reduce) {
  .home-page *,.home-page *:before,.home-page *:after,
  body.ns-app .nsl-onboarding * {animation:none !important;scroll-behavior:auto !important}
}

/* =====================================================================
   NS STUDIO / EDITION SOBRIETE WPS-INSPIREE — v2
   Style propre NS STUDIO ; inspiration de la clarté d'une suite office.
   Uniquement body.home-page et la page onboarding.
   Pas de changement des composantes fonctionnelles ni de leurs données.
   ===================================================================== */

/* Palette et lisibilité */
body.home-page {
  --nsc-ink:#202b3b;
  --nsc-muted:#4b5a6e;
  --nsc-blue:#1761eb;
  --nsc-blue-hover:#174db3;
  --nsc-line:#e1e6ed;
  --nsc-bg:#f7f8fb;
  --nsc-soft:#f3f6fc;
  color:#202b3b !important;
  background:#fff !important;
  -webkit-font-smoothing:antialiased;
}
body.home-page :is(.eyebrow,.solution-label,.audience-tag) {
  color:#1761eb !important;
  letter-spacing:.035em !important;
  font-size:12px !important;
  font-weight:700 !important;
}
body.home-page :is(h1,h2,h3,strong) {text-wrap:pretty}
body.home-page :is(p,li,small) {text-shadow:none !important}
body.home-page .home-container {width:min(100% - 48px,1160px)}
body.home-page :is(a,button) {transition:background-color .15s,border-color .15s,color .15s !important}
body.home-page :is(.home-header,.mineduc-entry-panel,.award-proof,.certificate-stage-head,.certificate-editor-toolbar,.button.glass) {
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* Header : navigation sobre sans capsules superflues. */
body.home-page .home-header {
  height:76px !important;
  background:#fff !important;
  border-bottom:1px solid #e5e9ef !important;
  box-shadow:none !important;
}
body.home-page .home-brand>span {background:#1761eb !important;border-radius:9px !important}
body.home-page .home-brand strong {font-size:16px !important;letter-spacing:-.02em !important}
body.home-page .home-brand small {font-size:10px !important;letter-spacing:0 !important;line-height:1.5 !important}
body.home-page .home-simple-nav {gap:4px !important}
body.home-page .home-simple-nav>a {
  font-size:13px !important;
  font-weight:600 !important;
  padding:11px 10px !important;
  color:#3b4b5e !important;
}
body.home-page .home-simple-nav .home-nav-register {
  background:#1761eb !important;
  color:#fff !important;
  padding-inline:17px !important;
  border-radius:9px !important;
}
body.home-page .home-simple-nav .home-nav-register:hover {background:#174db3 !important}
body.home-page .home-simple-nav .home-nav-verify {background:transparent !important;color:#1761eb !important}

/* Hero WPS-like : blanc, hiérarchie forte, aperçu du vrai produit. */
body.home-page .home-hero {
  background:#fff !important;
  border:0 !important;
}
body.home-page .home-hero:before,
body.home-page .home-bulletin-hero-stage:before,
body.home-page .home-verification-stage:before,
body.home-page .home-verification-stage:after,
body.home-page .certificate-creation-stage:before,
body.home-page .certificate-creation-stage:after {content:none !important;display:none !important}
body.home-page .home-hero-grid {
  padding-block:78px 46px !important;
  gap:55px !important;
}
body.home-page .home-announcement {
  background:#f3f6fc !important;
  border:1px solid #e1e8f4 !important;
  box-shadow:none !important;
  color:#1761eb !important;
  border-radius:7px !important;
  padding:9px 13px !important;
  font-size:11px !important;
  font-weight:650 !important;
  letter-spacing:0 !important;
}
body.home-page .home-hero-copy h1 {
  color:#172337 !important;
  max-width:1050px !important;
  margin:22px auto 19px !important;
  font-size:clamp(42px,5.2vw,66px) !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  letter-spacing:-.045em !important;
}
body.home-page .home-hero-copy h1 em {
  color:#1761eb !important;
  background:none !important;
  -webkit-text-fill-color:#1761eb !important;
}
body.home-page .home-hero-copy>p {
  max-width:790px !important;
  color:#506077 !important;
  font-size:17px !important;
  line-height:1.75 !important;
}
body.home-page .home-hero-actions {margin-top:29px !important;gap:12px !important}
body.home-page :is(.home-primary,.home-secondary) {
  border-radius:9px !important;
  min-height:50px !important;
  font-size:13px !important;
  font-weight:650 !important;
  padding:13px 21px !important;
  box-shadow:none !important;
  transform:none !important;
}
body.home-page .home-primary {background:#1761eb !important;color:#fff !important}
body.home-page .home-primary:hover {background:#174db3 !important}
body.home-page .home-secondary {
  color:#2c4058 !important;
  background:#fff !important;
  border:1px solid #cfd9e7 !important;
}
body.home-page .home-secondary>span {background:transparent !important;color:#1761eb !important;width:auto;height:auto}
body.home-page .home-secondary:hover {background:#f7f9fc !important}

/* L'aperçu fonctionnel reste accessible, mais sans effets vitrés / relief lourd. */
body.home-page .home-bulletin-hero-stage {
  width:min(1010px,100%) !important;
  background:#f6f8fb !important;
  border:1px solid #e2e8f0 !important;
  border-radius:18px !important;
  box-shadow:none !important;
  min-height:0 !important;
  padding:64px 34px 26px !important;
}
body.home-page .hero-bulletin-topline {color:#3c5069 !important;letter-spacing:.03em !important;font-size:10px !important}
body.home-page .hero-bulletin-topline b {color:#305a95 !important;background:#eaf0f9 !important;font-size:10px !important}
body.home-page .hero-bulletin-topline i {animation:none !important;box-shadow:none !important}
body.home-page .mineduc-real-sheet {box-shadow:0 4px 14px rgba(20,40,80,.07) !important}
body.home-page .mineduc-real-sheet:after {animation:none !important;opacity:0 !important}
body.home-page .hero-entry-card.mineduc-entry-panel {
  background:#fff !important;
  border:1px solid #dae2eb !important;
  box-shadow:0 3px 16px rgba(22,39,68,.05) !important;
  border-radius:12px !important;
}
body.home-page .hero-entry-card .live-score,
body.home-page .hero-entry-card .live-score b,
body.home-page .hero-entry-card .mineduc-total,
body.home-page .hero-entry-card .mineduc-validate,
body.home-page .hero-entry-card .entry-progress>i:after,
body.home-page .hero-entry-card .validate-wait,
body.home-page .hero-entry-card .validate-done {animation:none !important}
body.home-page .hero-entry-card .live-score b,
body.home-page .hero-entry-card .mineduc-total {opacity:1 !important;transform:none !important}
body.home-page .hero-entry-card .entry-progress>i:after {transform:scaleX(1) !important;background:#1761eb !important}
body.home-page .hero-entry-card .mineduc-validate {background:#1761eb !important;box-shadow:none !important}
body.home-page .hero-entry-card .validate-wait {opacity:1 !important}
body.home-page .hero-entry-card .validate-done {display:none !important}
body.home-page .hero-entry-card .live-grade-row>span {font-size:12px !important}
body.home-page .hero-entry-card .live-grade-row>span small {font-size:10px !important}
body.home-page .hero-entry-card .demo-secure-note {font-size:10px !important;line-height:1.5 !important}

/* Navigation de produit : 3 liens compacts et neutres. */
body.home-page .nsc-module-nav {background:#fff;border-bottom:1px solid #e8edf2;padding:20px 0 31px}
body.home-page .nsc-module-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body.home-page .nsc-module-grid>a {
  color:#24374c;display:flex;align-items:center;gap:13px;
  padding:18px 19px;background:#fff;border:1px solid #e2e7ef;
  border-radius:12px;text-decoration:none;min-width:0;
}
body.home-page .nsc-module-grid>a:hover {background:#f7f9fd;border-color:#c5d5ee}
body.home-page .nsc-module-grid>a>.ns-icon:first-child {width:34px;height:34px;padding:8px;background:#edf3ff;border-radius:9px;color:#1761eb;flex:none}
body.home-page .nsc-module-grid>a>.ns-icon:last-child {width:15px;height:15px;color:#8996a9;margin-left:auto;flex:none}
body.home-page .nsc-module-grid>a>span {display:grid;gap:3px;min-width:0}
body.home-page .nsc-module-grid strong {font-size:14px;color:#23364d;font-weight:700}
body.home-page .nsc-module-grid small {font-size:12px;color:#647187}

/* Sections : rythme, fonds neutres, typographie lisible. */
body.home-page .home-section {padding:82px 0 !important}
body.home-page .home-section-head {max-width:800px !important;margin-bottom:33px !important}
body.home-page :is(.home-section-head h2,.connected-copy h2,.credits-section h2,.certificate-product-copy h2) {
  font-size:clamp(30px,3.2vw,43px) !important;
  color:#1b293c !important;
  letter-spacing:-.035em !important;
  line-height:1.22 !important;
  font-weight:700 !important;
}
body.home-page :is(.home-section-head p,.connected-copy>p,.credits-section p,.certificate-product-copy>p) {
  font-size:15px !important;
  line-height:1.75 !important;
  color:#536479 !important;
}
body.home-page :is(.bulletin-showcase,.solutions-section,.connected-section,.audience-section,.certificate-product-section) {
  background:#fff !important;
}
body.home-page .solutions-section,
body.home-page .audience-section {border-top:1px solid #f0f2f6 !important}
body.home-page .bulletin-showcase-grid {
  background:#fff !important;
  border:1px solid #e1e6ec !important;
  border-radius:15px !important;
  box-shadow:none !important;
  padding:26px !important;
}
body.home-page .bulletin-feature-tabs {gap:8px !important}
body.home-page .bulletin-feature-tabs button {
  font-size:13px !important;
  font-weight:650 !important;
  border-radius:8px !important;
  box-shadow:none !important;
}
body.home-page .bulletin-feature-tabs button.active {background:#1761eb !important;color:#fff !important;box-shadow:none !important}
body.home-page .bulletin-panel-kicker {font-size:11px !important;letter-spacing:0 !important}
body.home-page .bulletin-tab-panel h3 {color:#1a2b42 !important;font-size:clamp(27px,3vw,39px) !important;line-height:1.22 !important;letter-spacing:-.02em !important}
body.home-page .bulletin-tab-panel>p {color:#526277 !important;font-size:15px !important;line-height:1.72 !important}
body.home-page .bulletin-tab-panel li {font-size:13px !important;color:#3c5268 !important}
body.home-page .mineduc-demo {background:#f6f8fb !important;border:1px solid #e1e7ef !important;border-radius:12px !important;box-shadow:none !important}
body.home-page .mineduc-demo-toolbar {font-size:11px !important;letter-spacing:0 !important}
body.home-page .mineduc-demo-toolbar b {font-size:11px !important;background:#fff !important}
body.home-page .mineduc-demo .mineduc-entry-panel {background:#fff !important;backdrop-filter:none !important;box-shadow:none !important}
body.home-page .bulletin-showcase-action {background:#1761eb !important;color:#fff !important;border-radius:9px !important;box-shadow:none !important;font-size:13px !important}

/* Cartes uniformes. Plus de fausse carte 'VIP' en dégradé. */
body.home-page .home-solutions-grid {gap:16px !important}
body.home-page .home-solution,
body.home-page .home-solution.featured {
  background:#fff !important;color:#1f2d41 !important;border:1px solid #e0e7ee !important;
  border-radius:14px !important;box-shadow:none !important;
  min-height:0 !important;padding:28px !important;
}
body.home-page .home-solution .solution-number {display:none !important}
body.home-page .home-solution .solution-icon,
body.home-page .home-solution.featured .solution-icon {
  background:#edf3fd !important;border:0 !important;color:#1761eb !important;border-radius:10px !important;
}
body.home-page .home-solution h3 {color:#1f3047 !important;font-size:20px !important;line-height:1.35 !important}
body.home-page .home-solution p,
body.home-page .home-solution.featured p {font-size:14px !important;line-height:1.7 !important;color:#52647a !important}
body.home-page .home-solution li,
body.home-page .home-solution.featured li {color:#3e5268 !important;font-size:12px !important;line-height:1.6 !important}
body.home-page .home-solution a,
body.home-page .home-solution.featured a {color:#1761eb !important;font-size:13px !important;font-weight:700 !important}
body.home-page .solution-card-art {display:none !important}
body.home-page .home-solution ul {margin:17px 0 22px !important}
body.home-page .home-solution>a {margin-top:auto !important}

/* Bloc visuel certificat/photo : abandon des voiles dégradés. */
body.home-page .certificate-product-section {background:#f8fafd !important;border-block:1px solid #edf0f4 !important}
body.home-page .certificate-creation-stage,
body.home-page .home-verification-stage {
  background:#f2f5f9 !important;border:1px solid #dfe6ef !important;
  border-radius:15px !important;box-shadow:none !important;
}
body.home-page .certificate-story {padding:80px 0 !important}
body.home-page .award-story {
  background:#f8fafd !important;border:1px solid #e1e7ee !important;
  border-radius:15px !important;box-shadow:none !important;
}
body.home-page .award-story:after {
  background:linear-gradient(90deg,#f8fafd 0%,#f8fafd 34%,rgba(248,250,253,.9) 46%,transparent 75%) !important;
}
body.home-page .award-story-copy h2 {color:#1e3045 !important;letter-spacing:-.03em !important}
body.home-page .award-story-copy>p {color:#4c5e73 !important;font-size:15px !important}
body.home-page .award-story-points span {font-size:13px !important;color:#31495f !important}
body.home-page .award-proof {background:#213a58 !important;border-radius:9px !important;box-shadow:none !important}
body.home-page .award-proof small {font-size:10px !important;letter-spacing:0 !important}
body.home-page .award-proof strong {font-size:12px !important}
body.home-page .certificate-product-copy>a,
body.home-page .award-story-copy>a {background:#1761eb !important;box-shadow:none !important;border-radius:9px !important;font-size:13px !important}

/* 'Connexion des données' : pas de statistiques fictives. */
body.home-page .connected-visual {background:#fafbfe !important;border:1px solid #e4e9f0 !important;border-radius:15px !important}
body.home-page .database-core {background:#1761eb !important;border-radius:18px !important;box-shadow:none !important}
body.home-page .database-core strong {font-size:19px !important}
body.home-page .database-core small {font-size:10px !important;letter-spacing:0 !important}
body.home-page .data-output {border-radius:10px !important;box-shadow:none !important}
body.home-page .data-output strong {font-size:11px !important}
body.home-page .data-output small {font-size:10px !important}
body.home-page .connected-points article {gap:13px !important}
body.home-page .connected-points i {background:#edf3fd !important;border-radius:8px !important;font-size:12px !important}
body.home-page .connected-points strong {font-size:14px !important}
body.home-page .connected-points small {font-size:12px !important;line-height:1.6 !important}
body.home-page .home-text-link {font-size:13px !important;color:#1761eb !important}

/* Audiences, crédits et formation : surfaces blanches à contrastes francs. */
body.home-page .audience-card,
body.home-page .audience-card.team {
  background:#fff !important;color:#233448 !important;
  border:1px solid #e1e7ef !important;border-radius:14px !important;
  box-shadow:none !important;padding:30px !important;
}
body.home-page .audience-card.team .audience-tag,
body.home-page .audience-card .audience-tag {color:#1761eb !important;background:#eef4ff !important;border-radius:6px !important}
body.home-page .audience-card.team .audience-icon,
body.home-page .audience-card .audience-icon {color:#1761eb !important;background:#eef3fc !important;border-radius:10px !important}
body.home-page .audience-card h3 {font-size:21px !important;color:#25374d !important}
body.home-page .audience-card>p,
body.home-page .audience-card.team>p {font-size:14px !important;line-height:1.7 !important;color:#526379 !important}
body.home-page .audience-card :is(div span,a),
body.home-page .audience-card.team :is(div span,a) {color:#3c536e !important;font-size:13px !important}
body.home-page .audience-card>a,
body.home-page .audience-card.team>a {color:#1761eb !important;font-weight:700 !important}
body.home-page .credits-section {
  background:#f7f9fc !important;color:#26384e !important;
  border-top:1px solid #e8eef4 !important;border-bottom:1px solid #e8eef4 !important;
}
body.home-page .credits-section .eyebrow.light {color:#1761eb !important}
body.home-page .credit-rules>span {background:#fff !important;border:1px solid #dfe7f1 !important;border-radius:9px !important}
body.home-page .credit-rules .ns-icon {color:#1761eb !important}
body.home-page .credit-rules b {font-size:14px !important;color:#273d54 !important}
body.home-page .credit-rules small {font-size:12px !important;color:#617187 !important}
body.home-page .starter-pack {box-shadow:none !important;border:1px solid #dce4ec !important;border-radius:13px !important}
body.home-page .starter-pack>span {font-size:11px !important;letter-spacing:0 !important}
body.home-page .starter-pack li {font-size:13px !important}
body.home-page .starter-pack>a {background:#1761eb !important;border-radius:9px !important;font-size:13px !important}
body.home-page .nsl-home-training {background:#fff !important;border:1px solid #e1e8ef !important;border-radius:14px !important;box-shadow:none !important}
body.home-page .nsl-home-training :is(h2,p) {color:#25374b !important}
body.home-page .nsl-home-training>div>p {font-size:14px !important;color:#54647b !important;line-height:1.75 !important}
body.home-page .nsl-home-training .nsl-button {background:#1761eb !important;border-radius:9px !important;box-shadow:none !important}
body.home-page .home-final-cta {background:#f7f9fc !important;color:#26384b !important;border-top:1px solid #e8edf4 !important;padding:80px 0 !important}
body.home-page .home-final-cta h2 {max-width:880px;margin:14px auto !important;color:#21334a !important;font-size:clamp(29px,3.4vw,43px) !important;line-height:1.23 !important}
body.home-page .home-final-cta p {color:#536479 !important;font-size:15px !important}
body.home-page .home-final-cta .eyebrow.light {color:#1761eb !important}
body.home-page .home-final-cta .button.white {background:#1761eb !important;color:#fff !important;box-shadow:none !important;border-radius:9px !important}
body.home-page .home-final-cta .button.glass {background:#fff !important;color:#2d4968 !important;border:1px solid #ccd8e8 !important;border-radius:9px !important}
body.home-page .home-footer {background:#fff !important;border-top:1px solid #e5eaf0 !important;color:#54657a !important;padding:53px 0 20px !important}
body.home-page .footer-brand strong {color:#203247 !important}
body.home-page .footer-grid>div:first-child p {font-size:13px !important;color:#5e6d7e !important}
body.home-page .footer-grid>div>strong {font-size:13px !important;color:#22354b !important}
body.home-page .footer-grid>div>a,
body.home-page .footer-grid>div>span {font-size:12px !important;color:#53667c !important}
body.home-page .footer-grid>div>a:hover {color:#1761eb !important}
body.home-page .footer-bottom {border-top:1px solid #e8edf2 !important;font-size:11px !important;color:#68788a !important}

/* Retirer les animations marketing en conservant les onglets interactifs. */
body.home-page :is(.orbit-two,.scan-beam,.verification-demo-label i,.mineduc-demo-toolbar i,.certificate-stage-head span i,.certificate-creation-stage .phone-focus>i,.certificate-creation-stage .scan-phone,.certificate-creation-stage .verification-result) {animation:none !important}
body.home-page .certificate-creation-stage .verification-result,
body.home-page .certificate-creation-stage .phone-verdict.certified {opacity:1 !important}
body.home-page .certificate-creation-stage .phone-verdict.rejected {display:none !important}

/* Petits écrans : pas de microscopique ni colonnes coupées. */
@media (max-width:1000px) {
 body.home-page .home-simple-nav.open {background:#fff !important;box-shadow:0 8px 20px rgba(28,44,73,.09) !important}
 body.home-page .home-solutions-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.home-page .home-solution.featured {grid-row:auto !important}
 body.home-page .connected-grid {gap:36px !important}
}
@media (max-width:900px) {
 body.home-page .home-simple-nav {top:68px !important;display:none !important}
 body.home-page .home-simple-nav.open {display:flex !important}
 body.home-page .home-hero-grid {padding-block:55px 35px !important;gap:36px !important}
 body.home-page .nsc-module-grid {gap:10px}
 body.home-page .nsc-module-grid>a {padding:14px 11px !important;gap:9px !important}
 body.home-page .home-section {padding:64px 0 !important}
}
@media (max-width:680px) {
 body.home-page .home-container {width:min(100% - 30px,620px) !important}
 body.home-page .home-header {height:67px !important}
 body.home-page .home-hero-grid {padding-block:45px 22px !important;gap:24px !important}
 body.home-page .home-hero-copy h1 {font-size:clamp(34px,9vw,43px) !important;letter-spacing:-.04em !important;line-height:1.16 !important}
 body.home-page .home-hero-copy>p {font-size:15px !important;line-height:1.7 !important}
 body.home-page .home-announcement {font-size:10px !important;max-width:100%;text-align:left}
 body.home-page .home-hero-actions {gap:9px !important}
 body.home-page .home-hero-actions :is(a,button) {width:100%;font-size:12px !important;min-height:48px !important}
 body.home-page .home-bulletin-hero-stage {padding:53px 12px 14px !important;border-radius:12px !important}
 body.home-page .hero-bulletin-topline {left:14px;right:14px;top:15px !important;font-size:9px !important}
 body.home-page .hero-bulletin-layout {grid-template-columns:1fr !important;gap:16px !important}
 body.home-page .hero-entry-card.mineduc-entry-panel {width:100% !important;max-width:430px !important;margin-inline:auto !important}
 body.home-page .nsc-module-nav {padding:10px 0 25px !important}
 body.home-page .nsc-module-grid {grid-template-columns:1fr !important;gap:8px !important}
 body.home-page .nsc-module-grid>a {padding:12px 14px !important}
 body.home-page .nsc-module-grid>a>.ns-icon:first-child {width:32px;height:32px}
 body.home-page .home-section-head h2,body.home-page .connected-copy h2,body.home-page .credits-section h2 {font-size:30px !important;line-height:1.25 !important}
 body.home-page .home-solutions-grid {grid-template-columns:1fr !important}
 body.home-page .home-solution,body.home-page .audience-card {padding:23px !important}
 body.home-page .home-solution {min-height:0 !important}
 body.home-page .home-section {padding:53px 0 !important}
 body.home-page .bulletin-showcase-grid {padding:13px !important;gap:15px !important}
 body.home-page .bulletin-feature-copy {padding:16px 10px !important}
 body.home-page .bulletin-feature-tabs {display:flex !important;gap:7px !important;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px !important}
 body.home-page .bulletin-feature-tabs button {font-size:12px !important;flex:none;min-width:max-content;scroll-snap-align:start}
 body.home-page .award-story {border-radius:12px !important}
 body.home-page .award-story-copy {padding:28px 21px !important}
 body.home-page .award-story-copy>p {font-size:14px !important}
 body.home-page .award-story:after {background:linear-gradient(0deg,#f8fafd 0%,rgba(248,250,253,.98) 47%,transparent 80%) !important}
 body.home-page .award-proof {display:none !important}
 body.home-page .credits-grid {gap:22px !important}
 body.home-page .credit-rules {display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important}
 body.home-page .credit-rules>span {padding:10px 8px !important;min-width:0 !important}
 body.home-page .starter-pack {padding:22px !important}
 body.home-page .home-footer {padding-top:36px !important}
 body.home-page .footer-grid {grid-template-columns:1fr 1fr !important;gap:22px !important}
 body.home-page .footer-grid>div:first-child,body.home-page .footer-grid>div:last-child {grid-column:1/-1 !important}
}
@media (max-width:380px) {
 body.home-page .home-container {width:min(100% - 22px,620px) !important}
 body.home-page .home-brand strong {font-size:14px !important}
 body.home-page .home-hero-copy h1 {font-size:33px !important}
 body.home-page .footer-grid {grid-template-columns:1fr !important}
 body.home-page .footer-grid>div {grid-column:1/-1 !important}
}

/* ONBOARDING: même famille UI que l'accueil, garder les actions existantes. */
body.ns-app .nsl-onboarding .onboarding-card {border-color:#dfe6ee !important;border-radius:12px !important;box-shadow:none !important}
body.ns-app .nsl-onboarding .onboarding-head h1 {color:#1e3047 !important;letter-spacing:-.035em !important}
body.ns-app .nsl-onboarding .onboarding-head p {color:#536479 !important}
body.ns-app .nsl-onboarding :is(.account-type,.onboarding-space-card,.onboarding-space-options,.onboarding-default-space) {box-shadow:none !important;border-radius:10px !important}
body.ns-app .nsl-onboarding :is(.primary-button,.secondary-button) {box-shadow:none !important;border-radius:8px !important}
body.ns-app .nsl-onboarding :is(input,select,textarea):focus-visible {outline:2px solid #1761eb !important;outline-offset:2px !important}
