/*! ============================================================
   NAIROD DESIGN SYSTEM — couche de reskin pour nairodinvest.com
   Source : UI kit Nairod (nairod-ui-kit.html). 100% CSS, réversible.
   Ne modifie NI le contenu NI la structure Elementor des pages.
   Chargé par neve-child/functions.php après le style du child theme.

     A. Variables typographiques
     B. Surcharge des variables GLOBALES Elementor (kit 1496) — pur CSS, zéro BDD
     C. Reskin ciblé (fond, typo, liens, boutons, champs) — sélecteurs réels
     D. Système de composants du kit, scopé sous .nd-scope (anti-collision)

   ROLLBACK : retirer l'enqueue 'nairod-design' dans neve-child/functions.php
   (ou supprimer ce fichier). Aucune donnée n'est modifiée.
   ============================================================ */

/* ---- A. Variables typographiques ---- */
:root{
  --nd-font-head:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --nd-font-body:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --nd-font-display:'Space Grotesk','Sora',sans-serif;
  --nd-font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,monospace;
}

/* ---- B. Surcharge des variables globales Elementor (CSS only, aucune écriture BDD)
   Mappage : primary/secondary/blue -> navy ; accent/green -> lime ; text -> navy.
   body.elementor-kit-1496 (0,1,1) bat .elementor-kit-1496 (0,1,0) + chargé après. */
body.elementor-kit-1496{
  --e-global-color-primary:#0F1A3A;
  --e-global-color-secondary:#1A2956;
  --e-global-color-text:#0F1A3A;
  --e-global-color-accent:#A8E635;
  --e-global-color-2f024e7:#0F1A3A;   /* ancien "blue"  #00223A */
  --e-global-color-d0ae04a:#A8E635;   /* ancien "green"  #68DE68 */
  --e-global-typography-primary-font-family:"Sora";
  --e-global-typography-primary-font-weight:700;
  --e-global-typography-secondary-font-family:"Sora";
  --e-global-typography-secondary-font-weight:600;
  --e-global-typography-text-font-family:"DM Sans";
  --e-global-typography-text-font-weight:400;
  --e-global-typography-accent-font-family:"Sora";
  --e-global-typography-accent-font-weight:600;
}

/* ---- C. Reskin ciblé global (Neve / Elementor / WooCommerce / LMS) ---- */

/* Fond + police de base du site */
body.elementor-kit-1496,
body.theme-neve{
  background-color:var(--nd-page-bg);
  font-family:var(--nd-font-body);
  color:var(--nd-navy);
  -webkit-font-smoothing:antialiased;
}

/* Titres en Sora */
body.theme-neve h1, body.theme-neve h2, body.theme-neve h3,
body.theme-neve h4, body.theme-neve h5, body.theme-neve h6,
.elementor-kit-1496 .elementor-heading-title,
.elementor-kit-1496 .elementor-widget-heading .elementor-heading-title{
  font-family:var(--nd-font-head);
  letter-spacing:-.02em;
}

/* Liens de contenu (hors boutons / menus) */
.nv-content-wrap a:not(.elementor-button):not(.button):not(.wp-block-button__link):not(.elementor-item){
  text-underline-offset:3px;
}
.nv-content-wrap a:not(.elementor-button):not(.button):not(.wp-block-button__link):not(.elementor-item):hover{
  color:#6f9e10;
}

/* Boutons — style "lime" signature (VISUEL uniquement, comportement intact).
   On ne cible QUE des classes de boutons connues (jamais le sélecteur <button>
   générique) pour ne pas casser toggles menu / sliders / quantité WooCommerce. */
body.elementor-kit-1496 .elementor-button,
body.elementor-kit-1496 .wp-block-button__link,
body.theme-neve .button,
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce-page a.button, .woocommerce-page button.button,
.tutor-btn, .tutor-btn-primary,
.llms-button-action, .llms-button-primary,
.wpforms-submit, .forminator-button-submit,
input[type="submit"], button[type="submit"]{
  background:var(--nd-lime)!important;
  background-color:var(--nd-lime)!important;
  color:var(--nd-navy)!important;
  border:0!important;
  border-radius:var(--r-full)!important;
  font-family:var(--nd-font-head)!important;
  font-weight:600!important;
  box-shadow:0 4px 14px rgba(168,230,53,.30);
  transition:transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s, background .18s, filter .18s;
}
body.elementor-kit-1496 .elementor-button:hover,
body.elementor-kit-1496 .wp-block-button__link:hover,
body.theme-neve .button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce-page a.button:hover, .woocommerce-page button.button:hover,
.tutor-btn:hover, .tutor-btn-primary:hover,
.llms-button-action:hover, .llms-button-primary:hover,
.wpforms-submit:hover, .forminator-button-submit:hover,
input[type="submit"]:hover, button[type="submit"]:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(168,230,53,.42), 0 2px 8px rgba(168,230,53,.18);
  filter:brightness(1.02);
}
body.elementor-kit-1496 .elementor-button:active,
.woocommerce a.button:active, .woocommerce button.button:active,
input[type="submit"]:active, button[type="submit"]:active{
  transform:scale(.98);
}

/* Champs de formulaire (texte / textarea / select) */
body.elementor-kit-1496 input[type="text"],
body.elementor-kit-1496 input[type="email"],
body.elementor-kit-1496 input[type="tel"],
body.elementor-kit-1496 input[type="url"],
body.elementor-kit-1496 input[type="number"],
body.elementor-kit-1496 input[type="password"],
body.elementor-kit-1496 input[type="search"],
body.elementor-kit-1496 textarea,
body.elementor-kit-1496 select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  border-radius:var(--r-md)!important;
  border:1px solid var(--nd-border)!important;
  font-family:var(--nd-font-body)!important;
  color:var(--nd-navy);
  transition:border-color .18s, box-shadow .18s;
}
body.elementor-kit-1496 input[type="text"]:focus,
body.elementor-kit-1496 input[type="email"]:focus,
body.elementor-kit-1496 input[type="tel"]:focus,
body.elementor-kit-1496 input[type="url"]:focus,
body.elementor-kit-1496 input[type="number"]:focus,
body.elementor-kit-1496 input[type="password"]:focus,
body.elementor-kit-1496 input[type="search"]:focus,
body.elementor-kit-1496 textarea:focus,
body.elementor-kit-1496 select:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus{
  border-color:var(--nd-lime)!important;
  box-shadow:0 0 0 4px rgba(168,230,53,.18)!important;
  outline:none;
}

/* ---- D. Système de composants du kit (scopé .nd-scope, anti-collision).
   Base de scope : tout élément à l'intérieur d'un conteneur .nd-scope hérite
   de la typo/couleur du kit. Le reste (ci-dessous) est généré depuis le kit. */
.nd-scope{
  font-family:var(--nd-font-body);
  color:var(--nd-navy);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.nd-scope a{color:inherit;}

/* ============================================================
   COMPOSANTS DU UI KIT — généré (fidèle) depuis nairod-ui-kit.html
   :root et @keyframes restent globaux ; dark-mode (doc) retiré.
   ============================================================ */
:root{--nd-page-bg:#F7F5ED;
  --nd-card-bg:#FFFFFF;
  --nd-navy:#0F1A3A;
  --nd-navy-2:#1A2956;
  --nd-cream:#F4F2EA;
  --nd-lime:#A8E635;
  --nd-lime-soft:#DCFF82;
  --nd-muted:rgba(15,26,58,.45);
  --nd-border:rgba(15,26,58,.10);
  --nd-border-strong:rgba(15,26,58,.22);

  --nd-success:#A8E635;
  --nd-error:#FF4757;
  --nd-warning:#FFB627;
  --nd-info:#5BA8D9;
  --nd-purple:#7C5CFF;
  --nd-pink:#FF6FB5;
  --nd-orange:#FF8A3D;

  --toast-error-bg:#FFF1F0;   --toast-error-bd:#FF4D4F44;   --toast-error-fg:#7A0000;
  --toast-success-bg:#F0FFF4; --toast-success-bd:#A8E63560; --toast-success-fg:#1A4A00;
  --toast-info-bg:#F0F5FF;    --toast-info-bd:#5BA8D960;    --toast-info-fg:#0F1A3A;
  --toast-warning-bg:#FFFBE6; --toast-warning-bd:#FFD43B60; --toast-warning-fg:#4A3A00;

  --r-sm:8px; --r-md:10px; --r-lg:12px; --r-xl:18px; --r-2xl:24px; --r-full:9999px;
  --shadow-sm:0 1px 2px rgba(15,26,58,.06);
  --shadow-md:0 8px 24px rgba(15,26,58,.08);
  --shadow-lg:0 28px 60px rgba(15,26,58,.14);}
.nd-scope *{box-sizing:border-box}
.nd-scope html,.nd-scope body{margin:0;padding:0}
.nd-scope body{background:var(--nd-page-bg);
  color:var(--nd-navy);
  font-family:'DM Sans',sans-serif;
  font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;}
.nd-scope h1,.nd-scope h2,.nd-scope h3,.nd-scope h4,.nd-scope h5,.nd-scope h6{font-family:'Sora',sans-serif; margin:0; letter-spacing:-.01em}
.nd-scope code,.nd-scope pre,.nd-scope .mono{font-family:'JetBrains Mono',monospace}
.nd-scope button{font-family:inherit}
.nd-scope .shell{max-width:1320px; margin:0 auto; padding:48px 32px 120px}
.nd-scope .kit-head{display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; margin-bottom:24px; flex-wrap:wrap;}
.nd-scope .kit-head h1{font-size:56px; font-weight:800; letter-spacing:-.03em; line-height:1}
.nd-scope .kit-head p{color:var(--nd-muted); margin-top:8px; max-width:560px}
.nd-scope .kit-head .pill{display:inline-flex; align-items:center; gap:8px; padding:8px 14px;
  background:var(--nd-navy); color:var(--nd-cream); border-radius:var(--r-full);
  font-size:13px; font-weight:600; font-family:'Sora',sans-serif;}
.nd-scope .dot{display:inline-block; width:8px; height:8px; border-radius:50%}
.nd-scope .toc{position:sticky; top:24px; z-index:5;
  background:rgba(247,245,237,.85); backdrop-filter:blur(12px);
  border:1px solid var(--nd-border); border-radius:var(--r-full);
  padding:8px; display:flex; gap:4px; flex-wrap:wrap;
  margin-bottom:48px;}
.nd-scope .toc a{text-decoration:none; padding:6px 12px; border-radius:var(--r-full);
  font-family:'Sora',sans-serif; font-weight:500; font-size:12px; color:var(--nd-navy);
  white-space:nowrap; transition:background .18s;}
.nd-scope .toc a:hover{background:rgba(15,26,58,.07)}
.nd-scope section{margin-top:80px; scroll-margin-top:80px}
.nd-scope .sec-title{display:flex; align-items:center; gap:12px;
  font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:var(--nd-muted); margin-bottom:14px; font-family:'Sora',sans-serif;}
.nd-scope .sec-title::before{content:""; width:24px; height:2px; background:var(--nd-lime); border-radius:2px}
.nd-scope h2.big{font-size:38px; font-weight:700; margin-bottom:6px; letter-spacing:-.02em}
.nd-scope .lead{color:var(--nd-muted); margin-bottom:32px; max-width:680px; font-size:15px}
.nd-scope .sub{font-size:14px; font-weight:600; color:var(--nd-muted); margin:32px 0 14px; text-transform:uppercase; letter-spacing:.1em; font-family:'Sora',sans-serif}
.nd-scope .card{background:var(--nd-card-bg);
  border:1px solid var(--nd-border);
  border-radius:var(--r-xl);
  padding:24px;
  box-shadow:var(--shadow-sm);}
.nd-scope .card.pad-lg{padding:32px}
.nd-scope .card.dark{background:var(--nd-navy); color:var(--nd-cream); border-color:rgba(244,242,234,.1)}
.nd-scope .grid{display:grid; gap:20px}
.nd-scope .g-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.nd-scope .g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.nd-scope .g-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.nd-scope .g-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.nd-scope .g-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.nd-scope .g-12{grid-template-columns:repeat(12,minmax(0,1fr))}
@media (max-width:900px){
  .nd-scope .g-3,.nd-scope .g-4,.nd-scope .g-5,.nd-scope .g-6,.nd-scope .g-12{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nd-scope .g-2{grid-template-columns:1fr}
}
.nd-scope .sw{border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--nd-border); background:#fff}
.nd-scope .sw .chip{height:96px; position:relative}
.nd-scope .sw .chip .copy{position:absolute; bottom:8px; right:10px; font-family:'JetBrains Mono',monospace; font-size:10px; color:rgba(255,255,255,.85); background:rgba(0,0,0,.35); padding:2px 6px; border-radius:4px}
.nd-scope .sw .meta{padding:12px 14px}
.nd-scope .sw .name{font-family:'Sora',sans-serif; font-weight:600; font-size:14px}
.nd-scope .sw .val{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--nd-muted); margin-top:2px}
.nd-scope .specimen{display:flex; align-items:baseline; justify-content:space-between; gap:24px;
  padding:20px 0; border-bottom:1px dashed var(--nd-border);}
.nd-scope .specimen:last-child{border-bottom:0}
.nd-scope .specimen .label{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--nd-muted); white-space:nowrap; padding-top:6px}
.nd-scope .display-1{font-family:'Sora',sans-serif; font-weight:800; font-size:72px; line-height:1; letter-spacing:-.03em}
.nd-scope .display-2{font-family:'Sora',sans-serif; font-weight:700; font-size:54px; line-height:1.05; letter-spacing:-.02em}
.nd-scope .h-1{font-family:'Sora',sans-serif; font-weight:700; font-size:40px; line-height:1.1; letter-spacing:-.02em}
.nd-scope .h-2{font-family:'Sora',sans-serif; font-weight:700; font-size:32px; line-height:1.15}
.nd-scope .h-3{font-family:'Sora',sans-serif; font-weight:600; font-size:24px; line-height:1.2}
.nd-scope .h-4{font-family:'Sora',sans-serif; font-weight:600; font-size:20px; line-height:1.25}
.nd-scope .h-5{font-family:'Sora',sans-serif; font-weight:600; font-size:16px}
.nd-scope .body-lg{font-family:'DM Sans',sans-serif; font-size:18px; line-height:1.6}
.nd-scope .body-md{font-family:'DM Sans',sans-serif; font-size:16px; line-height:1.6}
.nd-scope .body-sm{font-family:'DM Sans',sans-serif; font-size:14px; line-height:1.55}
.nd-scope .body-xs{font-family:'DM Sans',sans-serif; font-size:12px; line-height:1.5}
.nd-scope .caption{font-family:'DM Sans',sans-serif; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--nd-muted); font-weight:600}
.nd-scope .mono-sm{font-family:'JetBrains Mono',monospace; font-size:13px}
.nd-scope .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:'Sora',sans-serif; font-weight:600;
  border:0; cursor:pointer; text-decoration:none;
  border-radius:var(--r-full);
  transition:transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s, background .18s, border-color .18s;}
