/* Slider d'accueil Skybrain — reprise de l'animation d'origine (LayerSlider) en CSS : retournements 3D, tags pivotants,
   nuage de mots en zoom, tourbillon, parallaxe. Thème toujours sombre. Les positions de chaque calque sont générées par build.mjs. */
.slider{--bg:#070b14;--text:#e8eef8;--muted:#a9b9d0;--card:#0f1829;--line:#1e2b45;--cyan:#22d3ee;--violet:#8b5cf6;--amber:#fbbf24;
  position:relative;background:var(--bg);color:var(--text);overflow:hidden;isolation:isolate}
.deck{display:grid}
.slide{grid-area:1/1;position:relative;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s}
.slide.is-active{opacity:1;visibility:visible;transition-delay:0s}
.sbg{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--bg)}
.sbg img{width:100%;height:100%;object-fit:cover;opacity:.55;transform:scale(1.04)}
.slide.is-active .sbg img{animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.14) translate(-1.5%,-1%)}}
.sbg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,11,20,.93) 6%,rgba(7,11,20,.62) 55%,rgba(7,11,20,.4)),
   radial-gradient(60% 80% at 88% 8%,rgba(139,92,246,.38),transparent 70%),
   radial-gradient(45% 60% at 8% 100%,rgba(34,211,238,.2),transparent 70%),
   linear-gradient(rgba(34,211,238,.07) 1px,transparent 1px) 0 0/56px 56px,
   linear-gradient(90deg,rgba(34,211,238,.07) 1px,transparent 1px) 0 0/56px 56px}

/* canevas 1280 x 640 mis à l'échelle ; chaque calque est placé avec --x --y (px du canevas), --fs (taille de police du canevas) */
.canvas{position:relative;width:min(100%,1280px);height:min(50vw,640px);margin-inline:auto;container-type:size}
.layer{position:absolute;left:calc(var(--x) * 100% / 1280);top:calc(var(--y) * 100% / 640);margin:0;white-space:nowrap;
  font-size:calc(var(--fs,16) * 100cqw / 1280);line-height:1.15;
  opacity:1}
.layer{--ease:cubic-bezier(.2,.7,.2,1)}
/* la largeur n'est imposée que si --w est défini (texte qui passe à la ligne) */
.layer{width:auto;max-width:calc(var(--w,1280) * 100% / 1280)}
.t-h1,.t-big,.t-head,.t-head2,.t-head3{white-space:normal;text-wrap:balance}
.cx{translate:-50% 0;text-align:center;width:max-content}
.par{translate:calc(var(--px,0) * var(--z,0) * 1px) calc(var(--py,0) * var(--z,0) * 1px);transition:translate .35s ease-out}

