/* MOTOKITDECO — système visuel « course × géométrie marocaine »
   Thèmes : sombre (défaut), clair, contraste renforcé. Mouvement réduit respecté. */
@font-face{font-family:"Archivo";src:url(../fonts/archivo-latin-wdth-normal.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap;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}
@font-face{font-family:"Archivo";src:url(../fonts/archivo-latin-ext-wdth-normal.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap;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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Archivo";src:url(../fonts/archivo-latin-wdth-italic.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0152-0153,U+2000-206F,U+20AC}
@font-face{font-family:"Cairo";src:url(../fonts/cairo-arabic-wght-normal.woff2) format("woff2");font-weight:200 1000;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}

:root{
  color-scheme:dark;
  --bg:#0a0a0d; --bg2:#101015; --card:#16161d; --card2:#1d1d26; --line:#2b2b36; --line2:#3a3a48;
  --text:#f6f5f2; --muted:#b4b2bd; --faint:#8a8896;
  --red:#ff4d1a; --red-ink:#ff7a4d; --saffron:#c8ff1a; --teal:#4d9bff; --teal-ink:#7db6ff; --violet:#b07cff; --logo-acc:#c8ff1a;
  --flame:linear-gradient(100deg,#ff4d1a 0%,#ffb21a 52%,#c8ff1a 100%);
  --chrome:linear-gradient(180deg,#fff 0%,#d7d7de 38%,#8d8d99 52%,#f2f2f5 70%,#b9b9c4 100%);
  --cta-bg:#c8ff1a; --cta-ink:#0a0a0d; --cta-bg2:#dbff5c;
  --focus:#c8ff1a;
  --shadow:0 30px 80px -30px rgba(0,0,0,.8);
  --glow-red:0 0 0 1px rgba(255,77,26,.35),0 20px 60px -15px rgba(255,77,26,.55);
  --r:18px; --r-sm:10px;
  --wrap:min(1240px,100% - 2.5rem);
  --font:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-ar:"Cairo","Archivo",system-ui,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  --skew:-8deg;
  --fs-hero:clamp(2.5rem,1rem + 4.6vw,5.4rem);
  --fs-h2:clamp(1.9rem,1.1rem + 3.2vw,3.6rem);
  --fs-h3:clamp(1.15rem,1rem + .6vw,1.5rem);
  --fs:clamp(1rem,.96rem + .2vw,1.1rem);
  --hdr:72px;
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#f3f2ee; --bg2:#eae8e2; --card:#ffffff; --card2:#f7f6f2; --line:#d9d6ce; --line2:#c4c0b6;
  --text:#0d0d11; --muted:#46444f; --faint:#5f5d69;
  --red:#e8400f; --red-ink:#b32d00; --saffron:#6f8f00; --teal:#1f5fd6; --teal-ink:#1a4fb3; --logo-acc:#b32d00; --logo-stroke:#0d0d11;
  --cta-bg:#0d0d11; --cta-ink:#c8ff1a; --cta-bg2:#26262e; --flame:linear-gradient(100deg,#d93a0a 0%,#b35a00 52%,#5f7d00 100%);
  --focus:#0b5fd1;
  --shadow:0 24px 60px -30px rgba(20,20,30,.35);
  --glow-red:0 0 0 1px rgba(232,64,15,.25),0 18px 40px -18px rgba(232,64,15,.45);
}
:root[data-contrast="more"]{--muted:var(--text);--faint:var(--text);--line:var(--text);--line2:var(--text)}
:root[data-contrast="more"][data-theme="light"]{--red:#9a2600;--red-ink:#9a2600;--teal:#123f99;--teal-ink:#123f99}
:root[data-fontsize="l"]{font-size:112.5%}
:root[data-fontsize="xl"]{font-size:125%}
:root[data-spacing="wide"] body{letter-spacing:.04em;word-spacing:.12em;line-height:1.85}
:root[data-font="readable"]{--font:Verdana,Tahoma,"Segoe UI",sans-serif;--font-ar:Tahoma,"Segoe UI",sans-serif}
:root[data-links="underline"] a{text-decoration:underline!important}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;background:var(--bg);color:var(--text);font:400 var(--fs)/1.65 var(--font);font-stretch:100%;-webkit-font-smoothing:antialiased;overflow-x:clip}
:lang(ar),:lang(ary){--font:var(--font-ar)}
[dir="rtl"] body{line-height:1.8}
img,svg,video,picture{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:2px;text-underline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
::selection{background:var(--saffron);color:#0a0a0d}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;inset-inline-start:1rem;top:-100px;z-index:200;background:var(--cta-bg);color:var(--cta-ink);padding:.8rem 1.2rem;border-radius:10px;font-weight:800}
.skip:focus{top:1rem}
.wrap{width:var(--wrap);margin-inline:auto}
.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}

/* ---------- typographie ---------- */
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.02;font-weight:900;letter-spacing:-.01em}
.display{font-stretch:125%;font-style:italic;text-transform:uppercase;font-weight:900;letter-spacing:-.02em}
:lang(ar) .display,:lang(ary) .display{font-style:normal;text-transform:none;letter-spacing:0;line-height:1.25}
h1.display{font-size:var(--fs-hero)}
h2.display,.h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);font-stretch:112%;line-height:1.15}
p{margin:0 0 1em}
.lead{font-size:clamp(1.08rem,1rem + .45vw,1.35rem);color:var(--muted);max-width:62ch}
.kicker{display:inline-flex;align-items:center;gap:.6em;font-weight:800;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--saffron);margin-bottom:1rem}
:lang(ar) .kicker,:lang(ary) .kicker{letter-spacing:0;font-size:.95rem}
.kicker::before{content:"";width:34px;height:4px;background:var(--flame);transform:skewX(var(--skew));border-radius:2px}
[data-theme="light"] .kicker{color:var(--red-ink)}
.flame-text{background:var(--flame);-webkit-background-clip:text;background-clip:text;color:transparent;padding-inline-end:.08em}
.chrome-text{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
[data-theme="light"] .chrome-text{background:none;color:var(--text)}
[data-contrast="more"] .flame-text,[data-contrast="more"] .chrome-text{background:none;color:var(--text)}
.outline-text{color:transparent;-webkit-text-stroke:2px var(--text)}
[data-contrast="more"] .outline-text{color:var(--text);-webkit-text-stroke:0}
.muted{color:var(--muted)}

/* ---------- boutons ---------- */
.btn{--b:var(--cta-bg);display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:.85rem 1.6rem;border:0;border-radius:12px;background:var(--b);color:var(--cta-ink);font-weight:900;font-stretch:115%;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s}
:lang(ar) .btn,:lang(ary) .btn{text-transform:none;letter-spacing:0;font-size:1.05rem}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease);z-index:-1}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px -12px var(--b)}
.btn:hover::after{transform:translateX(120%)}
.btn svg{width:1.25em;height:1.25em;flex:none}
.btn-red{--b:var(--red);color:#0a0a0d}
.btn-ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 2px var(--line2)}
.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--text)}
.btn-wa{--b:#1fa855;color:#fff}
.btn-sm{min-height:42px;padding:.55rem 1rem;font-size:.85rem;border-radius:10px}
.btn-block{width:100%}
.btn[disabled]{opacity:.55;cursor:wait}
.link-arrow{font-weight:800;text-decoration:none;display:inline-flex;gap:.5em;align-items:center;color:var(--teal-ink)}
.link-arrow::after{content:"→";transition:transform .25s var(--ease)}
[dir="rtl"] .link-arrow::after{content:"←"}
.link-arrow:hover::after{transform:translateX(5px)}
[dir="rtl"] .link-arrow:hover::after{transform:translateX(-5px)}

/* ---------- en-tête ---------- */
.top{position:sticky;top:0;z-index:50;height:var(--hdr);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line)}
.top .wrap{height:100%;display:flex;align-items:center;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex:none}
.brand svg{height:40px;width:auto;direction:ltr}
.nav{display:flex;gap:.2rem;margin-inline-start:auto;align-items:center}
.nav a{padding:.55rem .8rem;border-radius:10px;text-decoration:none;font-weight:700;font-size:.95rem;color:var(--muted);white-space:nowrap;position:relative}
.nav a:hover,.nav a[aria-current="page"]{color:var(--text)}
.nav a[aria-current="page"]::after{content:"";position:absolute;inset-inline:.8rem;bottom:.25rem;height:3px;background:var(--flame);transform:skewX(var(--skew))}
.nav a.nav-hot{color:var(--text)}
.nav a.nav-hot::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-inline-end:.45em;box-shadow:0 0 12px var(--red);animation:pulse 1.8s infinite}
.tools{display:flex;gap:.35rem;align-items:center}
.icon-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--text);position:relative;text-decoration:none}
.icon-btn:hover{border-color:var(--line2)}
.icon-btn svg{width:20px;height:20px}
.cart-count{position:absolute;top:-6px;inset-inline-end:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--red);color:#fff;font-size:.72rem;font-weight:900;display:grid;place-items:center}
.cart-count:empty,.cart-count[data-n="0"]{display:none}
.lang-menu{position:relative}
.lang-menu summary{list-style:none}
.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu ul,.menu-pop{position:absolute;inset-inline-end:0;top:calc(100% + 8px);margin:0;padding:.4rem;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);min-width:180px;z-index:60}
.lang-menu a{display:block;padding:.6rem .8rem;border-radius:9px;text-decoration:none;font-weight:700}
.lang-menu a:hover,.lang-menu a[aria-current="true"]{background:var(--card2)}
.burger{display:none}
@media (max-width:1060px){
  .nav{position:fixed;inset:var(--hdr) 0 auto 0;flex-direction:column;align-items:stretch;background:var(--bg);padding:1rem 1.25rem 2rem;border-bottom:1px solid var(--line);display:none;max-height:calc(100dvh - var(--hdr));overflow:auto}
  .nav.open{display:flex}
  .nav a{font-size:1.25rem;padding:.9rem .6rem;border-bottom:1px solid var(--line);border-radius:0}
  .nav a[aria-current="page"]::after{display:none}
  .burger{display:grid}
  .tools{margin-inline-start:auto}
}
@media (max-width:420px){.brand svg{height:32px}.tools .icon-btn{width:40px;height:40px}}

