/* polices */
/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_theme/fonts/outfit-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_theme/fonts/outfit-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_theme/fonts/outfit-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_theme/fonts/outfit-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_theme/fonts/plus-jakarta-sans-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_theme/fonts/plus-jakarta-sans-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_theme/fonts/plus-jakarta-sans-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_theme/fonts/plus-jakarta-sans-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_theme/fonts/plus-jakarta-sans-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_theme/fonts/plus-jakarta-sans-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ---- /assets/css/pg-tokens.css ---- */
/* ══════════════════════════════════════════════
   pg-tokens.css · lmscom · DA « Playful Geometric »
   Source unique des tokens. Aucune règle de
   composant ici : uniquement des variables.
   Accent de marque = terracotta lmscom.
   ══════════════════════════════════════════════ */

:root {
    /* ── Couleurs · surfaces & texte ── */
    --bg:            #FFFDF5;   /* crème papier */
    --fg:            #1E293B;   /* slate 800 : texte, bordures, ombres dures */
    --muted:         #F1F5F9;
    --muted-fg:      #64748B;
    --card:          #FFFFFF;
    --border:        #E2E8F0;
    --border-input:  #CBD5E1;
    --fg-inverse:       #FFFDF5;   /* texte sur fond --fg (papier sur encre) */
    --fg-inverse-muted: #CBD5E1;   /* texte secondaire sur fond --fg (9:1) */

    /* ── Couleurs · marque & confettis ── */
    --accent:        #E8652A;   /* terracotta : formes, aplats, grands titres */
    --accent-ink:    #C44E1F;   /* terracotta profond : fond de bouton et texte accent (blanc dessus = 4.7:1) */
    --accent-fg:     #FFFFFF;
    --violet:        #8B5CF6;
    --pink:          #F472B6;
    --yellow:        #FBBF24;
    --mint:          #34D399;
    --ring:          var(--accent-ink);

    /* ── Couleurs · etats fonctionnels ── */
    --danger:        #B91C1C;   /* erreur (6.5:1 sur blanc) */
    --success:       #047857;   /* succes (5.5:1 sur blanc) */

    /* ── Typographie ── */
    --font-head:     "Outfit", system-ui, sans-serif;
    --font-body:     "Plus Jakarta Sans", system-ui, sans-serif;
    --font-mono:     ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;   /* code et terminal : police systeme, zero telechargement */
    /* Échelle 1.25 (tierce majeure), base 16px */
    --fs-xs:         0.8rem;
    --fs-sm:         0.9rem;
    --fs-base:       1rem;
    --fs-md:         1.25rem;
    --fs-lg:         1.563rem;
    --fs-xl:         1.953rem;
    --fs-2xl:        clamp(1.953rem, 1.3rem + 2.4vw, 3.052rem);
    --fs-3xl:        clamp(2.441rem, 1.4rem + 4vw, 3.815rem);
    --fs-display:    clamp(2.75rem, 1.2rem + 6.4vw, 5.96rem);
    --lh-tight:      1.05;
    --lh-body:       1.65;

    /* ── Rayons & bordures ── */
    --r-sm:          8px;
    --r-md:          16px;
    --r-lg:          24px;
    --r-full:        9999px;
    --r-bubble:      var(--r-lg) var(--r-lg) var(--r-lg) 0;      /* bulle de BD */
    --r-arch:        9999px 9999px 0 0;                          /* arche */
    --r-leaf:        var(--r-lg) 0 var(--r-lg) 0;                /* feuille */
    --bw:            2px;

    /* ── Ombres dures (jamais de flou) ── */
    --pop:           4px 4px 0 0 var(--fg);
    --pop-hover:     6px 6px 0 0 var(--fg);
    --pop-active:    2px 2px 0 0 var(--fg);
    --pop-card:      8px 8px 0 0 var(--border);
    --pop-card-feat: 8px 8px 0 0 var(--pink);
    --pop-focus:     4px 4px 0 0 var(--accent-ink);

    /* ── Motifs ── */
    --pat-dots:      radial-gradient(var(--fg) 1.5px, transparent 1.6px) 0 0 / 18px 18px;
    --pat-dots-soft: radial-gradient(var(--border-input) 1.5px, transparent 1.6px) 0 0 / 18px 18px;
    --pat-grid:      linear-gradient(var(--border) 1px, transparent 1px) 0 0 / 28px 28px,
                     linear-gradient(90deg, var(--border) 1px, transparent 1px) 0 0 / 28px 28px;
    --pat-stripes:   repeating-linear-gradient(45deg, var(--fg) 0 2px, transparent 2px 10px);

    /* ── Mise en page ── */
    --container:     72rem;     /* max-w-6xl */
    --gutter:        clamp(20px, 4vw, 40px);
    --section-y:     clamp(64px, 9vw, 96px);
    --announce-h:    0px;       /* piloté par nav.js, ne pas renommer */

    /* ── Mouvement ── */
    --ease-bounce:   cubic-bezier(0.34, 1.56, 0.64, 1);
    --t:             300ms;
}