.t-h1,.t-big{font-weight:800;letter-spacing:-.02em;color:var(--text);text-shadow:0 4px 30px rgba(0,0,0,.45)}
.t-h1{line-height:1.08}
.t-head,.t-head2,.t-head3{font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--cyan)}
.t-head2{color:#a78bfa}.t-head3{color:var(--amber)}
.t-mono{font-family:var(--mono);font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:.42em .85em;border-left:3px solid var(--cyan);background:rgba(7,11,20,.62);backdrop-filter:blur(6px);border-radius:0 8px 8px 0}
.t-mono:nth-of-type(even){border-left-color:var(--violet)}
.t-tag{font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#04101a;background:linear-gradient(135deg,var(--cyan),var(--violet));padding:.4em .85em;border-radius:7px;box-shadow:0 10px 30px rgba(34,211,238,.25)}
.t-lab{font-family:var(--mono);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.t-pill{font-family:var(--mono);font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.45em 1.1em;border:1px solid color-mix(in srgb,var(--cyan) 55%,transparent);border-radius:999px;background:rgba(7,11,20,.55);backdrop-filter:blur(6px)}
.t-chip{font-family:var(--mono);font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:.55em .95em;border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--cyan);border-radius:8px;background:rgba(15,24,41,.72);backdrop-filter:blur(6px);color:var(--text)}
.t-chip:nth-of-type(3n){border-left-color:var(--violet)}
.t-ghost{font-weight:900;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.16);user-select:none}
.t-float{font-family:var(--mono);font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text);padding-left:1.1em;position:absolute}
.t-float::before{content:"";position:absolute;left:0;top:.35em;width:.55em;height:.55em;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}
.t-card{display:flex;flex-direction:column;gap:.45em;white-space:normal;padding:1em 1.05em;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(15,24,41,.78);backdrop-filter:blur(8px);color:var(--text);text-decoration:none;transition:transform .25s var(--ease),border-color .25s}
.t-card strong{font-size:1.18em;line-height:1.2}.t-card span{color:var(--muted);font-size:.9em;line-height:1.45}
.t-card:hover,.t-card:focus-visible{transform:translateY(-6px);border-color:var(--cyan)}
.t-btn{display:inline-flex;align-items:center;font-weight:800;color:#04101a;background:linear-gradient(135deg,var(--cyan),var(--violet));padding:.8em 1.6em;border-radius:999px;text-decoration:none;box-shadow:0 10px 34px rgba(34,211,238,.3)}
.t-line{height:2px;width:calc(var(--w,200) * 100cqw / 1280);max-width:none;background:linear-gradient(90deg,var(--cyan),var(--violet));border-radius:2px}

/* animations d'entrée — jouées à chaque affichage de la diapositive */
.slide:not(.is-active) .layer{animation:none;opacity:0}
.slide.is-active .layer{animation:var(--an,kRise) var(--du,1s) var(--ease) var(--d,0ms) backwards}
.k-fr{--an:kFr;--du:1.4s;transform-origin:right center}
.k-fl{--an:kFl;--du:1.4s;transform-origin:left center}
.k-fx{--an:kFx;--du:1s;transform-origin:50% 100%}
.k-pop{--an:kPop;--du:1.3s;transform-origin:left center}
.k-skew{--an:kSkew;--du:1.3s;transform-origin:25% 50%}
.k-zoom{--an:kZoom;--du:1.2s}
.k-spin{--an:kSpin;--du:1.7s;transform-origin:right center}
.k-rise{--an:kRise;--du:1s}
.k-el{--an:kEl;--du:1.5s;--ease:cubic-bezier(.34,1.56,.64,1);transform-origin:50% 100%}
.k-line{--an:kLine;--du:1.1s;transform-origin:left center}
@keyframes kFr{from{opacity:0;transform:perspective(900px) translateX(70px) rotateY(62deg)}to{opacity:1;transform:none}}
@keyframes kFl{from{opacity:0;transform:perspective(900px) translateX(-70px) rotateY(-62deg)}to{opacity:1;transform:none}}
@keyframes kFx{from{opacity:0;transform:perspective(900px) rotateX(90deg)}to{opacity:1;transform:none}}
@keyframes kPop{from{opacity:0;transform:perspective(900px) scale(1.7) rotate(20deg) rotateX(30deg)}to{opacity:1;transform:none}}
@keyframes kSkew{from{opacity:0;transform:perspective(900px) translateX(60px) skewX(-45deg) rotateY(60deg)}to{opacity:1;transform:none}}
@keyframes kZoom{from{opacity:0;transform:scale(2.8) rotate(10deg)}to{opacity:1;transform:none}}
@keyframes kSpin{from{opacity:0;transform:perspective(900px) rotateY(450deg)}to{opacity:1;transform:none}}
@keyframes kRise{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}
@keyframes kEl{from{opacity:0;transform:perspective(900px) rotateX(90deg) scale(.92)}to{opacity:1;transform:none}}
@keyframes kLine{from{opacity:1;transform:scaleX(0)}to{opacity:1;transform:none}}
.t-ghost{--an:kGhost}
.slide.is-active .t-ghost{animation:kGhost 2s var(--ease) var(--d) backwards}
@keyframes kGhost{from{opacity:0;transform:scale(1.6)}to{opacity:1;transform:none}}

/* commandes */
.s-ctrl{position:absolute;left:0;right:0;bottom:0;z-index:5}
.s-row{display:flex;align-items:center;justify-content:center;gap:.9rem;padding:.7rem 1rem 1rem}
.no-js .s-ctrl{display:none}
.s-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(7,11,20,.6);backdrop-filter:blur(8px);color:var(--text);display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.s-btn:hover{border-color:var(--cyan);transform:scale(1.06)}
.s-btn:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.s-btn .ic{width:20px;height:20px}.s-btn .flip{transform:rotate(180deg)}
.s-pp .i-play{display:none}.s-pp[aria-pressed="true"] .i-play{display:block}.s-pp[aria-pressed="true"] .i-pause{display:none}
.s-dots{display:flex;gap:.45rem;list-style:none;margin:0;padding:0}
.s-dots button{width:34px;height:44px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.s-dots span{display:block;width:100%;height:4px;border-radius:4px;background:rgba(255,255,255,.28);transition:background .3s,transform .3s}
.s-dots button:hover span{background:rgba(255,255,255,.6)}
.s-dots button[aria-current="true"] span{background:var(--cyan);transform:scaleY(1.5)}
.s-dots button:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;border-radius:6px}
.s-prog{height:3px;background:rgba(255,255,255,.1)}
.s-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet));transform-origin:left;transform:scaleX(0)}
.s-prog.run i{animation:sprog var(--dur,8000ms) linear both}
.slider.is-paused .s-prog.run i{animation-play-state:paused}
@keyframes sprog{to{transform:scaleX(1)}}