/* ---------- motifs ---------- */
.speed-band{height:10px;background:repeating-linear-gradient(-60deg,var(--saffron) 0 14px,transparent 14px 22px,var(--red) 22px 30px,transparent 30px 44px)}
.checker{height:18px;background:conic-gradient(var(--text) 25%,transparent 0 50%,var(--text) 0 75%,transparent 0) 0 0/18px 18px;opacity:.9}
.carbon{background-color:#101014;background-image:linear-gradient(27deg,#141419 5px,transparent 5px),linear-gradient(207deg,#141419 5px,transparent 5px),linear-gradient(27deg,#1a1a20 5px,transparent 5px),linear-gradient(207deg,#1a1a20 5px,transparent 5px),linear-gradient(90deg,#16161b 10px,transparent 10px),linear-gradient(#18181d 25%,#141418 25%,#141418 50%,transparent 50%,transparent 75%,#1c1c22 75%,#1c1c22);background-size:20px 20px}
[data-theme="light"] .carbon{background:#e6e4dd}

/* ---------- sections ---------- */
.section{padding:clamp(4rem,3rem + 5vw,8rem) 0;position:relative}
.section-tight{padding:clamp(2.5rem,2rem + 3vw,5rem) 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3.5rem);flex-wrap:wrap}
.section-head .lead{margin:0}
.slant{clip-path:polygon(0 4vw,100% 0,100% calc(100% - 4vw),0 100%);padding-block:calc(clamp(4rem,3rem + 5vw,8rem) + 4vw)}
.bg2{background:var(--bg2)}
.grid{display:grid;gap:clamp(1rem,.8rem + 1vw,1.6rem)}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}

