/* ===== Crazy Motion — socle commun (tokens + base). Ne pas modifier depuis une section. ===== */
:root{
  --bg:#ffffff;            /* fond nacré clair */
  --bg-2:#f6f7f9;          /* fond bleuté */
  --surface:#ffffff;
  --ink:#1b2430;           /* texte principal (« crazy » du logo) */
  --ink-2:#4a5565;
  --ink-3:#8a95a5;
  --line:#e8eaee;
  --blue:#0f6fd6;          /* bleu profond */
  --blue-2:#1a8de0;
  --cyan:#18ade4;          /* cyan */
  --grad:linear-gradient(100deg,#0f6fd6 0%,#1a8de0 45%,#18b4e6 100%);
  --peach:#fbe3c4;         /* cartes pêche */
  --peach-2:#f7d2b6;
  --orange:#f59a2f;        /* boutons dans les vidéos */
  --orange-2:#ee7d1c;
  --grad-orange:linear-gradient(180deg,#f9ab42,#ee7d1c);
  --red:#d7262e;           /* prix */
  --radius:16px; --radius-s:12px; --radius-l:24px;
  --shadow-s:0 2px 8px rgba(20,50,90,.06);
  --shadow:0 1px 2px rgba(16,24,40,.05),0 8px 24px -12px rgba(16,24,40,.12);
  --shadow-blue:none;
  --font:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-display:"Inter Tight","Inter",system-ui,sans-serif;
  --wrap:1180px; --gutter:clamp(16px,4vw,40px);
  --sec-y:clamp(72px,11vw,140px);
  --ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.1;letter-spacing:-.025em;margin:0;font-weight:700}
p{margin:0}
::selection{background:var(--cyan);color:#fff}

/* utilitaires partagés */
.cm-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.cm-sec{padding:var(--sec-y) 0;position:relative}
.cm-eyebrow{display:inline-block;font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--blue)}
.cm-eyebrow::before{content:none}
.cm-h2{font-size:clamp(30px,4.2vw,48px)}
.cm-lead{font-size:clamp(17px,1.6vw,20px);color:var(--ink-2);max-width:620px}
.cm-grad{color:var(--blue)}
.cm-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:999px;font-weight:600;font-size:16px;color:#fff;background:var(--blue);transition:background .25s ease,transform .25s ease;position:relative;white-space:nowrap}
.cm-btn::after{content:none}
.cm-btn:hover{background:#0b5cb4;transform:translateY(-1px)}

.cm-btn--ghost{background:#fff;color:var(--ink);border:1px solid #d6dae1}
.cm-btn--ghost:hover{background:var(--bg-2)}
.cm-btn--orange{background:var(--orange-2)}
.cm-btn--orange:hover{background:#d96d12}
.cm-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.cm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