/* bandeau sous le slider */
.strip{background:var(--bg2);border-bottom:1px solid var(--line);padding:1.4rem 0}
.strip-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem 2rem}
.strip .stats{margin:0;flex:1 1 560px;max-width:none}
.strip .cta{margin:0}

/* mobile : les calques s'empilent (pas de positionnement absolu), les décors secondaires sont masqués */
@media (max-width:820px){
  .canvas{height:auto;container-type:normal;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:2.2rem 1.1rem 5.4rem}
  .layer{position:static;left:auto;top:auto;translate:none;max-width:100%;white-space:normal;font-size:var(--m,1rem)}
  .par{translate:none}
  .hm,.t-ghost{visibility:hidden;position:absolute;width:0;height:0;margin:0;padding:0;overflow:hidden;border:0}
  .t-h1{--m:1.95rem}.t-big{--m:1.55rem}.t-head,.t-head2,.t-head3{--m:1.02rem}.t-mono{--m:.8rem}.t-tag{--m:.9rem}.t-lab{--m:.8rem}.t-pill{--m:.8rem}.t-chip{--m:.8rem}.t-float{--m:.82rem;position:relative}.t-card{--m:.95rem;width:100%}.t-btn{--m:1rem}.t-line{width:60%}
  .cx{text-align:left;width:auto}
  .s-row{padding:.4rem .6rem .8rem}
  .s-dots button{width:26px}
}
@media (prefers-reduced-motion:reduce){
  .slide .layer,.slide.is-active .layer{animation:none!important;opacity:1}
  .slide.is-active .sbg img{animation:none}
  .slide{transition:none}.par{transition:none}
}
@media print{.slider{display:none}}