/* ---------- héros ---------- */
.hero{position:relative;min-height:min(92svh,980px);display:grid;align-items:center;overflow:hidden;isolation:isolate;padding:3rem 0 4rem}
.hero-bg{position:absolute;inset:0;z-index:-2;background:radial-gradient(60% 70% at 72% 45%,rgba(255,77,26,.28),transparent 70%),radial-gradient(40% 50% at 20% 85%,rgba(77,155,255,.16),transparent 70%),radial-gradient(35% 40% at 90% 10%,rgba(200,255,26,.18),transparent 70%),var(--bg)}
[data-theme="light"] .hero-bg{background:radial-gradient(60% 70% at 72% 45%,rgba(232,64,15,.16),transparent 70%),radial-gradient(40% 50% at 20% 85%,rgba(31,95,214,.12),transparent 70%),var(--bg)}
.speedlines{position:absolute;inset:0;z-index:-1;opacity:.55;pointer-events:none}
.speedlines i{position:absolute;height:2px;width:var(--w,30%);top:var(--y);inset-inline-start:-40%;background:linear-gradient(90deg,transparent,var(--c,var(--red)),transparent);animation:streak var(--d,3.2s) linear infinite;animation-delay:var(--dl,0s);transform:skewX(-30deg)}
@keyframes streak{to{inset-inline-start:140%}}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:2rem;align-items:center}
.hero h1{margin-bottom:.35em}
.hero h1 .line{display:block;overflow:hidden;padding-block:.04em;white-space:nowrap}
.hero h1 .line>span{display:inline-block;animation:rise .9s var(--ease) both;animation-delay:calc(var(--i,0) * .12s)}
@keyframes rise{from{transform:translateY(105%) skewY(6deg);opacity:0}to{transform:none;opacity:1}}
.hero .lead{animation:fade 1s .45s var(--ease) both}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem;animation:fade 1s .6s var(--ease) both}
.hero-proof{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:2.2rem;color:var(--muted);font-weight:700;font-size:.92rem;animation:fade 1s .75s var(--ease) both}
.hero-proof span{display:flex;align-items:center;gap:.5em}
.hero-proof svg{width:20px;height:20px;color:var(--teal)}
@keyframes fade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.showroom{position:relative;aspect-ratio:1.18;max-width:640px;justify-self:end;width:100%}
.showroom .disc{position:absolute;inset:auto 6% 4% 6%;height:22%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,77,26,.55),rgba(255,77,26,.08) 60%,transparent);filter:blur(4px)}
.showroom .ring{position:absolute;inset:4%;border-radius:50%;border:1px dashed color-mix(in srgb,var(--text) 18%,transparent);animation:spin 40s linear infinite}
.showroom .ring.r2{inset:14%;border-style:solid;border-color:color-mix(in srgb,var(--red) 35%,transparent);animation-duration:26s;animation-direction:reverse;clip-path:polygon(0 0,60% 0,60% 100%,0 100%)}
@keyframes spin{to{transform:rotate(360deg)}}
.showroom figure{position:absolute;inset:0 -4% 8%;margin:0;opacity:0;transform:translateX(12%) scale(.94);transition:opacity .8s var(--ease),transform 1.1s var(--ease)}
[dir="rtl"] .showroom figure{transform:translateX(-12%) scale(.94)}
.showroom figure.on{opacity:1;transform:none}
.showroom figure.out{opacity:0;transform:translateX(-14%) scale(.96)}
.showroom figure img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(0,0,0,.55))}
.showroom figure img.reflect{position:absolute;top:100%;transform:scaleY(-1);opacity:.18;mask-image:linear-gradient(to top,rgba(0,0,0,.9),transparent 45%);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.9),transparent 45%);filter:blur(1px)}
.showroom figcaption{position:absolute;inset-inline-start:0;bottom:-8%;display:flex;gap:.7rem;align-items:center;font-weight:800}
.showroom figcaption a{text-decoration:none}
.tag{display:inline-flex;align-items:center;gap:.4em;padding:.3rem .7rem;border-radius:999px;font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;background:var(--card2);border:1px solid var(--line)}
:lang(ar) .tag,:lang(ary) .tag{letter-spacing:0;text-transform:none;font-size:.85rem}
.tag-red{background:var(--red);color:#0a0a0d;border-color:transparent}
.tag-y{background:var(--saffron);color:#0a0a0d;border-color:transparent}
.showroom-dots{position:absolute;inset-inline-end:0;bottom:-8%;display:flex;gap:.4rem}
.showroom-dots button{width:34px;height:6px;padding:0;border:0;border-radius:3px;background:var(--line2);cursor:pointer;transform:skewX(var(--skew))}
.showroom-dots button[aria-pressed="true"]{background:var(--red)}
.showroom-dots{padding:12px 0}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.showroom{justify-self:center;max-width:520px;margin-top:1rem}.hero{min-height:auto}}

/* ---------- défilant ---------- */
.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--bg2);padding:1.1rem 0;position:relative}
.marquee-track{display:flex;gap:3rem;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee span{font-weight:900;font-style:italic;font-stretch:125%;font-size:clamp(1.3rem,1rem + 1.5vw,2.2rem);text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:3rem}
:lang(ar) .marquee span,:lang(ary) .marquee span{font-style:normal}
.marquee span::after{content:"";width:30px;height:16px;background:var(--red);transform:skewX(-28deg)}
.marquee span:nth-child(3n+2)::after{background:var(--saffron)}
.marquee span:nth-child(3n)::after{background:var(--teal)}
.marquee span:nth-child(odd){color:transparent;-webkit-text-stroke:1.5px var(--text)}
[data-contrast="more"] .marquee span{color:var(--text)!important;-webkit-text-stroke:0}
@keyframes marquee{to{transform:translateX(-50%)}}
[dir="rtl"] .marquee-track{animation-name:marquee-rtl}
@keyframes marquee-rtl{to{transform:translateX(50%)}}

/* ---------- double voie (sur-mesure / prêts à poser) ---------- */
.paths{display:grid;grid-template-columns:1.25fr 1fr;gap:1.4rem}
@media (max-width:900px){.paths{grid-template-columns:1fr}}
.path{position:relative;border-radius:calc(var(--r) + 6px);padding:clamp(1.6rem,1.2rem + 2vw,3rem);overflow:hidden;isolation:isolate;min-height:440px;display:flex;flex-direction:column;border:1px solid var(--line);background:var(--card)}
.path h3{font-size:clamp(1.8rem,1.2rem + 2.2vw,3rem);font-stretch:125%;font-style:italic;text-transform:uppercase}
:lang(ar) .path h3,:lang(ary) .path h3{font-style:normal;text-transform:none}
.path p{color:var(--muted);max-width:46ch}
.path .btn{margin-top:auto;align-self:flex-start}
.path-custom{background:radial-gradient(120% 90% at 100% 0,rgba(255,77,26,.35),transparent 55%),radial-gradient(80% 70% at 0 100%,rgba(200,255,26,.18),transparent 60%),var(--card)}
[data-theme="light"] .path-custom{background:radial-gradient(120% 90% at 100% 0,rgba(232,64,15,.14),transparent 55%),var(--card)}
.path-custom .badge{align-self:flex-start;margin-bottom:1.2rem}
.path-art{position:absolute;inset-inline-end:-6%;bottom:-8%;width:62%;z-index:-1;opacity:.95;pointer-events:none}
.path-ready .path-art{position:relative;inset:auto;width:auto;margin:-.5rem -1rem 1rem;order:-1;opacity:1;z-index:0}
.path-ready .path-art img{width:100%;max-height:220px;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.path ul.ticks{margin:0 0 1.6rem}
ul.ticks{list-style:none;padding:0;display:grid;gap:.55rem}
ul.ticks li{display:flex;gap:.6rem;align-items:flex-start}
ul.ticks li::before{content:"";flex:none;width:18px;height:18px;margin-top:.25em;background:var(--teal);clip-path:polygon(14% 52%,0 66%,38% 100%,100% 20%,86% 6%,38% 72%)}

/* ---------- tracé de découpe (plotter) ---------- */
.plot svg path{stroke-dasharray:var(--len,2000);stroke-dashoffset:var(--len,2000)}
.plot.in svg path{animation:draw 2.6s var(--ease) forwards}
.plot.in svg path.fill-after{animation:draw 2.6s var(--ease) forwards,fillin .8s 2.4s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fillin{to{fill-opacity:1}}
.blade{offset-path:var(--p);offset-rotate:auto;animation:blade 2.6s var(--ease) forwards}
@keyframes blade{from{offset-distance:0}to{offset-distance:100%}}

/* ---------- étapes (course) ---------- */
.track{list-style:none;padding:0;margin:0;counter-reset:s;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;position:relative}
.track::before{content:"";position:absolute;inset-inline:2%;top:38px;height:4px;background:repeating-linear-gradient(90deg,var(--line2) 0 14px,transparent 14px 24px)}
.track .step{position:relative;padding-top:92px}
.track .step::before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;top:0;inset-inline-start:0;width:80px;height:80px;display:grid;place-items:center;border-radius:20px;background:var(--card);border:2px solid var(--line2);font-weight:900;font-style:italic;font-stretch:125%;font-size:1.6rem;transform:skewX(var(--skew));transition:background .4s,border-color .4s,color .4s}
.track .step.in::before{background:var(--saffron);border-color:var(--saffron);color:#0a0a0d;box-shadow:var(--glow-red)}
.track .step h3{font-size:1.15rem}
.track .step p{color:var(--muted);font-size:.95rem}
.track .step .meta{font-weight:800;font-size:.8rem;color:var(--saffron);letter-spacing:.08em;text-transform:uppercase}
[data-theme="light"] .track .step .meta{color:var(--red-ink)}
@media (max-width:980px){.track{grid-template-columns:1fr}.track::before{inset:0 auto 0 38px;width:4px;height:auto;background:repeating-linear-gradient(180deg,var(--line2) 0 14px,transparent 14px 24px)}[dir="rtl"] .track::before{inset:0 38px 0 auto}.track .step{padding-top:0;padding-inline-start:104px;min-height:90px}}

/* ---------- cartes kits ---------- */
.kits{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:1.2rem}
.kit-card{position:relative;border-radius:var(--r);background:var(--card);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .35s,box-shadow .35s;isolation:isolate}
.kit-card:hover{transform:translateY(-6px);border-color:var(--line2);box-shadow:var(--shadow)}
.kit-card .media{position:relative;aspect-ratio:3/2;background:radial-gradient(70% 70% at 50% 60%,color-mix(in srgb,var(--accent,var(--red)) 30%,transparent),transparent 72%),linear-gradient(180deg,var(--card2),var(--card));overflow:hidden}
.kit-card .media::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.12) 50%,transparent 65%);transform:translateX(-100%);transition:transform .9s var(--ease)}
.kit-card:hover .media::after{transform:translateX(100%)}
.kit-card .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .6s var(--ease),opacity .4s}
.kit-card .media img.alt{opacity:0}
.kit-card:hover .media img.main{opacity:0;transform:scale(.96)}
.kit-card:hover .media img.alt{opacity:1}
.kit-card .body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.kit-card .design{font-weight:900;font-stretch:125%;font-style:italic;font-size:1.35rem;text-transform:uppercase;line-height:1}
.kit-card .moto{color:var(--muted);font-weight:700;font-size:.92rem}
.kit-card .row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.6rem;gap:.5rem}
.price{font-weight:900;font-stretch:115%;font-size:1.25rem}
.price small{font-size:.7em;font-weight:800;color:var(--muted)}
.swatches{display:flex;gap:4px;flex-wrap:wrap}
.sw{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--a) 50%,var(--b,var(--a)) 50%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 0 0 1px var(--line2)}
.kit-card a.cover{position:absolute;inset:0;z-index:2;border-radius:inherit}
.kit-card a.cover:focus-visible{outline-offset:-3px}
.kit-card .flag{position:absolute;top:.8rem;inset-inline-start:.8rem;z-index:1}