.nd-scope .btn:active{transform:scale(.97)}
.nd-scope .btn .arrow{display:inline-flex; transition:transform .22s cubic-bezier(.16,1,.3,1)}
.nd-scope .btn-xs{height:32px; padding:0 14px; font-size:12px}
.nd-scope .btn-sm{height:38px; padding:0 18px; font-size:13px}
.nd-scope .btn-md{height:46px; padding:0 22px; font-size:14px}
.nd-scope .btn-lg{height:54px; padding:0 28px; font-size:15px}
.nd-scope .btn-xl{height:62px; padding:0 32px; font-size:16px}
.nd-scope .btn-lime{background:var(--nd-lime); color:var(--nd-navy); box-shadow:0 4px 14px rgba(168,230,53,.30)}
.nd-scope .btn-lime:hover{transform:translateY(-2px); box-shadow:0 8px 28px rgba(168,230,53,.42), 0 2px 8px rgba(168,230,53,.18)}
.nd-scope .btn-lime:hover .arrow{transform:translateX(4px)}
.nd-scope .btn-dark{background:var(--nd-navy); color:var(--nd-cream)}
.nd-scope .btn-dark:hover{transform:translateY(-2px); box-shadow:0 8px 28px rgba(15,26,58,.35)}
.nd-scope .btn-dark:hover .arrow{transform:translateX(4px)}
.nd-scope .btn-ghost{background:transparent; color:var(--nd-navy); border:1.5px solid var(--nd-border-strong)}
.nd-scope .btn-ghost:hover{background:rgba(15,26,58,.07); border-color:rgba(15,26,58,.38); transform:translateY(-1px)}
.nd-scope .btn-ghost-light{background:transparent; color:var(--nd-cream); border:1.5px solid rgba(244,242,234,.3)}
.nd-scope .btn-ghost-light:hover{background:rgba(244,242,234,.1); border-color:rgba(244,242,234,.5); transform:translateY(-1px)}
.nd-scope .btn-outline-lime{background:transparent; color:var(--nd-navy); border:2px solid var(--nd-lime)}
.nd-scope .btn-outline-lime:hover{background:var(--nd-lime); transform:translateY(-1px)}
.nd-scope .btn-danger{background:var(--nd-error); color:#fff}
.nd-scope .btn-danger:hover{background:#ff3344; transform:translateY(-2px); box-shadow:0 8px 24px rgba(255,71,87,.35)}
.nd-scope .btn-link{background:transparent; color:var(--nd-navy); border:0; padding:0 4px; height:auto}
.nd-scope .btn-link:hover{text-decoration:underline; text-underline-offset:4px}
.nd-scope .btn-icon{height:44px; width:44px; padding:0; border-radius:var(--r-full)}
.nd-scope .btn[disabled],.nd-scope .btn:disabled{opacity:.5; cursor:not-allowed; transform:none!important; box-shadow:none!important}
.nd-scope .nd-btn-shine{position:relative; overflow:hidden}
.nd-scope .nd-btn-shine::after{content:""; position:absolute; inset:0;
  background:linear-gradient(105deg, transparent 40%, rgba(255,255,255,.35) 50%, transparent 60%);
  transform:translateX(-100%) skewX(-15deg);}
@keyframes nd-shine{from{transform:translateX(-100%) skewX(-15deg)} to{transform:translateX(300%) skewX(-15deg)}}
.nd-scope .nd-btn-shine:hover::after{animation:nd-shine .55s ease}
.nd-scope .sh-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px;
  white-space:nowrap; border-radius:10px; font-size:14px; font-weight:500;
  height:40px; padding:0 16px; border:0; cursor:pointer; transition:all .2s;
  font-family:'DM Sans',sans-serif;}
.nd-scope .sh-default{background:var(--nd-navy); color:#fff}
.nd-scope .sh-default:hover{background:rgba(15,26,58,.9)}
.nd-scope .sh-destructive{background:#EF4444; color:#fff}
.nd-scope .sh-destructive:hover{background:rgba(239,68,68,.9)}
.nd-scope .sh-outline{background:#fff; color:var(--nd-navy); border:1px solid var(--nd-border)}
.nd-scope .sh-outline:hover{background:#10B981; color:#fff}
.nd-scope .sh-secondary{background:#F1F5F9; color:var(--nd-navy)}
.nd-scope .sh-secondary:hover{background:rgba(241,245,249,.8)}
.nd-scope .sh-ghost{background:transparent; color:var(--nd-navy)}
.nd-scope .sh-ghost:hover{background:#10B981; color:#fff}
.nd-scope .sh-link{background:transparent; color:var(--nd-navy); text-decoration:none}
.nd-scope .sh-link:hover{text-decoration:underline; text-underline-offset:4px}
.nd-scope .sh-sm{height:36px; padding:0 12px}
.nd-scope .sh-lg{height:44px; padding:0 32px}
.nd-scope .field{display:flex; flex-direction:column; gap:6px}
.nd-scope .field label{font-size:13px; font-weight:600; font-family:'Sora',sans-serif}
.nd-scope .input,.nd-scope textarea.input,.nd-scope select.input{height:44px; padding:0 14px; border-radius:var(--r-md);
  border:1px solid var(--nd-border); background:#fff;
  font-family:'DM Sans',sans-serif; font-size:14px; color:var(--nd-navy);
  outline:none; transition:border-color .18s, box-shadow .18s; width:100%;}
.nd-scope textarea.input{height:auto; padding:12px 14px; min-height:96px; resize:vertical; line-height:1.55}
.nd-scope .input:focus,.nd-scope textarea.input:focus,.nd-scope select.input:focus{border-color:var(--nd-lime); box-shadow:0 0 0 4px rgba(168,230,53,.18);}
.nd-scope .input::placeholder{color:rgba(15,26,58,.4)}
.nd-scope .input[disabled]{background:#F4F4F0; color:var(--nd-muted); cursor:not-allowed}
.nd-scope .input.error{border-color:var(--nd-error); box-shadow:0 0 0 4px rgba(255,71,87,.12)}
.nd-scope .input.success{border-color:var(--nd-lime); box-shadow:0 0 0 4px rgba(168,230,53,.18)}
.nd-scope .helper{font-size:12px; color:var(--nd-muted)}
.nd-scope .helper.err{color:var(--nd-error)}
.nd-scope .helper.ok{color:#2E5F00}
.nd-scope .input-search{position:relative}
.nd-scope .input-search .input{padding-left:42px}
.nd-scope .input-search > svg{position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--nd-muted)}
.nd-scope .input-clear{position:absolute; right:8px; top:50%; transform:translateY(-50%); width:28px; height:28px; border:0; border-radius:50%; background:rgba(15,26,58,.06); display:flex; align-items:center; justify-content:center; cursor:pointer}
.nd-scope .check{display:inline-flex; align-items:center; gap:10px; cursor:pointer; font-size:14px}
.nd-scope .check input{accent-color:var(--nd-lime); width:18px; height:18px}
.nd-scope .switch{position:relative; display:inline-block; width:44px; height:24px}
.nd-scope .switch input{display:none}
.nd-scope .switch .track{position:absolute; inset:0; background:rgba(15,26,58,.18); border-radius:var(--r-full); transition:background .2s; cursor:pointer}
.nd-scope .switch .track::before{content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; background:#fff; border-radius:50%; transition:transform .2s; box-shadow:0 1px 3px rgba(0,0,0,.2)}
.nd-scope .switch input:checked + .track{background:var(--nd-lime)}
.nd-scope .switch input:checked + .track::before{transform:translateX(20px)}
.nd-scope .nd-range{appearance:none; -webkit-appearance:none; width:100%; height:4px; border-radius:2px;
  background:rgba(15,26,58,.15); outline:none;}
.nd-scope .nd-range::-webkit-slider-thumb{appearance:none; width:18px; height:18px; border-radius:50%;
  background:var(--nd-lime); border:3px solid var(--nd-navy); cursor:pointer;
  box-shadow:0 2px 8px rgba(15,26,58,.2);}
.nd-scope .otp{display:flex; gap:8px}
.nd-scope .otp input{width:48px; height:56px; text-align:center; font-family:'Sora',sans-serif; font-size:22px; font-weight:700;
  border:1.5px solid var(--nd-border); border-radius:var(--r-md); background:#fff;}
.nd-scope .otp input:focus{outline:none; border-color:var(--nd-lime); box-shadow:0 0 0 4px rgba(168,230,53,.2)}
.nd-scope .tags-input{display:flex; flex-wrap:wrap; gap:6px; padding:8px;
  border:1px solid var(--nd-border); border-radius:var(--r-md); background:#fff;}
.nd-scope .tag-chip{display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px; background:rgba(168,230,53,.18); color:#2E5F00;
  border-radius:var(--r-full); font-size:12px; font-weight:600; font-family:'Sora',sans-serif;}
.nd-scope .tag-chip button{border:0; background:transparent; color:inherit; cursor:pointer; opacity:.6}
.nd-scope .tags-input input{border:0; outline:none; flex:1; min-width:80px; font-size:14px; font-family:'DM Sans',sans-serif; padding:4px 6px}
.nd-scope .dropzone{border:2px dashed var(--nd-border-strong); border-radius:var(--r-xl);
  padding:32px; text-align:center; background:rgba(15,26,58,.02); cursor:pointer;
  transition:background .2s, border-color .2s;}
.nd-scope .dropzone:hover{background:rgba(168,230,53,.06); border-color:var(--nd-lime)}
.nd-scope .dropzone .ico{font-size:32px; margin-bottom:8px}
.nd-scope .badge{display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:var(--r-full); font-size:11px; font-weight:600; font-family:'Sora',sans-serif; letter-spacing:.02em}
.nd-scope .badge-lime{background:rgba(168,230,53,.18); color:#2E5F00}
.nd-scope .badge-navy{background:var(--nd-navy); color:var(--nd-cream)}
.nd-scope .badge-cream{background:var(--nd-cream); color:var(--nd-navy); border:1px solid var(--nd-border)}
.nd-scope .badge-success{background:#F0FFF4; color:#1A4A00; border:1px solid rgba(168,230,53,.4)}
.nd-scope .badge-warning{background:#FFFBE6; color:#4A3A00; border:1px solid rgba(255,212,59,.4)}
.nd-scope .badge-error{background:#FFF1F0; color:#7A0000; border:1px solid rgba(255,77,79,.3)}
.nd-scope .badge-info{background:#F0F5FF; color:#0F1A3A; border:1px solid rgba(91,168,217,.4)}
.nd-scope .badge-purple{background:rgba(124,92,255,.12); color:#3A28A8}
.nd-scope .badge-pink{background:rgba(255,111,181,.15); color:#9B1A5C}
.nd-scope .badge-orange{background:rgba(255,138,61,.15); color:#A33800}
.nd-scope .badge-glow{background:var(--nd-lime); color:var(--nd-navy); box-shadow:0 0 0 0 rgba(168,230,53,.7); animation:nd-glow-soft 2s ease-in-out infinite}
@keyframes nd-glow-soft{0%,100%{box-shadow:0 0 0 0 rgba(168,230,53,.5)} 50%{box-shadow:0 0 0 8px rgba(168,230,53,0)}}
.nd-scope .toast{display:flex; align-items:flex-start; gap:12px;
  padding:14px 18px; border-radius:var(--r-md);
  border:1px solid; max-width:420px;
  font-family:'DM Sans',sans-serif; font-size:14px; font-weight:500;
  box-shadow:var(--shadow-sm);}
.nd-scope .toast .ic{font-size:18px; line-height:1}
.nd-scope .toast .desc{font-size:12px; font-weight:400; opacity:.7; margin-top:2px}
.nd-scope .toast-error{background:var(--toast-error-bg); border-color:var(--toast-error-bd); color:var(--toast-error-fg)}
.nd-scope .toast-success{background:var(--toast-success-bg); border-color:var(--toast-success-bd); color:var(--toast-success-fg)}
.nd-scope .toast-info{background:var(--toast-info-bg); border-color:var(--toast-info-bd); color:var(--toast-info-fg)}
.nd-scope .toast-warning{background:var(--toast-warning-bg); border-color:var(--toast-warning-bd); color:var(--toast-warning-fg)}
.nd-scope .avatar{display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  background:var(--nd-navy); color:var(--nd-cream);
  font-family:'Sora',sans-serif; font-weight:600; font-size:14px;
  position:relative;}
.nd-scope .avatar.lime{background:var(--nd-lime); color:var(--nd-navy)}
.nd-scope .avatar.cream{background:var(--nd-cream); color:var(--nd-navy); border:1px solid var(--nd-border)}
.nd-scope .avatar.purple{background:var(--nd-purple); color:#fff}
.nd-scope .avatar.orange{background:var(--nd-orange); color:#fff}
.nd-scope .avatar.pink{background:var(--nd-pink); color:#fff}
.nd-scope .avatar.sm{width:28px; height:28px; font-size:11px}
.nd-scope .avatar.lg{width:56px; height:56px; font-size:18px}
.nd-scope .avatar.xl{width:80px; height:80px; font-size:26px}
.nd-scope .avatar.online::after{content:""; position:absolute; bottom:0; right:0; width:12px; height:12px; border-radius:50%; background:#22C55E; border:2px solid var(--nd-card-bg)}
.nd-scope .avatar-stack{display:flex}
.nd-scope .avatar-stack .avatar{border:2px solid var(--nd-card-bg); margin-left:-10px}
.nd-scope .avatar-stack .avatar:first-child{margin-left:0}
.nd-scope .progress{width:100%; height:8px; background:rgba(15,26,58,.08); border-radius:var(--r-full); overflow:hidden}
.nd-scope .progress > span{display:block; height:100%; background:var(--nd-lime); border-radius:var(--r-full); transition:width .6s cubic-bezier(.16,1,.3,1)}
.nd-scope .progress.lg{height:14px}
.nd-scope .progress.dark > span{background:var(--nd-navy)}
.nd-scope .progress.gradient > span{background:linear-gradient(90deg, #A8E635, #FFB627)}
.nd-scope .progress.striped > span{background:repeating-linear-gradient(45deg,var(--nd-lime),var(--nd-lime) 10px,#94c92b 10px,#94c92b 20px)}
.nd-scope .ring{position:relative; width:80px; height:80px}
.nd-scope .ring svg{width:100%; height:100%; transform:rotate(-90deg)}
.nd-scope .ring circle{fill:none; stroke-width:8}
.nd-scope .ring .track{stroke:rgba(15,26,58,.08)}
.nd-scope .ring .fill{stroke:var(--nd-lime); stroke-linecap:round}
.nd-scope .ring .val{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:700; font-size:18px}
.nd-scope .ring.lg{width:120px; height:120px}
.nd-scope .ring.lg .val{font-size:24px}
.nd-scope .xp-bar{position:relative; height:18px; border-radius:var(--r-full);
  background:rgba(15,26,58,.08); overflow:hidden; border:1px solid var(--nd-border);}
.nd-scope .xp-bar > span{display:block; height:100%; background:linear-gradient(90deg,#A8E635,#FFB627);
  position:relative;}
.nd-scope .xp-bar > span::after{content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
  animation:xp-shine 2.6s linear infinite;}
@keyframes xp-shine{from{transform:translateX(-100%)} to{transform:translateX(100%)}}
.nd-scope .xp-label{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; color:var(--nd-navy); font-family:'Sora',sans-serif}
.nd-scope .nd-card-hover{transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s; will-change:transform}
.nd-scope .nd-card-hover:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg)}
.nd-scope .tabs{display:flex; gap:8px; border-bottom:1px solid var(--nd-border); padding:0 4px}
.nd-scope .tab{padding:10px 16px; font-size:14px; font-weight:600; font-family:'Sora',sans-serif; color:var(--nd-muted); cursor:pointer; border:0; background:transparent; position:relative; transition:color .18s}
.nd-scope .tab:hover{color:var(--nd-navy)}
.nd-scope .tab.active{color:var(--nd-navy)}
.nd-scope .tab.active::after{content:""; position:absolute; left:14px; right:14px; bottom:-1px; height:3px; background:var(--nd-lime); border-radius:2px 2px 0 0}
.nd-scope .pill-tabs{display:inline-flex; gap:4px; background:rgba(15,26,58,.06); padding:4px; border-radius:var(--r-full)}
.nd-scope .pill-tab{padding:6px 14px; font-size:13px; font-weight:600; font-family:'Sora',sans-serif; color:var(--nd-muted); cursor:pointer; border:0; background:transparent; border-radius:var(--r-full); transition:all .2s}
.nd-scope .pill-tab.active{background:#fff; color:var(--nd-navy); box-shadow:var(--shadow-sm)}
.nd-scope .code{background:var(--nd-navy); color:#E6E6E1; border-radius:var(--r-md); padding:14px 16px; font-family:'JetBrains Mono',monospace; font-size:12.5px; line-height:1.6; overflow:auto}
.nd-scope .code .k{color:#FFB627}
.nd-scope .code .s{color:#A8E635}
.nd-scope .code .c{color:rgba(230,230,225,.45)}
.nd-scope .code .n{color:#7C5CFF}
.nd-scope kbd{display:inline-block; padding:2px 6px; border-radius:6px; background:#fff; border:1px solid var(--nd-border); border-bottom-width:2px; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--nd-navy)}
.nd-scope .tip{display:inline-block; background:var(--nd-navy); color:var(--nd-cream); padding:6px 10px; border-radius:8px; font-size:12px; font-weight:500; position:relative}
.nd-scope .tip::after{content:""; position:absolute; left:50%; bottom:-5px; transform:translateX(-50%); width:0; height:0; border:5px solid transparent; border-top-color:var(--nd-navy); border-bottom:0}
.nd-scope .modal-shell{background:rgba(15,26,58,.55); border-radius:var(--r-xl); padding:40px; display:flex; align-items:center; justify-content:center}
.nd-scope .modal{background:#fff; border-radius:var(--r-xl); padding:28px; width:100%; max-width:420px; box-shadow:var(--shadow-lg)}
.nd-scope .modal h4{margin-bottom:6px; font-size:20px}
.nd-scope .modal p{color:var(--nd-muted); font-size:14px; margin:0 0 18px}
.nd-scope .modal .actions{display:flex; gap:10px; justify-content:flex-end}
@keyframes nd-bob-a{0%,100%{transform:translateY(0) rotate(-1deg)} 50%{transform:translateY(-12px) rotate(1deg)}}
@keyframes nd-bob-b{0%,100%{transform:translateY(0) rotate(1deg)} 50%{transform:translateY(-9px) rotate(-1deg)}}
@keyframes nd-pulse{0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(.8)}}
@keyframes nd-spin{to{transform:rotate(360deg)}}
@keyframes nd-up{from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)}}
@keyframes nd-pop{0%{opacity:0;transform:scale(.5)} 70%{transform:scale(1.08)} 100%{opacity:1;transform:scale(1)}}
@keyframes nd-shake{0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-6px)} 40%,80%{transform:translateX(6px)}}
@keyframes nd-streak-pulse{0%,100%{transform:scale(1); filter:drop-shadow(0 0 0 transparent)} 50%{transform:scale(1.06); filter:drop-shadow(0 0 10px #FFB627)}}
@keyframes nd-glow-green{0%,100%{box-shadow:0 0 0 0 rgba(168,230,53,.6)} 50%{box-shadow:0 0 0 8px rgba(168,230,53,.25), 0 0 28px rgba(168,230,53,.4)}}
@keyframes nd-heart-beat{0%,100%{transform:scale(1)} 50%{transform:scale(1.15)}}
@keyframes nd-coin-spin{to{transform:rotateY(360deg)}}
@keyframes nd-confetti-fall{0%{transform:translateY(-20vh) rotate(0)} 100%{transform:translateY(110vh) rotate(720deg)}}
@keyframes nd-shimmer{from{background-position:-200% center} to{background-position:200% center}}
@keyframes nd-marquee{from{transform:translateX(0)} to{transform:translateX(-50%)}}
@keyframes lp-dash{to{stroke-dashoffset:-28}}
.nd-scope .demo-bob{animation:nd-bob-a 4s ease-in-out infinite}
.nd-scope .demo-pulse{animation:nd-pulse 2s ease-in-out infinite}
.nd-scope .demo-spin{animation:nd-spin .9s linear infinite}
.nd-scope .demo-up{animation:nd-up .55s cubic-bezier(.16,1,.3,1) both}
.nd-scope .demo-pop{animation:nd-pop .45s cubic-bezier(.16,1,.3,1) both}
.nd-scope .demo-shake{animation:nd-shake .4s ease}
.nd-scope .demo-streak{animation:nd-streak-pulse 1.6s ease-in-out infinite}
.nd-scope .demo-glow{animation:nd-glow-green 1.6s ease-out infinite}
.nd-scope .demo-heart{animation:nd-heart-beat 1.4s ease-in-out infinite}
.nd-scope .anim-box{display:flex; align-items:center; justify-content:center; height:120px; background:var(--nd-cream); border-radius:var(--r-md); margin-bottom:10px; position:relative; overflow:hidden}
.nd-scope .anim-card{text-align:center}
.nd-scope .anim-card .name{font-size:12px; font-family:'JetBrains Mono',monospace; color:var(--nd-muted)}
.nd-scope .nd-skeleton{background:linear-gradient(90deg, rgba(15,26,58,.05) 25%, rgba(15,26,58,.09) 50%, rgba(15,26,58,.05) 75%); background-size:200% auto; animation:nd-shimmer 1.4s linear infinite; border-radius:8px}
.nd-scope .coin{width:48px; height:48px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, #FFE066, #FFB627);
  border:3px solid #C88A00; display:flex; align-items:center; justify-content:center;
  color:#7A4A00; font-family:'Sora',sans-serif; font-weight:800; font-size:18px;
  animation:nd-coin-spin 5s linear infinite; transform-style:preserve-3d;}
.nd-scope .shadow-demo{background:#fff; border-radius:var(--r-lg); height:90px; display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--nd-muted)}
.nd-scope .s-sm{box-shadow:var(--shadow-sm)}
.nd-scope .s-md{box-shadow:var(--shadow-md)}
.nd-scope .s-lg{box-shadow:var(--shadow-lg)}
.nd-scope .s-lime{box-shadow:0 8px 28px rgba(168,230,53,.42), 0 2px 8px rgba(168,230,53,.18)}
.nd-scope .s-navy{box-shadow:0 8px 28px rgba(15,26,58,.35)}
.nd-scope .s-inner{box-shadow:inset 0 2px 6px rgba(15,26,58,.08)}
.nd-scope .radius-demo{background:var(--nd-navy); color:var(--nd-cream); display:flex; align-items:center; justify-content:center; height:80px; font-family:'JetBrains Mono',monospace; font-size:11px}
.nd-scope .hero{position:relative; overflow:hidden;
  background:var(--nd-cream);
  border-radius:var(--r-2xl); padding:64px 56px;
  border:1px solid var(--nd-border);}
.nd-scope .hero .deco-blob{position:absolute; width:380px; height:380px; right:-80px; top:-80px;
  background:radial-gradient(circle, rgba(168,230,53,.55), transparent 70%);
  filter:blur(40px);}
.nd-scope .hero .deco-blob.b2{left:-100px; bottom:-120px; right:auto; top:auto; background:radial-gradient(circle, rgba(124,92,255,.35), transparent 70%)}
.nd-scope .hero-inner{position:relative; max-width:680px}
.nd-scope .hero h1{font-size:64px; font-weight:800; line-height:1.05; letter-spacing:-.03em; margin-bottom:18px}
.nd-scope .hero h1 mark{background:var(--nd-lime); color:var(--nd-navy); padding:0 8px; border-radius:8px; font-style:normal}
.nd-scope .hero .tagline{font-size:18px; color:var(--nd-muted); margin-bottom:32px; max-width:520px}
.nd-scope .hero .actions{display:flex; gap:14px; flex-wrap:wrap}
.nd-scope .hero-meta{display:flex; gap:32px; margin-top:48px; flex-wrap:wrap}
.nd-scope .hero-meta .stat{display:flex; flex-direction:column}
.nd-scope .hero-meta .num{font-family:'Sora',sans-serif; font-weight:800; font-size:32px; line-height:1}
.nd-scope .hero-meta .lab{font-size:12px; color:var(--nd-muted); text-transform:uppercase; letter-spacing:.08em; margin-top:4px; font-weight:600}
.nd-scope .hero-mascot{position:absolute; right:48px; top:50%; transform:translateY(-50%); font-size:140px; animation:nd-bob-a 4s ease-in-out infinite}
.nd-scope .real-hero{position:relative; overflow:hidden;
  border-radius:24px;
  background:radial-gradient(120% 90% at 75% 0%, #EBE8DC 0%, #F4F2EA 65%);
  border:1px solid var(--nd-border);
  min-height:560px;
  padding:64px 56px 80px;}
.nd-scope .real-hero-bg{position:absolute; inset:0; overflow:hidden; pointer-events:none}
.nd-scope .rh-grid{position:absolute; inset:0;
  background-image: linear-gradient(rgba(15,26,58,.06) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(15,26,58,.06) 1px, transparent 1px);
  background-size: 64px 64px;}
.nd-scope .rh-iso{position:absolute; inset:0;
  background-image:
    linear-gradient(60deg, rgba(15,26,58,.04) 25%, transparent 25%, transparent 75%, rgba(15,26,58,.04) 75%),
    linear-gradient(-60deg, rgba(15,26,58,.04) 25%, transparent 25%, transparent 75%, rgba(15,26,58,.04) 75%);
  background-size:96px 56px;}
.nd-scope .rh-glow{position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none}
.nd-scope .rh-glow-lime{top:-150px; right:-100px; width:600px; height:600px;
  background:radial-gradient(circle, rgba(168,230,53,.45) 0%, transparent 60%);
  animation:rh-glow 6s ease-in-out infinite}
.nd-scope .rh-glow-navy{bottom:-100px; left:-50px; width:500px; height:500px;
  background:radial-gradient(circle, rgba(26,41,86,.25) 0%, transparent 65%)}
@keyframes rh-glow{0%,100%{opacity:.85}50%{opacity:1}}
.nd-scope .rh-particles{position:absolute; inset:0}
.nd-scope .rh-particles span{position:absolute; width:5px; height:5px; border-radius:50%;
  background:rgba(15,26,58,.18);
  animation:rh-part 8s ease-in-out infinite;}
.nd-scope .rh-particles span:nth-child(1){left:8%;  top:30%; animation-delay:0s}
.nd-scope .rh-particles span:nth-child(2){left:18%; top:65%; animation-delay:.5s; background:rgba(168,230,53,.55)}
.nd-scope .rh-particles span:nth-child(3){left:28%; top:18%; animation-delay:1s}
.nd-scope .rh-particles span:nth-child(4){left:36%; top:78%; animation-delay:1.5s; width:7px; height:7px}
.nd-scope .rh-particles span:nth-child(5){left:44%; top:42%; animation-delay:2s}
.nd-scope .rh-particles span:nth-child(6){left:52%; top:12%; animation-delay:2.5s; background:rgba(168,230,53,.55)}
.nd-scope .rh-particles span:nth-child(7){left:58%; top:85%; animation-delay:3s}
.nd-scope .rh-particles span:nth-child(8){left:66%; top:55%; animation-delay:3.5s; width:7px; height:7px}
.nd-scope .rh-particles span:nth-child(9){left:74%; top:25%; animation-delay:4s}
.nd-scope .rh-particles span:nth-child(10){left:82%; top:72%; animation-delay:4.5s; background:rgba(168,230,53,.55)}
.nd-scope .rh-particles span:nth-child(11){left:90%; top:48%; animation-delay:5s}
.nd-scope .rh-particles span:nth-child(12){left:14%; top:88%; animation-delay:5.5s}
.nd-scope .rh-particles span:nth-child(13){left:48%; top:60%; animation-delay:6s; width:7px; height:7px}
.nd-scope .rh-particles span:nth-child(14){left:88%; top:18%; animation-delay:6.5s; background:rgba(168,230,53,.55)}
.nd-scope .rh-particles span:nth-child(15){left:30%; top:50%; animation-delay:7s}
@keyframes rh-part{0%,100%{transform:translateY(0); opacity:.7}50%{transform:translateY(-22px); opacity:1}}
.nd-scope .real-hero-inner{position:relative; z-index:2;
  display:grid; grid-template-columns: 1.5fr 320px; gap:48px;
  align-items:center; max-width:1280px; margin:0 auto;}
@media (max-width:900px){
  .nd-scope .real-hero-inner{grid-template-columns:1fr}
}
.nd-scope .real-hero-text{display:flex; flex-direction:column; gap:0}
.nd-scope .rh-badge{display:inline-flex; align-items:center; gap:8px;
  padding:7px 16px; border-radius:999px;
  background:rgba(15,26,58,.06); color:var(--nd-navy);
  font-family:'Inter',sans-serif; font-size:12px; font-weight:500;
  width:fit-content;}
.nd-scope .rh-dot{width:7px; height:7px; border-radius:50%; background:var(--nd-lime); box-shadow:0 0 10px var(--nd-lime); animation:rh-pulse 1.6s ease-in-out infinite}
@keyframes rh-pulse{0%,100%{opacity:.6}50%{opacity:1}}
.nd-scope .rh-title{font-family:'Space Grotesk',sans-serif;
  font-size:clamp(48px, 6vw, 84px); font-weight:700; line-height:.96;
  letter-spacing:-0.04em; color:var(--nd-navy); margin:22px 0 0;}
.nd-scope .rh-mark{position:relative; display:inline-block}
.nd-scope .rh-mark-bg{position:absolute; bottom:.1em; left:-.04em; right:-.04em; height:.3em;
  background:var(--nd-lime); opacity:.85; z-index:1;
  transform:skewX(-8deg); border-radius:3px;
  animation:rh-glow-text 3s ease-in-out infinite;}
@keyframes rh-glow-text{0%,100%{opacity:.7}50%{opacity:1}}
.nd-scope .rh-mark-txt{position:relative; z-index:2}
.nd-scope .rh-sub{font-family:'Inter',sans-serif; font-size:19px; line-height:1.6;
  color:#3d3d3d; max-width:540px; margin:24px 0 32px;}
.nd-scope .rh-cta{display:flex; gap:12px; flex-wrap:wrap; align-items:center}
.nd-scope .rh-btn{display:inline-flex; align-items:center; gap:8px;
  border-radius:999px; border:0; cursor:pointer;
  font-family:'Inter',sans-serif; font-weight:700;
  transition:transform .2s, box-shadow .2s;}
.nd-scope .rh-btn-lime{background:var(--nd-lime); color:var(--nd-navy); padding:16px 28px; font-size:15px; box-shadow:0 8px 24px rgba(168,230,53,.35)}
.nd-scope .rh-btn-lime:hover{transform:translateY(-2px); box-shadow:0 12px 32px rgba(168,230,53,.45)}
.nd-scope .rh-btn-ghost{background:transparent; color:var(--nd-navy); padding:16px 22px; font-size:15px; border:1px solid rgba(15,26,58,.2); font-weight:600}
.nd-scope .rh-btn-ghost:hover{background:rgba(15,26,58,.04)}
.nd-scope .rh-cta-note{display:flex; align-items:center; gap:6px; font-family:'Inter',sans-serif; font-size:12px; color:#6b6855}
.nd-scope .rh-ticker{margin-top:32px; max-width:560px; overflow:hidden; mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent)}
.nd-scope .rh-ticker-track{display:flex; gap:32px; animation:rh-ticker 28s linear infinite; white-space:nowrap}
.nd-scope .rh-ticker-item{font-family:'Inter',sans-serif; font-size:12px; color:rgba(15,26,58,.6); display:inline-flex; align-items:center; gap:6px}
.nd-scope .rh-ticker-item strong{color:var(--nd-navy); font-weight:700}
@keyframes rh-ticker{from{transform:translateX(0)} to{transform:translateX(-50%)}}
.nd-scope .real-hero-mascot{position:relative; display:flex; flex-direction:column; align-items:center}
.nd-scope .rh-mascot-glow{position:absolute; top:-20px; left:50%; transform:translateX(-50%);
  width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(168,230,53,.25), transparent 70%);
  filter:blur(24px); z-index:0;}
.nd-scope .rh-mascot-img{position:relative; z-index:2;
  width:240px; height:auto; display:block;
  filter:drop-shadow(0 14px 36px rgba(15,26,58,.32));
  animation:nd-bob-a 4s ease-in-out infinite;}
.nd-scope .rh-mascot-fallback{position:relative; z-index:2; width:200px; height:200px;
  display:flex; align-items:center; justify-content:center; font-size:120px;
  filter:drop-shadow(0 10px 24px rgba(15,26,58,.25));
  animation:nd-bob-a 4s ease-in-out infinite;}
.nd-scope .rh-bubble{position:absolute; top:32px; right:-10px; z-index:4;
  background:var(--nd-navy); color:var(--nd-cream);
  padding:10px 14px; border-radius:14px; border-bottom-right-radius:4px;
  font-family:'Inter',sans-serif; font-size:13px;
  box-shadow:0 12px 30px rgba(15,26,58,.25);}
.nd-scope .rh-xp-card{margin-top:18px; background:#fff; border-radius:14px; padding:12px 18px;
  width:85%; box-shadow:0 8px 24px rgba(15,26,58,.08);
  border:1px solid rgba(15,26,58,.06);}
.nd-scope .rh-xp-head{display:flex; justify-content:space-between; font-family:'Inter',sans-serif; font-size:12px; color:var(--nd-navy); margin-bottom:6px}
.nd-scope .rh-xp-level{font-weight:600}
.nd-scope .rh-xp-pts{color:#6b6855}
.nd-scope .rh-xp-bar{height:6px; border-radius:3px; background:#EBE8DC; overflow:hidden}
.nd-scope .rh-xp-fill{width:78%; height:100%; background:linear-gradient(90deg, var(--nd-lime), #7FD158); border-radius:3px; box-shadow:0 0 8px rgba(168,230,53,.4); animation:rh-fill 2s cubic-bezier(.16,1,.3,1) .3s both}
@keyframes rh-fill{from{width:0}to{width:78%}}
.nd-scope .rh-scroll-cue{position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  font-family:'JetBrains Mono',monospace; font-size:11px; color:#6b6855;
  letter-spacing:.12em; text-transform:uppercase;
  display:flex; flex-direction:column; align-items:center; gap:6px;
  animation:rh-bounce 2.2s ease-in-out infinite;}
@keyframes rh-bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}
.nd-scope .hero.dark{background:var(--nd-navy); color:var(--nd-cream); border-color:transparent}
.nd-scope .hero.dark h1 mark{background:var(--nd-lime); color:var(--nd-navy)}
.nd-scope .hero.dark .tagline{color:rgba(244,242,234,.65)}
.nd-scope .navbar{display:flex; align-items:center; justify-content:space-between;
  padding:14px 22px; background:#fff; border:1px solid var(--nd-border);
  border-radius:var(--r-full); box-shadow:var(--shadow-sm);}
.nd-scope .navbar .logo{display:flex; align-items:center; gap:10px; font-family:'Sora',sans-serif; font-weight:800; font-size:18px; letter-spacing:-.01em}
.nd-scope .navbar .logo .mark{width:32px; height:32px; border-radius:8px; background:var(--nd-lime); display:flex; align-items:center; justify-content:center; color:var(--nd-navy); font-weight:800}
.nd-scope .navbar .links{display:flex; gap:6px}
.nd-scope .navbar .links a{padding:8px 14px; border-radius:var(--r-full); color:var(--nd-navy); text-decoration:none; font-size:14px; font-weight:500; transition:background .18s}
.nd-scope .navbar .links a:hover,.nd-scope .navbar .links a.active{background:rgba(15,26,58,.06)}
.nd-scope .navbar .links a.active{font-weight:600}
.nd-scope .sidebar{background:#fff; border:1px solid var(--nd-border); border-radius:var(--r-xl); padding:16px; min-height:480px}
.nd-scope .side-section{margin-bottom:8px}
.nd-scope .side-section .h{font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--nd-muted); font-weight:600; padding:8px 12px; font-family:'Sora',sans-serif}
.nd-scope .side-item{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:var(--r-md); cursor:pointer; color:var(--nd-navy); font-size:14px; font-weight:500; transition:background .18s}
.nd-scope .side-item:hover{background:rgba(15,26,58,.05)}
.nd-scope .side-item.active{background:var(--nd-navy); color:var(--nd-cream); font-weight:600}
.nd-scope .side-item .ic{width:18px; height:18px; opacity:.7}
.nd-scope .side-item .badge{margin-left:auto}
.nd-scope .bread{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--nd-muted)}
.nd-scope .bread a{color:var(--nd-navy); text-decoration:none}
.nd-scope .bread a:hover{text-decoration:underline}
.nd-scope .bread .sep{opacity:.5}
.nd-scope .bread .current{color:var(--nd-navy); font-weight:600}
.nd-scope .paginate{display:inline-flex; gap:4px}
.nd-scope .paginate button{width:36px; height:36px; border:1px solid var(--nd-border); background:#fff; border-radius:var(--r-md); cursor:pointer; font-family:'Sora',sans-serif; font-weight:600; font-size:13px}
.nd-scope .paginate button:hover{background:rgba(15,26,58,.05)}
.nd-scope .paginate button.active{background:var(--nd-navy); color:var(--nd-cream); border-color:var(--nd-navy)}
.nd-scope .accordion{border:1px solid var(--nd-border); border-radius:var(--r-lg); overflow:hidden; background:#fff}
.nd-scope .acc-item{border-bottom:1px solid var(--nd-border)}
.nd-scope .acc-item:last-child{border-bottom:0}
.nd-scope .acc-trigger{display:flex; align-items:center; justify-content:space-between; width:100%;
  padding:18px 20px; background:transparent; border:0; cursor:pointer;
  font-family:'Sora',sans-serif; font-weight:600; font-size:15px; color:var(--nd-navy);
  text-align:left;}
.nd-scope .acc-trigger .chev{transition:transform .25s; font-size:16px}
.nd-scope .acc-item.open .acc-trigger{background:rgba(168,230,53,.08)}
.nd-scope .acc-item.open .chev{transform:rotate(180deg)}
.nd-scope .acc-body{padding:0 20px 20px; color:var(--nd-muted); font-size:14px; line-height:1.6}
.nd-scope .acc-item:not(.open) .acc-body{display:none}
.nd-scope .dropdown{background:#fff; border:1px solid var(--nd-border); border-radius:var(--r-md);
  box-shadow:var(--shadow-md); padding:6px; min-width:220px;}
.nd-scope .dd-item{display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:var(--r-sm); cursor:pointer; font-size:14px}
.nd-scope .dd-item:hover{background:rgba(15,26,58,.05)}
.nd-scope .dd-item .ic{width:16px; height:16px; opacity:.6}
.nd-scope .dd-sep{height:1px; background:var(--nd-border); margin:4px 0}
.nd-scope .dd-item.danger{color:var(--nd-error)}
.nd-scope .stat-card{padding:24px; border-radius:var(--r-xl); background:#fff; border:1px solid var(--nd-border)}
.nd-scope .stat-card .label{font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--nd-muted); font-weight:600}
.nd-scope .stat-card .value{font-family:'Sora',sans-serif; font-size:36px; font-weight:700; margin-top:6px; line-height:1}
.nd-scope .stat-card .delta{margin-top:8px; font-size:12px; font-weight:600; color:#2E5F00}
.nd-scope .stat-card .delta.down{color:#A33800}
.nd-scope .course-card{background:#fff; border-radius:var(--r-xl); overflow:hidden; border:1px solid var(--nd-border)}
.nd-scope .course-card .cover{height:140px; background:linear-gradient(135deg, var(--nd-lime), #DCFF82); display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:700; font-size:32px; color:var(--nd-navy); position:relative}
.nd-scope .course-card .cover .play{position:absolute; bottom:12px; right:12px; width:42px; height:42px; border-radius:50%; background:rgba(15,26,58,.85); color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px}
.nd-scope .course-card .body{padding:18px}
.nd-scope .course-card .body h4{font-size:17px; font-weight:600; margin-bottom:4px}
.nd-scope .course-card .body p{font-size:13px; color:var(--nd-muted); margin:0 0 14px}
.nd-scope .course-card .foot{display:flex; align-items:center; justify-content:space-between}
.nd-scope .price-card{background:#fff; border:1px solid var(--nd-border); border-radius:var(--r-xl);
  padding:28px; position:relative;}
.nd-scope .price-card.featured{background:var(--nd-navy); color:var(--nd-cream); border-color:transparent; transform:scale(1.03)}
.nd-scope .price-card.featured .badge{position:absolute; top:-12px; left:50%; transform:translateX(-50%)}
.nd-scope .price-card .plan{font-family:'Sora',sans-serif; font-weight:700; font-size:18px; margin-bottom:4px}
.nd-scope .price-card .desc{font-size:13px; color:var(--nd-muted); margin-bottom:18px}
.nd-scope .price-card.featured .desc{color:rgba(244,242,234,.6)}
.nd-scope .price-card .amount{font-family:'Sora',sans-serif; font-weight:800; font-size:48px; line-height:1}
.nd-scope .price-card .amount small{font-size:14px; font-weight:500; color:var(--nd-muted); margin-left:4px}
.nd-scope .price-card.featured .amount small{color:rgba(244,242,234,.6)}
.nd-scope .price-card ul{list-style:none; padding:0; margin:24px 0; font-size:14px}
.nd-scope .price-card ul li{padding:8px 0; display:flex; align-items:center; gap:10px}
.nd-scope .price-card ul li::before{content:"✓"; color:var(--nd-lime); font-weight:700}
.nd-scope .price-card.featured ul li::before{color:var(--nd-lime)}
.nd-scope .testimonial{background:#fff; border:1px solid var(--nd-border); border-radius:var(--r-xl); padding:24px;}
.nd-scope .testimonial .quote{font-family:'Sora',sans-serif; font-size:16px; font-weight:500; line-height:1.55; margin-bottom:18px}
.nd-scope .testimonial .author{display:flex; align-items:center; gap:12px}
.nd-scope .testimonial .author .info .name{font-weight:600; font-size:14px}
.nd-scope .testimonial .author .info .role{font-size:12px; color:var(--nd-muted)}
.nd-scope .stars{color:#FFB627; font-size:14px; letter-spacing:2px}
.nd-scope .empty{text-align:center; padding:48px 24px; background:rgba(15,26,58,.02);
  border:1px dashed var(--nd-border-strong); border-radius:var(--r-xl);}
.nd-scope .empty .ico{font-size:48px; margin-bottom:12px; display:inline-block}
.nd-scope .empty h4{font-size:18px; margin-bottom:6px}
.nd-scope .empty p{color:var(--nd-muted); font-size:14px; margin:0 0 18px}
.nd-scope .notif-bell{position:relative; display:inline-flex; padding:10px; border-radius:50%; background:rgba(15,26,58,.05); cursor:pointer}
.nd-scope .notif-bell .dot{position:absolute; top:6px; right:6px; width:10px; height:10px; border-radius:50%; background:var(--nd-error); border:2px solid #fff}
.nd-scope .chat-bubble{padding:10px 14px; border-radius:18px; max-width:260px; font-size:14px; line-height:1.5}
.nd-scope .chat-bubble.me{background:var(--nd-navy); color:var(--nd-cream); border-bottom-right-radius:6px; align-self:flex-end}
.nd-scope .chat-bubble.them{background:rgba(15,26,58,.07); color:var(--nd-navy); border-bottom-left-radius:6px}
.nd-scope .chat-stack{display:flex; flex-direction:column; gap:8px}
.nd-scope .rating{display:inline-flex; gap:2px; font-size:22px; color:#FFB627}
.nd-scope .timeline{position:relative; padding-left:28px}
.nd-scope .timeline::before{content:""; position:absolute; left:8px; top:8px; bottom:8px; width:2px; background:var(--nd-border)}
.nd-scope .tl-item{position:relative; padding-bottom:24px}
.nd-scope .tl-item::before{content:""; position:absolute; left:-24px; top:6px; width:12px; height:12px; border-radius:50%; background:#fff; border:3px solid var(--nd-lime)}
.nd-scope .tl-item.done::before{background:var(--nd-lime)}
.nd-scope .tl-item .when{font-size:11px; color:var(--nd-muted); text-transform:uppercase; letter-spacing:.08em; font-weight:600}
.nd-scope .tl-item .what{font-family:'Sora',sans-serif; font-weight:600; margin-top:2px}
.nd-scope .event-stack{display:flex; flex-direction:column; gap:14px}
.nd-scope .ev-card{display:flex; gap:0; background:#fff; border-radius:16px;
  border:1.5px solid rgba(15,26,58,.07); overflow:hidden;
  box-shadow:0 2px 8px rgba(15,26,58,.04);
  font-family:'Inter',sans-serif;
  transition:transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s, border-color .22s;}
.nd-scope .ev-card:hover{transform:translateY(-3px); box-shadow:0 16px 40px rgba(15,26,58,.10); border-color:rgba(168,230,53,.4)}
.nd-scope .ev-card.ev-past{opacity:.65}
.nd-scope .ev-card.ev-past .ev-date{background:rgba(15,26,58,.07)}
.nd-scope .ev-card.ev-past .ev-day{color:rgba(15,26,58,.3)}
.nd-scope .ev-card.ev-past .ev-month{color:rgba(15,26,58,.2)}
.nd-scope .ev-date{width:84px; flex-shrink:0;
  background:linear-gradient(160deg, #1A2956, #0F1A3A);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:16px 6px; gap:2px;}
.nd-scope .ev-day{font-family:'Space Grotesk',sans-serif; font-size:34px; font-weight:800; line-height:1; color:#fff}
.nd-scope .ev-month{font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--nd-lime)}
.nd-scope .ev-year{font-family:'JetBrains Mono',monospace; font-size:9px; color:rgba(244,242,234,.35); margin-top:2px}
.nd-scope .ev-main{flex:1; min-width:0; padding:16px 20px; display:flex; flex-direction:column; gap:8px}
.nd-scope .ev-tags{display:flex; gap:6px; flex-wrap:wrap}
.nd-scope .ev-type{display:inline-flex; align-items:center; gap:5px;
  padding:3px 10px; border-radius:99px;
  font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  border:1px solid;}
.nd-scope .ev-status{padding:3px 10px; border-radius:99px; font-size:10px; font-weight:600; display:inline-flex; align-items:center; gap:5px}
.nd-scope .ev-upcoming{background:rgba(168,230,53,.15); color:#2E6B1A; border:1px solid rgba(168,230,53,.3)}
.nd-scope .ev-past-tag{background:rgba(15,26,58,.06); color:rgba(15,26,58,.35); border:1px solid rgba(15,26,58,.1)}
.nd-scope .ev-pulse{width:5px; height:5px; border-radius:50%; background:#7FD158; animation:ev-pulse 1.6s ease-in-out infinite}
@keyframes ev-pulse{0%,100%{opacity:.5}50%{opacity:1}}
.nd-scope .ev-title{font-family:'Space Grotesk',sans-serif; font-size:17px; font-weight:700; color:var(--nd-navy); margin:0; letter-spacing:-.01em; line-height:1.25}
.nd-scope .ev-card:hover .ev-title{color:#5BA8D9}
.nd-scope .ev-desc{font-size:13px; color:rgba(15,26,58,.55); line-height:1.55; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.nd-scope .ev-meta{display:flex; flex-wrap:wrap; gap:14px; font-size:11px; color:rgba(15,26,58,.5); font-family:'JetBrains Mono',monospace}
.nd-scope .ev-cta{align-self:flex-start; margin-top:2px;
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 16px; border-radius:10px;
  background:var(--nd-lime); color:var(--nd-navy);
  font-family:'Inter',sans-serif; font-size:12px; font-weight:700;
  text-decoration:none; transition:background .2s, color .2s;}
.nd-scope .ev-cta:hover{background:var(--nd-navy); color:var(--nd-lime)}
.nd-scope .ev-thumb{width:120px; flex-shrink:0; overflow:hidden}
@media (max-width:700px){
  .nd-scope .ev-card{flex-wrap:wrap}
  .nd-scope .ev-thumb{width:100%; height:120px}
}
.nd-scope .stepper{display:flex; align-items:center; gap:0}
.nd-scope .step{display:flex; align-items:center; gap:10px; flex:1}
.nd-scope .step .circle{width:32px; height:32px; border-radius:50%; background:rgba(15,26,58,.08); color:var(--nd-muted); display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:700; font-size:13px; flex-shrink:0}
.nd-scope .step.done .circle{background:var(--nd-lime); color:var(--nd-navy)}
.nd-scope .step.active .circle{background:var(--nd-navy); color:var(--nd-cream)}
.nd-scope .step .lab{font-family:'Sora',sans-serif; font-size:13px; font-weight:600; color:var(--nd-muted)}
.nd-scope .step.done .lab,.nd-scope .step.active .lab{color:var(--nd-navy)}
.nd-scope .step + .step::before{content:""; height:2px; flex:1; background:rgba(15,26,58,.08); margin:0 12px}
.nd-scope .step.done + .step::before,.nd-scope .step.done + .step.done::before{background:var(--nd-lime)}
.nd-scope .path-svg{width:100%; height:280px}
.nd-scope .path-svg .track{stroke:rgba(15,26,58,.12); stroke-width:4; fill:none}
.nd-scope .path-svg .flow{stroke:var(--nd-lime); stroke-width:4; fill:none; stroke-dasharray:14 14; animation:lp-dash .85s linear infinite}
.nd-scope .path-node{fill:#fff; stroke:var(--nd-lime); stroke-width:3}
.nd-scope .path-node.done{fill:var(--nd-lime)}
.nd-scope .path-node.locked{fill:rgba(15,26,58,.1); stroke:rgba(15,26,58,.2)}
.nd-scope .lp-flow{animation:lp-dash 1.2s linear infinite}
.nd-scope .lp-flow-lck{animation:lp-dash-lck 2.4s linear infinite; opacity:.6}
@keyframes lp-dash-lck{from{stroke-dashoffset:0}to{stroke-dashoffset:-24}}
.nd-scope .lp-node{animation:lp-pulse 1.6s ease-in-out infinite}
@keyframes lp-pulse{0%,100%{opacity:.65; transform:scale(1); transform-origin:center}50%{opacity:1; transform:scale(1.18); transform-origin:center}}
.nd-scope .lp-legend{display:inline-flex; align-items:center; gap:6px; font-family:'Inter',sans-serif; font-size:11px; color:rgba(244,242,234,.65)}
.nd-scope .lp-leg-dot{width:8px; height:8px; border-radius:50%}
.nd-scope .evt-card{display:flex; align-items:center; gap:14px; padding:14px; border-radius:var(--r-lg);
  background:#fff; border:1px solid var(--nd-border);}
.nd-scope .evt-card .date{width:56px; flex-shrink:0; text-align:center; padding:8px;
  background:var(--nd-navy); color:var(--nd-cream); border-radius:var(--r-md);}
.nd-scope .evt-card .date .m{font-size:10px; text-transform:uppercase; font-weight:700; letter-spacing:.08em}
.nd-scope .evt-card .date .d{font-family:'Sora',sans-serif; font-weight:800; font-size:22px; line-height:1.1}
.nd-scope .evt-card .info{flex:1}
.nd-scope .evt-card .info .title{font-family:'Sora',sans-serif; font-weight:600; font-size:14px}
.nd-scope .evt-card .info .meta{font-size:12px; color:var(--nd-muted); margin-top:2px}
.nd-scope .quiz-card{background:#fff; border:1px solid var(--nd-border); border-radius:var(--r-xl); padding:24px;}
.nd-scope .quiz-card .head{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px}
.nd-scope .quiz-card .q{font-family:'Sora',sans-serif; font-size:18px; font-weight:600; margin-bottom:18px}
.nd-scope .quiz-opt{display:flex; align-items:center; gap:12px; padding:14px 16px;
  background:#fff; border:1.5px solid var(--nd-border); border-radius:var(--r-lg);
  cursor:pointer; font-size:14px; font-weight:500; margin-bottom:10px;
  transition:all .18s;}
.nd-scope .quiz-opt:hover{border-color:var(--nd-navy); transform:translateX(4px)}
.nd-scope .quiz-opt .letter{width:28px; height:28px; border-radius:50%; background:rgba(15,26,58,.06); display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:700; font-size:12px}
.nd-scope .quiz-opt.right{background:rgba(168,230,53,.15); border-color:var(--nd-lime); animation:nd-pop .45s cubic-bezier(.16,1,.3,1)}
.nd-scope .quiz-opt.right .letter{background:var(--nd-lime); color:var(--nd-navy)}
.nd-scope .quiz-opt.wrong{background:rgba(255,71,87,.08); border-color:var(--nd-error); animation:nd-shake .4s ease}
.nd-scope .quiz-opt.wrong .letter{background:var(--nd-error); color:#fff}
.nd-scope .lives{display:inline-flex; gap:6px; align-items:center}
.nd-scope .life{font-size:22px; color:var(--nd-error)}
.nd-scope .life.lost{opacity:.2; filter:grayscale(1)}
.nd-scope .streak{display:inline-flex; align-items:center; gap:8px; padding:8px 14px; background:rgba(255,182,39,.15); border-radius:var(--r-full); font-family:'Sora',sans-serif; font-weight:700; color:#A36800}
.nd-scope .streak .flame{font-size:18px; animation:nd-streak-pulse 1.6s ease-in-out infinite}
.nd-scope .achievement{display:flex; align-items:center; gap:14px;
  padding:14px; background:#fff; border:1px solid var(--nd-border); border-radius:var(--r-lg);}
.nd-scope .achievement .medal{width:48px; height:48px; flex-shrink:0; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:22px;
  background:linear-gradient(135deg, #FFD66B, #FFB627); border:2px solid #C88A00;}
.nd-scope .achievement.silver .medal{background:linear-gradient(135deg,#E5E5E5,#B0B0B0); border-color:#888}
.nd-scope .achievement.bronze .medal{background:linear-gradient(135deg,#E6A874,#B57043); border-color:#7A4520}
.nd-scope .achievement.locked{opacity:.5}
.nd-scope .achievement.locked .medal{background:rgba(15,26,58,.08); border-color:transparent}
.nd-scope .achievement .info .name{font-family:'Sora',sans-serif; font-weight:600; font-size:14px}
.nd-scope .achievement .info .desc{font-size:12px; color:var(--nd-muted)}
.nd-scope .lb{display:flex; flex-direction:column}
.nd-scope .lb-row{display:flex; align-items:center; gap:14px; padding:12px 14px; border-radius:var(--r-md); background:#fff; border:1px solid var(--nd-border); margin-bottom:8px}
.nd-scope .lb-row.me{background:rgba(168,230,53,.1); border-color:var(--nd-lime)}
.nd-scope .lb-rank{font-family:'Sora',sans-serif; font-weight:800; font-size:16px; color:var(--nd-muted); width:24px; text-align:center}
.nd-scope .lb-row.top-1 .lb-rank{color:#FFB627; font-size:22px}
.nd-scope .lb-row.top-2 .lb-rank{color:#A8A8A8}
.nd-scope .lb-row.top-3 .lb-rank{color:#CD7F32}
.nd-scope .lb-name{flex:1; font-weight:600; font-size:14px}
.nd-scope .lb-xp{font-family:'Sora',sans-serif; font-weight:700; color:#2E5F00; font-size:14px}
.nd-scope .marquee-wrap{overflow:hidden; padding:14px 0; mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent)}
.nd-scope .marquee-track{display:flex; gap:32px; width:max-content; animation:nd-marquee 28s linear infinite}
.nd-scope .marquee-track .item{display:inline-flex; align-items:center; gap:8px; padding:8px 18px; background:#fff; border:1px solid var(--nd-border); border-radius:var(--r-full); font-family:'Sora',sans-serif; font-weight:600; font-size:13px; white-space:nowrap}
.nd-scope .page-404{background:var(--nd-cream); border-radius:var(--r-xl); padding:48px; text-align:center; border:1px solid var(--nd-border)}
.nd-scope .page-404 .big-num{font-family:'Sora',sans-serif; font-size:120px; font-weight:800; line-height:1; letter-spacing:-.04em; color:var(--nd-navy)}
.nd-scope .page-404 .big-num span{color:var(--nd-lime)}
.nd-scope .confetti-zone{position:relative; height:120px; background:var(--nd-navy); border-radius:var(--r-lg); overflow:hidden; display:flex; align-items:center; justify-content:center; color:var(--nd-cream); font-family:'Sora',sans-serif; font-weight:700}
.nd-scope .confetti{position:absolute; width:8px; height:14px; top:-20px; animation:nd-confetti-fall 3s linear infinite}
.nd-scope .logo-mark{display:inline-flex; align-items:center; gap:10px; font-family:'Sora',sans-serif; font-weight:800; font-size:22px}
.nd-scope .logo-mark .m{width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:18px}
.nd-scope .logo-mark.lime .m{background:var(--nd-lime); color:var(--nd-navy)}
.nd-scope .logo-mark.navy .m{background:var(--nd-navy); color:var(--nd-cream)}
.nd-scope .logo-mark.outline .m{background:transparent; border:2px solid var(--nd-navy); color:var(--nd-navy)}
.nd-scope .foot-mock{background:var(--nd-navy); color:var(--nd-cream); border-radius:var(--r-xl); padding:48px}
.nd-scope .foot-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:32px}
.nd-scope .foot-grid h5{font-size:13px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:14px; color:var(--nd-lime)}
.nd-scope .foot-grid a{display:block; color:rgba(244,242,234,.7); text-decoration:none; font-size:14px; padding:4px 0}
.nd-scope .foot-grid a:hover{color:var(--nd-cream)}
.nd-scope .row{display:flex; align-items:center; gap:12px; flex-wrap:wrap}
.nd-scope .col{display:flex; flex-direction:column; gap:12px}
.nd-scope hr.sep{border:0; border-top:1px solid var(--nd-border); margin:24px 0}
.nd-scope .kit-foot{margin-top:96px; padding-top:32px; border-top:1px solid var(--nd-border); display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--nd-muted)}
.nd-scope .preview-frame{padding:32px; background:var(--nd-page-bg); border-radius:var(--r-xl); border:1px dashed var(--nd-border)}
.nd-scope .t-info{display:inline-block; margin-left:6px;
  padding:2px 10px; background:rgba(168,230,53,.18); color:#2E5F00;
  border-radius:var(--r-full); font-size:11px;
  font-family:'DM Sans',sans-serif; font-weight:500; font-style:normal;
  vertical-align:middle;}
.nd-scope .t-info::before{content:"💡 "; font-size:10px}
.nd-scope .simple-note{display:block; margin-top:4px; font-size:12px; color:var(--nd-muted);
  font-style:italic; font-family:'DM Sans',sans-serif;}
.nd-scope .simple-note::before{content:"💡 "; font-style:normal}
.nd-scope .mascot-card{display:flex; flex-direction:column; align-items:center; gap:10px;
  padding:18px; background:var(--nd-card-bg); border:1px solid var(--nd-border); border-radius:var(--r-xl);
  text-align:center;}
.nd-scope .mascot-fig{width:100px; height:100px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(168,230,53,.4), rgba(15,26,58,.05));
  display:flex; align-items:center; justify-content:center;
  font-size:54px; filter:drop-shadow(0 10px 30px rgba(15,26,58,.25));}
.nd-scope .mascot-fig.float{animation:nd-bob-a 4s ease-in-out infinite}
.nd-scope .mascot-name{font-family:'Sora',sans-serif; font-weight:700; font-size:14px}
.nd-scope .mascot-pose{font-size:11px; color:var(--nd-muted); text-transform:uppercase; letter-spacing:.08em; font-weight:600}
.nd-scope .mascot-real-card{display:flex; flex-direction:column; align-items:center; gap:10px;
  padding:24px 18px;
  background:linear-gradient(180deg, rgba(168,230,53,.06) 0%, var(--nd-card-bg) 60%);
  border:1px solid var(--nd-border);
  border-radius:var(--r-xl);
  text-align:center;
  transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s;}
.nd-scope .mascot-real-card:hover{transform:translateY(-4px); box-shadow:0 18px 40px rgba(15,26,58,.08)}
.nd-scope .mascot-real-img-wrap{width:160px; height:160px; display:flex; align-items:center; justify-content:center;
  position:relative;}
.nd-scope .mascot-real-img-wrap::before{content:""; position:absolute; inset:10px;
  background:radial-gradient(circle at 50% 60%, rgba(168,230,53,.35) 0%, transparent 65%);
  filter:blur(12px); z-index:0; border-radius:50%;}
.nd-scope .mascot-real-img{position:relative; z-index:1;
  width:100%; height:100%; object-fit:contain;
  filter:drop-shadow(0 12px 28px rgba(15,26,58,.28));
  -webkit-user-drag:none; user-select:none; pointer-events:none;}
.nd-scope .mascot-real-fb{position:relative; z-index:1;
  width:140px; height:140px; align-items:center; justify-content:center;
  font-size:96px; filter:drop-shadow(0 10px 24px rgba(15,26,58,.2));}
.nd-scope .float-anim{animation:nd-bob-a 4s ease-in-out infinite}
.nd-scope .mascot-real-name{font-family:'Sora',sans-serif; font-weight:700; font-size:16px; color:var(--nd-navy)}
.nd-scope .mascot-real-use{font-size:11px; color:var(--nd-muted); text-transform:uppercase; letter-spacing:.06em; font-weight:600}
.nd-scope .bg-demo{height:200px; border-radius:var(--r-xl); border:1px solid var(--nd-border);
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:var(--nd-card-bg);}
.nd-scope .bg-demo .demo-label{position:absolute; bottom:12px; left:12px;
  background:rgba(15,26,58,.85); color:var(--nd-cream);
  padding:6px 10px; border-radius:var(--r-md);
  font-family:'JetBrains Mono',monospace; font-size:11px;}
.nd-scope .bg-iso{background-color:var(--nd-cream);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><g fill='none' stroke='%230F1A3A' stroke-opacity='.08' stroke-width='1'><path d='M40 0 L80 20 L40 40 L0 20 Z'/><path d='M40 40 L80 60 L40 80 L0 60 Z'/></g></svg>");}
.nd-scope .bg-grid{background-color:var(--nd-card-bg);
  background-image:
    linear-gradient(rgba(15,26,58,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,26,58,.08) 1px, transparent 1px);
  background-size:24px 24px;}
.nd-scope .bg-dots{background-color:var(--nd-card-bg);
  background-image:radial-gradient(rgba(15,26,58,.18) 1.5px, transparent 1.5px);
  background-size:20px 20px;}
.nd-scope .bg-blobs{background:var(--nd-cream); position:relative;}
.nd-scope .bg-blobs::before{content:""; position:absolute; width:260px; height:260px; right:-60px; top:-60px; background:radial-gradient(circle, rgba(168,230,53,.6), transparent 70%); filter:blur(40px)}
.nd-scope .bg-blobs::after{content:""; position:absolute; width:220px; height:220px; left:-50px; bottom:-50px; background:radial-gradient(circle, rgba(124,92,255,.45), transparent 70%); filter:blur(50px)}
.nd-scope .bg-mesh{background:
    radial-gradient(at 20% 30%, rgba(168,230,53,.4) 0%, transparent 40%),
    radial-gradient(at 80% 20%, rgba(124,92,255,.4) 0%, transparent 40%),
    radial-gradient(at 50% 80%, rgba(91,168,217,.35) 0%, transparent 40%),
    var(--nd-cream);}
.nd-scope .bg-noise{background-color:var(--nd-cream);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' /></filter><rect width='100' height='100' filter='url(%23n)' opacity='0.5'/></svg>");}
@keyframes nd-heart-break{0%{transform:scale(1) rotate(0deg)}
  25%{transform:scale(1.45) rotate(-18deg)}
  50%{transform:scale(.75) rotate(10deg); opacity:.55}
  75%{transform:scale(.5) rotate(-6deg); opacity:.3}
  100%{transform:scale(1) rotate(0deg); opacity:.2}}
@keyframes nd-heart-appear{0%{transform:scale(0) rotate(-25deg); opacity:0}
  65%{transform:scale(1.25) rotate(6deg); opacity:1}
  100%{transform:scale(1) rotate(0deg); opacity:1}}
@keyframes nd-danger-pulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}
  50%{box-shadow:0 0 0 5px rgba(239,68,68,.28)}}
@keyframes nd-gameover-hearts{0%,100%{transform:translateY(0) scale(1); opacity:.25}
  50%{transform:translateY(-8px) scale(1.05); opacity:.15}}
.nd-scope .demo-heart-break{animation:nd-heart-break .65s cubic-bezier(.16,1,.3,1) infinite}
.nd-scope .demo-heart-appear{animation:nd-heart-appear .5s cubic-bezier(.16,1,.3,1) infinite alternate}
.nd-scope .demo-danger-pulse{display:inline-block; border-radius:50%; padding:6px; animation:nd-danger-pulse 1.3s ease-in-out infinite}
.nd-scope .demo-gameover{animation:nd-gameover-hearts 2.5s ease-in-out infinite}
@keyframes nd-combo-pop{0%{transform:scale(.4) translateY(0); opacity:0}
  35%{transform:scale(1.18) translateY(-6px); opacity:1}
  65%{transform:scale(1) translateY(-4px); opacity:1}
  100%{transform:scale(.85) translateY(-10px); opacity:0}}
@keyframes nd-xp-float{0%{transform:translateY(0); opacity:1}
  100%{transform:translateY(-60px); opacity:0}}
.nd-scope .combo-pop{display:inline-block; padding:10px 18px;
  background:var(--nd-navy); color:var(--nd-lime);
  border-radius:var(--r-full); font-family:'Sora',sans-serif; font-weight:800; font-size:18px;
  box-shadow:0 0 0 4px rgba(168,230,53,.3), 0 12px 30px rgba(15,26,58,.4);
  animation:nd-combo-pop 1.6s ease-in-out infinite;}
.nd-scope .xp-float{display:inline-flex; align-items:center; gap:6px;
  font-family:'Sora',sans-serif; font-weight:700; color:#2E5F00;
  text-shadow:0 0 12px rgba(168,230,53,.6);
  animation:nd-xp-float 1.6s ease-out infinite;}
@keyframes nd-tut-point{0%,100%{transform:translateY(0)} 55%{transform:translateY(7px)}}
@keyframes nd-tut-point-up{0%,100%{transform:translateY(0)} 55%{transform:translateY(-7px)}}
.nd-scope .tut-point{display:inline-block; font-size:32px; color:var(--nd-lime); animation:nd-tut-point 1.1s infinite}
.nd-scope .tut-point-up{display:inline-block; font-size:32px; color:var(--nd-lime); animation:nd-tut-point-up 1.1s infinite}
.nd-scope .coin-3d-wrap{display:flex; justify-content:center; perspective:300px}
.nd-scope .coin-3d{width:54px; height:54px; transform-style:preserve-3d;
  animation:nd-coin-spin 4s linear infinite;
  position:relative;}
.nd-scope .coin-face{position:absolute; inset:0; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Sora',sans-serif; font-weight:800; backface-visibility:hidden;}
.nd-scope .coin-face.front{background:conic-gradient(from 45deg, #CEFF55, #A8E635, #D6FF62, #7FC020, #A8E635, #CEFF55);
  color:rgba(15,26,58,.35); font-size:24px;
  box-shadow:inset 0 3px 8px rgba(255,255,255,.55), 0 4px 10px rgba(127,192,32,.35);}
.nd-scope .coin-face.back{background:linear-gradient(135deg, #7FC020, #5E9E10);
  transform:rotateY(180deg); color:rgba(255,255,255,.4); font-size:18px;}
.nd-scope .coin-3d-shadow{position:absolute; bottom:-12px; left:50%; transform:translateX(-50%);
  width:50px; height:8px; border-radius:50%;
  background:radial-gradient(ellipse, rgba(127,192,32,.6), transparent 70%);
  filter:blur(4px);}
.nd-scope .streak-cal{display:flex; gap:8px; flex-wrap:wrap}
.nd-scope .streak-day{width:42px; height:50px; border-radius:var(--r-md);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-size:18px; font-family:'Sora',sans-serif; font-weight:700;
  background:rgba(15,26,58,.06); color:var(--nd-muted);}
.nd-scope .streak-day .lab{font-size:9px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:2px; font-weight:600}
.nd-scope .streak-day.done{background:linear-gradient(135deg, #FF8A00, #FF4757); color:#fff;
  box-shadow:0 4px 12px rgba(255,71,87,.3);}
.nd-scope .streak-day.today{background:var(--nd-lime); color:var(--nd-navy);
  box-shadow:0 0 0 3px rgba(168,230,53,.3);}
.nd-scope .particle-field{position:relative; height:200px; border-radius:var(--r-xl); overflow:hidden;
  background:var(--nd-navy);}
.nd-scope .particle-field .particle{position:absolute; bottom:-20px;
  animation:particle-rise 6s linear infinite;}
@keyframes particle-rise{0%{transform:translateY(0); opacity:0}
  20%,80%{opacity:1}
  100%{transform:translateY(-240px); opacity:0}}
.nd-scope .particle.dot{width:6px; height:6px; border-radius:50%; background:var(--nd-lime); box-shadow:0 0 8px var(--nd-lime)}
.nd-scope .particle.ring{width:10px; height:10px; border:2px solid var(--nd-lime); border-radius:50%}
.nd-scope .particle.plus{color:var(--nd-lime); font-size:14px; font-weight:700}
.nd-scope .branch-star{width:90px; height:90px; position:relative;
  background:conic-gradient(from 0deg, #A8E635, #FFB627, #FF4757, #7C5CFF, #5BA8D9, #A8E635);
  clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  animation:nd-coin-spin 12s linear infinite;}
.nd-scope .cat-ring{position:relative; width:80px; height:80px;
  display:flex; align-items:center; justify-content:center;}
.nd-scope .cat-ring svg{position:absolute; inset:0; transform:rotate(-90deg)}
.nd-scope .cat-ring .cat-icon{font-size:30px; z-index:1}
.nd-scope .tab-indicator{height:3px; background:var(--nd-lime); border-radius:2px;
  width:80px; box-shadow:0 0 12px rgba(168,230,53,.5);}
.nd-scope .fx-shadow{filter:drop-shadow(0 10px 30px rgba(15,26,58,.35))}
.nd-scope .theme-toggle{position:fixed; top:20px; right:24px; z-index:100;
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 14px 8px 8px;
  background:var(--nd-card-bg); color:var(--nd-navy);
  border:1px solid var(--nd-border); border-radius:var(--r-full);
  font-family:'Sora',sans-serif; font-weight:600; font-size:13px;
  cursor:pointer; box-shadow:var(--shadow-md);
  transition:transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s;}
.nd-scope .theme-toggle:hover{transform:translateY(-2px); box-shadow:var(--shadow-lg)}
.nd-scope .theme-toggle .tog-ico{width:30px; height:30px; border-radius:50%;
  background:var(--nd-lime); color:var(--nd-navy);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:14px; transition:transform .4s cubic-bezier(.16,1,.3,1);}

/* ============================================================
   NAIROD — utilitaires de composition de page (scopés .nd-scope)
   Réutilisables pour l'accueil et les ~22 pages à reconstruire.
   ============================================================ */
.nd-scope{scroll-behavior:smooth;}
.nd-scope .nd-wrap{max-width:1200px; margin:0 auto; padding-left:24px; padding-right:24px;}
.nd-scope .nd-wrap-sm{max-width:1040px; margin:0 auto; padding-left:24px; padding-right:24px;}
.nd-scope .nd-sec{padding:76px 0;}
.nd-scope .nd-sec-sm{padding:44px 0;}
.nd-scope .nd-band{background:var(--nd-card-bg);}
.nd-scope .nd-band-cream{background:var(--nd-cream);}
.nd-scope .nd-band-navy{background:var(--nd-navy); color:var(--nd-cream);}
.nd-scope .nd-band-navy .sec-title,
.nd-scope .nd-band-navy .lead{color:rgba(244,242,234,.6);}
.nd-scope .nd-band-navy h2.big{color:var(--nd-cream);}
.nd-scope .nd-head{margin-bottom:36px;}
.nd-scope .nd-grid-gap{gap:20px;}
@media(max-width:900px){.nd-scope .nd-sec{padding:52px 0;}}

/* ============================================================
   E. Reskin HEADER & FOOTER HFE — site-wide (#masthead / #colophon)
   Header/footer = templates Header-Footer-Elementor (posts 2571 / 2621),
   rendus sur les ~22 pages, INDEPENDANTS du contenu de page.
   Ici : 100% VISUEL. On NE touche NI au DOM, NI aux toggles JS HFE,
   NI aux JSON Elementor. Réversible (retrait de l'enqueue).
   Parti pris : on RE-HARMONISE l'existant (teal #00223A / vert #61CE70)
   vers la palette Nairod (navy #0F1A3A + lime + Sora). On ne bascule
   PAS le header en clair (le logo actuel est posé sur fond sombre :
   bascule clair = risque logo invisible → réservé à l'Option B).
   Sélecteurs vérifiés sur le DOM live + post-2571.css / post-2621.css.
   ============================================================ */

/* ---- HEADER : surfaces ---- */
#masthead{background:var(--nd-navy)!important;font-family:var(--nd-font-body);}
/* bandeau du haut (gtranslate) : vert #61CE70 -> navy profond + filet lime */
#masthead .elementor-element-fbecdaa{
  background-color:var(--nd-navy)!important;
  border-bottom:1px solid rgba(168,230,53,.35);
}
/* rangée principale : teal #00223A -> navy Nairod */
#masthead .elementor-element-c534c45{
  background-color:var(--nd-navy)!important;
  border-bottom:1px solid rgba(244,242,234,.07);
}

/* ---- MENU : typo Sora + couleurs Nairod ---- */
#masthead .hfe-nav-menu a.hfe-menu-item,
#masthead .hfe-nav-menu a.hfe-sub-menu-item{
  font-family:var(--nd-font-head)!important;
  font-weight:500;
  color:var(--nd-cream)!important;
  border-radius:var(--r-full);
  transition:background .18s ease, color .18s ease;
}
/* survol / page courante : pilule discrète + accent lime */
#masthead .hfe-nav-menu .menu-item > a.hfe-menu-item:hover,
#masthead .hfe-nav-menu li.menu-item-has-children:hover > .hfe-has-submenu-container > a.hfe-menu-item{
  background-color:rgba(244,242,234,.08)!important;
  color:var(--nd-lime)!important;
}
#masthead .hfe-nav-menu .menu-item.current-menu-item > a.hfe-menu-item,
#masthead .hfe-nav-menu .menu-item.current-menu-ancestor > a.hfe-menu-item{
  color:var(--nd-lime)!important;
  font-weight:700;
}

/* ---- SOUS-MENU : carte navy arrondie ---- */
#masthead .elementor-element-cbf9b96 .sub-menu,
#masthead .elementor-element-cbf9b96 nav.hfe-dropdown,
#masthead .elementor-element-cbf9b96 .hfe-dropdown-expandible{
  background-color:var(--nd-navy-2)!important;
  border:1px solid rgba(244,242,234,.10);
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-lg);
  padding:8px!important;
  overflow:hidden;
}
#masthead .elementor-element-cbf9b96 .sub-menu a.hfe-sub-menu-item{
  border-radius:var(--r-md);
  background-color:transparent!important;
}
#masthead .elementor-element-cbf9b96 .sub-menu li.menu-item:not(:last-child){
  border-bottom-color:rgba(244,242,234,.08)!important;
}
#masthead .elementor-element-cbf9b96 .sub-menu a.hfe-sub-menu-item:hover{
  background-color:rgba(244,242,234,.08)!important;
  color:var(--nd-lime)!important;
}

/* ---- CTA "Contact" : pilule lime signature (item WP stable #2597) ---- */
#masthead #menu-item-2597 > a.hfe-menu-item{
  background-color:var(--nd-lime)!important;
  color:var(--nd-navy)!important;
  font-weight:700;
  border-radius:var(--r-full)!important;
  margin-left:8px;
  transition:transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s;
}
#masthead #menu-item-2597 > a.hfe-menu-item:hover{
  background-color:var(--nd-lime)!important;
  color:var(--nd-navy)!important;
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(168,230,53,.4);
}

/* ---- Toggle mobile + icône panier : cream, lime au survol ---- */
#masthead .hfe-nav-menu-icon,
#masthead .hfe-nav-menu-icon svg{color:var(--nd-cream)!important;fill:var(--nd-cream)!important;}
#masthead .hfe-nav-menu-icon:hover svg{fill:var(--nd-lime)!important;}
#masthead .elementor-icon-list-icon svg{fill:var(--nd-cream)!important;transition:fill .18s;}
#masthead .elementor-icon-list-item:hover .elementor-icon-list-icon svg{fill:var(--nd-lime)!important;}

/* ============================================================
   FOOTER (#colophon — HFE post 2621) : surface navy uniforme,
   typo Sora, liens lime au survol.
   ============================================================ */
#colophon{
  background-color:var(--nd-navy)!important;
  font-family:var(--nd-font-body);
  color:var(--nd-cream);
}
/* les conteneurs internes (teal #00223AD9) -> transparents : une seule
   surface navy propre (le footer actuel est déjà sombre/uniforme). */
#colophon .e-con,
#colophon .elementor-element.e-con{background-color:transparent!important;}
/* titres de colonnes en Sora */
#colophon .elementor-heading-title{
  font-family:var(--nd-font-head)!important;
  color:var(--nd-cream)!important;
  letter-spacing:-.01em;
}
/* liens du footer (icon-list + texte) — cream/70, lime au survol.
   !important pour battre les color:#ffffff en style inline (liens légaux). */
#colophon a,
#colophon .elementor-icon-list-text,
#colophon .elementor-icon-list-item a{
  color:rgba(244,242,234,.66)!important;
  transition:color .18s ease;
}
#colophon a:hover,
#colophon .elementor-icon-list-item:hover .elementor-icon-list-text{
  color:var(--nd-lime)!important;
}
/* icônes (listes + réseaux sociaux) */
#colophon .elementor-icon-list-icon svg,
#colophon .elementor-social-icon svg{fill:rgba(244,242,234,.6)!important;transition:fill .18s;}
#colophon .elementor-social-icon{background-color:rgba(244,242,234,.08)!important;transition:background .18s;}
#colophon .elementor-social-icon:hover{background-color:var(--nd-lime)!important;}
#colophon .elementor-social-icon:hover svg{fill:var(--nd-navy)!important;}
/* dividers + barre copyright discrète */
#colophon .elementor-divider-separator{border-top-color:rgba(244,242,234,.10)!important;}
#colophon .hfe-copyright-wrapper{
  color:rgba(244,242,234,.45)!important;
  font-size:13px;
}
#colophon .hfe-copyright-wrapper a{color:rgba(244,242,234,.55)!important;}
#colophon .hfe-copyright-wrapper a:hover{color:var(--nd-lime)!important;}
/* ════════════════════════════════════════════════════════════
   NAIROD — ACCUEIL (#6) · POLISH KIT — START  [2026-05-16]
   100% CSS. Scopé body.home [data-elementor-type="wp-page"]
   → SEULE la page d'accueil, contenu uniquement (header/footer HFE
   et toutes les autres pages NON impactés). Repris du UI Kit.
   ROLLBACK : supprimer tout le bloc START→END (rien d'autre).
   ════════════════════════════════════════════════════════════ */
body.home{
  --ndh-sh:0 1px 2px rgba(15,26,58,.06);
  --ndh-sh-lg:0 28px 60px rgba(15,26,58,.16);
  --ndh-sh-lime:0 8px 28px rgba(168,230,53,.40),0 2px 8px rgba(168,230,53,.16);
  --ndh-ease:cubic-bezier(.16,1,.3,1);
  scroll-behavior:smooth;
}
body.home ::selection{background:var(--nd-lime);color:var(--nd-navy)}

/* — Titres : Sora resserré (couleur non forcée → OK fonds clairs/sombres) — */
body.home [data-elementor-type="wp-page"] h1,
body.home [data-elementor-type="wp-page"] h2,
body.home [data-elementor-type="wp-page"] h3{
  font-family:var(--nd-font-head)!important;letter-spacing:-.025em!important;
}
body.home [data-elementor-type="wp-page"] h1{font-weight:800!important;line-height:1.07!important}
body.home [data-elementor-type="wp-page"] h2{font-weight:700!important}

/* — Boutons : ombre lime + lift (rayon/couleurs déjà gérés en global) — */
body.home [data-elementor-type="wp-page"] .elementor-button,
body.home [data-elementor-type="wp-page"] .wp-block-button__link,
body.home [data-elementor-type="wp-page"] a.button{
  box-shadow:var(--ndh-sh-lime)!important;
  transition:transform .22s var(--ndh-ease),box-shadow .22s,background .2s!important;
}
body.home [data-elementor-type="wp-page"] .elementor-button:hover,
body.home [data-elementor-type="wp-page"] .wp-block-button__link:hover,
body.home [data-elementor-type="wp-page"] a.button:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 34px rgba(168,230,53,.5)!important;
}

/* — Cartes : contour + coins arrondis + ombre + lift (sans forcer le fond,
     donc sûr sur sections claires comme sombres) — */
body.home [data-elementor-type="wp-page"] .elementor-widget-icon-box .elementor-icon-box-wrapper,
body.home [data-elementor-type="wp-page"] .elementor-widget-image-box .elementor-image-box-wrapper,
body.home [data-elementor-type="wp-page"] article.elementor-post,
body.home [data-elementor-type="wp-page"] .e-loop-item,
body.home [data-elementor-type="wp-page"] .tutor-course-card{
  border:1px solid var(--nd-border)!important;
  border-radius:var(--r-xl)!important;
  box-shadow:var(--ndh-sh)!important;
  transition:transform .25s var(--ndh-ease),box-shadow .25s,border-color .25s!important;
}
body.home [data-elementor-type="wp-page"] .elementor-widget-icon-box:hover .elementor-icon-box-wrapper,
body.home [data-elementor-type="wp-page"] .elementor-widget-image-box:hover .elementor-image-box-wrapper,
body.home [data-elementor-type="wp-page"] article.elementor-post:hover,
body.home [data-elementor-type="wp-page"] .e-loop-item:hover,
body.home [data-elementor-type="wp-page"] .tutor-course-card:hover{
  transform:translateY(-6px)!important;
  box-shadow:var(--ndh-sh-lg)!important;
  border-color:rgba(168,230,53,.55)!important;
}

/* — Images : coins arrondis + zoom doux — */
body.home [data-elementor-type="wp-page"] .elementor-widget-image img,
body.home [data-elementor-type="wp-page"] .elementor-image-box-img img{
  border-radius:var(--r-lg)!important;
  transition:transform .45s var(--ndh-ease)!important;
}
body.home [data-elementor-type="wp-page"] .elementor-widget-image:hover img{
  transform:scale(1.03)!important;
}

/* — Pastille d'icône crème arrondie (style kit) — */
body.home [data-elementor-type="wp-page"] .elementor-icon-box-icon .elementor-icon{
  background:var(--nd-cream)!important;border-radius:16px!important;
}

/* — Liens de texte : accent lime au survol — */
body.home [data-elementor-type="wp-page"] .elementor-widget-text-editor a:hover{
  color:#5f8c00!important;
}

/* — Champs de formulaire : arrondi kit + focus lime — */
body.home [data-elementor-type="wp-page"] input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]),
body.home [data-elementor-type="wp-page"] textarea,
body.home [data-elementor-type="wp-page"] select{
  border:1.5px solid var(--nd-border-strong)!important;
  border-radius:14px!important;font-family:var(--nd-font-body)!important;
  transition:border-color .2s,box-shadow .2s!important;
}
body.home [data-elementor-type="wp-page"] input:focus,
body.home [data-elementor-type="wp-page"] textarea:focus,
body.home [data-elementor-type="wp-page"] select:focus{
  border-color:var(--nd-lime)!important;outline:none!important;
  box-shadow:0 0 0 4px rgba(168,230,53,.18)!important;
}

/* — Séparateurs discrets — */
body.home [data-elementor-type="wp-page"] .elementor-divider-separator{
  border-top-color:var(--nd-border)!important;
}

@media (prefers-reduced-motion:reduce){
  body.home [data-elementor-type="wp-page"] *{transition:none!important;animation:none!important}
  body.home [data-elementor-type="wp-page"] .elementor-widget-image:hover img{transform:none!important}
}
/* ════════ NAIROD — ACCUEIL (#6) · POLISH KIT — END ════════ */