/* règles générées */
.s1 .l1{--x:80;--y:38;--fs:14;--d:0ms}
.s1 .l2{--x:80;--y:70;--fs:50;--d:250ms;--w:720}
.s1 .l3{--x:820;--y:92;--fs:24;--d:500ms}
.s1 .l4{--x:820;--y:130;--fs:24;--d:1100ms}
.s1 .l5{--x:820;--y:168;--fs:20;--d:1500ms}
.s1 .l6{--x:80;--y:262;--fs:15;--d:1000ms}
.s1 .l7{--x:80;--y:308;--fs:15;--d:1300ms}
.s1 .l8{--x:80;--y:354;--fs:15;--d:1600ms}
.s1 .l9{--x:80;--y:400;--fs:15;--d:1900ms}
.s1 .l10{--x:80;--y:446;--fs:15;--d:2200ms}
.s1 .l11{--x:80;--y:492;--fs:15;--d:2500ms}
.s1 .l12{--x:820;--y:236;--fs:17;--d:3200ms}
.s1 .l13{--x:820;--y:276;--fs:16;--d:3600ms}
.s1 .l14{--x:820;--y:328;--fs:17;--d:3900ms}
.s1 .l15{--x:820;--y:368;--fs:16;--d:4300ms}
.s1 .l16{--x:820;--y:420;--fs:17;--d:4600ms}
.s1 .l17{--x:820;--y:460;--fs:16;--d:5000ms}
.s1 .l18{--x:820;--y:512;--fs:17;--d:5300ms}
.s1 .l19{--x:820;--y:552;--fs:16;--d:5700ms}
.s2 .l1{--x:80;--y:60;--fs:14;--d:0ms}
.s2 .l2{--x:80;--y:98;--fs:46;--d:250ms;--w:900}
.s2 .l3{--x:80;--y:220;--fs:20;--d:900ms}
.s2 .l4{--x:80;--y:290;--fs:17;--d:1300ms;--w:214}
.s2 .l5{--x:312;--y:290;--fs:17;--d:1520ms;--w:214}
.s2 .l6{--x:544;--y:290;--fs:17;--d:1740ms;--w:214}
.s2 .l7{--x:776;--y:290;--fs:17;--d:1960ms;--w:214}
.s2 .l8{--x:1008;--y:290;--fs:17;--d:2180ms;--w:214}
.s3 .l1{--x:60;--y:500;--fs:100;--d:600ms}
.s3 .l2{--x:80;--y:60;--fs:36;--d:0ms;--w:600}
.s3 .l3{--x:80;--y:150;--fs:26;--d:500ms}
.s3 .l4{--x:80;--y:214;--fs:15;--d:1200ms}
.s3 .l5{--x:80;--y:262;--fs:15;--d:1500ms}
.s3 .l6{--x:80;--y:310;--fs:15;--d:1800ms}
.s3 .l7{--x:80;--y:358;--fs:15;--d:2100ms}
.s3 .l8{--x:80;--y:430;--fs:18;--d:2600ms}
.s3 .l9{--x:80;--y:482;--fs:20;--d:3400ms}
.s3 .l10{--x:80;--y:520;--fs:20;--d:3700ms}
.s3 .l11{--x:690;--y:56;--fs:12;--d:2000ms}
.s3 .l12{--x:985;--y:56;--fs:12;--d:2240ms}
.s3 .l13{--x:690;--y:114;--fs:12;--d:2480ms}
.s3 .l14{--x:985;--y:114;--fs:12;--d:2720ms}
.s3 .l15{--x:690;--y:172;--fs:12;--d:2960ms}
.s3 .l16{--x:985;--y:172;--fs:12;--d:3200ms}
.s3 .l17{--x:690;--y:230;--fs:12;--d:3440ms}
.s3 .l18{--x:985;--y:230;--fs:12;--d:3680ms}
.s3 .l19{--x:690;--y:288;--fs:12;--d:3920ms}
.s3 .l20{--x:985;--y:288;--fs:12;--d:4160ms}
.s3 .l21{--x:690;--y:346;--fs:12;--d:4400ms}
.s3 .l22{--x:985;--y:346;--fs:12;--d:4640ms}
.s3 .l23{--x:690;--y:404;--fs:12;--d:4880ms}
.s3 .l24{--x:985;--y:404;--fs:12;--d:5120ms}
.s3 .l25{--x:690;--y:462;--fs:12;--d:5360ms}
.s3 .l26{--x:985;--y:462;--fs:12;--d:5600ms}
.s3 .l27{--x:690;--y:520;--fs:12;--d:5840ms}
.s4 .l1{--x:640;--y:150;--fs:20;--d:0ms}
.s4 .l2{--x:640;--y:205;--fs:62;--d:250ms;--w:1100}
.s4 .l3{--x:130;--y:70;--fs:17;--d:1500ms;--z:-2}
.s4 .l4{--x:150;--y:360;--fs:17;--d:1500ms;--z:1}
.s4 .l5{--x:700;--y:450;--fs:17;--d:1500ms;--z:3}
.s4 .l6{--x:1020;--y:330;--fs:20;--d:1500ms;--z:5}
.s4 .l7{--x:880;--y:80;--fs:17;--d:1500ms;--z:7}
.s4 .l8{--x:90;--y:450;--fs:17;--d:1500ms;--z:2}
.s4 .l9{--x:470;--y:500;--fs:17;--d:1500ms;--z:4}
.s4 .l10{--x:640;--y:526;--fs:20;--d:3500ms}
.s4 .l11{--x:640;--y:556;--fs:14;--d:3700ms}
.s5 .l1{--x:80;--y:60;--fs:44;--d:0ms;--w:620}
.s5 .l2{--x:80;--y:120;--fs:44;--d:400ms;--w:620}
.s5 .l3{--x:80;--y:250;--fs:17;--d:1500ms}
.s5 .l4{--x:80;--y:310;--fs:17;--d:1800ms}
.s5 .l5{--x:80;--y:400;--d:2200ms;--w:520}
.s5 .l6{--x:80;--y:420;--fs:20;--d:2400ms;--w:560}
.s5 .l7{--x:640;--y:70;--fs:13;--d:2500ms}
.s5 .l8{--x:930;--y:70;--fs:13;--d:2600ms}
.s5 .l9{--x:640;--y:148;--fs:13;--d:2700ms}
.s5 .l10{--x:930;--y:148;--fs:13;--d:2800ms}
.s5 .l11{--x:640;--y:226;--fs:13;--d:2900ms}
.s5 .l12{--x:930;--y:226;--fs:13;--d:3000ms}
.s5 .l13{--x:640;--y:304;--fs:13;--d:3100ms}
.s5 .l14{--x:930;--y:304;--fs:13;--d:3200ms}
.s6 .l1{--x:640;--y:70;--fs:52;--d:0ms;--w:1180}
.s6 .l2{--x:640;--y:160;--fs:34;--d:1000ms}
.s6 .l3{--x:640;--y:215;--fs:40;--d:1400ms;--w:900}
.s6 .l4{--x:80;--y:366;--d:2600ms;--w:250}
.s6 .l5{--x:80;--y:380;--fs:18;--d:2800ms;--w:250}
.s6 .l6{--x:370;--y:366;--d:2850ms;--w:250}
.s6 .l7{--x:370;--y:380;--fs:18;--d:3050ms;--w:250}
.s6 .l8{--x:660;--y:366;--d:3100ms;--w:250}
.s6 .l9{--x:660;--y:380;--fs:18;--d:3300ms;--w:250}
.s6 .l10{--x:950;--y:366;--d:3350ms;--w:250}
.s6 .l11{--x:950;--y:380;--fs:18;--d:3550ms;--w:250}
.s6 .l12{--x:640;--y:520;--fs:18;--d:4200ms}