/* ---------- filtres catalogue ---------- */
.finder{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:.8rem;padding:1rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line);margin-bottom:1.6rem;position:sticky;top:calc(var(--hdr) + 10px);z-index:20;box-shadow:var(--shadow)}
@media (max-width:900px){.finder{grid-template-columns:1fr 1fr;position:static}}
.field{display:grid;gap:.35rem}
.field label,.field .lbl{font-weight:800;font-size:.85rem;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:.7rem .9rem;border-radius:12px;border:1.5px solid var(--line2);background:var(--bg2);color:var(--text)}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 30%,transparent)}
.field .hint{font-size:.85rem;color:var(--faint)}
.field [aria-invalid="true"]{border-color:var(--red)}
.field .err{color:var(--red-ink);font-weight:700;font-size:.88rem}
.chips{display:flex;gap:.5rem;flex-wrap:wrap}
.chip{min-height:40px;padding:.4rem .95rem;border-radius:999px;border:1.5px solid var(--line2);background:transparent;font-weight:800;cursor:pointer;font-size:.9rem}
.chip[aria-pressed="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}
.count-line{color:var(--muted);font-weight:700;margin:0 0 1rem}
.empty{padding:3rem;text-align:center;border:2px dashed var(--line2);border-radius:var(--r);color:var(--muted)}

/* ---------- fiche kit ---------- */
.crumbs{font-size:.88rem;color:var(--muted);margin:1.2rem 0 1.5rem}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem}
.crumbs li+li::before{content:"/";margin-inline-end:.4rem;opacity:.5}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.product{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(1.5rem,1rem + 3vw,4rem);align-items:start}
@media (max-width:960px){.product{grid-template-columns:1fr}}
.stage{position:relative;border-radius:calc(var(--r) + 6px);overflow:hidden;background:radial-gradient(70% 60% at 50% 55%,color-mix(in srgb,var(--accent,var(--red)) 38%,transparent),transparent 75%),linear-gradient(180deg,var(--card2),var(--bg2));border:1px solid var(--line);aspect-ratio:3/2;transition:background .6s}
.stage .floor{position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,rgba(0,0,0,.35));pointer-events:none}
[data-theme="light"] .stage .floor{background:linear-gradient(transparent,rgba(0,0,0,.06))}
.stage picture,.stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.stage img{transition:opacity .45s var(--ease),transform .6s var(--ease)}
.stage.swap img{opacity:0;transform:translateX(4%)}
.stage .zoom{position:absolute;bottom:.8rem;inset-inline-end:.8rem}
.stage-tabs{display:flex;gap:.6rem;margin-top:.8rem}
.stage-tabs button{flex:1;display:flex;align-items:center;gap:.6rem;padding:.4rem;border-radius:14px;border:2px solid var(--line);background:var(--card);cursor:pointer;font-weight:800;font-size:.9rem;text-align:start}
.stage-tabs button img{width:84px;aspect-ratio:3/2;object-fit:contain;border-radius:8px;background:var(--bg2)}
.stage-tabs button[aria-pressed="true"]{border-color:var(--red)}
.buy{position:sticky;top:calc(var(--hdr) + 16px)}
.buy h1{font-size:clamp(2.2rem,1.4rem + 3vw,3.8rem)}
.buy .moto-line{font-weight:800;color:var(--muted);font-size:1.1rem;margin-bottom:1rem}
.buy .price{font-size:2.2rem}
.opt-group{border:0;padding:0;margin:1.4rem 0}
.opt-group legend{font-weight:900;margin-bottom:.6rem;display:flex;gap:.5rem;align-items:baseline}
.opt-group legend output{font-weight:700;color:var(--muted)}
.color-opts{display:flex;flex-wrap:wrap;gap:.6rem}
.color-opt{position:relative}
.color-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.color-opt span{display:block;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--a) 50%,var(--b,var(--a)) 50%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.25),0 0 0 2px var(--line2);transition:transform .2s,box-shadow .2s}
.color-opt input:checked+span{box-shadow:inset 0 0 0 2px rgba(255,255,255,.4),0 0 0 3px var(--bg),0 0 0 6px var(--red);transform:scale(1.06)}
.color-opt input:focus-visible+span{outline:3px solid var(--focus);outline-offset:6px}
.ver-opts{display:flex;flex-wrap:wrap;gap:.5rem}
.ver-opts label{position:relative}
.ver-opts input{position:absolute;opacity:0}
.ver-opts span{display:block;padding:.6rem 1rem;border-radius:12px;border:2px solid var(--line2);font-weight:800;cursor:pointer}
.ver-opts input:checked+span{border-color:var(--red);background:color-mix(in srgb,var(--red) 14%,transparent)}
.ver-opts input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}
.buy-actions{display:grid;gap:.7rem;margin-top:1.4rem}
.qty{display:inline-flex;align-items:center;border:2px solid var(--line2);border-radius:12px;overflow:hidden}
.qty button{width:44px;height:48px;border:0;background:transparent;font-size:1.3rem;font-weight:900;cursor:pointer}
.qty input{width:48px;text-align:center;border:0;background:transparent;font-weight:900;-moz-appearance:textfield}
.qty input::-webkit-inner-spin-button{display:none}
.reassure{display:grid;gap:.7rem;margin-top:1.5rem;padding:1.1rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.reassure div{display:flex;gap:.8rem;align-items:flex-start;font-size:.95rem}
.reassure svg{width:24px;height:24px;flex:none;color:var(--teal)}
.reassure strong{display:block}
.custom-nudge{margin-top:1.2rem;padding:1.1rem 1.2rem;border-radius:var(--r);background:var(--flame);color:#0a0a0d;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;font-weight:800}
.custom-nudge a{color:#0a0a0d}
.specs{width:100%;border-collapse:collapse}
.specs th,.specs td{text-align:start;padding:.8rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
.specs th{width:38%;color:var(--muted);font-weight:700}

/* ---------- prose / guides ---------- */
.prose{max-width:72ch;font-size:clamp(1.02rem,.98rem + .25vw,1.14rem)}
.prose h2{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.2rem);margin:2.2em 0 .6em;font-stretch:115%}
.prose h3{margin:1.8em 0 .5em}
.prose ul,.prose ol{padding-inline-start:1.3em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--red);font-weight:900}
.prose a{color:var(--teal-ink)}
.prose blockquote{margin:1.6em 0;padding:1rem 1.3rem;border-inline-start:5px solid var(--saffron);background:var(--card);border-radius:0 var(--r-sm) var(--r-sm) 0}
[dir="rtl"] .prose blockquote{border-radius:var(--r-sm) 0 0 var(--r-sm)}
.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95em;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:.6rem .7rem;text-align:start}
.prose th{background:var(--card2)}
.callout{padding:1.1rem 1.3rem;border-radius:var(--r);border:1px solid var(--line);background:var(--card);margin:1.6em 0}
.callout.warn{border-color:color-mix(in srgb,var(--saffron) 60%,var(--line))}
.callout.tip{border-color:color-mix(in srgb,var(--teal) 60%,var(--line))}
.callout strong:first-child{display:block;margin-bottom:.3rem}
.article-head{padding:clamp(2.5rem,2rem + 3vw,5rem) 0 2rem;position:relative;overflow:hidden}
.article-meta{display:flex;flex-wrap:wrap;gap:1rem;color:var(--muted);font-size:.9rem;font-weight:700;margin-top:1rem}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;align-items:start}
@media (max-width:1000px){.article-layout{grid-template-columns:1fr}}
.toc{position:sticky;top:calc(var(--hdr) + 16px);padding:1.2rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line);font-size:.92rem}
.toc ol{padding-inline-start:1.1em;margin:.5rem 0 0}
.toc a{text-decoration:none;color:var(--muted)}
.toc a:hover{color:var(--text)}
.faq details{border-bottom:1px solid var(--line);padding:1rem 0}
.faq summary{cursor:pointer;font-weight:800;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--red);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary::-webkit-details-marker{display:none}
.faq details p{margin:.8rem 0 0;color:var(--muted)}