/* Mobile : ombres réduites pour gagner de la place */
@media (max-width: 640px) {
    :root {
        --pop:           2px 2px 0 0 var(--fg);
        --pop-hover:     3px 3px 0 0 var(--fg);
        --pop-active:    1px 1px 0 0 var(--fg);
        --pop-card:      4px 4px 0 0 var(--border);
        --pop-card-feat: 4px 4px 0 0 var(--pink);
        --pop-focus:     2px 2px 0 0 var(--accent-ink);
    }
}


/* ---- utilitaires : anciens styles en ligne ---- */
.cv-s1 { color:var(--ink) !important; }
.cv-s2 { margin-top:8px !important; }
.cv-s3 { --c:var(--yellow) !important; }
.cv-s4 { --c:var(--pink) !important; }
.cv-s5 { --c:var(--mint) !important; }
.cv-s6 { --cc-bg:#fafaf7 !important; --cc-bg2:#ffffff !important; --cc-ink:#0b2447 !important; --cc-acc:#e3172d !important; }
.cv-s7 { --cc-bg:#06201d !important; --cc-bg2:#0c3a33 !important; --cc-ink:#e9f1ee !important; --cc-acc:#f0c040 !important; }
.cv-s8 { --cc-bg:#f7e6ec !important; --cc-bg2:#ffffff !important; --cc-ink:#1a1416 !important; --cc-acc:#e8447f !important; }
.cv-s9 { --cc-bg:#1d2530 !important; --cc-bg2:#39424f !important; --cc-ink:#ffffff !important; --cc-acc:#f0b55a !important; }
.cv-s10 { --cc-bg:#ffffff !important; --cc-bg2:#f3f6ff !important; --cc-ink:#111111 !important; --cc-acc:#1447e6 !important; }
.cv-s11 { --cc-bg:#07162b !important; --cc-bg2:#103257 !important; --cc-ink:#ffffff !important; --cc-acc:#6bb8da !important; }
.cv-s12 { --cc-bg:#0a1430 !important; --cc-bg2:#14224a !important; --cc-ink:#ffffff !important; --cc-acc:#e11d2e !important; }
.cv-s13 { --cc-bg:#2b2a6b !important; --cc-bg2:#4b49b8 !important; --cc-ink:#ffffff !important; --cc-acc:#f6c445 !important; }
.cv-s14 { --cc-bg:#f3efe9 !important; --cc-bg2:#faf8f4 !important; --cc-ink:#1a1a1a !important; --cc-acc:#b8997a !important; }
.cv-s15 { --cc-bg:#eaf3fb !important; --cc-bg2:#ffffff !important; --cc-ink:#12233d !important; --cc-acc:#1e9bd7 !important; }
.cv-s16 { --cc-bg:#0a1525 !important; --cc-bg2:#16273f !important; --cc-ink:#ffffff !important; --cc-acc:#f5a420 !important; }
.cv-s17 { --cc-bg:#0c3350 !important; --cc-bg2:#134766 !important; --cc-ink:#f7f1e6 !important; --cc-acc:#e0926f !important; }
.cv-s18 { --cc-bg:#07142a !important; --cc-bg2:#0d3b2e !important; --cc-ink:#ffffff !important; --cc-acc:#5cb531 !important; }
.cv-s19 { --cc-bg:#0a1d14 !important; --cc-bg2:#123524 !important; --cc-ink:#ffffff !important; --cc-acc:#c2a14e !important; }
.cv-s20 { --cc-bg:#100e14 !important; --cc-bg2:#1c1622 !important; --cc-ink:#ffffff !important; --cc-acc:#d6409f !important; }
.cv-s21 { --cc-bg:#0b1f4d !important; --cc-bg2:#163a7a !important; --cc-ink:#ffffff !important; --cc-acc:#f7941d !important; }
.cv-s22 { --cc-bg:#f6f4ef !important; --cc-bg2:#ffffff !important; --cc-ink:#16130f !important; --cc-acc:#f08a24 !important; }
.cv-s23 { --cc-bg:#0b0f16 !important; --cc-bg2:#141b27 !important; --cc-ink:#ffffff !important; --cc-acc:#3b82f6 !important; }
.cv-s24 { --cc-bg:#0c1519 !important; --cc-bg2:#15282e !important; --cc-ink:#ffffff !important; --cc-acc:#1fd1c1 !important; }
.cv-s25 { --cc-bg:#0b1a2b !important; --cc-bg2:#13283f !important; --cc-ink:#ffffff !important; --cc-acc:#2bb2e0 !important; }
.cv-s26 { --cc-bg:#241029 !important; --cc-bg2:#3a1c42 !important; --cc-ink:#f5e9ee !important; --cc-acc:#e3a8c0 !important; }
.cv-s27 { --cc-bg:#1a130d !important; --cc-bg2:#2c2118 !important; --cc-ink:#f3e9da !important; --cc-acc:#c79a4e !important; }
.cv-s28 { --c:var(--violet) !important; }
.cv-s29 { position:absolute !important; }
.cv-s30 { font-size:clamp(32px,3.4vw,56px) !important; }
.cv-s31 { --x:3% !important; --y:14% !important; --r:-8deg !important; --c:var(--yellow) !important; }
.cv-s32 { --x:20% !important; --y:54% !important; --r:6deg !important; --c:var(--pink) !important; }
.cv-s33 { --x:37% !important; --y:8% !important; --r:-4deg !important; --c:var(--mint) !important; }
.cv-s34 { --x:46% !important; --y:52% !important; --r:9deg !important; --c:var(--violet) !important; }
.cv-s35 { --x:68% !important; --y:6% !important; --r:-10deg !important; --c:var(--card) !important; }
.cv-s36 { --x:78% !important; --y:50% !important; --r:5deg !important; --c:var(--accent) !important; }
.cv-s37 { width:100% !important; }
.cv-s38 { background:#0F0E0D !important; }
.cv-s39 { background:#C9A770 !important; }
.cv-s40 { background:#8A7260 !important; }
.cv-s41 { background:#F5F0E8 !important; }
.cv-s42 { background:#E8652A !important; }
.cv-s43 { background:#2A3E2D !important; }
.cv-s44 { background:#F2EDE2 !important; }
.cv-s45 { background:#807468 !important; }
.cv-s46 { background:#0A0A0A !important; }
.cv-s47 { background:#3B82F6 !important; }
.cv-s48 { background:#DBEAFE !important; }
.cv-s49 { background:#F8FAFC !important; }
.cv-s50 { --x:6% !important; --y:26% !important; --r:-8deg !important; --c:var(--pink) !important; }
.cv-s51 { --x:27% !important; --y:8% !important; --r:6deg !important; --c:var(--yellow) !important; }
.cv-s52 { --x:41% !important; --y:44% !important; --r:-4deg !important; --c:var(--mint) !important; }
.cv-s53 { --x:66% !important; --y:12% !important; --r:7deg !important; --c:var(--card) !important; }
.cv-s54 { --x:82% !important; --y:48% !important; --r:-6deg !important; --c:var(--violet) !important; }
.cv-s55 { --c:var(--yellow) !important; --tilt:-1.2deg !important; }
.cv-s56 { --c:var(--pink) !important; --tilt:0.8deg !important; }
.cv-s57 { --c:var(--mint) !important; --tilt:-0.6deg !important; }
.cv-s58 { --tilt:-1deg !important; }
.cv-s59 { --tilt:1deg !important; }
.cv-s60 { --c:var(--yellow) !important; --tilt:-1.5deg !important; }
.cv-s61 { --c:var(--pink) !important; --tilt:1deg !important; }
.cv-s62 { --c:var(--mint) !important; --tilt:-0.8deg !important; }
.cv-s63 { --c:var(--violet) !important; --tilt:1.4deg !important; }
.cv-s64 { color:var(--fg) !important; }
.cv-s65 { font-size:13px !important; margin-bottom:24px !important; }
.cv-s66 { object-position:center !important; }
.cv-s67 { --c: var(--yellow) !important; }
.cv-s68 { --c: var(--pink) !important; }
.cv-s69 { --c: var(--mint) !important; }
.cv-s70 { --x:4% !important; --y:18% !important; --r:-8deg !important; --c:var(--yellow) !important; }
.cv-s71 { --x:22% !important; --y:52% !important; --r:6deg !important; --c:var(--pink) !important; }
.cv-s72 { --x:38% !important; --y:10% !important; --r:-4deg !important; --c:var(--mint) !important; }
.cv-s73 { --x:55% !important; --y:48% !important; --r:9deg !important; --c:var(--violet) !important; }
.cv-s74 { --x:70% !important; --y:6% !important; --r:-10deg !important; --c:var(--card) !important; }
.cv-s75 { --x:80% !important; --y:50% !important; --r:5deg !important; --c:var(--accent) !important; }
.cv-s76 { --r:-7deg !important; --dy:40px !important; --c:var(--yellow) !important; }
.cv-s77 { --r:-2deg !important; --dy:8px !important; --c:var(--pink) !important; }
.cv-s78 { --r:3deg !important; --dy:0px !important; --c:var(--mint) !important; }
.cv-s79 { --r:8deg !important; --dy:36px !important; --c:var(--violet) !important; }
.cv-s80 { --c:var(--accent) !important; }
.cv-s81 { --i:0 !important; }
.cv-s82 { --i:1 !important; }
.cv-s83 { --i:2 !important; }
.cv-s84 { --i:3 !important; }
.cv-s85 { --i:4 !important; }
.cv-s86 { background:var(--ivory) !important; }
.cv-s87 { margin-top:20px !important; font-size:12px !important; color:var(--warm-gray) !important; text-align:center !important; }
.cv-s88 { margin-top:14px !important; font-size:13px !important; color:var(--warm-gray) !important; text-align:center !important; }
.cv-s89 { color:var(--tc) !important; text-decoration:underline !important; text-underline-offset:3px !important; }
.cv-s90 { max-width:400px !important; margin:0 auto !important; display:flex !important; }
.cv-s91 { margin-top:14px !important; }
.cv-s92 { background:var(--ink) !important; }
.cv-s93 { width: 14.28% !important; }
.cv-s94 { background:#3b82f6 !important; }
.cv-s95 { background:#1c1c1e !important; }
.cv-s96 { background:#22c55e !important; }
.cv-s97 { background:#f97316 !important; }
.cv-s98 { background:#ec4899 !important; }
.cv-s99 { background:linear-gradient(135deg,#a5f3fc,#fde68a,#fbcfe8) !important; }
.cv-s100 { background:conic-gradient(#f97316,#ec4899,#3b82f6,#22c55e,#f97316) !important; }
.cv-s101 { display:none !important; }
.cv-s102 { --c:var(--yellow) !important; --tilt:-1deg !important; }
.cv-s103 { --c:var(--pink) !important; --tilt:-1deg !important; }
.cv-s104 { --c:var(--fg) !important; --tilt:-1deg !important; }
.cv-s105 { --c:var(--accent) !important; --tilt:-1deg !important; }
.cv-s106 { --c:var(--yellow) !important; --tilt:-2deg !important; }
.cv-s107 { --c:var(--pink) !important; --tilt:1.5deg !important; }
.cv-s108 { --c:var(--mint) !important; --tilt:-1deg !important; }
.cv-s109 { --c:var(--violet) !important; --tilt:2deg !important; }
.cv-s110 { --c:var(--yellow) !important; --tilt:-1.4deg !important; }
.cv-s111 { --c:var(--violet) !important; --tilt:1.3deg !important; }
.cv-s112 { --score:98 !important; }
.cv-s113 { --score:100 !important; }
.cv-s114 { --c:var(--fg) !important; --tilt:1deg !important; }

/* pot de miel du noyau (lead_form_fields) : hors écran */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