/* ---------- lecture audio (assets/js/listen.js) ---------- */
.listen-btn{margin-top:1.2rem;min-height:48px}
.listen-btn:disabled{opacity:.5;cursor:not-allowed}
.listen-note{color:var(--muted);font-size:.92rem}
.listen-current{background:color-mix(in srgb,var(--saffron) 16%,transparent);border-radius:6px;box-shadow:0 0 0 6px color-mix(in srgb,var(--saffron) 16%,transparent)}
.listen-bar{position:fixed;inset-inline:0;bottom:0;z-index:70;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#0a0a0d;color:#f6f5f2;border-top:3px solid var(--red);direction:ltr}
.listen-bar button,.listen-bar select{min-width:44px;min-height:44px;border:1px solid #3a3a48;border-radius:10px;background:#1d1d26;color:#fff;font:inherit;font-size:1.05rem;cursor:pointer}
.listen-bar .lb-play{background:var(--red);border-color:var(--red);min-width:56px}
.listen-bar select{padding:0 8px;font-size:.95rem}
.listen-bar select option{color:#000}
.listen-bar .lb-pos{font-size:.9rem;color:#b4b2bd;min-width:96px;text-align:center;font-variant-numeric:tabular-nums;unicode-bidi:isolate}
body.listening{padding-bottom:76px}
body.listening .wa-float{bottom:90px}
@media (max-width:480px){.listen-bar{gap:4px;padding-inline:8px}.listen-bar button,.listen-bar select{min-width:40px;min-height:42px}.listen-bar .lb-pos{min-width:0;font-size:.82rem}}

/* ---------- cartes génériques ---------- */
.card{position:relative;padding:clamp(1.3rem,1rem + 1vw,2rem);border-radius:var(--r);background:var(--card);border:1px solid var(--line);transition:transform .35s var(--ease),border-color .35s}
a.card{text-decoration:none;display:block}
a.card:hover{transform:translateY(-4px);border-color:var(--line2)}
.card .ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--c,var(--red)) 16%,transparent);color:var(--c,var(--red));margin-bottom:1rem;transform:skewX(var(--skew))}
.card .ico svg{width:28px;height:28px;transform:skewX(calc(var(--skew) * -1))}
.card h3{margin-bottom:.4rem}
.card p{color:var(--muted);margin:0}
.card .more{margin-top:1rem}
.stat{font-weight:900;font-style:italic;font-stretch:125%;font-size:clamp(2.6rem,2rem + 3vw,4.6rem);line-height:1}
.stat-label{color:var(--muted);font-weight:700}

/* ---------- bandeau CTA ---------- */
.cta-band{position:relative;overflow:hidden;border-radius:calc(var(--r) + 10px);padding:clamp(2rem,1.5rem + 3vw,4.5rem);background:var(--flame);color:#0a0a0d;isolation:isolate}
.cta-band h2{font-size:var(--fs-h2)}
.cta-band p{font-weight:700;max-width:55ch}
.cta-band .btn{--b:#0a0a0d;color:#fff}
.cta-band .btn-ghost{color:#0a0a0d;box-shadow:inset 0 0 0 2px #0a0a0d;background:transparent}
.cta-band .deco{position:absolute;inset-inline-end:-30px;bottom:-40px;width:300px;opacity:.12;z-index:-1}
.cta-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}

/* ---------- pied ---------- */
.foot{margin-top:clamp(3rem,2rem + 4vw,6rem);background:var(--bg2);border-top:1px solid var(--line);position:relative}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2rem;padding:3.5rem 0 2rem}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot h2{font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:1rem}
:lang(ar) .foot h2,:lang(ary) .foot h2{letter-spacing:0;font-size:1rem}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.foot a{text-decoration:none;color:var(--muted)}
.foot a:hover{color:var(--text);text-decoration:underline}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.4rem 0 2rem;border-top:1px solid var(--line);color:var(--faint);font-size:.88rem}
.socials{display:flex;gap:.5rem;margin-top:1rem}

/* ---------- panneau / tiroirs ---------- */
dialog:not([open]){display:none!important}
dialog{border:0;padding:0;background:transparent;color:var(--text);max-width:none;max-height:none}
dialog::backdrop{background:rgba(5,5,8,.7);backdrop-filter:blur(4px)}
.drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,100vw);height:100dvh;background:var(--bg);border-inline-start:1px solid var(--line);display:flex;flex-direction:column}
[dir="rtl"] .drawer{inset:0 auto 0 0}
.drawer[open]{animation:slidein .4s var(--ease)}
@keyframes slidein{from{transform:translateX(100%)}}
[dir="rtl"] .drawer[open]{animation-name:slidein-rtl}
@keyframes slidein-rtl{from{transform:translateX(-100%)}}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}
.drawer-head h2{font-size:1.3rem;margin:0}
.drawer-body{flex:1;overflow:auto;padding:1.2rem}
.drawer-foot{padding:1rem 1.2rem;border-top:1px solid var(--line);background:var(--bg2)}
.cart-line{display:grid;grid-template-columns:96px 1fr auto;gap:.8rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--line)}
.cart-line img{width:96px;aspect-ratio:3/2;object-fit:contain;background:var(--card);border-radius:10px}
.cart-line .t{font-weight:800;line-height:1.2}
.cart-line .s{font-size:.85rem;color:var(--muted)}
.total-row{display:flex;justify-content:space-between;font-weight:900;font-size:1.2rem;margin:.6rem 0}
.form-grid{display:grid;gap:.9rem}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media (max-width:520px){.form-2{grid-template-columns:1fr}}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem}
.check input{width:22px;height:22px;flex:none;margin-top:.15em;accent-color:var(--red)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-status{padding:.9rem 1rem;border-radius:12px;font-weight:700}
.form-status.ok{background:color-mix(in srgb,var(--teal) 18%,transparent);border:1px solid var(--teal)}
.form-status.ko{background:color-mix(in srgb,var(--red) 15%,transparent);border:1px solid var(--red)}
.form-status:empty{display:none}
.toast:not(.show){visibility:hidden}
.toast{position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%,150%);z-index:120;background:var(--text);color:var(--bg);padding:.9rem 1.3rem;border-radius:14px;font-weight:800;transition:transform .4s var(--ease);box-shadow:var(--shadow);max-width:calc(100vw - 2rem)}
.toast.show{transform:translate(-50%,0)}

.a11y-panel{position:fixed;inset:auto 1rem 1rem auto;width:min(380px,calc(100vw - 2rem));margin:0;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:1.2rem}
[dir="rtl"] .a11y-panel{inset:auto auto 1rem 1rem}
.a11y-panel h2{font-size:1.2rem}
.a11y-panel fieldset{border:0;padding:0;margin:0 0 1rem}
.a11y-panel legend{font-weight:800;margin-bottom:.5rem;font-size:.92rem}
.seg{display:flex;gap:.4rem;flex-wrap:wrap}
.seg button{flex:1;min-height:42px;border-radius:10px;border:1.5px solid var(--line2);background:var(--bg2);font-weight:800;cursor:pointer;padding:.3rem .6rem}
.seg button[aria-pressed="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}

.wa-float{position:fixed;inset:auto 1rem 1rem auto;z-index:40;width:60px;height:60px;border-radius:50%;background:#1fa855;color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(31,168,85,.7);transition:transform .3s var(--ease)}
[dir="rtl"] .wa-float{inset:auto auto 1rem 1rem}
.wa-float:hover{transform:scale(1.08) rotate(-6deg)}
.wa-float svg{width:30px;height:30px}

/* ---------- révélations au défilement ---------- */
.js .rv{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0) * 90ms)}
.js .rv.in{opacity:1;transform:none}
.js .rv-x{opacity:0;transform:translateX(-60px) skewX(6deg);transition:opacity 1s var(--ease),transform 1s var(--ease)}
[dir="rtl"].js .rv-x,.js [dir="rtl"] .rv-x{transform:translateX(60px) skewX(-6deg)}
.js .rv-x.in{opacity:1;transform:none}
@keyframes pulse{50%{opacity:.35}}
.tilt{transform-style:preserve-3d;transition:transform .2s ease-out}

/* ---------- divers ---------- */
.page-hero{position:relative;padding:clamp(3rem,2rem + 5vw,7rem) 0 clamp(2rem,1.5rem + 2vw,3.5rem);overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 80% at 85% 0,rgba(255,77,26,.25),transparent 70%),radial-gradient(40% 60% at 0 100%,rgba(77,155,255,.12),transparent 70%)}
[data-theme="light"] .page-hero::before{background:radial-gradient(50% 80% at 85% 0,rgba(232,64,15,.12),transparent 70%)}
.page-hero h1{font-size:clamp(2.4rem,1.4rem + 4.4vw,5.2rem)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.pill-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.pill-list a,.pill-list span{display:inline-block;padding:.55rem 1rem;border-radius:999px;border:1.5px solid var(--line2);text-decoration:none;font-weight:800;font-size:.95rem}
.pill-list a:hover{border-color:var(--red);color:var(--red-ink)}
.notice{padding:1rem 1.2rem;border-radius:var(--r);background:var(--card);border:1px dashed var(--line2);color:var(--muted)}
.zoom-dialog{width:min(1400px,96vw);height:min(900px,92dvh);margin:auto;background:var(--bg);border-radius:20px;overflow:hidden;position:relative}
.zoom-dialog img{width:100%;height:100%;object-fit:contain;cursor:zoom-in;transition:transform .3s}
.zoom-dialog img.z{transform:scale(2);cursor:zoom-out}
.zoom-dialog .close{position:absolute;top:1rem;inset-inline-end:1rem;z-index:2}
.tool-box{border-radius:calc(var(--r) + 6px);background:var(--card);border:1px solid var(--line);padding:clamp(1.2rem,1rem + 1.5vw,2.4rem)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js .rv,.js .rv-x{opacity:1;transform:none}.speedlines{display:none}.marquee-track{animation:none}}
:root[data-motion="reduce"] *,:root[data-motion="reduce"] *::before,:root[data-motion="reduce"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
:root[data-motion="reduce"] .rv,:root[data-motion="reduce"] .rv-x{opacity:1!important;transform:none!important}
:root[data-motion="reduce"] .speedlines{display:none}
:root[data-motion="reduce"] .marquee-track{animation:none}
@media print{.top,.foot,.wa-float,.listen,.toc,.btn,dialog{display:none!important}body{background:#fff;color:#000}.section{padding:1rem 0}}
@media (forced-colors:active){.btn,.chip,.icon-btn{border:2px solid ButtonText}.flame-text,.chrome-text{color:CanvasText;background:none}}

.moto-rows{display:grid;gap:1.4rem}
.moto-row{display:grid;grid-template-columns:160px 1fr;gap:1rem;align-items:center}
.moto-row>a{font-weight:900;font-style:italic;font-stretch:125%;text-transform:uppercase;font-size:1.4rem;text-decoration:none}
.moto-row>a:hover{color:var(--red-ink)}
@media (max-width:640px){.moto-row{grid-template-columns:1fr}}
/* ajustements fiche kit et mobile */
.buy .btn{font-size:.95rem}
.buy-row{display:flex;gap:.7rem;align-items:stretch;flex-wrap:wrap}
.buy-row .btn{flex:1 1 240px}
@media (max-width:560px){
  :root{--wrap:calc(100% - 1.5rem)}
  .brand svg{height:26px}
  .tools{gap:.25rem}
  .tools .icon-btn{width:38px;height:38px;border-radius:10px}
  .tools [data-theme-toggle]{display:none}
  .finder{grid-template-columns:1fr 1fr;gap:.6rem;padding:.8rem}
  .field select,.field input{padding:.6rem .6rem;font-size:.95rem}
}

/* outils : trouver-mon-kit */
.garage{display:grid;gap:1rem}
.garage-steps{list-style:none;margin:0;padding:0;display:grid;gap:.9rem;grid-template-columns:1fr}
@media (min-width:760px){.garage-steps{grid-template-columns:repeat(3,1fr)}}
.garage-steps label{display:flex;align-items:center;gap:.55rem;color:var(--text)}
.garage-n{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:7px;background:var(--cta-bg);color:var(--cta-ink);font-weight:900;font-size:.9rem;transform:skewX(var(--skew));flex:none}
.garage-steps [hidden],.garage-bar[hidden],.garage-cmp[hidden]{display:none}
[data-tool="trouver-mon-kit"] h2.display{font-size:clamp(1.45rem,1.1rem + 1.6vw,2.3rem);line-height:1.08}
.garage-steps select:disabled{opacity:.55;cursor:not-allowed}
.garage-reset{justify-self:end}
.garage-status{margin:1rem 0 0;font-weight:800;color:var(--muted);min-height:1.2em}
.garage-status:empty{display:none}
.garage-hint{margin-top:1.4rem;padding:1.6rem;border-radius:var(--r);border:2px dashed var(--line2);color:var(--muted);text-align:center}
.garage-hint p{margin:0}
.garage-head{margin:1.6rem 0 1rem}
.garage-head h2{margin-bottom:.3rem}
.garage-head p{margin:0}
.garage-card .media picture{position:absolute;inset:0}
.garage-card .body{gap:.45rem}
.garage-card .design{margin:0}
.garage-color{margin:0;font-weight:700;font-size:.92rem}
.garage-one{font-size:.85rem;color:var(--faint)}
.garage-sws{display:flex;flex-wrap:wrap;gap:.45rem}
.garage-sw{width:32px;height:32px;padding:0;border:0;border-radius:50%;cursor:pointer;background:linear-gradient(135deg,var(--a) 50%,var(--b,var(--a)) 50%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.25),0 0 0 1.5px var(--line2);transition:transform .2s var(--ease),box-shadow .2s}
.garage-sw[aria-pressed="true"]{box-shadow:inset 0 0 0 2px rgba(255,255,255,.4),0 0 0 3px var(--card),0 0 0 5.5px var(--red);transform:scale(1.06)}
.garage-sw:focus-visible{outline-offset:5px;border-radius:50%}
.garage-vb{min-height:34px;padding:.25rem .75rem;border-radius:999px;border:1.5px solid var(--line2);background:transparent;font-weight:800;font-size:.82rem;cursor:pointer}
.garage-vb[aria-pressed="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}
.garage-act{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.garage-act .btn{flex:1 1 auto}
.garage-pick{min-height:42px}
.garage-pick[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:var(--bg)}
.garage-pick:disabled{opacity:.45;cursor:not-allowed}
.garage-more{margin:1.4rem 0 0;color:var(--muted);font-weight:700}
.garage-none{margin-top:1.4rem;padding:clamp(1.2rem,1rem + 2vw,2.2rem);border-radius:var(--r);background:radial-gradient(90% 120% at 100% 0,color-mix(in srgb,var(--teal) 18%,transparent),transparent 60%),var(--card2);border:1px solid var(--line2);border-inline-start:6px solid var(--saffron)}
.garage-none h2{margin-bottom:.6rem}
.garage-none p:not(.kicker){max-width:62ch}
.garage-none-a{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.garage-bar{position:sticky;bottom:.8rem;z-index:30;margin-top:1.2rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;padding:.7rem .9rem;border-radius:16px;background:var(--card2);border:1px solid var(--line2);box-shadow:var(--shadow)}
.garage-bar p{margin:0;font-weight:800}
.garage-bar-a{display:flex;gap:.5rem;flex-wrap:wrap}
.garage-cmp{margin-top:2rem;padding-top:1.4rem;border-top:3px solid var(--red);scroll-margin-top:calc(var(--hdr) + 16px)}
.garage-cmp:focus{outline:none}
.garage-cmp:focus-visible{outline:3px solid var(--focus);outline-offset:6px}
.garage-cmp-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1rem}
.garage-cmp-h h2{margin:0}
.garage-cmp-g{display:grid;gap:1rem;grid-auto-flow:column;grid-auto-columns:minmax(80%,1fr);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem}
@media (min-width:760px){.garage-cmp-g{grid-auto-flow:row;grid-template-columns:repeat(var(--n),minmax(0,1fr));overflow:visible}}
.garage-col{scroll-snap-align:start;display:flex;flex-direction:column;gap:.7rem;padding:1rem;border-radius:var(--r);background:var(--card2);border:1px solid var(--line)}
.garage-big{position:relative;aspect-ratio:3/2;border-radius:var(--r-sm);overflow:hidden;background:radial-gradient(70% 70% at 50% 60%,color-mix(in srgb,var(--accent,var(--red)) 32%,transparent),transparent 72%),var(--bg2)}
.garage-big picture,.garage-big img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.garage-maq{aspect-ratio:3/1.4;background:var(--bg2)}
.garage-col .design{margin:.2rem 0 0}
.garage-dl{margin:0;display:grid;gap:.35rem}
.garage-dl div{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding-block:.35rem;border-bottom:1px solid var(--line)}
.garage-dl dt{color:var(--muted);font-weight:700;font-size:.9rem}
.garage-dl dd{margin:0;font-weight:800;text-align:end}
@media (max-width:1360px){.garage-bar{padding-inline-end:4.8rem}}
@media (max-width:560px){.garage-reset{justify-self:stretch}.garage-bar .btn{flex:1}}

/* outils : checklist-pose */
.cl-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem}
.cl-prog{flex:1 1 280px}
.cl-bar{height:14px;border-radius:999px;background:var(--bg2);border:1px solid var(--line);overflow:hidden}
.cl-bar span{display:block;block-size:100%;inline-size:0;background:var(--flame);border-radius:inherit;transition:inline-size .5s var(--ease)}
.cl-pct{margin:.5rem 0 0;font-weight:900;font-stretch:112%}
.cl-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.cl-note{font-size:.88rem;margin:.8rem 0 0}
.cl-group{margin-top:2rem}
.cl-gh{display:flex;align-items:center;gap:.7rem;font-size:var(--fs-h3);margin-bottom:.9rem}
.cl-gn{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:8px;background:var(--red);color:#0a0a0d;font-size:1rem;transform:skewX(var(--skew));flex:none}
.cl-gc{margin-inline-start:auto;font-size:.85rem;font-weight:800;padding:.2rem .65rem;border-radius:999px;border:1.5px solid var(--line2);color:var(--muted);direction:ltr;unicode-bidi:isolate}
.cl-gc.is-full{background:var(--teal);border-color:var(--teal);color:var(--bg)}
.cl-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.cl-item{display:grid;grid-template-columns:auto 1fr;column-gap:.9rem;align-items:start;padding:.9rem 1rem;border-radius:14px;background:var(--card2);border:1px solid var(--line);border-inline-start:4px solid var(--line2);transition:border-color .25s,background .25s}
.cl-item>*:not(.cl-cb){grid-column:2}
.cl-cb{grid-row:1/span 3;appearance:none;-webkit-appearance:none;margin:.1rem 0 0;width:30px;height:30px;border-radius:9px;border:2px solid var(--line2);background:var(--bg2);display:grid;place-content:center;cursor:pointer;transition:background .2s,border-color .2s}
/* coche : bordures physiques voulues (le symbole ne s'inverse pas en RTL) */
.cl-cb::before{content:"";width:13px;height:7px;border-left:3px solid var(--bg);border-bottom:3px solid var(--bg);transform:translateY(-2px) rotate(-45deg) scale(0);transition:transform .2s var(--ease)}
.cl-cb:checked{background:var(--teal);border-color:var(--teal)}
.cl-cb:checked::before{transform:translateY(-2px) rotate(-45deg) scale(1)}
.cl-item label{font-weight:900;cursor:pointer;line-height:1.3;padding-top:.2rem}
.cl-p{margin:.3rem 0 0;color:var(--muted);font-size:.95rem}
.cl-item.is-done{border-inline-start-color:var(--teal);background:color-mix(in srgb,var(--teal) 7%,var(--card2))}
.cl-item.is-done .cl-t{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:color-mix(in srgb,var(--teal) 70%,transparent)}
.cl-timer{margin-top:.7rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;padding:.7rem .8rem;border-radius:12px;border:1.5px dashed var(--line2)}
.cl-timer.is-run{border-style:solid;border-color:var(--saffron);background:color-mix(in srgb,var(--saffron) 10%,transparent)}
.cl-timer.is-ok{border-style:solid;border-color:var(--teal);background:color-mix(in srgb,var(--teal) 10%,transparent)}
.cl-tt{font-size:.88rem}
.cl-when{margin:0;font-size:.95rem}
.cl-left{color:var(--muted)}
.cl-done{margin:2rem 0 0;padding:1rem 1.2rem;border-radius:14px;background:var(--cta-bg);color:var(--cta-ink);font-weight:900}
@media (forced-colors:active){.cl-cb{appearance:auto;-webkit-appearance:auto}.cl-cb::before{display:none}}
@media print{
  .cl-page body>*:not(main),.cl-page main>*:not(:has([data-tool="checklist-pose"])),.cl-page .crumbs{display:none!important}
  .cl-page main>*:has([data-tool="checklist-pose"]){padding:0!important}
  .cl-page [data-tool="checklist-pose"]{border:0;padding:0;background:#fff;color:#000}
  .cl-page .cl-actions,.cl-page .cl-note,.cl-page .cl-start,.cl-page .cl-timer button{display:none!important}
  .cl-page .cl-item{break-inside:avoid;transition:none;background:#fff;border:1px solid #999;border-inline-start:4px solid #999;color:#000}
  .cl-page .cl-p,.cl-page .cl-left,.cl-page .cl-tt{color:#333}
  .cl-page .cl-cb{transition:none;print-color-adjust:exact;-webkit-print-color-adjust:exact;border-color:#000;background:#fff}
  .cl-page .cl-cb:checked{background:#000}
  .cl-page .cl-cb::before{border-color:#fff}
  .cl-page .cl-bar{print-color-adjust:exact;-webkit-print-color-adjust:exact;border-color:#999}
  .cl-page .cl-gn{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
.article-meta span{display:inline-flex;align-items:center;gap:.4em}
.article-meta svg{width:18px;height:18px}
.listen-bar[hidden],.listen-note[hidden]{display:none!important}

/* outils : studio-design */
.sd{display:grid;gap:1.1rem;align-items:start}
.sd-stage{position:sticky;top:calc(var(--hdr) + .5rem);z-index:5;border-radius:var(--r);overflow:hidden;background:#08080b;aspect-ratio:16/10;box-shadow:var(--shadow),0 0 0 1px rgba(255,255,255,.06) inset;isolation:isolate}
.sd-svg{width:100%;height:100%;display:block}
.sd-note{margin:0;font-size:.88rem;color:var(--muted);display:flex;gap:.6rem;align-items:flex-start}
.sd-note::before{content:"";flex:none;width:4px;align-self:stretch;border-radius:2px;background:var(--saffron)}
.sd-dice{position:absolute;top:.7rem;right:.7rem;display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.45rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(10,10,14,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-weight:800;font-size:.85rem;cursor:pointer;transition:transform .25s var(--ease),background .25s,border-color .25s}
.sd-dice svg{width:1.15em;height:1.15em;transition:transform .5s var(--ease)}
.sd-dice:hover{background:rgba(10,10,14,.8);border-color:var(--saffron)}
.sd-dice:hover svg{transform:rotate(180deg)}
.sd-dice:active{transform:scale(.96)}
.sd-dice:focus-visible{outline:3px solid #fff;outline-offset:2px}
.sd-badge{position:absolute;left:.8rem;bottom:.7rem;margin:0;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75);pointer-events:none}
.sd-badge span{display:inline-block;padding:.25rem .6rem;border-radius:999px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.12)}
:lang(ar) .sd-badge,:lang(ary) .sd-badge{letter-spacing:0;text-transform:none;font-size:.8rem}
.sd-panel{display:grid;gap:1.4rem;min-width:0}
.sd-step{border:0;margin:0;padding:0;min-width:0}
.sd-step legend{display:flex;align-items:center;gap:.6rem;padding:0;margin-bottom:.75rem;font-weight:900;font-stretch:112%;font-size:1.08rem}
.sd-step legend b{display:inline-grid;place-items:center;min-width:2.1rem;height:1.7rem;padding:0 .4rem;border-radius:7px;background:var(--red);color:#0a0a0d;font-size:.8rem;font-style:italic;transform:skewX(var(--skew))}
.sd-opt{position:relative;display:block;min-width:0}
.sd-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.sd-card{display:flex;flex-direction:column;gap:.15rem;height:100%;padding:.55rem .6rem .6rem;border-radius:14px;border:1.5px solid var(--line2);background:var(--bg2);transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.sd-opt:hover .sd-card{border-color:var(--muted)}
.sd-opt input:checked+.sd-card{border-color:var(--red);box-shadow:0 0 0 1px var(--red),0 12px 30px -16px var(--red)}
.sd-opt input:focus-visible+.sd-card{outline:3px solid var(--focus);outline-offset:3px}
.sd-ot{font-weight:800;font-size:.9rem;line-height:1.2}
.sd-oh{font-size:.76rem;color:var(--muted);line-height:1.25}
.sd-bikes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.sd-mini{display:block;border-radius:9px;background:radial-gradient(ellipse at 50% 60%,#25262e,#0b0b0e 75%);padding:.3rem .2rem;margin-bottom:.3rem}
.sd-mini{aspect-ratio:2/1}
.sd-mini svg{width:100%;height:100%}
.sd-crow+.sd-crow{margin-top:.9rem}
.sd-lbl{margin:0 0 .45rem;font-weight:800;font-size:.85rem;color:var(--muted)}
.sd-cv{font-weight:600;color:var(--text);margin-inline-start:.3rem}
.sd-hex{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8em;color:var(--faint);margin-inline-start:.25rem}
.sd-sws{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.sd-sw{position:relative;width:32px;height:32px;flex:none}
.sd-sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.sd-sw span:not(.sr-only){display:block;width:100%;height:100%;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(127,127,127,.45),inset 0 -6px 10px rgba(0,0,0,.18),inset 0 5px 8px rgba(255,255,255,.22);transition:transform .2s var(--ease),box-shadow .2s}
.sd-sw:hover span:not(.sr-only){transform:scale(1.1)}
.sd-sw input:checked+span{box-shadow:0 0 0 2px var(--bg),0 0 0 4.5px var(--text),inset 0 0 0 1px rgba(127,127,127,.45)}
.sd-sw input:focus-visible+span{outline:3px solid var(--focus);outline-offset:4px}
.sd-free{display:inline-flex;align-items:center;gap:.4rem;padding:.15rem .6rem .15rem .2rem;border-radius:999px;border:1.5px dashed var(--line2);font-size:.78rem;font-weight:700;color:var(--muted);cursor:pointer;min-height:36px}
.sd-free input{width:28px;height:28px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;overflow:hidden;box-shadow:0 0 0 1.5px var(--line2)}
.sd-free input::-webkit-color-swatch-wrapper{padding:0}
.sd-free input::-webkit-color-swatch{border:0;border-radius:50%}
.sd-free input::-moz-color-swatch{border:0;border-radius:50%}
.sd-free.on{border-style:solid;border-color:var(--text);color:var(--text)}
.sd-free:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.sd-motifs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
.sd-mcard{padding:.35rem .35rem .45rem;gap:.3rem;text-align:center}
.sd-mcard .sd-ot{font-size:.76rem}
.sd-thumb svg{width:100%;height:auto;border-radius:8px}
.sd-fins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.sd-fcard{align-items:flex-start}
.sd-fdot{width:30px;height:30px;border-radius:50%;margin-bottom:.35rem;background:var(--red)}
.sd-fdot-g{background:radial-gradient(circle at 34% 28%,#fff 0 9%,transparent 16%),radial-gradient(circle at 50% 50%,var(--red),#5a1a06 95%)}
.sd-fdot-s{background:radial-gradient(circle at 36% 30%,rgba(255,255,255,.55),transparent 45%),radial-gradient(circle at 50% 50%,var(--red),#6a2410 95%)}
.sd-fdot-m{background:var(--red);filter:saturate(.75) brightness(.92)}
.sd-texts{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:.8rem}
.sd-texts .field{align-content:start}
.sd-texts .field input{min-height:52px;height:52px;padding:.6rem .9rem;font-size:1rem}
.sd-send{padding:1.1rem;border-radius:var(--r);background:var(--bg2);border:1px solid var(--line)}
.sd-sendh{margin:0 0 .3rem;font-size:1.15rem}
.sd-send .muted{font-size:.9rem;margin-bottom:.9rem}
.sd-actions{display:grid;gap:.55rem}
.sd-actions .btn{width:100%;font-size:.92rem;padding-inline:1.1rem}
.sd-minor{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}
.sd-status{margin:.7rem 0 0;font-size:.88rem;font-weight:700;color:var(--teal-ink);min-height:1.2em}
.sd-status:empty{display:none}
/* animations du studio (désactivées si mouvement réduit) */
.sd-svg [data-k]{transition:fill .55s ease,stop-color .55s ease}
.sd-svg [data-ks]{transition:stroke .55s ease}
.sd-haloc{transition:stop-color .9s ease}
.sd-mv{transition:opacity .5s ease}
.sd-fin>g{transition:opacity .6s ease}
.sd-anim{transition:transform .85s var(--ease),opacity .55s ease}
.sd-wh{transform-box:fill-box;transform-origin:center;transition:transform .85s var(--ease)}
.sd-entering .sd-anim{transform:translateX(-300px);opacity:0}
.sd-entering .sd-wh{transform:rotate(-140deg)}
.sd-leaving .sd-anim{transform:translateX(300px);opacity:0}
.sd-leaving .sd-wh{transform:rotate(140deg)}
.sd-sweep.go{animation:sdSweep 1.1s var(--ease)}
@keyframes sdSweep{0%{opacity:0;transform:skewX(-18deg) translateX(0)}25%{opacity:.55}100%{opacity:0;transform:skewX(-18deg) translateX(1150px)}}
@media (prefers-reduced-motion:reduce){.sd-anim,.sd-wh,.sd-mv,.sd-fin>g,.sd-svg [data-k],.sd-svg [data-ks]{transition:none!important}.sd-sweep.go{animation:none}}
:root[data-motion="reduce"] .sd-anim,:root[data-motion="reduce"] .sd-wh,:root[data-motion="reduce"] .sd-mv,:root[data-motion="reduce"] .sd-fin>g,:root[data-motion="reduce"] .sd-svg [data-k],:root[data-motion="reduce"] .sd-svg [data-ks]{transition:none!important}
:root[data-motion="reduce"] .sd-sweep.go{animation:none}
@media (min-width:980px){
  .sd{grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);grid-template-rows:auto 1fr;gap:1rem 2rem}
  .sd-stage{grid-column:1;grid-row:1;top:calc(var(--hdr) + 1rem)}
  .sd-note{grid-column:1;grid-row:2}
  .sd-panel{grid-column:2;grid-row:1/span 2}
  .sd-actions .btn{width:auto}
  .sd-actions{grid-template-columns:1fr}
}
@media (max-width:640px){.tool-box[data-tool="studio-design"]{padding:.7rem;border-radius:var(--r)}.sd-stage{border-radius:12px}.sd-minor .btn{flex:1 1 auto;font-size:.78rem}}
@media (max-width:420px){.sd-dice span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sd-dice{padding:.45rem;min-width:40px;justify-content:center}.sd-badge{display:none}.sd-texts{grid-template-columns:1fr}.sd-motifs{gap:.35rem}.sd-oh{font-size:.7rem}}
@media (forced-colors:active){.sd-card{border:2px solid ButtonText}.sd-opt input:checked+.sd-card{border:4px solid Highlight}.sd-sw span:not(.sr-only){forced-color-adjust:none}}
@media (max-width:560px){.btn{font-size:.88rem;padding:.8rem 1.1rem}.path-custom .path-art{opacity:.3;width:80%}}
/* icônes du pied de page */
.foot ul a,.foot ul span{display:inline-flex;align-items:center;gap:.55em}
.foot ul svg{width:18px;height:18px;flex:none}
/* suivi de commande */
.track-result:empty{display:none}
.track-result{margin-top:1.5rem}
.track-card{padding:1.3rem;border-radius:var(--r);background:var(--bg2);border:1px solid var(--line)}
.track-steps{list-style:none;padding:0;margin:1.2rem 0;display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;counter-reset:t}
.track-steps li{position:relative;padding-top:2.4rem;font-weight:800;font-size:.88rem;color:var(--muted);text-align:center}
.track-steps li::before{counter-increment:t;content:counter(t);position:absolute;top:0;left:50%;transform:translateX(-50%) skewX(var(--skew));width:2rem;height:2rem;display:grid;place-items:center;border-radius:8px;border:2px solid var(--line2);background:var(--card)}
.track-steps li.done::before{content:"✓";background:var(--card2);border-color:var(--saffron);color:var(--text)}
.track-steps li.now{color:var(--text)}
.track-steps li.now::before{background:var(--saffron);border-color:var(--saffron);color:#0a0a0d}
.track-dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:1rem 0}
.track-dl dt{color:var(--muted);font-weight:700}
.track-dl dd{margin:0}
@media (max-width:520px){.track-steps{grid-template-columns:1fr 1fr}.track-dl{grid-template-columns:1fr}}
.field{align-content:start}
