/* Layout: bandes alternées nuit / clair. Accueil = tête de robot lumineuse reliée par des circuits (réf. AI-MAX), menu en pilule de verre (réf. Aethron), blocs info et contact en deux colonnes (réf. Arjun Dev) */
:root{
  --night:#141A3C; --deep:#090C20; --up:#1C2350; --line:#2A3268;
  --yellow:#FFD21F; --yellow-2:#FFB800;
  --white:#F5F7FF; --mute:#A3AACC; --dim:#6E77A6;
  --paper:#EEF1FA; --paper-2:#FFFFFF; --ink:#141A3C; --ink-mute:#4D557E; --paper-line:#D6DBEE;
  --g:#3EE07A; --o:#FF9A3C; --r:#FF5C6C; --cyan:#5CE1FF;
  --f-display:"Montserrat",system-ui,"Segoe UI",Arial,sans-serif;
  --f-body:"Montserrat",system-ui,"Segoe UI",Arial,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--deep);color:var(--white);font:400 16px/1.6 var(--f-body);overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:6px}
.wrap{max-width:1200px;margin:0 auto;padding-inline:20px}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0}
.ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.y{color:var(--yellow)}
.kicker{display:inline-block;font:700 11px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--yellow);padding:7px 11px;border-radius:6px;background:color-mix(in srgb,var(--yellow) 12%,transparent);border:1px solid color-mix(in srgb,var(--yellow) 30%,transparent)}
.h2{font-weight:800;font-size:clamp(28px,4vw,46px);line-height:1.1;letter-spacing:-.02em}
.lead{color:var(--mute);max-width:62ch;margin:0}
.btn{display:inline-flex;align-items:center;gap:10px;font:700 14px/1 var(--f-body);padding:15px 22px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.btn .ico{width:17px;height:17px}
.btn-y{background:var(--yellow);color:var(--ink)}
.btn-y:hover{transform:translateY(-2px);box-shadow:0 12px 30px -8px var(--yellow)}
.btn-o{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-o:hover{box-shadow:inset 0 0 0 1.5px var(--yellow);color:var(--yellow)}
section{padding-block:100px;position:relative}
.sec-head{display:grid;gap:16px;margin-bottom:52px;justify-items:start}
.sec-head.c{justify-items:center;text-align:center}
.sec-head.c .lead{margin-inline:auto}

/* TOPBAR + NAV pilule (Aethron) */
.topbar{font:500 12px/1 var(--f-mono);color:var(--mute);padding-block:12px;background:var(--deep)}
.topbar .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.topbar b{color:var(--yellow);font-weight:600}
.nav-shell{position:sticky;top:calc(env(safe-area-inset-top,0px) + 10px);z-index:50;padding-inline:20px;margin-top:6px}
.nav{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 10px 10px 18px;border-radius:999px;background:color-mix(in srgb,var(--up) 62%,transparent);backdrop-filter:blur(18px) saturate(1.4);border:1px solid color-mix(in srgb,var(--white) 12%,transparent);box-shadow:0 20px 50px -20px #000}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo b{font:900 21px/1 var(--f-display);letter-spacing:-.02em}
.logo b span{color:var(--yellow)}
.logo small{display:block;font:600 9px/1 var(--f-mono);letter-spacing:.16em;color:var(--mute);margin-top:4px;text-transform:uppercase}
.nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav ul a{display:block;text-decoration:none;font-weight:600;font-size:14px;color:var(--mute);padding:9px 14px;border-radius:999px}
.nav ul a:hover{color:var(--white)}
.nav ul a.on{color:var(--ink);background:var(--yellow)}
.nav .btn{padding:12px 18px}
@media (max-width:1020px){.nav ul{display:none}}
@media (max-width:480px){.nav .btn span{display:none}}

/* HERO (AI-MAX) */
.hero{padding-block:0 60px;margin-top:-74px;padding-top:110px;overflow:hidden;background:radial-gradient(60% 70% at 50% 38%,#2b2a1255,transparent 60%),radial-gradient(80% 60% at 50% 0%,#1f2a6e,transparent 70%),var(--deep)}
#circuit{position:absolute;inset:0;width:100%;height:100%}
.hero-grid{position:relative;display:grid;grid-template-columns:200px 1fr 220px;gap:20px;align-items:center;min-height:560px}
.head-wrap{position:relative;width:min(440px,100%);margin:0 auto;aspect-ratio:400/440}
.head-wrap svg{width:100%;height:100%;overflow:visible}
.head-wrap *{transform-box:fill-box}
.hover{animation:hover 6s ease-in-out infinite}
@keyframes hover{50%{transform:translateY(-10px)}}
.eye{animation:blink 5s infinite;transform-origin:center}
@keyframes blink{0%,45%,49%,100%{transform:scaleY(1)}47%{transform:scaleY(.1)}}
.pulse{animation:pulse 1.8s ease-in-out infinite;transform-origin:center}
@keyframes pulse{50%{transform:scale(1.4);opacity:.5}}
.scan{animation:scan 3s linear infinite}
@keyframes scan{0%{transform:translateX(0);opacity:0}15%,85%{opacity:1}100%{transform:translateX(196px);opacity:0}}
.ear-ring{transform-origin:center;animation:spin 8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.grille line{animation:eq 1.2s ease-in-out infinite;transform-origin:center}
.grille line:nth-child(2){animation-delay:.15s}.grille line:nth-child(3){animation-delay:.3s}.grille line:nth-child(4){animation-delay:.45s}.grille line:nth-child(5){animation-delay:.6s}
@keyframes eq{50%{transform:scaleX(.45)}}

.side-stats{display:grid;gap:34px}
.side-stats b{display:block;font:900 40px/1 var(--f-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.side-stats span{font-size:13px;color:var(--mute)}
.side-stats .team{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;line-height:1.35}
.side-stats .team i{display:flex}
.side-stats .team i em{width:34px;height:34px;border-radius:50%;border:2px solid var(--deep);background:var(--up);display:grid;place-items:center;margin-left:-10px;font:800 11px var(--f-display);font-style:normal;color:var(--yellow)}
.side-stats .team i em:first-child{margin-left:0}
.rings{display:grid;gap:22px}
.ringk{display:flex;align-items:center;gap:14px}
.ringk svg{width:58px;height:58px;flex:none}
.ringk .arc{stroke-dasharray:157;stroke-dashoffset:157;animation:arc 2s 0.4s forwards cubic-bezier(.3,.8,.3,1)}
@keyframes arc{to{stroke-dashoffset:var(--to)}}
.ringk b{display:block;font-size:15px}
.ringk span{font-size:12px;color:var(--mute)}

.hero-copy{position:relative;text-align:center;margin-top:-70px;z-index:2}
.hero-copy h1{font-weight:900;font-size:clamp(34px,5.4vw,66px);line-height:1.04;letter-spacing:-.03em;text-shadow:0 6px 40px #000}
.hero-copy .lead{margin:16px auto 0;text-align:center}
.ask-bar{display:flex;gap:8px;max-width:620px;margin:28px auto 0;padding:7px;border-radius:999px;background:var(--white);box-shadow:0 20px 60px -20px var(--yellow)}
.ask-bar .ico{color:var(--ink-mute);margin:auto 4px auto 12px}
.ask-bar input{flex:1;min-width:0;border:0;background:none;font:500 15px var(--f-body);color:var(--ink);outline:none}
.ask-bar input::placeholder{color:var(--ink-mute)}
.ask-bar button{border-radius:999px}
.popular{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin-top:16px;font-size:13px;color:var(--mute)}
.popular button{font:600 12px/1 var(--f-body);color:var(--white);background:color-mix(in srgb,var(--up) 80%,transparent);border:1px solid var(--line);padding:8px 11px;border-radius:7px;cursor:pointer}
.popular button:hover{border-color:var(--yellow);color:var(--yellow)}
.glass{position:absolute;z-index:3;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--up) 55%,transparent);backdrop-filter:blur(12px);border:1px solid color-mix(in srgb,var(--white) 14%,transparent);font:600 12px/1.3 var(--f-mono);display:flex;gap:10px;align-items:center;animation:bob 6s ease-in-out infinite;box-shadow:0 20px 40px -20px #000;white-space:nowrap}
.glass i{width:8px;height:8px;border-radius:50%}
.glass.b{animation-delay:-3s}
@keyframes bob{50%{transform:translateY(-10px)}}
.scroll-down{position:absolute;right:0;bottom:-10px;display:grid;justify-items:center;gap:8px;font:700 12px var(--f-body);color:var(--mute);text-decoration:none}
.scroll-down span{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--yellow);display:grid;place-items:center;color:var(--yellow);animation:bob 2.4s ease-in-out infinite}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .side-stats{grid-template-columns:repeat(3,auto);justify-content:center;text-align:center;order:3;gap:24px}
  .side-stats .team{display:none}
  .rings{grid-template-columns:repeat(3,auto);justify-content:center;order:4}
  .ringk{flex-direction:column;text-align:center;gap:6px}
  .scroll-down,.glass{display:none}
}
@media (max-width:560px){.rings{grid-template-columns:1fr 1fr 1fr;gap:10px}.ringk span{display:none}.ask-bar .btn span{display:none}}

/* MARQUEE techno */
.techs{padding-block:30px;background:var(--deep);border-block:1px solid var(--line);overflow:hidden}
.marquee{display:flex;gap:56px;width:max-content;animation:marq 40s linear infinite}
.marquee span{font:800 20px/1 var(--f-display);color:var(--dim);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:12px}
.marquee .ico{color:var(--yellow);opacity:.7}
@keyframes marq{to{transform:translateX(-50%)}}

/* ABOUT (Arjun) */
.about{background:var(--night)}
.about-grid{display:grid;grid-template-columns:1fr 1px 1.1fr;gap:48px;align-items:center}
.about-grid .sep{align-self:stretch;background:var(--line)}
.about h2{font-size:clamp(26px,3.2vw,36px);font-weight:800;line-height:1.2;margin:16px 0}
.about p{color:var(--mute);margin:0 0 14px;max-width:56ch}
.sign{font:800 italic 22px var(--f-display);color:var(--yellow);letter-spacing:-.01em}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px}
.info{display:flex;gap:14px;align-items:center;min-width:0}
.info .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--yellow) 12%,transparent);color:var(--yellow);flex:none}
.info small{display:block;color:var(--mute);font-size:12px}
.info b{display:block;font-size:14.5px;overflow-wrap:anywhere}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}.about-grid .sep{display:none}}
@media (max-width:460px){.info-grid{grid-template-columns:1fr}}

/* EXPERTISE (Aethron, clair) */
.light{background:var(--paper);color:var(--ink)}
.light .lead{color:var(--ink-mute)}
.light .kicker{color:#8a6a00;background:#FFD21F33;border-color:#FFD21F88}
.light .y{color:var(--ink);background:linear-gradient(transparent 62%,var(--yellow) 62%)}
.poles{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:44px}
.pole{display:grid;justify-items:center;gap:12px;padding:24px 12px;border-radius:18px;background:var(--paper-2);border:1px solid var(--paper-line);cursor:pointer;font:700 14px/1.3 var(--f-body);color:var(--ink);text-align:center;box-shadow:0 10px 30px -18px #141A3C55;transition:.25s}
.pole .ic{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink);transition:.25s}
.pole .n{font:600 11px/1 var(--f-mono);color:var(--ink-mute)}
.pole:hover{transform:translateY(-4px)}
.pole[aria-pressed="true"]{background:var(--ink);color:var(--white);border-color:var(--ink)}
.pole[aria-pressed="true"] .ic{background:var(--yellow);color:var(--ink)}
.pole[aria-pressed="true"] .n{color:var(--yellow)}
@media (max-width:900px){.poles{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.poles{grid-template-columns:repeat(2,1fr)}}
/* CARROUSEL SERVICES */
.car{position:relative}
.car-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:26px calc(50% - 160px) 34px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);cursor:grab;outline:none}
.car-track::-webkit-scrollbar{display:none}
.car-track.drag{cursor:grabbing;scroll-snap-type:none}
.car-track.drag .svc{pointer-events:none}
.car-track .svc{flex:0 0 320px;scroll-snap-align:center;transform:perspective(900px) scale(.86) rotateY(var(--ry,0deg));opacity:.5;filter:saturate(.6);transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .55s,filter .55s,background .55s,color .55s,box-shadow .55s}
.car-wrap3d{perspective:1200px}
.car-track .svc.near{opacity:.8;transform:perspective(900px) scale(.92) rotateY(var(--ry,0deg))}
.car-track .svc.is-active{transform:perspective(900px) scale(1) translateY(-6px);opacity:1;filter:none;background:linear-gradient(150deg,var(--night),#24306e);color:var(--white);border-color:var(--night);box-shadow:0 40px 60px -30px #141A3Caa}
.car-track .svc.is-active p{color:var(--mute)}
.car-track .svc.is-active .ic{border-color:var(--yellow);color:var(--yellow);animation:icpop .6s cubic-bezier(.2,1.6,.4,1)}
.car-track .svc.is-active .meta span{background:#ffffff14;color:var(--mute)}
.car-track .svc .shine{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#FFD21F22 50%,transparent 65%);background-size:250% 100%;background-position:120% 0;opacity:0}
.car-track .svc.is-active .shine{opacity:1;animation:shine 1.2s .2s ease-out}
@keyframes shine{to{background-position:-60% 0}}
@keyframes icpop{from{transform:scale(.6) rotate(-20deg)}}
.svc .pole-lbl{font:600 10.5px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}
.car-track .svc.is-active .pole-lbl{color:var(--yellow)}
.car-ctrl{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:6px}
.car-btn{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--ink);background:var(--paper-2);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:.2s}
.car-btn:hover{background:var(--ink);color:var(--yellow);transform:scale(1.06)}
.car-mid{display:flex;align-items:center;gap:14px}
.car-count{font:600 13px/1 var(--f-mono);color:var(--ink-mute);font-variant-numeric:tabular-nums;min-width:62px}
.car-count b{color:var(--ink);font-size:18px}
.car-bar{width:clamp(80px,22vw,220px);height:4px;border-radius:4px;background:var(--paper-line);overflow:hidden}
.car-bar i{display:block;height:100%;width:0;background:var(--ink)}
.car-bar i.run{animation:fill var(--dur,3.8s) linear forwards}
@keyframes fill{to{width:100%}}
.car-play{width:34px;height:34px;border-radius:50%;border:1px solid var(--paper-line);background:var(--paper-2);color:var(--ink);font-size:10px;cursor:pointer;letter-spacing:-1px}
@media (max-width:520px){.car-track{padding-inline:calc(50% - 135px)}.car-track .svc{flex-basis:270px}.car-play{display:none}}
.tickers{margin-top:64px;display:grid;gap:12px;overflow:hidden;transform:rotate(-2deg);padding-block:8px}
.ticker{display:flex;gap:12px;width:max-content;animation:marq 60s linear infinite}
.ticker.rev{animation-direction:reverse;animation-duration:70s}
.ticker span{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:var(--ink);color:var(--white);font:700 14px/1 var(--f-body);white-space:nowrap}
.ticker.rev span{background:var(--yellow);color:var(--ink)}
.ticker .ico{width:18px;height:18px;color:var(--yellow)}
.ticker.rev .ico{color:var(--ink)}
.light{overflow:hidden}
.svc{position:relative;display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:18px;background:var(--paper-2);border:1px solid var(--paper-line);min-width:0}
.svc.feat{background:linear-gradient(150deg,var(--night),#24306e);color:var(--white);border-color:var(--night)}
.svc.feat p{color:var(--mute)}
.svc.feat .ic{border-color:var(--yellow);color:var(--yellow)}
@keyframes rise{from{transform:translateY(12px);opacity:.3}}
.svc .ic{width:46px;height:46px;border-radius:10px;display:grid;place-items:center;border:1.5px solid var(--ink);color:var(--ink)}
.svc h3{font-size:17px;font-weight:700;line-height:1.3}
.svc p{margin:0;color:var(--ink-mute);font-size:14px}
.svc .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.svc .meta span{font:600 10.5px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;border-radius:6px;background:var(--paper);color:var(--ink-mute)}
.svc.feat .meta span{background:#ffffff14;color:var(--mute)}
.svc .acts{display:flex;gap:8px;flex-wrap:wrap}
.svc .acts button{flex:1;min-width:110px;font:700 12.5px/1 var(--f-body);padding:11px 10px;border-radius:999px;cursor:pointer;border:0}
.a-devis{background:var(--yellow);color:var(--ink)}
.a-ask{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}

/* STATS (Arjun / Aethron) */
.stats{padding-block:44px;background:linear-gradient(90deg,var(--night),#1f2a6e,var(--night));border-block:1px solid var(--line)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{display:flex;align-items:center;gap:16px;padding:6px 22px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
.stat .ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--yellow);color:var(--yellow);flex:none}
.stat b{display:block;font:900 34px/1 var(--f-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.stat span{font-size:13px;color:var(--mute)}
.stats .note{grid-column:1/-1;font:500 11px/1.4 var(--f-mono);color:var(--dim);margin:18px 0 0;text-align:center}
@media (max-width:860px){.stats .wrap{grid-template-columns:1fr 1fr;gap:22px 0}.stat:nth-child(3){border-left:0}}
@media (max-width:460px){.stats .wrap{grid-template-columns:1fr}.stat{border-left:0}}

/* DÉVELOPPEMENT D'APPLICATIONS */
.dev{background:radial-gradient(800px 500px at 80% 40%,#24306e66,transparent 70%),var(--deep);overflow:hidden}
.dev::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.35;-webkit-mask-image:radial-gradient(ellipse at 70% 45%,#000 10%,transparent 65%);mask-image:radial-gradient(ellipse at 70% 45%,#000 10%,transparent 65%);pointer-events:none}
.dev .wrap{position:relative}
.dev-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
@media (max-width:960px){.dev-grid{grid-template-columns:1fr}}
.new-badge{display:inline-flex;align-items:center;gap:8px;margin-left:10px;font:800 10.5px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--g);padding:6px 9px;border-radius:6px;vertical-align:middle}
.dev-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 24px}
.dtab{display:flex;gap:9px;align-items:center;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:var(--night);color:var(--mute);font:700 14px/1 var(--f-body);cursor:pointer;transition:.25s}
.dtab:hover{color:var(--white);border-color:var(--yellow)}
.dtab .ico{width:18px;height:18px}
.dtab[aria-selected="true"]{color:var(--ink);background:var(--yellow);border-color:var(--yellow);box-shadow:0 12px 30px -12px var(--yellow)}
.dev-panel{animation:rise .5s both}
.dev-panel h3{font-size:22px;font-weight:800}
.dev-panel p{color:var(--mute);margin:10px 0 18px;max-width:52ch}
.dev-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dev-panel li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px}
.dev-panel li .ico{width:18px;height:18px;color:var(--g);margin-top:2px}
.dev-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

.dev-stage{position:relative;padding:24px 10% 56px 4%;min-width:0}
.laptop{animation:bob 8s ease-in-out infinite}
.screen{position:relative;aspect-ratio:16/10;max-width:100%;border-radius:14px 14px 4px 4px;background:#05071A;border:7px solid #1C2350;overflow:hidden;box-shadow:0 0 0 1px var(--line),0 40px 80px -30px #000,0 0 80px -30px var(--yellow)}
.lbase{height:14px;margin:0 -4%;border-radius:2px 2px 14px 14px;background:linear-gradient(#2A3268,#141A3C);position:relative}
.lbase::after{content:"";position:absolute;left:42%;right:42%;top:0;height:5px;border-radius:0 0 6px 6px;background:#090C20}
.win-bar{height:26px;display:flex;align-items:center;gap:6px;padding:0 10px;background:#0E1230;border-bottom:1px solid var(--line);font:600 10.5px/1 var(--f-mono);color:var(--mute)}
.win-bar i{width:8px;height:8px;border-radius:50%}
.win-bar span{margin-left:10px;padding:5px 9px;background:#05071A;border-radius:5px 5px 0 0;border-top:2px solid var(--yellow)}
.ide{display:grid;grid-template-columns:1.2fr .8fr;height:calc(100% - 26px)}
.code{margin:0;padding:12px 12px 12px 0;font:500 clamp(8.5px,1.05vw,11.5px)/1.7 var(--f-mono);color:#C9CFF0;white-space:pre;overflow:hidden;counter-reset:ln}
.code .ln{display:block;padding-left:34px;position:relative}
.code .ln::before{counter-increment:ln;content:counter(ln);position:absolute;left:0;width:24px;text-align:right;color:#3A4380}
.code .k{color:#FF9A3C}.code .s{color:#3EE07A}.code .t{color:#FFD21F}.code .c{color:#6E77A6;font-style:italic}.code .p{color:#5CE1FF}
.caret{display:inline-block;width:7px;height:1.15em;vertical-align:text-bottom;background:var(--yellow);animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.preview{position:relative;border-left:1px solid var(--line);padding:10px;background:#0B0F26;display:grid;gap:7px;align-content:start;overflow:hidden}
.pv-wait{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;font:600 10px/1 var(--f-mono);color:var(--mute);transition:opacity .3s}
.pv-wait::before{content:"";width:22px;height:22px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--yellow);animation:spin .8s linear infinite}
.preview.live .pv-wait{opacity:0}
.blk{border-radius:6px;background:#1C2350;opacity:0;transform:translateY(8px) scale(.97);transition:opacity .45s,transform .45s;transition-delay:calc(var(--d,0)*90ms);font:600 8.5px/1.2 var(--f-body);color:var(--mute);padding:6px 7px;display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap}
.preview.live .blk{opacity:1;transform:none}
.blk.ttl{background:none;padding:0;color:var(--white);font-size:10px;font-weight:800}
.kp{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.kp .blk{display:grid;gap:2px}
.kp b{color:var(--yellow);font-size:11px}
.bars{height:58px;display:flex;align-items:flex-end;gap:4px;padding:7px}
.bars i{flex:1;background:linear-gradient(var(--yellow),#FFB800);border-radius:2px 2px 0 0;height:0;transition:height .7s cubic-bezier(.2,.8,.2,1);transition-delay:calc(.5s + var(--i)*70ms)}
.preview.live .bars i{height:var(--h)}
.dotc{width:8px;height:8px;border-radius:50%;flex:none}
.mapbox{height:74px;padding:0;position:relative;background:#141A3C;background-image:linear-gradient(#2A3268 1px,transparent 1px),linear-gradient(90deg,#2A3268 1px,transparent 1px);background-size:14px 14px}
.mapbox svg{position:absolute;inset:0;width:100%;height:100%}
.row2{justify-content:space-between}
.row2 b{color:var(--white)}
.tot{background:color-mix(in srgb,var(--yellow) 14%,transparent);color:var(--yellow);justify-content:space-between}

.phone{position:absolute;right:0;bottom:0;width:31%;max-width:200px;aspect-ratio:9/19;border-radius:28px;background:#05071A;border:6px solid #2A3268;overflow:hidden;box-shadow:0 30px 60px -20px #000,0 0 0 1px #3A4380;animation:bob 7s -2s ease-in-out infinite}
.phone .notch{position:absolute;top:6px;left:50%;transform:translateX(-50%);width:34%;height:12px;border-radius:10px;background:#000;z-index:3}
.ph-track{display:flex;height:100%;transition:transform .8s cubic-bezier(.7,0,.2,1)}
.ph-scr{flex:0 0 100%;padding:26px 10px 10px;display:flex;flex-direction:column;gap:7px;font:600 8.5px/1.25 var(--f-body);color:var(--mute)}
.ph-scr h5{margin:0;font:800 11px/1.2 var(--f-display);color:var(--white)}
.ph-in{height:20px;border-radius:7px;background:#1C2350;border:1px solid var(--line);display:flex;align-items:center;padding:0 7px}
.ph-btn{height:22px;border-radius:7px;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font-weight:800}
.ph-item{display:flex;align-items:center;gap:6px;padding:7px;border-radius:8px;background:#141A3C;border:1px solid var(--line)}
.ph-item b{color:var(--white);display:block}
.ph-scr.on .ph-item{animation:slidein .5s both}
.ph-scr.on .ph-item:nth-child(3){animation-delay:.1s}.ph-scr.on .ph-item:nth-child(4){animation-delay:.2s}.ph-scr.on .ph-item:nth-child(5){animation-delay:.3s}
@keyframes slidein{from{transform:translateX(30px);opacity:0}}
.ph-map{flex:1;border-radius:10px;position:relative;overflow:hidden;background:#141A3C;background-image:linear-gradient(#2A3268 1px,transparent 1px),linear-gradient(90deg,#2A3268 1px,transparent 1px);background-size:16px 16px}
.ph-map svg{position:absolute;inset:0;width:100%;height:100%}
.ph-notif{position:absolute;left:8px;right:8px;top:22px;z-index:2;padding:7px 8px;border-radius:10px;background:var(--white);color:var(--ink);font:700 8.5px/1.25 var(--f-body);display:flex;gap:6px;align-items:center;box-shadow:0 10px 20px -8px #000;animation:notif 9s 2s infinite}
.ph-notif i{width:18px;height:18px;border-radius:5px;background:var(--night);display:grid;place-items:center;flex:none}
@keyframes notif{0%,8%{transform:translateY(-140%);opacity:0}12%,30%{transform:none;opacity:1}36%,100%{transform:translateY(-140%);opacity:0}}
.dchip{position:absolute;z-index:4;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--up) 70%,transparent);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--white) 14%,transparent);font:600 11.5px/1 var(--f-mono);display:flex;gap:8px;align-items:center;white-space:nowrap;box-shadow:0 20px 40px -20px #000;animation:bob 6s ease-in-out infinite}
.dchip .ico{width:15px;height:15px}
.dchip.ok{top:4px;left:0;color:var(--g)}
.dchip.tst{bottom:18px;left:8%;animation-delay:-3s}
.dchip.flash{animation:flash .6s}
@keyframes flash{50%{transform:scale(1.12);box-shadow:0 0 0 6px #3EE07A33}}
@media (max-width:560px){.ide{grid-template-columns:1fr}.preview{display:none}.dchip.tst{display:none}}

.pipe{position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin-top:76px}
.pipe-line{position:absolute;left:10%;right:10%;top:27px;height:2px;background:var(--line)}
.pipe-line i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--yellow),var(--g));transition:width 1.2s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px var(--yellow)}
.pstep{position:relative;display:grid;justify-items:center;gap:10px;text-align:center;padding-inline:4px}
.pstep .dot{width:56px;height:56px;border-radius:50%;background:var(--night);border:2px solid var(--line);display:grid;place-items:center;color:var(--dim);transition:.4s}
.pstep b{font-size:14px}
.pstep span{font-size:12.5px;color:var(--mute);max-width:22ch}
.pstep.done .dot{border-color:var(--yellow);color:var(--yellow)}
.pstep.now .dot{background:var(--yellow);border-color:var(--yellow);color:var(--ink);transform:scale(1.12);box-shadow:0 0 0 8px #FFD21F22,0 0 30px -4px var(--yellow)}
@media (max-width:640px){.pstep .dot{width:44px;height:44px}.pipe-line{top:21px}.pstep span{display:none}.pstep b{font-size:11.5px}}
.stack{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:48px}
.stack span{font:600 13px/1 var(--f-mono);padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:var(--night);color:var(--mute);transition:.25s;animation:rise .6s both;animation-delay:calc(var(--i)*60ms)}
.stack span:hover{color:var(--yellow);border-color:var(--yellow);transform:translateY(-3px)}

/* AFFICHES D'APPLICATIONS ANIMÉES */
.posters{background:var(--night)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;perspective:1400px}
.pst{position:relative;aspect-ratio:4/5;max-width:100%;border-radius:22px;overflow:hidden;isolation:isolate;transform:rotateX(var(--rx,0deg)) rotateY(var(--ty,0deg));transition:transform .35s ease-out,box-shadow .35s;box-shadow:0 30px 60px -30px #000;color:var(--white);min-width:0}
.pst:hover{box-shadow:0 40px 80px -30px #000,0 0 0 2px var(--yellow)}
.pst.wide{grid-column:span 2;aspect-ratio:auto}
.wgrid{display:grid;grid-template-columns:.95fr 1.05fr;height:100%}
.wcopy{position:relative;z-index:3;padding:28px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.wart{position:relative;min-height:0}
@media (max-width:900px){.pgrid{grid-template-columns:1fr 1fr}.pst.wide{aspect-ratio:8/5}}
@media (max-width:620px){.pgrid{grid-template-columns:1fr}.pst.wide{grid-column:auto;aspect-ratio:auto}.wgrid{grid-template-columns:1fr}.wart{height:340px}.wcopy{padding:24px 22px 8px}}
.pst h4{font:900 26px/1.06 var(--f-display);letter-spacing:-.02em;margin:0;text-wrap:balance}
.pst h4 em{font-style:normal}
.pst .sub{margin:0;font:600 12px/1.45 var(--f-body);opacity:.85}
.pst .caps{font:700 11px/1.3 var(--f-body);letter-spacing:.08em;text-transform:uppercase}
.pbrand{display:inline-flex;align-items:center;gap:7px;font:800 13px/1 var(--f-display)}
.pbrand i{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font:900 12px var(--f-display);font-style:normal;background:currentColor}
.pbrand i span{color:var(--pb-ink,#fff);mix-blend-mode:normal}
.badges{display:flex;gap:6px;flex-wrap:wrap}
.badge{display:inline-flex;flex-direction:column;justify-content:center;padding:5px 10px;border-radius:7px;background:#000;color:#fff;font:600 7px/1.15 var(--f-body);border:1px solid #ffffff40}
.badge b{font-size:11px;font-weight:700}
.badge.lt{background:#ffffffcc;color:var(--ink);border-color:#14193c22}
.pst-cta{position:absolute;left:14px;right:14px;bottom:14px;z-index:9;transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.8,.2,1);background:var(--yellow);color:var(--ink);font:800 13px/1 var(--f-body);border:0;border-radius:12px;padding:13px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;box-shadow:0 12px 30px -10px #000}
.pst-cta .ico{width:16px;height:16px}
.pst:hover .pst-cta,.pst:focus-within .pst-cta{transform:none}
@media (hover:none){.pst-cta{transform:none;padding:10px;font-size:12px;left:auto;right:12px;bottom:12px}}
.flo{position:absolute;animation:bob var(--t,6s) ease-in-out infinite;animation-delay:var(--dl,0s)}
.pop{animation:popl 4s ease-in-out infinite;animation-delay:var(--dl,0s)}
@keyframes popl{0%,8%{transform:scale(.4);opacity:0}16%,70%{transform:none;opacity:1}80%,100%{transform:scale(.8);opacity:0}}

/* téléphone miniature */
.mph{position:relative;aspect-ratio:9/19;border-radius:20px;background:#05071A;padding:4px;box-shadow:0 24px 40px -16px #000c,0 0 0 1px #ffffff22}
.mph::before{content:"";position:absolute;top:7px;left:50%;width:30%;height:7px;border-radius:6px;background:#05071A;transform:translateX(-50%);z-index:2}
.ms{height:100%;border-radius:16px;overflow:hidden;background:#fff;color:var(--ink);padding:17px 7px 7px;display:flex;flex-direction:column;gap:5px;font:600 7px/1.25 var(--f-body)}
.ms.dk{background:#141A3C;color:var(--white)}
.ms h6{margin:0;font:800 9px/1.1 var(--f-display)}
.ms-row{display:flex;align-items:center;gap:4px;padding:4px;border-radius:6px;background:#EEF1FA}
.dk .ms-row{background:#1C2350}
.ms-row b{margin-left:auto}
.av{width:14px;height:14px;border-radius:50%;background:var(--c,#FFD21F);flex:none}
.ms-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.ms-card{border-radius:6px;background:#EEF1FA;padding:3px;display:grid;gap:2px}
.ms-card i{display:block;aspect-ratio:1.2;border-radius:4px;background:var(--c)}
.ms-ban{border-radius:7px;padding:6px;background:var(--yellow);color:var(--ink);font-weight:800}
.ms-nav{margin-top:auto;display:flex;justify-content:space-around;padding-top:4px;border-top:1px solid #14193c18}
.ms-nav i{width:9px;height:9px;border-radius:3px;background:currentColor;opacity:.35}
.ms-nav i.on{opacity:1;background:var(--c,var(--yellow))}

/* P1 boutique */
.p-shop{background:radial-gradient(45% 60% at 72% 55%,#FFD21F66,transparent 70%),linear-gradient(160deg,#1C2350,#090C20)}
.p-shop h4{font-size:34px}.p-shop h4 em{color:var(--yellow)}
.bagc{position:absolute;left:50%;top:52%;width:30%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 30%,#FFE57A,#FFB800);display:grid;place-items:center;color:var(--ink);box-shadow:0 0 0 14px #FFD21F22,0 0 60px #FFD21F88}
.bagc .ico{width:42%;height:42%;stroke-width:1.6}
.bagc::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:2px solid #FFD21F;animation:ripple 2.4s infinite}
.tiltL{transform:perspective(700px) rotateY(24deg) rotateZ(-5deg)}
.tiltR{transform:perspective(700px) rotateY(-24deg) rotateZ(5deg)}
.chipw{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:10px;background:#fff;color:var(--ink);font:800 10px/1.2 var(--f-body);box-shadow:0 12px 24px -10px #000;white-space:nowrap}
.chipw .ico{width:14px;height:14px}

/* P2 interfaces */
.p-holo{background:conic-gradient(#fff 25%,#E6F3EA 0 50%,#fff 0 75%,#E6F3EA 0) 0 0/26px 26px;color:var(--ink)}
.gp{position:absolute;border-radius:12px;padding:8px;display:grid;gap:5px;font:600 7px/1.2 var(--f-body);backdrop-filter:blur(6px);box-shadow:0 20px 40px -18px #0b3a1f88}
.gp.d{background:#0F2A1Ce6;color:#E9FFF1;border:1.5px solid #3EE07A}
.gp.l{background:#ffffffdd;color:var(--ink);border:1.5px solid #3EE07A88}
.gp h6{margin:0;font:800 10px var(--f-display)}
.gp .ln{height:9px;border-radius:5px;background:currentColor;opacity:.16}
.gp .bt{height:14px;border-radius:7px;background:#3EE07A;color:#0F2A1C;display:grid;place-items:center;font-weight:800}
.gt{position:absolute;width:11%;aspect-ratio:1;border-radius:10px;display:grid;place-items:center;background:#3EE07A;color:#0F2A1C;box-shadow:0 10px 20px -8px #0b3a1f88}
.gt.dk{background:#0F2A1C;color:#3EE07A}
.gt .ico{width:55%;height:55%}
.holo-copy{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 22px;background:linear-gradient(transparent,#ffffffee 45%);z-index:3}
.holo-copy h4 em{color:#179A4E}

/* P3 plateforme */
.p-plat{background:linear-gradient(#10224A,#090C20 75%)}
.floor{position:absolute;left:-30%;right:-30%;bottom:-10%;height:55%;background-image:linear-gradient(#3EE07A55 1px,transparent 1px),linear-gradient(90deg,#3EE07A55 1px,transparent 1px);background-size:34px 34px;transform:perspective(260px) rotateX(58deg);transform-origin:bottom;animation:floor 3s linear infinite;-webkit-mask-image:linear-gradient(transparent,#000 60%);mask-image:linear-gradient(transparent,#000 60%)}
@keyframes floor{to{background-position:0 34px}}
.p-plat h4 em{color:#3EE07A}
.block3{position:absolute;left:6%;bottom:5%;width:50%;height:15%;background:linear-gradient(#1C2350,#0B0F26);border-radius:4px}
.block3::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:40%;background:linear-gradient(90deg,#2A3268,#3A4380);transform:skewX(-35deg);transform-origin:bottom}
.block3::after{content:"";position:absolute;left:22%;right:22%;bottom:100%;height:28%;background:#05071A;transform:skewX(-35deg);transform-origin:bottom}
.rise{animation:rise3 5s ease-in-out infinite}
@keyframes rise3{0%,100%{transform:translateY(10px)}50%{transform:translateY(-6px)}}
.svc4{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.svc4 span{border-radius:6px;padding:5px 4px;display:grid;gap:2px;font-weight:700}
.svc4 .ico{width:10px;height:10px}
.chipd{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:11px;background:#ffffff14;backdrop-filter:blur(8px);border:1px solid #ffffff2a;font:700 10.5px/1 var(--f-body);white-space:nowrap}
.chipd .ico{width:15px;height:15px;color:#3EE07A}
.notif{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--r);color:#fff;font:800 10px/18px var(--f-body);text-align:center;animation:pulse 1.6s infinite}

/* P4 contrôle */
.p-ctrl{background:radial-gradient(circle at 50% 62%,#FFE98F,#FFD21F 55%,#F0B400);color:var(--ink)}
.p-ctrl h4 em{color:#fff;font-style:italic;-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill}
.ring6{position:absolute;left:50%;top:62%;width:88%;aspect-ratio:1;transform:translate(-50%,-50%)}
.ring6 .rot{position:absolute;inset:0;animation:spin 26s linear infinite}
.ring6 .cardr{position:absolute;left:50%;top:50%;width:30%;height:17%;margin:-8.5% 0 0 -15%;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:5px;font:800 9px/1.1 var(--f-body);color:#fff;transform:rotate(var(--a)) translateY(-205%);box-shadow:0 10px 20px -10px #0008}
.ring6 .cardr .ico{width:13px;height:13px}
.coin{position:absolute;width:12%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font:900 12px var(--f-display);color:var(--ink);background:radial-gradient(circle at 35% 30%,#fff,#E9EDF8);box-shadow:0 10px 20px -8px #0006,inset 0 0 0 3px #ffffff}
.band{position:absolute;left:-10%;right:-10%;bottom:0;height:21%;background:#fff;border-radius:50% 50% 0 0/40% 40% 0 0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:12px 15% 0;gap:10px}
.band b{font:800 14px/1.1 var(--f-display)}
.band b span{color:#B88A00}

/* P5 connexion */
.p-conn{background:radial-gradient(circle at 75% 65%,#1E6A80,#0B2E3C 70%)}
.contour{position:absolute;inset:-20%;opacity:.25;animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(-6%,4%) rotate(4deg)}}
.script{font:700 38px/1 "Dancing Script","Brush Script MT",cursive;color:#fff}
.conn-box{position:absolute;left:18px;top:24px;right:42%;padding:14px;border-radius:16px;background:#ffffff10;border:1px solid #ffffff26;backdrop-filter:blur(6px);z-index:3}
.conn-box .bang{position:absolute;right:-14px;top:6px;font:900 54px/1 var(--f-display);color:var(--yellow);transform:rotate(10deg);animation:bob 3s ease-in-out infinite}
.clock{font:800 26px/1 var(--f-display);color:var(--yellow);font-variant-numeric:tabular-nums}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;text-align:center}
.slots span{border-radius:5px;padding:3px 0;background:#ffffff12}
.slots span.on{background:var(--yellow);color:var(--ink);animation:pulse 2s infinite}

/* P6 recharge */
.p-data{background:linear-gradient(#fff,#E9F6F8);color:var(--ink)}
.p-data h4{font-size:30px;text-align:center}
.p-data h4 .gr{background:linear-gradient(90deg,#0E6B78,#12A5B8,#5CE1FF);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:grad 4s linear infinite}
@keyframes grad{to{background-position:200% 0}}
.ops{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}
.ops span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:#fff;border:1px solid #14193c1a;font:700 9.5px/1 var(--f-body)}
.ops i{width:7px;height:7px;border-radius:50%}
.arch{position:absolute;left:18%;right:18%;bottom:0;height:46%;border-radius:999px 999px 0 0;background:linear-gradient(#5CE1FF,#12A5B8)}
.wallet{border-radius:8px;padding:7px;background:linear-gradient(135deg,#12A5B8,#0E6B78);color:#fff;display:grid;gap:2px}
.wallet b{font:800 12px var(--f-display);font-variant-numeric:tabular-nums}
.sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;text-align:center}
.sgrid span{display:grid;justify-items:center;gap:2px;font-size:6px}
.sgrid i{width:17px;height:17px;border-radius:6px;background:#E6F7FA;color:#0E6B78;display:grid;place-items:center;animation:popl 6s infinite;animation-delay:calc(var(--n)*.15s)}
.sgrid .ico{width:10px;height:10px}
.bub{position:absolute;width:12%;aspect-ratio:1;border-radius:50%;background:#fff;display:grid;place-items:center;color:#12A5B8;box-shadow:0 10px 24px -8px #0E6B7866}
.bub .ico{width:50%;height:50%}

/* P7 livraison */
.p-deliv{background:linear-gradient(135deg,#1FAE5B,#0D7A3C)}
.p-deliv h4{font-size:34px}.p-deliv h4 em{color:var(--yellow)}
.dmap{position:absolute;inset:0;background:#0D5E30;background-image:linear-gradient(#ffffff14 1px,transparent 1px),linear-gradient(90deg,#ffffff14 1px,transparent 1px);background-size:30px 30px}
.dmap svg{position:absolute;inset:0;width:100%;height:100%}
.ybtn{align-self:flex-start;padding:10px 16px;border-radius:999px;background:var(--yellow);color:var(--ink);font:800 12px/1 var(--f-body)}
.tl{display:grid;gap:4px}
.tl span{display:flex;align-items:center;gap:5px}
.tl i{width:9px;height:9px;border-radius:50%;border:2px solid #1FAE5B;flex:none}
.tl .ok i{background:#1FAE5B}
.tl .now i{background:var(--yellow);border-color:var(--yellow);animation:pulse 1.4s infinite}
.tl .now{font-weight:800}
.eta{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:12px;background:#fff;color:var(--ink);font:800 11px/1 var(--f-body);box-shadow:0 12px 24px -10px #0008}
.eta b{font-variant-numeric:tabular-nums;color:#0D7A3C}
.pnote{margin:26px 0 0;text-align:center;font:500 11.5px/1.5 var(--f-mono);color:var(--dim)}

/* LOGICIELS & SITES WEB (démos) */
.sw{background:linear-gradient(#F4F6FC,#E9EDF8);color:var(--ink);overflow:hidden;
  --c-blue:#2A3474;--c-green:#179A4E;--c-orange:#E8701A;--c-gold:#C98F00;--c-red:#E5484D;--card:#fff;--soft:#F1F3FA;--bd:#DDE2F0}
.sw .lead{color:var(--ink-mute)}
.sw .kicker{color:#8a6a00;background:#FFD21F33;border-color:#FFD21F88}
.sw .y{color:var(--ink);background:linear-gradient(transparent 62%,var(--yellow) 62%)}
.sw-sub{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0 0 26px}
.sw-sub h3{font-size:clamp(22px,2.6vw,30px);font-weight:800;letter-spacing:-.02em}
.sw-sub h3 em{font-style:normal;color:var(--c-orange)}
.sw-sub p{margin:6px 0 0;color:var(--ink-mute);max-width:60ch}
.sw-tag{font:700 11px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--c-orange)}
.sw-card{background:var(--card);border:1px solid var(--bd);border-radius:18px;box-shadow:0 24px 50px -34px #141A3C66;min-width:0}
.sw-ex{font:500 11px/1.4 var(--f-mono);color:var(--ink-mute)}

/* constructeur de site */
.bld-wrap{position:relative;padding:0 3% 0 0}
.bld{position:relative;border-radius:18px;background:#fff;border:1px solid var(--bd);box-shadow:0 40px 80px -40px #141A3C88;overflow:hidden}
.bld-top{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--bd);background:#FAFBFE}
.bld-top .dots{display:flex;gap:6px}.bld-top .dots i{width:10px;height:10px;border-radius:50%}
.bld-top .ttl{margin-left:10px;font:700 13px/1 var(--f-body);display:flex;align-items:center;gap:8px}
.bld-top .st{font:600 11px/1 var(--f-body);color:var(--ink-mute);display:inline-flex;align-items:center;gap:5px}
.bld-top .st i{width:7px;height:7px;border-radius:50%;background:var(--c-gold)}
.bld-top .st.ok{color:var(--c-green)}.bld-top .st.ok i{background:var(--c-green)}
.bld-top .sp{flex:1}
.bt-s{font:700 12px/1 var(--f-body);padding:9px 13px;border-radius:9px;border:1px solid var(--bd);background:#fff;color:var(--ink);transition:.2s}
.bt-s.pub{background:var(--c-orange);border-color:var(--c-orange);color:#fff}
.bt-s.hit{transform:scale(.92);box-shadow:0 0 0 6px #E8701A33}
.bld-body{display:grid;grid-template-columns:62px 168px 1fr;min-height:470px}
.rail{background:var(--night);color:#C9CFF0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px}
.rail span{display:grid;justify-items:center;gap:3px;font:600 9px/1 var(--f-body);padding:8px 4px;border-radius:10px;width:100%}
.rail span.on{background:#2A3474;color:var(--yellow)}
.rail .ico{width:18px;height:18px}
.pal{padding:14px 12px;border-right:1px solid var(--bd);background:#FAFBFE}
.pal b{display:block;font-size:12.5px;margin-bottom:10px}
.pal-g{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.pal-g span{display:grid;justify-items:center;gap:4px;padding:9px 4px;border-radius:9px;background:#fff;border:1px solid var(--bd);font:600 9.5px/1 var(--f-body);color:var(--ink-mute);transition:.25s}
.pal-g .ico{width:17px;height:17px;color:var(--ink)}
.pal-g span.pick{border-color:var(--c-orange);background:#FFF3E8;transform:scale(.94)}
.cv{padding:14px;background:#EEF1F8;display:grid;gap:12px;align-content:start;min-width:0}
.cv-hero{position:relative;border-radius:14px;overflow:hidden;color:#fff;padding:16px 18px 20px;background:radial-gradient(60% 90% at 85% 70%,#2A6FA544,transparent 70%),linear-gradient(135deg,#141A3C,#1F3A6E);display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:center}
.cv-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(170deg,transparent 40%,#0B0F2699 41%),linear-gradient(195deg,transparent 45%,#0B0F26aa 46%);pointer-events:none}
.cv-nav{grid-column:1/-1;display:flex;align-items:center;gap:12px;font:600 10px/1 var(--f-body)}
.cv-nav .lg{display:flex;align-items:center;gap:6px;font-weight:800;font-size:11px;margin-right:auto}
.cv-nav .gs{background:var(--yellow);color:var(--ink);padding:6px 9px;border-radius:6px;font-weight:800}
.cv-hero h5{margin:0;font:800 clamp(17px,2vw,24px)/1.12 var(--f-display);letter-spacing:-.02em}
.cv-hero h5 em{font-style:normal;color:var(--yellow)}
.cv-hero p{margin:8px 0 12px;font-size:11.5px;color:#C9CFF0;max-width:36ch}
.cv-cta{display:inline-flex;padding:10px 14px;border-radius:8px;background:var(--yellow);color:var(--ink);font:800 11.5px/1 var(--f-body)}
.cv-img{position:relative;z-index:1;aspect-ratio:4/3;max-width:100%;border-radius:12px;border:2px dashed #ffffff88;display:grid;place-items:center;background:#ffffff10;backdrop-filter:blur(3px)}
.cv-img .ph{width:56%;aspect-ratio:4/3;border-radius:10px;background:linear-gradient(160deg,#5CE1FF,#2A6FA5);display:grid;place-items:center}
.cv-why{border-radius:14px;background:#fff;padding:14px;text-align:center}
.cv-why small{font:700 9px/1 var(--f-mono);letter-spacing:.12em;color:#2A6FA5}
.cv-why h5{margin:6px 0 12px;font:800 16px/1.2 var(--f-display)}
.cv-why h5 em{font-style:normal;color:#2A6FA5}
.cv-3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cv-3 div{border:1px solid var(--bd);border-radius:10px;padding:10px 6px;display:grid;justify-items:center;gap:5px;font:700 10.5px/1.2 var(--f-body)}
.cv-3 div span{font-weight:500;font-size:9px;color:var(--ink-mute)}
.cv-3 i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff}
.cv-3 .ico{width:15px;height:15px}
[data-step]{transition:opacity .5s,transform .5s cubic-bezier(.2,1.4,.4,1),outline-color .3s;outline:2px dashed transparent;outline-offset:4px}
.bld.run [data-step]:not(.in){opacity:0;transform:scale(.85)}
[data-step].drop{opacity:.35!important;transform:none!important;outline-color:var(--c-orange)}
.cursor{position:absolute;left:0;top:0;z-index:20;pointer-events:none;transition:transform .9s cubic-bezier(.6,0,.2,1);transform:translate(70%,60%)}
.cursor svg{width:26px;height:26px;filter:drop-shadow(0 4px 6px #0006)}
.cursor .ghost{position:absolute;left:18px;top:20px;display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:8px;background:#fff;border:1.5px solid var(--c-orange);font:700 10px/1 var(--f-body);white-space:nowrap;box-shadow:0 10px 20px -8px #0005;opacity:0;transform:scale(.6);transition:.25s}
.cursor .ghost .ico{width:13px;height:13px;color:var(--c-orange)}
.cursor.drag .ghost{opacity:1;transform:none}
.cursor::after{content:"";position:absolute;left:-10px;top:-10px;width:22px;height:22px;border-radius:50%;border:2px solid var(--c-orange);opacity:0}
.cursor.click::after{animation:clk .5s}
@keyframes clk{from{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.8)}}
.mprev{position:absolute;right:0;bottom:-26px;width:150px;z-index:15;transition:transform .7s cubic-bezier(.2,1.2,.3,1),opacity .5s}
.bld-wrap.run .mprev:not(.in){transform:translateX(40px) rotate(6deg);opacity:0}
.mprev .ms{background:linear-gradient(160deg,#141A3C,#1F3A6E);color:#fff;gap:7px;padding-top:20px}
.mprev h6{font-size:12px;line-height:1.15}.mprev h6 em{font-style:normal;color:var(--yellow)}
.floaty-ic{position:absolute;z-index:16;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;box-shadow:0 18px 30px -12px #141A3C66;animation:bob 5s ease-in-out infinite}
.floaty-ic .ico{width:24px;height:24px}
.lay-card{position:absolute;left:-14px;bottom:-30px;z-index:15;width:170px;padding:12px;border-radius:14px;background:#fff;border:1px solid var(--bd);box-shadow:0 24px 40px -20px #141A3C66;animation:bob 7s -2s ease-in-out infinite;display:grid;gap:6px;font:700 11px/1 var(--f-body)}
.lay-card .r{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.lay-card .r i,.lay-card .w{height:22px;border-radius:5px;background:#CFE0FB}
.lay-card .w{height:14px;background:#2A6FA5}
.bld-toast{position:absolute;right:170px;top:58px;z-index:21;display:flex;align-items:center;gap:7px;padding:10px 13px;border-radius:12px;background:var(--c-green);color:#fff;font:800 12px/1 var(--f-body);box-shadow:0 14px 30px -10px #0006;opacity:0;transform:translateY(-10px);transition:.4s}
.bld-toast.on{opacity:1;transform:none}
.bld-toast .ico{width:15px;height:15px}
@media (max-width:980px){.bld-body{grid-template-columns:52px 1fr}.pal{display:none}.mprev{width:120px}.lay-card{display:none}}
@media (max-width:620px){.bld-body{grid-template-columns:1fr}.rail{display:none}.cv-hero{grid-template-columns:1fr}.cv-img{display:none}.mprev,.floaty-ic{display:none}.bld-wrap{padding:0}.cv-3{grid-template-columns:1fr}.bld-top .bt-s:not(.pub){display:none}.bld-toast{right:12px}}

.perf{display:grid;grid-template-columns:1.6fr .8fr .9fr;gap:16px;margin-top:56px}
@media (max-width:980px){.perf{grid-template-columns:1fr 1fr}.perf .chartc{grid-column:1/-1}}
@media (max-width:620px){.perf{grid-template-columns:1fr}}
.chartc{padding:18px}
.chartc .hd{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.chartc .hd b{font-size:15px}
.legend{display:flex;gap:14px;font:600 11px/1 var(--f-body);color:var(--ink-mute)}
.legend i{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-right:5px}
.chartc svg{width:100%;height:auto;display:block}
.chartc .ax{font:500 10px var(--f-mono);fill:var(--ink-mute)}
.chartc .gl{stroke:#E3E7F2}
.cln{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.2s cubic-bezier(.4,0,.2,1)}
.area{opacity:0;transition:opacity 1s 1.4s}
.ept{opacity:0;transition:opacity .4s 2.1s}
.sw.live .cln{stroke-dashoffset:0}.sw.live .area{opacity:1}.sw.live .ept{opacity:1}
.kcol{display:grid;gap:12px}
.kpi2{display:flex;align-items:center;gap:14px;padding:14px 16px}
.kpi2 .ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none}
.kpi2 small{display:block;color:var(--ink-mute);font-size:12px;font-weight:600}
.kpi2 b{display:block;font:800 22px/1.15 var(--f-display);font-variant-numeric:tabular-nums}
.kpi2 em{font:700 11px/1 var(--f-body);color:var(--c-green);font-style:normal}
.upsell{padding:22px;color:#fff;background:linear-gradient(160deg,#1F3A6E,#141A3C);border:0;display:grid;gap:12px;align-content:start;text-align:center;justify-items:center}
.upsell .crown{width:56px;height:56px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;animation:bob 4s ease-in-out infinite}
.upsell h4{margin:0;font:800 20px/1.15 var(--f-display)}
.upsell ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;text-align:left;font-size:13px}
.upsell li{display:flex;gap:8px;align-items:center}
.upsell li .ico{width:15px;height:15px;color:var(--yellow)}
.upsell a{width:100%;justify-content:center}
.feats4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;padding:18px}
.feats4 div{display:flex;gap:12px;align-items:flex-start}
.feats4 .ico{width:30px;height:30px;color:#2A6FA5;stroke-width:1.5;transition:transform .4s}
.feats4 div:hover .ico{transform:rotate(-12deg) scale(1.1)}
.feats4 b{display:block;font-size:13.5px}.feats4 span{font-size:12px;color:var(--ink-mute)}
@media (max-width:820px){.feats4{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.feats4{grid-template-columns:1fr}}

/* tableau de bord logiciel de gestion */
.dash{display:grid;grid-template-columns:210px 1fr;border-radius:20px;overflow:hidden;border:1px solid var(--bd);box-shadow:0 40px 80px -40px #141A3C88;background:#F6F8FC;margin-top:24px}
.dside{background:linear-gradient(180deg,#1F3A6E,#141A3C);color:#C9CFF0;padding:18px 12px;display:flex;flex-direction:column;gap:4px}
.dside .brand{color:#fff;font:800 15px/1.2 var(--f-display);padding:0 8px 16px}
.dside .brand small{display:block;font:500 11px var(--f-body);color:#A3AACC}
.dside a{display:flex;gap:10px;align-items:center;padding:10px 10px;border-radius:10px;font-size:13px;font-weight:600;text-decoration:none;transition:.2s}
.dside a .ico{width:17px;height:17px}
.dside a.on{background:#ffffff1c;color:#fff;box-shadow:inset 3px 0 0 var(--yellow)}
.dside a:hover{color:#fff}
.dside .me{margin-top:auto;display:flex;gap:10px;align-items:center;padding:12px 8px 0;border-top:1px solid #ffffff1c;font-size:12px}
.dside .me i{width:32px;height:32px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font:800 12px var(--f-display);font-style:normal}
.dmain{padding:18px;display:grid;gap:16px;min-width:0}
.dtop{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dtop h4{margin:0;font:800 19px/1.1 var(--f-display)}
.dtop small{color:var(--ink-mute);font-size:12px}
.dtop .sp{flex:1}
.dsearch{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;background:#fff;border:1px solid var(--bd);color:var(--ink-mute);font-size:12.5px;min-width:180px}
.dsearch .ico{width:15px;height:15px}
.bell{position:relative;width:36px;height:36px;border-radius:10px;background:#fff;border:1px solid var(--bd);display:grid;place-items:center}
.bell .ico{width:17px;height:17px}
.bell b{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;border-radius:9px;background:var(--c-red);color:#fff;font:800 9.5px/17px var(--f-body);text-align:center;padding:0 4px}
.bell.ring .ico{animation:ring .8s}
@keyframes ring{20%{transform:rotate(18deg)}40%{transform:rotate(-14deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}
.dbanner{position:relative;overflow:hidden;border-radius:16px;padding:20px;color:#fff;background:linear-gradient(120deg,#1F3A6E,#2A3474 55%,#141A3C)}
.dbanner::before,.dbanner::after{content:"";position:absolute;border-radius:50%;background:#ffffff0d}
.dbanner::before{width:260px;height:260px;right:-60px;top:-120px}
.dbanner::after{width:180px;height:180px;right:120px;bottom:-110px}
.dbanner .row{position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dbanner h5{margin:0;font:800 22px/1.15 var(--f-display)}
.dbanner .date{font:600 11.5px/1 var(--f-body);padding:7px 11px;border-radius:999px;background:#ffffff1f}
.dbanner .sp{flex:1}
.dbanner .act{display:flex;gap:8px}
.dbanner .act button{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px solid #ffffff33;background:#ffffff14;color:#fff;font:700 12px/1 var(--f-body);cursor:pointer}
.dbanner .act .ico{width:15px;height:15px}
.dbanner .act .spin .ico{animation:spin .8s linear}
.dbanner p{position:relative;margin:4px 0 16px;color:#C9CFF0;font-size:13px}
.bstats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.bstats div{padding:12px;border-radius:12px;background:#ffffff14;border:1px solid #ffffff22;backdrop-filter:blur(4px)}
.bstats small{display:flex;align-items:center;gap:7px;font-size:11.5px;color:#C9CFF0}
.bstats small .ico{width:15px;height:15px}
.bstats b{display:block;font:800 22px/1.2 var(--f-display);margin-top:8px;font-variant-numeric:tabular-nums}
.bstats span{font-size:11px;color:#9FE8B8}
.k4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kc{padding:16px}
.kc .t{display:flex;justify-content:space-between;align-items:center}
.kc .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center}
.kc .ic .ico{width:18px;height:18px}
.kc .gr{font:700 11px/1 var(--f-body);color:var(--c-green);background:#E3F7EA;padding:5px 8px;border-radius:999px}
.kc b{display:block;font:800 24px/1.1 var(--f-display);margin-top:12px;font-variant-numeric:tabular-nums}
.kc small{display:block;font-size:12.5px;color:var(--ink-mute)}
.kc .pr{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-mute);margin-top:12px}
.kc .bar{height:7px;border-radius:7px;background:var(--soft);margin-top:6px;overflow:hidden}
.kc .bar i{display:block;height:100%;width:0;border-radius:7px;background:var(--c);transition:width 1.6s cubic-bezier(.2,.8,.2,1)}
.sw.live .kc .bar i{width:var(--w)}
.d2{display:grid;grid-template-columns:1.6fr 1fr;gap:12px}
.d2b{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dc{padding:18px}
.dc .hd{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.dc .hd b{display:block;font-size:15px}.dc .hd small{color:var(--ink-mute);font-size:12px}
.seg{display:flex;padding:3px;border-radius:10px;background:var(--soft)}
.seg button{border:0;background:none;padding:7px 11px;border-radius:8px;font:700 12px/1 var(--f-body);color:var(--ink-mute);cursor:pointer}
.seg button.on{background:var(--c-blue);color:#fff}
.rv{display:grid;gap:14px}
.rv .l{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;margin-bottom:6px;gap:8px}
.rv .l span{color:var(--ink-mute);font-size:11.5px}
.rv .l em{font-style:normal;font:700 11px/1 var(--f-body);color:var(--c-green);background:#E3F7EA;padding:4px 7px;border-radius:999px;margin-left:auto}
.rv .tr{height:34px;border-radius:9px;background:var(--soft);overflow:hidden}
.rv .tr i{display:flex;align-items:center;justify-content:flex-end;padding-right:10px;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,#2A3474,#2A6FA5);color:#fff;font:700 11px/1 var(--f-body);font-style:normal;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.sw.live .rv .tr i{width:var(--w)}
.rsum{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--bd)}
.rsum div{border-radius:10px;padding:10px 6px;text-align:center;background:var(--bgc)}
.rsum b{display:block;font:800 14px/1.2 var(--f-display);color:var(--c)}
.rsum span{font-size:10.5px;color:var(--ink-mute)}
.live-dot{display:inline-flex;align-items:center;gap:6px;font:700 11px/1 var(--f-body);color:var(--c-green)}
.live-dot i{width:7px;height:7px;border-radius:50%;background:var(--c-green);animation:pulse 1.4s infinite}
.feed{list-style:none;margin:0;padding:0;display:grid}
.feed li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--bd);font-size:12.5px;line-height:1.35;animation:feedin .6s cubic-bezier(.2,1,.3,1)}
.feed li:last-child{border-bottom:0}
@keyframes feedin{from{opacity:0;transform:translateY(-12px);background:#FFF8D6}}
.feed .fi{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none}
.feed .fi .ico{width:15px;height:15px}
.feed b{font-weight:700}
.feed em{display:block;font-style:normal;color:var(--c-green);font-weight:700}
.feed small{display:block;color:var(--ink-mute);font-size:11px}
.qa{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qa button{border:0;border-radius:14px;padding:18px 10px;color:#fff;display:grid;justify-items:center;gap:6px;font:800 13px/1.2 var(--f-body);cursor:pointer;background:var(--g);transition:transform .25s,box-shadow .25s}
.qa button span{font-weight:500;font-size:11px;opacity:.85}
.qa button .ico{width:22px;height:22px}
.qa button:hover{transform:translateY(-4px);box-shadow:0 16px 26px -12px var(--sh)}
.tops{display:grid;gap:10px}
.tops div{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--soft);transition:transform .25s}
.tops div:hover{transform:translateX(4px)}
.tops .rk{position:relative;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#fff;font:800 12px var(--f-display);flex:none}
.tops .rk sup{position:absolute;top:-6px;right:-6px;width:17px;height:17px;border-radius:50%;background:#fff;color:var(--ink);font:800 10px/17px var(--f-body);text-align:center;box-shadow:0 2px 6px #0003}
.tops b{display:block;font-size:13px}.tops small{font-size:11px;color:var(--ink-mute)}
.tops strong{margin-left:auto;text-align:right;font:800 13px/1.2 var(--f-display)}
.tops strong small{display:block;font-weight:500}
.pend{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pc{position:relative;border-radius:14px;padding:16px;background:var(--bgc);border:1px solid var(--bdc)}
.pc .t{display:flex;justify-content:space-between;align-items:center}
.pc .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--c);color:#fff}
.pc .ic .ico{width:18px;height:18px}
.pc .n{min-width:30px;height:30px;border-radius:15px;display:grid;place-items:center;background:var(--c);color:#fff;font:800 13px/1 var(--f-display);animation:pulse 2s infinite}
.pc b{display:block;margin-top:12px;font-size:14px}
.pc p{margin:4px 0 12px;font-size:12px;color:var(--ink-mute)}
.pc button{width:100%;border:0;border-radius:10px;padding:11px;background:var(--c);color:#fff;font:700 12.5px/1 var(--f-body);cursor:pointer;display:flex;justify-content:center;gap:6px;align-items:center}
.pc button .ico{width:14px;height:14px;transition:transform .2s}
.pc button:hover .ico{transform:translateX(4px)}
@media (max-width:1060px){.k4{grid-template-columns:1fr 1fr}.bstats{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.dash{grid-template-columns:1fr}.dside{display:none}.d2,.d2b{grid-template-columns:1fr}}
@media (max-width:560px){.k4,.pend{grid-template-columns:1fr}.rsum{grid-template-columns:1fr 1fr}.dsearch{display:none}}

/* logiciel de gestion : simulation */
.dash{min-height:760px;align-items:stretch}
.dnav{display:grid;gap:3px}
.dnav button{display:flex;gap:10px;align-items:center;width:100%;padding:10px;border-radius:10px;border:0;background:none;color:#C9CFF0;font:600 13px/1.2 var(--f-body);cursor:pointer;text-align:left;transition:background .2s,color .2s}
.dnav button .ico{width:17px;height:17px}
.dnav button:hover{color:#fff;background:#ffffff10}
.dnav button.on{background:#ffffff1c;color:#fff;box-shadow:inset 3px 0 0 var(--yellow)}
.dnav .bdg{margin-left:auto;min-width:20px;padding:3px 6px;border-radius:9px;background:var(--yellow);color:var(--ink);font:800 10px/1 var(--f-body);text-align:center}
.dtop{position:relative}
.dsearch-w{position:relative}
.dsearch{cursor:text}
.dsearch input{border:0;outline:0;background:none;font:500 13px var(--f-body);color:var(--ink);width:100%;min-width:0}
.dsearch:focus-within{border-color:#2A6FA5;box-shadow:0 0 0 3px #2A6FA522}
.dres,.dpanel{position:absolute;right:0;top:calc(100% + 8px);z-index:40;background:#fff;border:1px solid var(--bd);border-radius:14px;box-shadow:0 24px 50px -20px #141A3C66;padding:6px;max-height:340px;overflow:auto}
.dres{width:min(340px,82vw)}
.dpanel{width:min(360px,88vw)}
.dres button,.dp-it{display:grid;gap:2px;width:100%;padding:9px 10px;border:0;background:none;border-radius:9px;text-align:left;cursor:pointer;font:600 13px/1.3 var(--f-body);color:var(--ink)}
.dres button:hover,.dp-it:hover{background:var(--soft)}
.dres small,.dp-it small{font:600 10.5px var(--f-mono);color:var(--ink-mute);text-transform:uppercase;letter-spacing:.06em}
.dp-it.unr{background:#FFF8DB}
.dp-hd{display:flex;justify-content:space-between;align-items:center;padding:6px 8px 8px;border-bottom:1px solid var(--bd);margin-bottom:4px}
.dp-hd button{border:0;background:none;color:#2A6FA5;font:700 12px var(--f-body);cursor:pointer}
.bell{cursor:pointer;color:var(--ink)}
.dsim{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--bd);background:#fff;border-radius:999px;padding:8px 12px;font:700 12px/1 var(--f-body);color:var(--ink-mute);cursor:pointer}
.dsim i{width:8px;height:8px;border-radius:50%;background:var(--ink-mute)}
.dsim.on{color:var(--c-green);border-color:#BFE8CF;background:#EFFAF3}
.dsim.on i{background:var(--c-green);animation:pulse 1.4s infinite}
#dView{display:grid;gap:16px;min-width:0}
#dView.anim>*{animation:rise .45s both}
#dView.anim>*:nth-child(2){animation-delay:.06s}#dView.anim>*:nth-child(3){animation-delay:.12s}#dView.anim>*:nth-child(4){animation-delay:.18s}#dView.anim>*:nth-child(5){animation-delay:.24s}
#dView .kc .bar i,#dView .rv .tr i{transition:width .8s cubic-bezier(.2,.8,.2,1)}
#dView.anim .kc .bar i,#dView.anim .rv .tr i{animation:growW 1.3s cubic-bezier(.2,.8,.2,1) both}
@keyframes growW{from{width:0}}
.feed li{animation:none}
.feed li.new{animation:feedin .7s cubic-bezier(.2,1,.3,1)}
.tb{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tb .sp{flex:1}
.btn-d{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border-radius:10px;border:1px solid var(--bd);background:#fff;color:var(--ink);font:700 12.5px/1 var(--f-body);cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .2s}
.btn-d:hover{transform:translateY(-1px);box-shadow:0 6px 14px -8px #141A3C66}
.btn-d .ico{width:14px;height:14px}
.btn-d.pri{background:var(--c-blue);border-color:var(--c-blue);color:#fff}
.btn-d.ok{background:var(--c-green);border-color:var(--c-green);color:#fff}
.btn-d.badf{background:#FDECED;border-color:#F6C9CB;color:var(--c-red)}
.btn-d.sm{padding:7px 10px;font-size:11.5px}
.dt-wrap{overflow-x:auto;border:1px solid var(--bd);border-radius:14px;background:#fff}
.dt{width:100%;border-collapse:collapse;font-size:13px;min-width:680px;color:var(--ink)}
.dt th{text-align:left;font:700 10.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);padding:12px 14px;background:#FAFBFE;border-bottom:1px solid var(--bd)}
.dt td{padding:11px 14px;border-top:1px solid var(--bd);vertical-align:middle;font-variant-numeric:tabular-nums}
.dt tr:first-child td{border-top:0}
.dt tbody tr{transition:background .2s}
.dt tbody tr:hover{background:#FAFBFE}
.dt small.dsm{display:block;color:var(--ink-mute);font-size:11px;font-weight:500}
.dt td.acts{display:flex;gap:6px;flex-wrap:wrap}
.dt tr.hl,.stk.hl{animation:hl 2.4s}
@keyframes hl{0%,40%{background:#FFF1A8}}
.spill{display:inline-block;padding:5px 9px;border-radius:999px;font:700 11px/1 var(--f-body);white-space:nowrap}
.sp-ok{background:#E3F7EA;color:#127A3D}.sp-warn{background:#FDEBDD;color:#B8520C}.sp-info{background:#E6EEFB;color:#1F4E9A}.sp-bad{background:#FDE7E8;color:#B42328}.sp-mute{background:#EEF0F5;color:#5A6180}
.low{color:var(--c-red);font-weight:800}
.empty{padding:34px 16px;text-align:center;color:var(--ink-mute);border:1px dashed var(--bd);border-radius:14px;background:#fff}
.stks{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.stk{padding:14px;display:grid;gap:8px}
.stk .r{display:flex;justify-content:space-between;align-items:center;gap:8px}
.stk b{font-size:13.5px}
.stk .lv{height:8px;border-radius:8px;background:var(--soft);overflow:hidden}
.stk .lv i{display:block;height:100%;border-radius:8px;background:var(--c);animation:growW 1s both}
.stk small{color:var(--ink-mute);font-size:11.5px}
.inbox{display:grid;grid-template-columns:260px 1fr;gap:12px;min-height:440px}
.ibl{padding:6px;display:grid;align-content:start;gap:2px;overflow:auto;max-height:520px}
.ibl button{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;align-items:center;width:100%;padding:10px;border:0;background:none;border-radius:10px;text-align:left;cursor:pointer;font:500 12px/1.3 var(--f-body);color:var(--ink)}
.ibl button:hover{background:var(--soft)}
.ibl button.on{background:#E6EEFB}
.ibl .av2{grid-row:span 2;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--c-blue);color:#fff;font:800 12px var(--f-display)}
.ibl b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ibl .tx{grid-column:2/4;color:var(--ink-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ibl .ud{width:9px;height:9px;border-radius:50%;background:var(--c-orange)}
.ipane{display:flex;flex-direction:column;min-width:0}
.ipane .ih{padding:14px 16px;border-bottom:1px solid var(--bd);display:flex;justify-content:space-between;gap:10px;align-items:center}
.ipane .ih small{display:block;color:var(--ink-mute)}
.bubs{flex:1;padding:16px;display:flex;flex-direction:column;gap:10px;overflow:auto;max-height:380px;background:#FAFBFE}
.bub2{max-width:78%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.45;background:#fff;border:1px solid var(--bd);align-self:flex-start;animation:rise .3s both}
.bub2.me{align-self:flex-end;background:var(--c-blue);border-color:var(--c-blue);color:#fff}
.bub2 small{display:block;font-size:10.5px;opacity:.7;margin-top:4px}
.irep{display:flex;gap:8px;padding:12px;border-top:1px solid var(--bd)}
.irep textarea{flex:1;min-width:0;resize:none;height:44px;padding:11px 12px;border:1px solid var(--bd);border-radius:10px;font:500 13.5px var(--f-body);color:var(--ink)}
.vbars{display:flex;align-items:flex-end;gap:12px;height:220px;padding-top:24px}
.vbars div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;min-width:0}
.vbars i{width:100%;max-width:56px;border-radius:8px 8px 3px 3px;background:linear-gradient(#2A6FA5,#2A3474);animation:growH 1s cubic-bezier(.2,.8,.2,1) both}
.vbars div:last-child i{background:linear-gradient(var(--yellow),#E0A800)}
@keyframes growH{from{height:0}}
.vbars b{font:700 10.5px/1 var(--f-body);white-space:nowrap}
.vbars span{font:600 11px/1 var(--f-body);color:var(--ink-mute);text-transform:capitalize}
.hbars{display:grid;gap:12px}
.hbars .l{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:5px;gap:8px}
.hbars .t{height:10px;border-radius:10px;background:var(--soft);overflow:hidden}
.hbars .t i{display:block;height:100%;border-radius:10px;background:var(--c);animation:growW 1.1s both}
.df{display:grid;gap:12px}
.df label{display:grid;gap:5px;font:600 12.5px/1.2 var(--f-body);color:var(--ink-mute)}
.df input,.df select,.df textarea{width:100%;padding:10px 12px;border:1px solid var(--bd);border-radius:10px;font:500 14px var(--f-body);color:var(--ink);background:#fff}
.df input:focus,.df select:focus,.df textarea:focus{outline:2px solid #2A6FA5;outline-offset:0}
.df .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.df label.chk{display:flex;gap:9px;align-items:flex-start;color:var(--ink);font-weight:500}
.df label.chk input{width:auto;margin-top:2px;accent-color:var(--c-blue)}
.df .acts{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.df .err{margin:0;color:var(--c-red);font-size:12.5px;font-weight:600;min-height:1em}
.tot-line{margin:0;padding:10px 12px;border-radius:10px;background:var(--soft);display:flex;justify-content:space-between}
.danger{margin-top:18px;padding:14px;border-radius:12px;background:#FDF2F2;border:1px solid #F6C9CB;display:grid;gap:6px;justify-items:start}
.danger p{margin:0;font-size:12.5px;color:var(--ink-mute)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px}
.kv span{color:var(--ink-mute)}
.dmodal{position:fixed;inset:0;z-index:90;background:#090C20a6;display:grid;place-items:center;padding:16px;backdrop-filter:blur(3px)}
.dm-box{width:min(520px,100%);max-height:88vh;overflow:auto;background:#fff;color:var(--ink);border-radius:18px;padding:20px;box-shadow:0 40px 80px -30px #000;animation:pop .3s cubic-bezier(.2,1.4,.4,1)}
.dm-hd{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.dm-hd b{font:800 17px/1.2 var(--f-display)}
#dmX{width:34px;height:34px;border-radius:10px;border:1px solid var(--bd);background:#fff;font-size:20px;line-height:1;cursor:pointer;color:var(--ink)}
.csv{margin:0;font:500 11.5px/1.5 var(--f-mono);background:var(--soft);border-radius:10px;padding:12px;max-height:280px;overflow:auto;white-space:pre}
@media (max-width:900px){
  .dash .dside{display:block;padding:8px}
  .dash .dside .brand,.dash .dside .me{display:none}
  .dnav{display:flex;overflow-x:auto;gap:4px;scrollbar-width:thin}
  .dnav button{flex:none;width:auto}
  .dnav button.on{box-shadow:inset 0 -3px 0 var(--yellow)}
}
@media (max-width:700px){.inbox{grid-template-columns:1fr}.ibl{max-height:220px}.df .row2{grid-template-columns:1fr}.dsim span{display:none}}

[hidden]{display:none!important}
.brand-logo{display:block;height:48px;aspect-ratio:1186/378;max-width:100%;background:url(data:image/png;base64,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) left center/contain no-repeat;flex:none}
.f-grid .brand-logo{height:68px}
.cms-brand .brand-logo{height:38px}
/* APERÇUS SUR L'ACCUEIL */
.see-all{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font:700 14px/1 var(--f-body);color:var(--yellow);text-decoration:none;padding:10px 0;border-bottom:2px solid transparent;transition:gap .2s,border-color .2s}
.see-all:hover{gap:12px;border-color:currentColor}
.see-all .ico{width:16px;height:16px}
.light .see-all,.sw .see-all{color:#2A6FA5}
body:not([data-page="accueil"]) .see-all{display:none}
.explore{background:var(--deep);padding-block:90px}
.xgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:900px){.xgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.xgrid{grid-template-columns:1fr}}
.xt{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:18px;background:linear-gradient(160deg,var(--up),var(--night));border:1px solid var(--line);text-decoration:none;color:var(--white);transition:transform .3s,border-color .3s;min-width:0}
.xt::after{content:"";position:absolute;right:-40px;bottom:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(var(--yellow),transparent 65%);opacity:0;transition:opacity .4s}
.xt:hover{transform:translateY(-5px);border-color:var(--yellow)}
.xt:hover::after{opacity:.16}
.xt .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--yellow) 14%,transparent);color:var(--yellow);transition:transform .4s}
.xt:hover .ic{transform:rotate(-8deg) scale(1.08)}
.xt b{font:800 17px/1.2 var(--f-display)}
.xt span{color:var(--mute);font-size:13.5px}
.xt em{margin-top:auto;font-style:normal;font:700 12.5px var(--f-body);color:var(--yellow);display:flex;align-items:center;gap:6px}
.xt em .ico{width:14px;height:14px;transition:transform .2s}
.xt:hover em .ico{transform:translateX(4px)}
.xt.hl{background:linear-gradient(150deg,var(--yellow),#FFB800);color:var(--ink);border-color:var(--yellow)}
.xt.hl span{color:#3A3200}.xt.hl .ic{background:var(--ink);color:var(--yellow)}.xt.hl em{color:var(--ink)}
.blog-home{background:var(--paper);color:var(--ink)}
/* icône utilisateur */
.ubtn{position:relative;width:44px;height:44px;flex:none;border-radius:50%;border:1px solid color-mix(in srgb,var(--white) 22%,transparent);background:color-mix(in srgb,var(--up) 70%,transparent);color:var(--white);display:grid;place-items:center;cursor:pointer;padding:0;overflow:hidden;transition:border-color .2s,transform .2s}
.ubtn:hover{border-color:var(--yellow);transform:translateY(-1px)}
.ubtn .ico{width:20px;height:20px}
.ubtn img{width:100%;height:100%;object-fit:cover}
.ubtn.on::after{content:"";position:absolute;right:2px;bottom:2px;width:10px;height:10px;border-radius:50%;background:var(--g);border:2px solid var(--night)}
.umenu{position:absolute;top:calc(100% + 12px);right:0;z-index:60;width:260px;padding:8px;border-radius:16px;background:var(--night);border:1px solid var(--line);box-shadow:0 24px 50px -16px #000;animation:pop .25s cubic-bezier(.2,1.4,.4,1);transform-origin:top right}
.umenu .uhd{display:flex;gap:10px;align-items:center;padding:8px 8px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.umenu .uhd .av{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--up);color:var(--yellow);overflow:hidden}
.umenu .uhd .av img{width:100%;height:100%;object-fit:cover}
.umenu .uhd b{display:block;font-size:14px;color:var(--white)}
.umenu .uhd small{color:var(--mute);font-size:11.5px}
.umenu a,.umenu button{display:flex;gap:10px;align-items:center;width:100%;padding:10px;border-radius:10px;border:0;background:none;color:var(--white);font:600 13px/1.2 var(--f-body);text-decoration:none;text-align:left;cursor:pointer}
.umenu a:hover,.umenu button:hover,.umenu a:focus-visible,.umenu button:focus-visible{background:var(--up);color:var(--yellow)}
.umenu .ico{width:17px;height:17px;flex:none}
.umenu .soon{margin-left:auto;font:700 9.5px var(--f-mono);padding:3px 6px;border-radius:6px;background:#FF9A3C22;color:var(--o)}
@media (max-width:480px){.ubtn{width:40px;height:40px}}
/* NAVIGATION MULTI-PAGES */
.nav ul{gap:2px}
.nav ul a{padding:9px 11px;font-size:13.5px}
@media (max-width:1180px){.nav ul{display:none}}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,var(--white) 18%,transparent);background:transparent;color:var(--white);cursor:pointer;place-items:center}
.burger .ico{width:20px;height:20px}
@media (max-width:1180px){.burger{display:grid}}
.mmenu{position:fixed;inset:0;z-index:70;background:color-mix(in srgb,var(--deep) 94%,transparent);backdrop-filter:blur(12px);padding:calc(90px + env(safe-area-inset-top,0px)) 24px 30px;display:grid;align-content:start;gap:6px;overflow:auto}
.mmenu a{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:14px;text-decoration:none;font:800 20px/1 var(--f-display);color:var(--white);border:1px solid var(--line);animation:rise .4s both}
.mmenu a.on{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.mmenu a .ico{width:18px;height:18px;opacity:.6}
.mmenu .x{position:absolute;top:calc(24px + env(safe-area-inset-top,0px));right:24px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--white);font-size:24px;cursor:pointer}

/* EN-TÊTE DE PAGE */
.phead{margin-top:-74px;padding-block:150px 70px;overflow:hidden;background:radial-gradient(70% 90% at 85% 10%,#24306e,transparent 70%),var(--night)}
.phead::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;opacity:.4;-webkit-mask-image:radial-gradient(ellipse at 80% 30%,#000 5%,transparent 60%);mask-image:radial-gradient(ellipse at 80% 30%,#000 5%,transparent 60%)}
.phead .wrap{position:relative;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font:600 12px/1 var(--f-mono);color:var(--mute);margin-bottom:18px}
.crumbs a{color:var(--mute);text-decoration:none}.crumbs a:hover{color:var(--yellow)}
.crumbs span{color:var(--yellow)}
.phead h1{font-weight:900;font-size:clamp(34px,5vw,60px);line-height:1.04;letter-spacing:-.03em}
.phead h1 em{font-style:normal;color:var(--yellow)}
.phead .lead{margin-top:16px;font-size:17px}
.ph-ic{position:relative;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;color:var(--yellow);background:radial-gradient(circle,#FFD21F22,transparent 70%)}
.ph-ic::before,.ph-ic::after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px dashed #FFD21F66;animation:spin 18s linear infinite}
.ph-ic::after{inset:22px;border-style:solid;border-color:#3EE07A55;animation-duration:12s;animation-direction:reverse}
.ph-ic .ico{width:56px;height:56px;stroke-width:1.4;animation:bob 4s ease-in-out infinite}
@media (max-width:720px){.phead .wrap{grid-template-columns:1fr}.ph-ic{display:none}.phead{padding-block:130px 50px}}

/* BLOCS DE PAGE COMMUNS */
.pg{background:var(--deep)}
.pg.alt{background:var(--night)}
.pg.light{background:var(--paper);color:var(--ink)}
.pg.light .lead{color:var(--ink-mute)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:900px){.grid2{grid-template-columns:1fr;gap:32px}.grid3,.grid4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.grid3,.grid4{grid-template-columns:1fr}}
.prose{max-width:68ch}
.prose p{color:var(--mute);margin:0 0 14px}
.light .prose p{color:var(--ink-mute)}
.prose h2{font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.02em;margin:0 0 16px}
.prose h3{font-size:20px;margin:28px 0 10px}
.prose ul{margin:0 0 16px;padding-left:20px;color:var(--mute)}
.light .prose ul{color:var(--ink-mute)}
.prose li{margin-bottom:6px}
.box{padding:24px;border-radius:18px;background:var(--night);border:1px solid var(--line);min-width:0}
.light .box{background:#fff;border-color:var(--paper-line);box-shadow:0 20px 40px -30px #141A3C55}
.box h3{font-size:18px;margin-bottom:8px}
.box p{margin:0;color:var(--mute);font-size:14px}
.light .box p{color:var(--ink-mute)}
.box .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px;background:color-mix(in srgb,var(--yellow) 14%,transparent);color:var(--yellow)}
.light .box .ic{background:var(--ink);color:var(--yellow)}
.box.hov{transition:transform .3s,border-color .3s}
.box.hov:hover{transform:translateY(-5px);border-color:var(--yellow)}
.note-fill{display:inline-flex;gap:6px;align-items:center;font:600 11px/1.3 var(--f-mono);color:var(--o);background:#FF9A3C1a;border:1px dashed #FF9A3C66;padding:6px 9px;border-radius:7px}
.light .note-fill{color:#B8520C}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span,.chips button{font:600 13px/1 var(--f-body);padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--night);color:var(--mute)}
.light .chips span{background:#fff;border-color:var(--paper-line);color:var(--ink)}
.chips button{cursor:pointer}
.chips button.on,.chips button:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}

/* À PROPOS */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:900px){.team{grid-template-columns:1fr 1fr}}
.tm{text-align:center;padding:26px 18px}
.tm .ph{width:96px;height:96px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font:900 26px var(--f-display);color:var(--ink);background:linear-gradient(135deg,var(--yellow),#FFB800);position:relative}
.tm .ph::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px dashed var(--line);animation:spin 20s linear infinite}
.tm b{display:block}.tm span{font-size:13px;color:var(--mute)}
.timeline{display:grid;gap:0;border-left:2px solid var(--line);padding-left:26px}
.tl-i{position:relative;padding-bottom:26px}
.tl-i::before{content:"";position:absolute;left:-34px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px #FFD21F22}
.tl-i b{display:block;font:800 13px/1 var(--f-mono);color:var(--yellow);margin-bottom:6px}
.tl-i p{margin:0;color:var(--mute)}

/* SERVICES : vue d'ensemble */
.pole-nav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 86px);z-index:20;margin-bottom:40px;padding:10px;border-radius:16px;background:color-mix(in srgb,#fff 88%,transparent);backdrop-filter:blur(10px);border:1px solid var(--paper-line);display:flex;gap:6px;overflow-x:auto}
.pole-nav button{flex:none;display:flex;gap:8px;align-items:center;padding:10px 14px;border-radius:10px;border:0;background:none;font:700 13px/1 var(--f-body);color:var(--ink);cursor:pointer}
.pole-nav button:hover{background:var(--paper)}
.pole-nav .ico{width:17px;height:17px}
.pblock{padding-block:36px;border-top:1px solid var(--paper-line);scroll-margin-top:170px}
.pblock:first-of-type{border-top:0}
.pblock-h{display:flex;gap:18px;align-items:center;margin-bottom:24px}
.pblock-h .ic{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:var(--ink);color:var(--yellow);flex:none}
.pblock-h .ic .ico{width:28px;height:28px}
.pblock-h h2{font-size:clamp(22px,2.6vw,30px);font-weight:800}
.pblock-h p{margin:4px 0 0;color:var(--ink-mute)}
.slink{display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:18px;background:#fff;border:1px solid var(--paper-line);text-decoration:none;color:var(--ink);transition:transform .3s,box-shadow .3s,border-color .3s;min-width:0}
.slink:hover{transform:translateY(-5px);box-shadow:0 24px 40px -24px #141A3C66;border-color:var(--ink)}
.slink .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;border:1.5px solid var(--ink)}
.slink h3{font-size:17px;line-height:1.3}
.slink p{margin:0;color:var(--ink-mute);font-size:14px}
.slink .more{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font:700 13px var(--f-body);color:#2A6FA5}
.slink .more .ico{width:15px;height:15px;transition:transform .2s}
.slink:hover .more .ico{transform:translateX(4px)}

/* FICHE SERVICE */
.fiche-top{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
@media (max-width:900px){.fiche-top{grid-template-columns:1fr}}
.fvis{position:relative;aspect-ratio:4/3;max-width:100%;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#2A3474,#090C20 70%);border:1px solid var(--line);display:grid;place-items:center}
.fvis .orb{position:absolute;width:62%;aspect-ratio:1;border-radius:50%;border:1.5px dashed #FFD21F66;animation:spin 20s linear infinite}
.fvis .orb.o2{width:42%;border-style:solid;border-color:#3EE07A55;animation-duration:12s;animation-direction:reverse}
.fvis .orb i{position:absolute;top:-6px;left:50%;width:12px;height:12px;border-radius:50%;background:var(--yellow);box-shadow:0 0 14px var(--yellow)}
.fvis .orb.o2 i{background:var(--g);box-shadow:0 0 14px var(--g)}
.fvis .big{position:relative;width:110px;height:110px;border-radius:30px;display:grid;place-items:center;background:var(--yellow);color:var(--ink);box-shadow:0 0 60px -10px var(--yellow);animation:bob 5s ease-in-out infinite}
.fvis .big .ico{width:54px;height:54px;stroke-width:1.5}
.fvis .media{position:absolute;left:14px;bottom:14px;right:14px;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:#ffffff12;backdrop-filter:blur(6px);border:1px solid #ffffff22;font:600 12px/1.3 var(--f-mono);color:var(--mute)}
.fvis .media b{color:var(--white)}
.fvis .play{width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;flex:none}
.fvis .play .ico{width:15px;height:15px}
.ben{display:grid;gap:12px;margin:22px 0 26px}
.ben div{display:flex;gap:12px;align-items:flex-start}
.ben .ico{width:22px;height:22px;color:var(--g);flex:none;margin-top:1px}
.fsteps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:fs}
@media (max-width:900px){.fsteps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.fsteps{grid-template-columns:1fr}}
.fstep{position:relative;padding:22px;border-radius:18px;background:#fff;border:1px solid var(--paper-line);counter-increment:fs}
.fstep::before{content:counter(fs,decimal-leading-zero);display:block;font:900 40px/1 var(--f-display);color:transparent;-webkit-text-stroke:1.5px var(--ink);opacity:.25;margin-bottom:10px}
.fstep b{display:block;margin-bottom:6px}
.fstep p{margin:0;font-size:14px;color:var(--ink-mute)}
.faq{display:grid;gap:10px}
.faq details{border-radius:14px;border:1px solid var(--line);background:var(--night);padding:0 18px}
.light .faq details{background:#fff;border-color:var(--paper-line)}
.faq summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:700;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:800 20px/1 var(--f-display);color:var(--yellow);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 16px;color:var(--mute)}
.light .faq details p{color:var(--ink-mute)}

/* RÉALISATIONS */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.cases{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cases{grid-template-columns:1fr}}
.case{border-radius:18px;overflow:hidden;background:var(--night);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .3s,border-color .3s;animation:rise .45s both}
.case:hover{transform:translateY(-5px);border-color:var(--yellow)}
.case .vis{position:relative;aspect-ratio:16/10;max-width:100%;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#2A3474,#090C20 75%)}
.case .vis canvas{position:absolute;inset:0;width:100%;height:100%}
.case .vis>.ico{width:54px;height:54px;color:var(--yellow);stroke-width:1.4;animation:bob 5s ease-in-out infinite}
.case .body{padding:20px;display:grid;gap:10px}
.case .tag{font:600 10.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--yellow)}
.case h3{font-size:17px}
.case dl{margin:0;display:grid;gap:6px;font-size:13.5px}
.case dt{font-weight:700;color:var(--white)}
.case dd{margin:0 0 4px;color:var(--mute)}

/* DEVIS */
.dv{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
@media (max-width:900px){.dv{grid-template-columns:1fr}}
.dv-card{background:#fff;color:var(--ink);border-radius:22px;padding:28px;box-shadow:0 40px 80px -40px #000;min-width:0}
.dv-steps{display:flex;gap:6px;margin-bottom:22px}
.dv-steps i{flex:1;height:5px;border-radius:5px;background:var(--paper-line);transition:.3s}
.dv-steps i.on{background:var(--yellow)}
.dv-lbl{font:700 12px/1 var(--f-mono);color:#B8520C;letter-spacing:.1em;text-transform:uppercase}
.dv-card h3{font-size:22px;margin:10px 0 18px}
.dv-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.dv-opt{position:relative}
.dv-opt input{position:absolute;opacity:0}
.dv-opt label{display:flex;flex-direction:column;gap:8px;height:100%;padding:16px;border-radius:14px;border:1.5px solid var(--paper-line);cursor:pointer;font-weight:700;font-size:14px;transition:.2s}
.dv-opt label .ico{color:var(--ink)}
.dv-opt input:checked+label{border-color:var(--ink);background:#FFF8D6;box-shadow:0 10px 20px -14px #141A3C}
.dv-opt input:focus-visible+label{outline:2px solid #2A6FA5;outline-offset:2px}
.dv-card .df .rng{font:800 22px/1 var(--f-mono);color:var(--ink)}
.dv-nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px;flex-wrap:wrap}
.dv-nav .btn-o{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--paper-line)}
.dv-sum{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;padding:14px;border-radius:12px;background:var(--paper)}
.dv-sum span{color:var(--ink-mute)}
.dv-done{text-align:center;padding:20px 0}
.dv-done .ok{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#E3F7EA;color:#179A4E;animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
.dv-done .ok .ico{width:36px;height:36px}
.files{display:flex;flex-wrap:wrap;gap:6px}
.files span{font:600 12px var(--f-mono);padding:5px 8px;border-radius:7px;background:var(--paper)}

/* CONTACT */
.cinfo{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:900px){.cinfo{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.cinfo{grid-template-columns:1fr}}
.cinfo .box b{display:block;font-size:16px;margin:2px 0 10px;overflow-wrap:anywhere}
.cinfo .box small{color:var(--mute);font:600 11px var(--f-mono);text-transform:uppercase;letter-spacing:.08em}
.cinfo .acts{display:flex;gap:8px;flex-wrap:wrap}
.mini-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:9px;border:1px solid var(--line);background:none;color:var(--white);font:700 12px/1 var(--f-body);cursor:pointer;text-decoration:none}
.mini-btn:hover{border-color:var(--yellow);color:var(--yellow)}
.mini-btn .ico{width:14px;height:14px}
.hours{width:100%;border-collapse:collapse;font-size:14px}
.hours td{padding:10px 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right;font-weight:700}
.hours tr.today td{color:var(--yellow)}
.mapbox2{position:relative;aspect-ratio:16/10;max-width:100%;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#0E1534}
.mapbox2 svg{position:absolute;inset:0;width:100%;height:100%}
.mapbox2 .mlink{position:absolute;left:14px;bottom:14px}

/* BLOG */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.posts{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.posts{grid-template-columns:1fr}}
.post{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--paper-line);text-decoration:none;color:var(--ink);transition:transform .3s,box-shadow .3s;animation:rise .45s both}
.post:hover{transform:translateY(-5px);box-shadow:0 24px 40px -24px #141A3C66}
.post .cov{aspect-ratio:16/9;max-width:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff;position:relative;overflow:hidden}
.post .cov::before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffff33 1.5px,transparent 1.5px);background-size:18px 18px}
.post .cov .ico{width:52px;height:52px;stroke-width:1.4;position:relative;transition:transform .5s}
.post:hover .cov .ico{transform:scale(1.15) rotate(-6deg)}
.post .body{padding:20px;display:grid;gap:8px;flex:1}
.post .meta{font:600 11px/1 var(--f-mono);color:var(--ink-mute);text-transform:uppercase;letter-spacing:.06em}
.post h3{font-size:18px;line-height:1.3}
.post p{margin:0;color:var(--ink-mute);font-size:14px}
.post .more{margin-top:auto;font:700 13px var(--f-body);color:#2A6FA5}
.article{max-width:740px;margin:0 auto}
.article .meta{font:600 12px var(--f-mono);color:var(--ink-mute);margin-bottom:24px}
.article p,.article li{font-size:17px;line-height:1.75;color:#2E365E}
.article h2{font-size:24px;margin:34px 0 12px}
.article .tip{padding:18px 20px;border-radius:14px;background:#FFF8D6;border-left:4px solid var(--yellow);margin:24px 0}

/* LÉGAL */
.ltabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:28px}
.ltabs a{padding:11px 16px;border-radius:12px;border:1px solid var(--paper-line);background:#fff;text-decoration:none;font:700 13.5px/1 var(--f-body);color:var(--ink)}
.ltabs a.on{background:var(--ink);color:var(--yellow);border-color:var(--ink)}
.legal-doc{max-width:780px}
.legal-doc h2{font-size:22px;margin:28px 0 10px}
.legal-doc p,.legal-doc li{color:#2E365E;line-height:1.7}
.legal-doc .draft{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:#FFF4EA;border:1px solid #F9D9BC;color:#8A4310;font-size:14px;margin-bottom:20px}

/* CONSTRUCTEUR DE SITE RÉEL */
.wb{position:relative;border-radius:18px;background:#fff;border:1px solid var(--bd);box-shadow:0 40px 80px -40px #141A3C88;overflow:hidden;color:var(--ink)}
.wb-top{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--bd);background:#FAFBFE;flex-wrap:wrap}
.wb-top .dots{display:flex;gap:6px}.wb-top .dots i{width:10px;height:10px;border-radius:50%}
.wb-top .ttl{margin-left:6px;font:700 13px/1 var(--f-body);display:flex;align-items:center;gap:8px}
.wb-top .st{font:600 11px/1 var(--f-body);color:var(--ink-mute);display:inline-flex;align-items:center;gap:5px}
.wb-top .st i{width:7px;height:7px;border-radius:50%;background:var(--c-gold)}
.wb-top .st.ok{color:var(--c-green)}.wb-top .st.ok i{background:var(--c-green)}
.wb-top .sp{flex:1}
.wb-top .bt-s{cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.wb-top .bt-s:hover{border-color:var(--ink)}
.wb-top .bt-s.pub:hover{filter:brightness(1.08)}
.wb-ib{width:34px;height:34px;border-radius:9px;border:1px solid var(--bd);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer}
.wb-ib:disabled{opacity:.35;cursor:default}
.wb-ib .ico{width:16px;height:16px}
.wb-dev button{padding:6px 9px}
.wb-dev .ico{width:15px;height:15px;display:block}
.wb-body{display:grid;grid-template-columns:66px 236px 1fr;height:660px}
.wb-rail{background:var(--night);display:flex;flex-direction:column;gap:4px;padding:10px 6px}
.wb-rail button{display:grid;justify-items:center;gap:4px;padding:9px 2px;border-radius:10px;border:0;background:none;color:#C9CFF0;font:600 9.5px/1 var(--f-body);cursor:pointer}
.wb-rail button .ico{width:18px;height:18px}
.wb-rail button:hover{color:#fff;background:#ffffff10}
.wb-rail button.on{background:#2A3474;color:var(--yellow)}
.wb-pal{overflow:auto;padding:14px 12px;border-right:1px solid var(--bd);background:#FAFBFE;min-width:0}
.wb-pal>b{display:block;font-size:12.5px;margin-bottom:4px}
.wb-pal>small{display:block;color:var(--ink-mute);font-size:11.5px;margin-bottom:12px;line-height:1.4}
.wb-g{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.wb-g button{display:grid;justify-items:center;gap:5px;padding:11px 4px;border-radius:10px;background:#fff;border:1px solid var(--bd);font:600 10.5px/1.15 var(--f-body);color:var(--ink-mute);cursor:grab;transition:transform .15s,border-color .2s,box-shadow .2s}
.wb-g button .ico{width:18px;height:18px;color:var(--ink)}
.wb-g button:hover{border-color:var(--c-orange);color:var(--ink);transform:translateY(-2px);box-shadow:0 8px 16px -10px #141A3C66}
.wb-g button.pick{border-color:var(--c-orange);background:#FFF3E8;transform:scale(.94)}
.wb-g button.wide{grid-column:1/-1;grid-template-columns:auto 1fr;justify-items:start;align-items:center;text-align:left;padding:11px 12px;font-size:12px}
.wb-cv{overflow:auto;background:#E3E8F3;padding:18px;display:flex;justify-content:center;align-items:flex-start;min-width:0}
.wb-page{width:100%;max-width:var(--w,100%);background:#fff;border-radius:12px;box-shadow:0 20px 40px -24px #141A3C66;min-height:100%;transition:max-width .5s cubic-bezier(.4,0,.2,1);container-type:inline-size;overflow:hidden}
.wb-hint{display:flex;gap:8px;align-items:center;justify-content:center;margin:14px 0 0;font-size:13px;color:var(--ink-mute);text-align:center}
.wb-hint .ico{width:16px;height:16px;color:#2A6FA5;flex:none}
@media (max-width:900px){
  .wb-body{grid-template-columns:1fr;height:auto}
  .wb-rail{flex-direction:row;overflow-x:auto}
  .wb-rail button{flex:1 0 auto;padding:8px 10px}
  .wb-pal{border-right:0;border-bottom:1px solid var(--bd);max-height:270px}
  .wb-g{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}
  .wb-cv{height:560px}
}
@media (max-width:560px){.wb-top .ttl{display:none}#wbDemo{display:none}}
/* blocs en édition */
.wbb{position:relative;outline:2px solid transparent;outline-offset:-2px;transition:outline-color .2s}
.wbb:hover{outline-color:#2A6FA566}
.wbb.sel{outline-color:var(--c-orange)}
.wbb.flash{animation:wbIn .6s cubic-bezier(.2,1.2,.4,1)}
@keyframes wbIn{from{opacity:0;transform:scale(.96) translateY(10px)}}
.wbb-tools{position:absolute;top:6px;right:6px;z-index:6;display:none;gap:2px;background:#141A3C;border-radius:9px;padding:3px;box-shadow:0 6px 14px -6px #0008}
.wbb:hover .wbb-tools,.wbb.sel .wbb-tools{display:flex}
.wbb-tools button{width:26px;height:26px;border:0;border-radius:6px;background:none;color:#fff;cursor:pointer;display:grid;place-items:center}
.wbb-tools button:hover{background:#ffffff22}
.wbb-tools [data-t="drag"]{cursor:grab}
.wbb-tools .ico{width:14px;height:14px}
.wbb-tag{position:absolute;top:6px;left:6px;z-index:6;display:none;font:700 10px/1 var(--f-mono);background:var(--c-orange);color:#fff;padding:4px 6px;border-radius:5px}
.wbb.sel .wbb-tag{display:block}
.wbb.dragging{opacity:.35}
.wb-page [contenteditable]{cursor:text;border-radius:3px;transition:background .2s}
.wb-page [contenteditable]:hover{background:#2A6FA514}
.wb-page [contenteditable]:focus{outline:2px dashed #2A6FA5;outline-offset:3px;background:transparent}
.wb-drop{height:4px;margin:-2px 14px;border-radius:4px;background:var(--c-orange);box-shadow:0 0 0 4px #E8701A33;position:relative;z-index:7}
.wb-empty{padding:70px 20px;text-align:center;color:var(--ink-mute);border:2px dashed var(--bd);margin:24px;border-radius:14px}
.wb-empty .ico{width:34px;height:34px;color:#2A6FA5;display:block;margin:0 auto 10px}
.wbb .wbsp{background:repeating-linear-gradient(45deg,#F1F3FA 0 8px,#fff 8px 16px)}
/* panneau de propriétés */
.wbp-f{display:grid;gap:12px}
.wbp-f label{display:grid;gap:5px;font:600 12px/1.2 var(--f-body);color:var(--ink-mute)}
.wbp-f input[type=text],.wbp-f select{width:100%;padding:9px 10px;border:1px solid var(--bd);border-radius:9px;font:500 13px var(--f-body);color:var(--ink);background:#fff}
.wbp-f input[type=range]{accent-color:#141A3C}
.wbp-f .chk{display:flex;gap:8px;align-items:center;color:var(--ink);font-weight:500}
.wbp-acts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}
.wbp-acts button{display:flex;align-items:center;justify-content:center;gap:5px;padding:9px;border-radius:9px;border:1px solid var(--bd);background:#fff;font:700 11.5px/1 var(--f-body);color:var(--ink);cursor:pointer}
.wbp-acts button:hover{border-color:var(--ink)}
.wbp-acts .ico{width:13px;height:13px}
.wbp-acts .del{color:var(--c-red);border-color:#F6C9CB;background:#FDECED}
.wbp-back{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:#2A6FA5;font:700 12px var(--f-body);cursor:pointer;padding:0;margin-bottom:12px}
.wbp-back .ico{width:14px;height:14px}
.sw-row{display:flex;gap:7px;flex-wrap:wrap}
.sw-row button{width:30px;height:30px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--bd);cursor:pointer;background:var(--c)}
.sw-row button.on{box-shadow:0 0 0 2px var(--ink)}
.thumbs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.thumbs button{aspect-ratio:4/3;border-radius:8px;border:1px solid var(--bd);background-size:cover;background-position:center;cursor:pointer;padding:0}
.thumbs button:hover{outline:2px solid var(--c-orange)}
.upl{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:10px;border:2px dashed var(--bd);font:700 12.5px var(--f-body);color:var(--ink);cursor:pointer;background:#fff}
.upl:hover{border-color:var(--c-orange)}
.upl .ico{width:16px;height:16px}
/* contenu des pages construites */
.wbpage{--pc:#FFD21F;--pci:#141A3C;font:400 15px/1.55 var(--f-body);color:#141A3C}
.wbh{padding:38px 28px}
.wbh-dark{background:radial-gradient(60% 90% at 85% 70%,#2A6FA544,transparent 70%),linear-gradient(135deg,#141A3C,#1F3A6E);color:#fff}
.wbh-light{background:#F4F6FC}
.wbh-color{background:var(--pc);color:var(--pci)}
.wbh-in{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}
.wbh-in.noimg{grid-template-columns:1fr;text-align:center}
.wbh h2{font:900 30px/1.1 var(--f-display);margin:0 0 10px;letter-spacing:-.02em}
.wbh p{margin:0 0 18px;opacity:.85}
.wbbtn{display:inline-block;padding:12px 18px;border-radius:10px;background:var(--pc);color:var(--pci);font:800 14px/1.1 var(--f-body);border:0;cursor:pointer}
.wbh-color .wbbtn,.wbcta .wbbtn{background:var(--pci);color:var(--pc)}
.wbh-img{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#5CE1FF,#2A6FA5);display:grid;place-items:center;color:#fff}
.wbh-img img{width:100%;height:100%;object-fit:cover;display:block}
.wbh-img .ico{width:40%;height:40%;stroke-width:1.3}
.wbs{padding:24px 28px}
.wbs h3{font:800 21px/1.2 var(--f-display);margin:0 0 8px}
.wbs p{margin:0;color:#4D557E}
.wbimg{margin:0;padding:16px 28px}
.wbimg img{width:100%;max-height:360px;object-fit:cover;border-radius:12px;display:block}
.wbimg .ph{aspect-ratio:16/7;border-radius:12px;background:repeating-linear-gradient(45deg,#EEF1FA 0 12px,#F6F8FC 12px 24px);display:grid;place-items:center;align-content:center;gap:6px;color:#8A91B5;font-weight:700;font-size:13px}
.wbimg .ph .ico{width:30px;height:30px}
.wbimg figcaption{text-align:center;font-size:13px;color:#6E77A6;margin-top:8px}
.wbvid{margin:16px 28px;aspect-ratio:16/8;border-radius:14px;background:radial-gradient(circle,#2A3474,#090C20);display:grid;place-items:center;align-content:center;gap:12px;color:#fff;font-weight:700}
.wbvid .pl{width:60px;height:60px;border-radius:50%;background:var(--pc);color:var(--pci);display:grid;place-items:center;animation:pulse 2s infinite}
.wbvid .pl .ico{width:22px;height:22px}
.wbhr{border:0;border-top:1px solid #DDE2F0;margin:14px 28px}
.wbform,.wbnews{margin:16px 28px;padding:22px;border-radius:14px;background:#F4F6FC;display:grid;gap:10px}
.wbform h3{font:800 20px/1.2 var(--f-display);margin:0 0 4px}
.wbform input,.wbform textarea,.wbnews input{width:100%;padding:11px 12px;border:1px solid #DDE2F0;border-radius:9px;font:500 14px var(--f-body);background:#fff;color:#141A3C}
.wbform .wbbtn,.wbnews .wbbtn{justify-self:start}
.wbnews{grid-template-columns:1fr auto;align-items:center}
.wbnews b{grid-column:1/-1;font:800 17px var(--f-display)}
.wbf3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.wbf3>div{border:1px solid #DDE2F0;border-radius:12px;padding:16px 12px;display:grid;justify-items:center;gap:6px;text-align:center}
.wbf3 i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--pc);color:var(--pci)}
.wbf3 i .ico{width:18px;height:18px}
.wbf3 b{font-size:14px}.wbf3 span{font-size:12.5px;color:#4D557E}
.wbq{margin:16px 28px;padding:24px;border-radius:14px;background:#141A3C;color:#fff}
.wbq p{margin:0 0 10px;font-size:17px;font-style:italic;line-height:1.5}
.wbq p::before{content:"“";color:var(--pc);font:900 40px/0 var(--f-display);vertical-align:-14px;margin-right:4px}
.wbq cite{font-style:normal;color:var(--pc);font-weight:700;font-size:13px}
.wbcd{margin:16px 28px;padding:22px;border-radius:14px;border:2px solid var(--pc);text-align:center}
.wbcd>b{font:800 18px var(--f-display)}
.cdv{display:flex;gap:10px;justify-content:center;margin-top:12px}
.cdv span{min-width:62px;padding:10px 6px;border-radius:10px;background:#141A3C;color:#fff;font-size:11px;display:grid;gap:3px}
.cdv span b{font:800 22px/1 var(--f-display);font-variant-numeric:tabular-nums;color:var(--pc)}
.wbsoc{padding:20px 28px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;font-weight:700}
.wbsoc i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#141A3C;color:#fff;font:800 12px var(--f-body);font-style:normal}
.wbhtml{margin:16px 28px;padding:14px;border-radius:10px;background:#0B0F26;color:#9FE8B8;font:500 12.5px/1.5 var(--f-mono);white-space:pre-wrap;overflow-wrap:anywhere}
.wbhtml small{display:block;color:#6E77A6;margin-bottom:6px;font-family:var(--f-body)}
.wbcta{margin:16px 28px;padding:28px;border-radius:16px;background:var(--pc);color:var(--pci);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.wbcta h3{font:900 22px/1.15 var(--f-display);margin:0}
.wbfoot{margin-top:16px;padding:20px 28px;background:#141A3C;color:#A3AACC;font-size:13px;text-align:center}
.wbwa{display:inline-flex;gap:8px;align-items:center;padding:12px 20px;border-radius:999px;background:#25D366;color:#fff;font-weight:800}
.wbwa .ico{width:18px;height:18px}
@container (max-width:560px){.wbh-in{grid-template-columns:1fr}.wbh h2{font-size:24px}.wbf3{grid-template-columns:1fr}.wbnews{grid-template-columns:1fr}.wbh,.wbs{padding-inline:18px}.wbform,.wbnews,.wbq,.wbcd,.wbcta,.wbvid,.wbhtml{margin-inline:16px}.wbimg{padding-inline:16px}}
/* aperçu plein écran */
.wbm{position:fixed;inset:0;z-index:95;background:#090C20ee;display:flex;flex-direction:column;padding:calc(12px + env(safe-area-inset-top,0px)) 16px calc(12px + env(safe-area-inset-bottom,0px));gap:10px}
.wbm-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wbm-url{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#1C2350;color:#C9CFF0;font:600 13px var(--f-mono);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.wbm-url .ico{width:14px;height:14px;color:var(--g);flex:none}
.wbm .seg button{color:#C9CFF0}
.wbm .seg{background:#1C2350}
.wbm-body{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;border-radius:14px}
.wbm-page{width:100%;max-width:var(--w,100%);background:#fff;border-radius:12px;overflow:hidden;container-type:inline-size;transition:max-width .5s;animation:rise .4s both}
.wb-x{width:34px;height:34px;border-radius:10px;border:1px solid var(--bd);background:#fff;font-size:20px;line-height:1;cursor:pointer;color:var(--ink)}
/* publication */
.pubs{display:grid;gap:10px;margin:6px 0 4px}
.pubs div{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--ink-mute);transition:color .3s}
.pubs i{width:22px;height:22px;border-radius:50%;border:2px solid var(--bd);display:grid;place-items:center;flex:none;transition:.3s}
.pubs .run{color:var(--ink);font-weight:700}
.pubs .run i{border-color:var(--c-orange);border-top-color:transparent;animation:spin .7s linear infinite}
.pubs .ok{color:var(--c-green);font-weight:700}
.pubs .ok i{background:var(--c-green);border-color:var(--c-green);color:#fff}
.pubs .ok i::after{content:"✓";font-size:12px;font-style:normal}
.pub-ok{text-align:center;display:grid;gap:10px;justify-items:center}
.pub-ok .big{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#E3F7EA;color:var(--c-green);animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
.pub-ok .big .ico{width:34px;height:34px}
.pub-ok code{font:700 14px var(--f-mono);padding:8px 12px;border-radius:9px;background:var(--soft);overflow-wrap:anywhere}
.wb-live-note{margin:10px 0 0;font-size:12.5px;color:var(--ink-mute);display:flex;gap:8px;align-items:center}
.wb-live-note .dotl{width:8px;height:8px;border-radius:50%;background:var(--c-green);animation:pulse 1.4s infinite;flex:none}
/* score de conversion */
.score{gap:10px}
.ring-sc{position:relative;width:96px;height:96px}
.ring-sc svg{width:100%;height:100%}
.ring-sc circle#scArc{transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}
.ring-sc b{position:absolute;inset:0;display:grid;place-items:center;font:900 24px var(--f-display);color:#fff}
.score ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;text-align:left;font-size:12.5px;width:100%}
.score li{display:flex;align-items:center;gap:8px}
.score li i{width:18px;height:18px;border-radius:50%;flex:none;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:900;border:1.5px solid #ffffff44;color:transparent}
.score li.ok i{background:var(--g);border-color:var(--g);color:#0B2A17}
.score li span{flex:1}
.score li.ok span{color:#C9CFF0}
.score li button{border:0;border-radius:7px;padding:5px 8px;background:var(--yellow);color:var(--ink);font:800 10.5px/1 var(--f-body);cursor:pointer}
.gradimg{display:grid;place-items:center;width:100%;height:100%;min-height:170px;border-radius:12px;color:#fff}
.gradimg .ico{width:38px;height:38px;stroke-width:1.4}
.wbh-img .gradimg{border-radius:0}

/* APPLICATIONS À TESTER */
.apx{background:radial-gradient(700px 500px at 75% 40%,#24306e88,transparent 70%),var(--night);overflow:hidden}
.apx-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:40px}
@media (max-width:900px){.apx-tabs{grid-template-columns:1fr 1fr}}
.apx-tab{display:flex;gap:12px;align-items:center;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--deep);color:var(--white);cursor:pointer;text-align:left;transition:transform .25s,border-color .25s,background .25s}
.apx-tab:hover{transform:translateY(-3px);border-color:var(--yellow)}
.apx-tab .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--tc);color:#fff;flex:none}
.apx-tab .ic .ico{width:20px;height:20px}
.apx-tab b{display:block;font-size:14px}
.apx-tab small{color:var(--mute);font-size:12px}
.apx-tab[aria-selected="true"]{background:linear-gradient(135deg,var(--up),var(--deep));border-color:var(--yellow);box-shadow:0 18px 40px -20px var(--yellow)}
.apx-grid{display:grid;grid-template-columns:1fr minmax(0,400px);gap:56px;align-items:center}
@media (max-width:900px){.apx-grid{grid-template-columns:1fr}.apx-stage{order:-1}}
.apx-info{min-width:0;animation:rise .5s both}
.apx-info h3{font-size:clamp(24px,3vw,34px);font-weight:900;letter-spacing:-.02em;margin:14px 0 10px}
.apx-info p{color:var(--mute);margin:0 0 20px;max-width:56ch}
.apx-feat{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.apx-feat span{font:600 12.5px/1 var(--f-body);padding:9px 12px;border-radius:999px;background:var(--deep);border:1px solid var(--line);color:var(--white)}
.apx-tasks{padding:18px;border-radius:18px;background:var(--deep);border:1px solid var(--line)}
.apx-tasks .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:800}
.apx-tasks .hd span{font:700 12px var(--f-mono);color:var(--yellow)}
.apx-prog{height:6px;border-radius:6px;background:var(--line);overflow:hidden;margin-bottom:12px}
.apx-prog i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,var(--yellow),var(--g));transition:width .6s cubic-bezier(.2,.8,.2,1)}
.apx-tasks ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.apx-tasks li{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--mute);transition:color .3s}
.apx-tasks li i{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;flex:none;font-style:normal;font-size:11px;color:transparent;transition:.3s}
.apx-tasks li.ok{color:var(--white)}
.apx-tasks li.ok i{background:var(--g);border-color:var(--g);color:#0B2A17;animation:pop .4s cubic-bezier(.2,1.6,.4,1)}
.apx-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.apx-stage{position:relative;display:grid;place-items:center;padding:10px 0}
.apx-orb{position:absolute;width:120%;aspect-ratio:1;max-width:520px;border-radius:50%;background:radial-gradient(circle,var(--orb,#FFD21F33),transparent 62%);animation:pulse 6s ease-in-out infinite;pointer-events:none}
/* téléphone */
.iph{position:relative;width:min(360px,100%);aspect-ratio:9/19.3;border-radius:50px;background:#05071A;padding:11px;box-shadow:0 0 0 2px #2A3268,0 50px 100px -40px #000,inset 0 0 0 2px #1C2350;animation:bob 8s ease-in-out infinite}
.iph-island{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:32%;height:28px;border-radius:20px;background:#000;z-index:20}
.iph-status{position:absolute;top:22px;left:38px;right:34px;z-index:19;display:flex;justify-content:space-between;align-items:center;font:700 13px/1 var(--f-body);color:var(--sb,#141A3C);pointer-events:none}
.iph-status span{display:flex;gap:5px;align-items:center}
.iph-screen{position:relative;height:100%;border-radius:40px;overflow:hidden;background:#fff;isolation:isolate}
.iph-bar{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:34%;height:5px;border-radius:5px;background:var(--sb,#141A3C);opacity:.5;z-index:20;pointer-events:none}
.iph-toast{position:absolute;top:60px;left:22px;right:22px;z-index:25;padding:11px 14px;border-radius:16px;background:#141A3Cf2;color:#fff;font:700 12.5px/1.35 var(--f-body);box-shadow:0 14px 30px -10px #000;backdrop-filter:blur(8px)}
.iph-toast.on{animation:tdrop 2.4s both}
@keyframes tdrop{0%{transform:translateY(-30px) scale(.9);opacity:0}10%,85%{transform:none;opacity:1}100%{transform:translateY(-20px);opacity:0}}
/* cadre commun des applications */
.ap{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--bg);color:var(--tx);font:500 13px/1.4 var(--f-body);text-align:left}
.ap.in-r{animation:inR .38s cubic-bezier(.2,.8,.2,1)}
.ap.in-l{animation:inL .38s cubic-bezier(.2,.8,.2,1)}
.ap.in-f{animation:inF .3s ease}
.ap.in-u{animation:inU .4s cubic-bezier(.2,.8,.2,1)}
@keyframes inR{from{transform:translateX(40%);opacity:0}}
@keyframes inL{from{transform:translateX(-30%);opacity:0}}
@keyframes inF{from{opacity:0;transform:scale(.98)}}
@keyframes inU{from{transform:translateY(30%);opacity:0}}
.ap-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:58px 16px 16px;scrollbar-width:none}
.ap-body::-webkit-scrollbar{display:none}
.ap-body.nopad{padding-top:0}
.ap button{font-family:inherit;color:inherit;cursor:pointer}
.ap .ico{width:18px;height:18px}
.ap-h{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.ap-h .t{flex:1;font:800 19px/1.15 var(--f-display);min-width:0}
.ap-h .t small{display:block;font:500 12px var(--f-body);color:var(--mu)}
.ib{position:relative;width:38px;height:38px;border-radius:12px;border:1px solid var(--bd);background:var(--cd);display:grid;place-items:center;flex:none}
.ib .dot{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;border-radius:9px;background:var(--a);color:var(--ai);font:800 10px/17px var(--f-body);text-align:center;padding:0 4px;animation:pop .4s}
.srch{display:flex;align-items:center;gap:8px;padding:0 6px 0 12px;height:44px;border-radius:14px;background:var(--cd);border:1px solid var(--bd);margin-bottom:12px}
.srch input{flex:1;min-width:0;border:0;outline:0;background:none;font:500 13px var(--f-body);color:var(--tx)}
.srch .ico{color:var(--mu)}
.chips2{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px;scrollbar-width:none}
.chips2::-webkit-scrollbar{display:none}
.chip2{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:11px;border:1px solid var(--bd);background:var(--cd);font:700 12px/1 var(--f-body);white-space:nowrap;transition:transform .15s}
.chip2:active{transform:scale(.95)}
.chip2 .ico{width:15px;height:15px}
.chip2.on{background:var(--a);color:var(--ai);border-color:var(--a);box-shadow:0 8px 16px -8px var(--a)}
.sec2{display:flex;justify-content:space-between;align-items:center;margin:16px 0 10px;font:800 15px var(--f-display)}
.sec2 button{border:0;background:none;font:700 12px var(--f-body);color:var(--a)}
.card2{background:var(--cd);border:1px solid var(--bd);border-radius:18px;padding:12px}
.btnA{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:14px;border:0;background:var(--a);color:var(--ai)!important;font:800 14px/1 var(--f-body);box-shadow:0 12px 24px -12px var(--a);transition:transform .15s,filter .2s}
.btnA:active{transform:scale(.97)}
.btnA:disabled{opacity:.45;box-shadow:none}
.btnB{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:13px;border-radius:14px;border:1px solid var(--bd);background:var(--cd);font:800 13px/1 var(--f-body)}
.row2b{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bnav{display:flex;justify-content:space-around;align-items:flex-start;padding:10px 6px 30px;background:var(--nav,var(--cd));border-top:1px solid var(--bd);flex:none}
.bnav button{position:relative;display:grid;justify-items:center;gap:3px;border:0;background:none;font:600 10px/1 var(--f-body);color:var(--mu);padding:4px 6px;min-width:50px}
.bnav button .ico{width:20px;height:20px}
.bnav button.on{color:var(--a)}
.bnav button.on::after{content:"";position:absolute;top:-11px;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--a)}
.bnav .bd{position:absolute;top:-2px;right:8px;width:8px;height:8px;border-radius:50%;background:#E5484D}
.fld{display:grid;gap:5px;margin-bottom:10px;font:700 11.5px var(--f-body);color:var(--mu)}
.fld input,.fld select,.fld textarea{width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--bd);background:var(--cd);font:500 13.5px var(--f-body);color:var(--tx)}
.av3{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font:800 15px var(--f-display);color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));flex:none}
.stg>*{animation:rise .4s both}
.stg>*:nth-child(2){animation-delay:.05s}.stg>*:nth-child(3){animation-delay:.1s}.stg>*:nth-child(4){animation-delay:.15s}.stg>*:nth-child(5){animation-delay:.2s}.stg>*:nth-child(6){animation-delay:.25s}.stg>*:nth-child(7){animation-delay:.3s}
.pl2{display:inline-block;padding:4px 8px;border-radius:999px;font:800 10px/1 var(--f-body);white-space:nowrap}
.pl-ok{background:#E3F7EA;color:#127A3D}.pl-wa{background:#FFF1D6;color:#9A5B00}.pl-in{background:#E6EEFB;color:#1F4E9A}.pl-no{background:#EEF0F5;color:#5A6180}.pl-rd{background:#FDE7E8;color:#B42328}
.okv{display:grid;justify-items:center;text-align:center;gap:10px;padding-top:30px}
.okv .ck{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:var(--a-soft);color:var(--a);animation:pop .5s cubic-bezier(.2,1.6,.4,1)}
.okv .ck svg{width:44px;height:44px}
.okv .ck path{stroke-dasharray:30;stroke-dashoffset:30;animation:draw .5s .25s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.okv h4{margin:6px 0 0;font:900 21px/1.2 var(--f-display)}
.okv p{margin:0;color:var(--mu)}
.kv2{width:100%;display:grid;grid-template-columns:auto 1fr;gap:7px 12px;text-align:left;padding:14px;border-radius:16px;background:var(--cd);border:1px solid var(--bd);font-size:12.5px}
.kv2 span{color:var(--mu)}.kv2 b{text-align:right}
.typing2{display:inline-flex;gap:4px;padding:10px 12px;border-radius:14px;background:var(--cd);border:1px solid var(--bd)}
.typing2 i{width:6px;height:6px;border-radius:50%;background:var(--mu);animation:ty 1s infinite}
.typing2 i:nth-child(2){animation-delay:.15s}.typing2 i:nth-child(3){animation-delay:.3s}
.bub3{max-width:80%;padding:9px 12px;border-radius:16px;background:var(--cd);border:1px solid var(--bd);align-self:flex-start;animation:rise .3s both;font-size:13px}
.bub3.me{align-self:flex-end;background:var(--a);color:var(--ai);border-color:var(--a)}
.bub3 small{display:block;font-size:9.5px;opacity:.7;margin-top:3px}
.compose{display:flex;gap:8px;padding:10px 12px 28px;border-top:1px solid var(--bd);background:var(--cd)}
.compose input{flex:1;min-width:0;padding:11px 14px;border-radius:999px;border:1px solid var(--bd);background:var(--bg);font:500 13px var(--f-body);color:var(--tx)}
.compose button{width:42px;height:42px;border-radius:50%;border:0;background:var(--a);color:var(--ai);display:grid;place-items:center;flex:none}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.keypad button{height:52px;border-radius:16px;border:0;background:var(--cd);font:800 21px var(--f-display);box-shadow:0 2px 0 var(--bd);transition:transform .1s,background .2s}
.keypad button:active{transform:scale(.93);background:var(--a-soft)}
.pin{display:flex;gap:14px;justify-content:center;margin:18px 0}
.pin i{width:16px;height:16px;border-radius:50%;border:2px solid var(--a);transition:.2s}
.pin i.f{background:var(--a);transform:scale(1.15)}
.pin.err{animation:shake .4s}
@keyframes shake{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.spin2{width:46px;height:46px;border-radius:50%;border:4px solid var(--a-soft);border-top-color:var(--a);animation:spin .8s linear infinite;margin:40px auto 14px}
/* app 1 : techniciens */
.t-pro{--a:#F59E0B;--ai:#fff;--bg:linear-gradient(#FFF1D9,#FFFBF4 220px,#FFFBF4);--tx:#1F1A14;--mu:#8A7B66;--cd:#fff;--bd:#F2E3C9;--a-soft:#FFF1D6;--nav:#fffdf9}
.bnr{position:relative;overflow:hidden;border-radius:22px;padding:18px;min-height:150px;color:#fff;background:linear-gradient(120deg,#F59E0B,#F97316)}
.bnr .slide{position:absolute;inset:0;padding:18px;display:grid;align-content:center;gap:6px;transition:transform .6s cubic-bezier(.6,0,.2,1),opacity .6s}
.bnr .slide.off{transform:translateX(105%);opacity:0}
.bnr .slide.prev{transform:translateX(-105%);opacity:0}
.bnr small{justify-self:start;padding:5px 9px;border-radius:999px;background:#fff;color:#9A5B00;font:800 10px var(--f-body)}
.bnr b{font:900 20px/1.1 var(--f-display);max-width:62%}
.bnr p{margin:0;font-size:11.5px;max-width:58%;opacity:.95}
.bnr button{justify-self:start;margin-top:4px;padding:9px 14px;border-radius:12px;border:0;background:#fff;color:#1F1A14!important;font:800 12px var(--f-body)}
.bnr .art{position:absolute;right:10px;bottom:0;width:38%;aspect-ratio:1;display:grid;place-items:center}
.bnr .art .ico{width:70%;height:70%;color:#fff;opacity:.95;stroke-width:1.3;animation:bob 4s ease-in-out infinite}
.dots3{display:flex;gap:4px;justify-content:center;margin:8px 0 2px}
.dots3 i{width:6px;height:6px;border-radius:3px;background:#F2E3C9;transition:.3s}
.dots3 i.on{width:18px;background:var(--a)}
.hcards{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.hcards::-webkit-scrollbar{display:none}
.hcard{flex:0 0 150px;border-radius:20px;background:var(--cd);border:1px solid var(--bd);padding:8px;display:grid;gap:6px;text-align:left}
.hcard .ph3{aspect-ratio:1.1;border-radius:14px;display:grid;place-items:center;font:900 30px var(--f-display);color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));position:relative}
.hcard b{font-size:13px;color:var(--a)}
.hcard small{color:var(--mu);font-size:11px}
.rt{display:inline-flex;gap:3px;align-items:center;font:800 11px var(--f-body)}
.rt::before{content:"★";color:#F59E0B}
.tcard{display:grid;grid-template-columns:86px 1fr auto;gap:12px;align-items:center;padding:8px;border-radius:20px;background:var(--cd);border:1px solid var(--bd);margin-bottom:10px;text-align:left;width:100%}
.tcard .ph3{position:relative;height:96px;border-radius:15px;display:grid;place-items:center;font:900 26px var(--f-display);color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2))}
.tcard .ph3 .rt{position:absolute;left:5px;bottom:5px;padding:3px 6px;border-radius:8px;background:#ffffffee;color:#1F1A14;font-size:10px}
.tcard small{display:flex;gap:4px;align-items:center;color:var(--mu);font-size:10.5px}
.tcard small .ico{width:12px;height:12px}
.tcard b{display:block;font:800 15px var(--f-display);margin:2px 0}
.tcard .pr{display:flex;gap:6px;align-items:center;margin-top:6px}
.tcard .pr span{padding:6px 9px;border-radius:9px;background:var(--a);color:#fff;font:800 11px var(--f-body)}
.tcard .pr button{width:28px;height:28px;border-radius:9px;border:1px solid var(--bd);background:var(--bg);display:grid;place-items:center}
.tcard .pr .ico{width:14px;height:14px}
.thero{margin:-58px -16px 0;padding:70px 16px 22px;border-radius:0 0 30px 30px;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));text-align:center}
.thero .bigav{width:92px;height:92px;margin:0 auto 10px;border-radius:30px;background:#ffffff33;display:grid;place-items:center;font:900 34px var(--f-display);border:3px solid #fff}
.thero b{display:block;font:900 22px var(--f-display)}
.tstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.tstats div{text-align:center;padding:10px 4px;border-radius:14px;background:var(--cd);border:1px solid var(--bd)}
.tstats b{display:block;font:900 16px var(--f-display)}
.tstats small{color:var(--mu);font-size:10.5px}
.days{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin-bottom:12px}
.days button{flex:none;width:58px;padding:10px 0;border-radius:15px;border:1px solid var(--bd);background:var(--cd);display:grid;gap:3px;font:700 10.5px var(--f-body);color:var(--mu)}
.days button b{font:900 18px var(--f-display);color:var(--tx)}
.days button.on{background:var(--a);border-color:var(--a);color:#fff}
.days button.on b{color:#fff}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}
.slots button{padding:10px 0;border-radius:12px;border:1px solid var(--bd);background:var(--cd);font:800 12.5px var(--f-body)}
.slots button.on{background:var(--tx);color:#fff;border-color:var(--tx)}
.slots button:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.trk{display:grid;gap:0;margin:10px 0}
.trk div{display:flex;gap:10px;align-items:flex-start;position:relative;padding-bottom:14px;color:var(--mu);font-size:12px}
.trk div::before{content:"";position:absolute;left:8px;top:18px;bottom:0;width:2px;background:var(--bd)}
.trk div:last-child::before{display:none}
.trk i{width:18px;height:18px;border-radius:50%;border:2px solid var(--bd);background:var(--cd);flex:none;z-index:1}
.trk .ok{color:var(--tx);font-weight:700}.trk .ok i{background:var(--a);border-color:var(--a)}
.trk .now{color:var(--tx);font-weight:800}.trk .now i{border-color:var(--a);animation:pulse 1.2s infinite}
.minimap{position:relative;height:120px;border-radius:16px;overflow:hidden;background:#F4EBDA;background-image:linear-gradient(#E8DBC2 1px,transparent 1px),linear-gradient(90deg,#E8DBC2 1px,transparent 1px);background-size:20px 20px;margin:8px 0}
.minimap svg{position:absolute;inset:0;width:100%;height:100%}
.stars{display:flex;gap:6px;justify-content:center;font-size:28px}
.stars button{border:0;background:none;color:#E5D7BE;transition:transform .15s,color .2s;padding:0}
.stars button.on{color:#F59E0B;transform:scale(1.12)}
/* app 2 : restaurant */
.t-resto{--a:#D7263D;--ai:#fff;--bg:#F6F6F9;--tx:#1D1D27;--mu:#6E6E80;--cd:#fff;--bd:#E8E8EF;--a-soft:#FDE8EB;--nav:#fff}
.rhead{margin:-58px -16px 14px;padding:60px 16px 18px;background:var(--a);color:#fff;border-radius:0 0 26px 26px}
.rhead .ap-h{margin:0}
.rhead .t small{color:#ffffffcc}
.rhead .ib{background:#ffffff22;border-color:#ffffff33;color:#fff}
.lang{display:flex;border:1px solid #ffffff55;border-radius:9px;overflow:hidden}
.lang button{border:0;background:none;padding:6px 8px;font:800 10.5px var(--f-body);color:#fff}
.lang button.on{background:#fff;color:var(--a)}
.kp4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.kp4 div{background:var(--cd);border:1px solid var(--bd);border-radius:14px;padding:9px 6px;text-align:center;display:grid;gap:3px;justify-items:center}
.kp4 i{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:#fff;background:var(--c)}
.kp4 i .ico{width:14px;height:14px}
.kp4 b{font:900 13px/1.1 var(--f-display);font-variant-numeric:tabular-nums}
.kp4 small{font-size:9px;color:var(--mu)}
.qlist{background:var(--cd);border:1px solid var(--bd);border-radius:18px;overflow:hidden}
.qlist button{display:flex;gap:10px;align-items:center;width:100%;padding:11px 12px;border:0;border-bottom:1px solid var(--bd);background:none;text-align:left}
.qlist button:last-child{border-bottom:0}
.qlist i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff;background:var(--c);flex:none}
.qlist i .ico{width:16px;height:16px}
.qlist b{display:block;font-size:13px}.qlist small{color:var(--mu);font-size:11px}
.qlist .go2{margin-left:auto;color:var(--mu)}
.netbar{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:14px;background:var(--cd);border:1px solid var(--bd);font-size:11.5px}
.netbar i{width:8px;height:8px;border-radius:50%;background:var(--c,#F59E0B);animation:pulse 1.4s infinite;flex:none}
.netbar button{margin-left:auto;border:0;background:var(--a-soft);color:var(--a);border-radius:8px;padding:5px 8px;font:800 10.5px var(--f-body)}
.mitem{display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:center;padding:8px;border-radius:16px;background:var(--cd);border:1px solid var(--bd);margin-bottom:8px}
.mitem .em{height:64px;border-radius:12px;display:grid;place-items:center;font-size:32px;background:linear-gradient(135deg,#FFE7C2,#FFC98A)}
.mitem b{display:block;font-size:13.5px}
.mitem small{display:block;color:var(--mu);font-size:10.5px;line-height:1.3}
.mitem .px{color:var(--a);font:900 12.5px var(--f-display);margin-top:3px}
.qty{display:flex;align-items:center;gap:6px}
.qty button{width:28px;height:28px;border-radius:50%;border:1px solid var(--bd);background:var(--bg);display:grid;place-items:center;font:900 15px/1 var(--f-body)}
.qty b{min-width:14px;text-align:center;font:900 13px var(--f-display)}
.qty .plus{background:var(--a);color:#fff;border-color:var(--a)}
.cartbar{margin:0 12px 10px;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:16px;border:0;background:var(--a);color:#fff!important;font:800 13.5px var(--f-body);box-shadow:0 14px 26px -12px var(--a);animation:inU .35s}
.orow{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px;border-radius:14px;background:var(--cd);border:1px solid var(--bd);margin-bottom:8px;width:100%;text-align:left}
.orow .oi{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--a-soft);color:var(--a)}
.orow b{font-size:12.5px}.orow small{display:block;color:var(--mu);font-size:10.5px}
.orow .r{text-align:right;display:grid;gap:4px;justify-items:end}
.orow .amt{color:#127A3D;font:900 12px var(--f-display)}
.pays{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.pays button{padding:12px 8px;border-radius:14px;border:1.5px solid var(--bd);background:var(--cd);display:grid;gap:4px;justify-items:center;font:800 11.5px var(--f-body)}
.pays button i{width:34px;height:22px;border-radius:6px;display:grid;place-items:center;font:900 9px var(--f-body);font-style:normal;color:#fff;background:var(--c)}
.pays button.on{border-color:var(--a);background:var(--a-soft)}
.rbars{display:grid;gap:10px}
.rbars .l{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}
.rbars .t{height:9px;border-radius:9px;background:var(--bd);overflow:hidden}
.rbars .t i{display:block;height:100%;border-radius:9px;background:var(--a);animation:growW 1s both}
/* app 3 : portefeuille */
.t-pay{--a:#B3122E;--ai:#fff;--bg:#F4F4F6;--tx:#17171F;--mu:#6F6F7D;--cd:#fff;--bd:#E7E7EE;--a-soft:#FBE6EA;--nav:#fff}
.bal{position:relative;overflow:hidden;border-radius:22px;padding:16px;color:#fff;background:radial-gradient(70% 120% at 100% 0,#E84A5F88,transparent 60%),linear-gradient(135deg,#7A0B1F,#B3122E);box-shadow:0 20px 34px -18px #B3122E}
.bal::after{content:"";position:absolute;right:-30px;bottom:-50px;width:170px;height:170px;border-radius:50%;border:24px solid #ffffff12}
.bal .acc{display:flex;gap:8px;align-items:center;font:700 14px var(--f-mono);letter-spacing:.14em}
.bal .acc button{border:0;border-radius:7px;background:#ffffff22;color:#fff;width:26px;height:26px;display:grid;place-items:center}
.bal .acc .ico{width:13px;height:13px}
.bal small{display:flex;gap:6px;align-items:center;margin-top:14px;font-size:11.5px;opacity:.9}
.bal small button{border:0;background:none;color:#fff;padding:0;display:grid}
.bal small .ico{width:15px;height:15px}
.bal .amt{font:900 27px/1.1 var(--f-display);margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.bal .amt span{font-size:14px;margin-right:4px}
.svc8{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.svc8 button{display:grid;justify-items:center;gap:6px;border:0;background:none;font:600 10px/1.2 var(--f-body);color:var(--tx);text-align:center}
.svc8 i{width:54px;height:54px;border-radius:17px;background:var(--cd);border:1px solid var(--bd);display:grid;place-items:center;color:var(--a);transition:transform .2s}
.svc8 button:active i{transform:scale(.9)}
.svc8 i .ico{width:22px;height:22px}
.benef{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.benef button{flex:0 0 76px;padding:8px 4px;border-radius:16px;border:1px solid var(--bd);background:var(--cd);display:grid;justify-items:center;gap:5px;font:600 10.5px var(--f-body)}
.benef button.on{border-color:var(--a);background:var(--a-soft)}
.benef .av3{width:44px;height:44px;border-radius:14px;font-size:14px}
.txr{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bd)}
.txr:last-child{border-bottom:0}
.txr i{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--a-soft);color:var(--a);flex:none}
.txr i.in{background:#E3F7EA;color:#127A3D}
.txr i .ico{width:16px;height:16px}
.txr b{display:block;font-size:12.5px}.txr small{color:var(--mu);font-size:10.5px}
.txr .m{margin-left:auto;font:900 12.5px var(--f-display);white-space:nowrap}
.txr .m.in{color:#127A3D}
.amtd{text-align:center;font:900 34px/1.1 var(--f-display);margin:10px 0 2px;font-variant-numeric:tabular-nums}
.amtd small{font-size:15px;color:var(--mu)}
.ops3{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}
.ops3 button{padding:10px 2px;border-radius:12px;border:1.5px solid var(--bd);background:var(--cd);display:grid;gap:4px;justify-items:center;font:800 10px var(--f-body)}
.ops3 button i{width:26px;height:26px;border-radius:50%;background:var(--c);display:block}
.ops3 button.on{border-color:var(--a);background:var(--a-soft)}
.token{font:800 15px/1.5 var(--f-mono);letter-spacing:.08em;padding:12px;border-radius:12px;background:var(--a-soft);color:var(--a);text-align:center;word-break:break-all}
/* app 4 : trésorerie */
.t-biz{--a:#F5C04A;--ai:#141A3C;--bg:linear-gradient(165deg,#2C4F80,#152B4E 60%,#0F1F3B);--tx:#fff;--mu:#A9BBD6;--cd:rgba(255,255,255,.08);--bd:rgba(255,255,255,.14);--a-soft:rgba(245,192,74,.16);--nav:rgba(15,31,59,.7)}
.t-biz .card2,.t-biz .ib{backdrop-filter:blur(10px)}
.pcard{position:relative;overflow:hidden;border-radius:20px;padding:14px;background:linear-gradient(140deg,#3A5F94,#1D3A66);border:1px solid var(--bd);min-height:122px;display:grid;align-content:space-between}
.pcard::before{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;background:radial-gradient(#ffffff26,transparent 70%)}
.pcard small{color:var(--mu);font-size:10.5px}
.pcard b{font:900 21px var(--f-display);font-variant-numeric:tabular-nums}
.pcard .chipc{position:absolute;right:12px;top:12px;width:26px;height:20px;border-radius:5px;background:linear-gradient(135deg,#F5C04A,#C98F00)}
.pcard.frozen{filter:grayscale(.8) brightness(.7)}
.wel{display:grid;grid-template-columns:1fr 1.15fr;gap:10px;align-items:center}
.wel .av3{width:56px;height:56px;border-radius:18px;margin-bottom:8px}
.wel h5{margin:0;font:900 19px/1.15 var(--f-display)}
.wel p{margin:2px 0 0;color:var(--mu);font-size:11.5px}
.sendb{display:flex;align-items:center;gap:10px;padding:12px;border-radius:18px;border:1px solid var(--bd);background:var(--cd);font:800 14px var(--f-body)}
.sendb i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#ffffff1f}
.sheet{margin:14px -16px 0;padding:18px 16px;border-radius:28px 28px 0 0;background:linear-gradient(#ffffffee,#E9EEF7);color:#141A3C;min-height:250px}
.sheet .sec2 button{color:#2A4A7A}
.prow{display:flex;gap:10px;align-items:center;padding:9px 0}
.prow .av3{width:38px;height:38px;border-radius:50%;font-size:13px}
.prow b{display:block;font-size:13px}.prow small{color:#5A6A86;font-size:10.5px}
.prow .m{margin-left:auto;font:900 13px var(--f-display)}
.prow .pay{margin-left:auto;border:0;border-radius:10px;padding:8px 12px;background:#F5C04A;color:#141A3C!important;font:800 11.5px var(--f-body);box-shadow:0 8px 16px -8px #C98F00}
.ar{font-size:12px;font-weight:900}.ar.up{color:#E5484D}.ar.dn{color:#179A4E}
.chart4{position:relative;margin:4px 0 12px}
.chart4 svg{width:100%;height:auto;display:block;touch-action:none}
.chart4 .tip{position:absolute;transform:translate(-50%,-115%);padding:7px 10px;border-radius:10px;background:#ffffff26;backdrop-filter:blur(8px);border:1px solid #ffffff40;text-align:center;font:800 13px/1.2 var(--f-display);pointer-events:none;white-space:nowrap;transition:left .15s,top .15s}
.chart4 .tip small{display:block;font:500 10px var(--f-body);color:var(--mu)}
.wbar{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-radius:16px;background:var(--cd);border:1px solid var(--bd);margin-bottom:12px}
.wbar span{color:var(--mu);font-size:12px}
.wbar b{font:900 16px var(--f-display)}
.bills{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bill{padding:12px;border-radius:18px;background:linear-gradient(#ffffffe6,#DCE4F1);color:#141A3C;display:grid;gap:4px;text-align:left;position:relative;transition:transform .2s}
.bill i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;margin-bottom:6px}
.bill i .ico{width:15px;height:15px}
.bill b{font-size:13px}
.bill .d{display:flex;justify-content:space-between;font-size:10.5px;color:#5A6A86}
.bill .d strong{color:#141A3C;font-size:12px}
.bill button{margin-top:6px;border:0;border-radius:9px;padding:7px;background:#141A3C;color:#fff!important;font:800 11px var(--f-body)}
.bill.paid{opacity:.6}
.bill.paid button{background:#179A4E}
.fab2{position:sticky;bottom:6px;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:14px;padding:15px;border-radius:18px;border:0;background:linear-gradient(90deg,#EEF3FF,#E5DCFF);color:#141A3C!important;font:800 14px var(--f-body);box-shadow:0 20px 30px -14px #000}
.fab2 i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#141A3C;color:#fff}
.t-biz .fld input,.t-biz .fld select{background:#ffffff12;color:#fff}
.t-biz .fld select option{color:#141A3C}
.tgl{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-radius:14px;background:var(--cd);border:1px solid var(--bd);margin-bottom:8px;font-weight:700}
.tgl input{appearance:none;width:42px;height:24px;border-radius:12px;background:var(--bd);position:relative;cursor:pointer;transition:background .2s;flex:none}
.tgl input::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}
.tgl input:checked{background:var(--a)}
.tgl input:checked::after{transform:translateX(18px)}

/* app : finance (vert) */
.t-fin{--a:#15803D;--ai:#fff;--bg:#F6F8F6;--tx:#14251A;--mu:#6B7A70;--cd:#fff;--bd:#E3EBE5;--a-soft:#E3F4E8;--nav:#fff}
.fbal{position:relative;overflow:hidden;border-radius:22px;padding:16px;color:#fff;background:linear-gradient(135deg,#1F2937,#0B0F14);display:grid;gap:4px;box-shadow:0 18px 30px -16px #000}
.fbal small{opacity:.8;font-size:11.5px}
.fbal b{font:900 27px var(--f-display);font-variant-numeric:tabular-nums}
.fbal span{font-size:11px;color:#86EFAC}
.fbal i{position:absolute;right:16px;bottom:14px;font:900 italic 16px var(--f-display)}
.fact{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}
.fact button{display:grid;justify-items:center;gap:5px;border:0;background:none;font:600 10.5px var(--f-body);color:var(--tx)}
.fact i{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--a);color:#fff;transition:transform .2s}
.fact button:active i{transform:scale(.9)}
.fq i{background:var(--cd)!important;color:var(--a)!important}
.seg3{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:999px;background:var(--cd);border:1px solid var(--bd)}
.seg3 button{border:0;border-radius:999px;padding:9px;background:none;font:700 12px var(--f-body);color:var(--mu)}
.seg3 button.on{background:var(--a);color:#fff}
.usdin{display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:12px;border:1px solid var(--bd);background:var(--cd)}
.usdin b{color:var(--tx);font-size:16px}
.usdin input{border:0!important;padding:12px 0!important;font:800 17px var(--f-display)!important;flex:1;min-width:0;background:none!important}
.meth{display:flex;align-items:center;gap:10px;width:100%;padding:13px 12px;border-radius:14px;border:1.5px solid var(--bd);background:var(--cd);margin-bottom:8px;font:700 12.5px var(--f-body);text-align:left}
.meth span{flex:1}.meth small{color:var(--mu);font-weight:600}
.meth i{width:18px;height:18px;border-radius:50%;border:2px solid var(--bd)}
.meth.on{border-color:var(--a);background:var(--a-soft)}
.meth.on i{border:5px solid var(--a)}
.fcard{perspective:900px;cursor:pointer;height:184px}
.fc-in{position:relative;width:100%;height:100%;transition:transform .7s cubic-bezier(.4,.2,.2,1);transform-style:preserve-3d}
.fcard.flip .fc-in{transform:rotateY(180deg)}
.fc-f,.fc-b{position:absolute;inset:0;border-radius:20px;padding:16px;color:#fff;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:radial-gradient(80% 100% at 100% 0,#22C55E66,transparent 60%),linear-gradient(135deg,#166534,#14532D);box-shadow:0 20px 34px -16px #14532D}
.fc-b{transform:rotateY(180deg);display:grid;align-content:center;gap:12px}
.fc-f b{font:900 16px var(--f-display);letter-spacing:.06em}
.fc-f .chipc{position:absolute;left:16px;top:52px;width:36px;height:28px;border-radius:6px;background:linear-gradient(135deg,#FDE68A,#CA8A04)}
.fc-f .num{position:absolute;left:16px;bottom:52px;font:700 16px var(--f-mono);letter-spacing:.08em}
.fc-f .fx{position:absolute;left:16px;right:16px;bottom:16px;display:flex;justify-content:space-between;align-items:end;font:600 10.5px var(--f-body)}
.fc-b .strip{height:34px;margin:0 -16px;background:#0B0F14}
.fc-b .cvv{justify-self:end;padding:6px 12px;border-radius:8px;background:#fff;color:#14251A;font:600 11px var(--f-body)}
.fc-b small{opacity:.8}
.fcard.locked .fc-f{filter:grayscale(.9) brightness(.75)}
.fcard .lk{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:6px;font:800 13px var(--f-body);background:#0006;border-radius:20px}
.fbars{display:flex;align-items:flex-end;gap:8px;height:120px;margin-top:10px}
.fbars button{flex:1;height:100%;border:0;background:none;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;padding:0;font:600 10px var(--f-body);color:var(--mu)}
.fbars i{width:100%;max-width:28px;border-radius:7px 7px 3px 3px;background:#D9E3DC;animation:growH .8s both}
.fbars button.on i{background:var(--a)}
.fbars button.on{color:var(--tx);font-weight:800}
.donut{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center}
.donut svg{width:110px;height:110px;transform:rotate(-90deg)}
.donut ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:11.5px}
.donut li{display:flex;align-items:center;gap:6px}
.donut li i{width:9px;height:9px;border-radius:3px;flex:none}
.donut li b{margin-left:auto}
.gbar{height:8px;border-radius:8px;background:var(--bd);overflow:hidden;margin-top:8px}
.gbar i{display:block;height:100%;border-radius:8px;background:var(--a);transition:width .6s}
.fnav{align-items:center}
.fab3{width:52px!important;min-width:0!important;height:52px;border-radius:50%!important;background:var(--a)!important;color:#fff!important;margin-top:-26px;box-shadow:0 10px 20px -8px var(--a);display:grid!important;place-items:center}
.fab3::after{display:none!important}
/* app : taxi */
.t-taxi{--a:#FACC15;--ai:#111;--bg:#FAFAF7;--tx:#111;--mu:#71717A;--cd:#fff;--bd:#ECECE6;--a-soft:#FEF9C3;--nav:#fff}
.t-taxi .btnA{color:#111!important}
.onb h5{margin:10px 0 6px;font:900 30px/1.08 var(--f-display)}
.onb h5 span{color:#EAB308}
.onb p{color:var(--mu);margin:0}
.carwrap{position:relative;margin:18px -16px 6px;height:170px;display:grid;place-items:center;background:radial-gradient(circle at 70% 30%,#FEF08A,transparent 55%)}
.carwrap .car{width:88%;animation:drive 3s ease-in-out infinite}
@keyframes drive{0%,100%{transform:translateX(-4px)}50%{transform:translateX(6px)}}
.btnA .arr{margin-left:auto;width:30px;height:30px;border-radius:50%;background:#111;color:#FACC15;display:grid;place-items:center}
.trio{display:flex;justify-content:space-around;margin-top:16px;font:600 10.5px var(--f-body);color:var(--mu)}
.trio span{display:grid;justify-items:center;gap:4px}
.login{background:#141414;color:#fff;padding:0!important}
.lgtop{padding:60px 18px 0;background:linear-gradient(#1F1F1F,#141414)}
.lgtop h5{margin:0;font:900 26px/1.1 var(--f-display)}
.lgtop h5 span{color:#FACC15}
.lgtop .car{width:80%;margin:10px auto -6px;display:block;filter:drop-shadow(0 10px 20px #FACC1544)}
.lgcard{margin-top:6px;padding:20px 18px 30px;border-radius:28px 28px 0 0;background:#1F1F1F;display:grid;gap:4px}
.lgcard>b{font:900 20px var(--f-display)}
.lgcard>small{color:#A3A3A3;margin-bottom:10px}
.lgcard .fld input{background:#141414;border-color:#333;color:#fff}
.route{display:grid;gap:10px}
.route div{display:flex;gap:10px;align-items:center}
.route i{width:14px;height:14px;border-radius:50%;flex:none}
.route i.o{border:3px solid #EAB308}
.route i.d{background:#111}
.route small{display:block;color:var(--mu);font-size:10.5px}
.pass{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:16px;border-radius:20px;background:linear-gradient(120deg,#FEF08A,#FACC15)}
.pass b{display:block;font:900 16px var(--f-display)}
.pass small{display:block;font-size:11px;margin:2px 0 8px}
.pass button{border:0;border-radius:999px;padding:8px 12px;background:#111;color:#fff!important;font:800 11px var(--f-body)}
.pass>span{font-size:44px;animation:bob 3s ease-in-out infinite}
.tmap{height:170px;border-radius:18px;overflow:hidden;margin-bottom:10px}
.tmap.big{height:58%;border-radius:0;margin:0;flex:none}
.tmap svg{width:100%;height:100%;display:block}
.rideopt{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border-radius:14px;border:1.5px solid var(--bd);background:var(--cd);margin-bottom:7px;text-align:left}
.rideopt .emj{font-size:24px}
.rideopt span:nth-child(2){flex:1}
.rideopt small{display:block;color:var(--mu);font-size:10.5px}
.rideopt.on{border-color:#111;background:var(--a-soft)}
.radar{position:relative;width:140px;height:140px;display:grid;place-items:center;margin-bottom:10px}
.radar i{position:absolute;inset:0;border-radius:50%;border:2px solid #FACC15;animation:ripple 2.4s infinite}
.radar i:nth-child(2){animation-delay:.8s}.radar i:nth-child(3){animation-delay:1.6s}
.radar span{font-size:40px;animation:bob 2s ease-in-out infinite}
.rsheet{flex:1;margin-top:-22px;position:relative;padding:10px 16px 20px;border-radius:24px 24px 0 0;background:var(--cd);box-shadow:0 -10px 30px -10px #0003;display:grid;gap:10px;align-content:start}
.grab{width:40px;height:5px;border-radius:5px;background:var(--bd);margin:0 auto 4px}
.rstat{margin:0;font:800 15px var(--f-display);text-align:center}
.rstat b{color:#CA8A04}
.drv{display:flex;align-items:center;gap:10px;padding:10px;border-radius:16px;background:var(--bg);border:1px solid var(--bd)}
.drv>div{flex:1;min-width:0}
.drv small{display:block;color:var(--mu);font-size:10.5px}
.bnav.pill{margin:0 14px 24px;padding:8px;border-radius:999px;border:1px solid var(--bd);box-shadow:0 12px 30px -12px #0004;background:var(--cd);gap:4px}
.bnav.pill button{display:flex;align-items:center;gap:6px;padding:9px 12px;border-radius:999px;font-size:11.5px;min-width:0}
.bnav.pill button.on{background:var(--a);color:var(--ai)}
.bnav.pill button.on::after{display:none}
/* app : courses */
.t-shop{--a:#1F7A4D;--ai:#fff;--bg:#F7F8F6;--tx:#123524;--mu:#6B7A70;--cd:#fff;--bd:#E4EAE5;--a-soft:#E2F2E8;--nav:#fff}
.shead{margin:0 0 12px;font:900 23px/1.15 var(--f-display)}
.shead span{color:var(--a)}
.cats6{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cats6 button{display:grid;justify-items:center;gap:6px;padding:12px 4px;border-radius:18px;border:1px solid var(--bd);background:var(--cd);font:700 11px var(--f-body);transition:transform .2s}
.cats6 button:active{transform:scale(.95)}
.cats6 span{font-size:28px;line-height:1}
.offer{position:relative;overflow:hidden;margin-top:12px;padding:16px;border-radius:20px;color:#fff;background:linear-gradient(120deg,#1F7A4D,#0F4D2E);min-height:130px;display:grid;align-content:center;gap:4px}
.offer b{font:900 17px/1.15 var(--f-display);max-width:60%}
.offer small{max-width:58%;opacity:.9;font-size:11px}
.offer button{justify-self:start;margin-top:6px;border:0;border-radius:999px;padding:8px 12px;background:#fff;color:#123524!important;font:800 11px var(--f-body)}
.offer .emo{position:absolute;right:10px;bottom:10px;font-size:34px;letter-spacing:-6px;animation:bob 4s ease-in-out infinite}
.grid2p{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pcrd{position:relative;padding:10px;border-radius:18px;background:var(--cd);border:1px solid var(--bd);display:grid;gap:3px;text-align:left}
.pcrd .em{height:76px;border-radius:14px;display:grid;place-items:center;font-size:40px;background:#F1F5F2}
.pcrd .w{justify-self:start;padding:2px 6px;border-radius:5px;background:#E6EEFB;color:#1F4E9A;font:800 9px var(--f-body)}
.pcrd b{font-size:12.5px;line-height:1.25}
.pcrd>small{display:flex;gap:3px;align-items:center;color:var(--mu);font-size:9.5px}
.pcrd>small .ico{width:11px;height:11px}
.pcrd .pb{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.pcrd .pb>span{font:900 12px var(--f-display);color:var(--a)}
.pcrd .addb{width:30px;height:30px;border-radius:50%;border:0;background:var(--a);color:#fff!important;font:900 17px/1 var(--f-body);transition:transform .2s}
.pcrd .addb:active{transform:scale(.85)}
.pcrd .fav{position:absolute;right:14px;top:14px;z-index:1;width:28px;height:28px;border-radius:50%;border:0;background:#fff;color:#E5484D!important;font-size:15px;box-shadow:0 4px 10px -4px #0003}
.pcrd .fav.on{animation:pop .4s cubic-bezier(.2,1.6,.4,1)}
.pcrd .qty button{width:24px;height:24px;font-size:13px}
.mcats{display:flex;justify-content:space-between;gap:4px;margin-bottom:4px}
.mcats button{display:grid;justify-items:center;gap:4px;border:0;background:none;font:700 10.5px var(--f-body);color:var(--mu)}
.mcats span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:24px;background:var(--cd);border:2px solid var(--bd);transition:.2s}
.mcats button.on{color:var(--tx)}
.mcats button.on span{border-color:var(--a);background:var(--a-soft);transform:scale(1.06)}
.bnav.pill.sp button.on{background:var(--a-soft);color:var(--a)}
/* fiche d'envoi (trésorerie) */
.bsheet{position:absolute;left:0;right:0;bottom:0;z-index:30;padding:12px 16px 30px;border-radius:28px 28px 0 0;background:#F4F7FC;color:#141A3C;box-shadow:0 -20px 40px -10px #000a;animation:inU .35s cubic-bezier(.2,.8,.2,1)}
.bsheet .keypad button{background:#fff;color:#141A3C;box-shadow:0 2px 0 #DCE4F1}
.bsheet .benef button{border-color:#DCE4F1;background:#fff;color:#141A3C}
.bsheet .benef button.on{border-color:#2C4F80;background:#E6EEFB}
.bsheet .btnB{background:#fff;color:#141A3C;border-color:#DCE4F1}
.bzl{stroke-dasharray:1;stroke-dashoffset:1;animation:drawl 1.4s .1s forwards}
@keyframes drawl{to{stroke-dashoffset:0}}

/* mur de téléphones : une application par téléphone */
.apx-wall{display:flex;flex-wrap:wrap;justify-content:center;gap:26px}
.apx-card{flex:0 1 360px;min-width:0;display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:26px;background:linear-gradient(160deg,var(--up),var(--deep) 70%);border:1px solid var(--line);transition:border-color .3s,transform .3s;animation:rise .6s both}
.apx-card:hover{border-color:var(--tc)}
.apx-head{display:flex;gap:12px;align-items:center}
.apx-head .ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--tc);color:#fff;flex:none;box-shadow:0 10px 20px -10px var(--tc)}
.apx-head .ic .ico{width:21px;height:21px}
.apx-head b{display:block;font:800 17px/1.2 var(--f-display)}
.apx-head small{color:var(--mute);font-size:12.5px}
.apx-desc{margin:0;color:var(--mute);font-size:13.5px;line-height:1.55;min-height:4.6em}
.apx-card .apx-stage{position:relative;display:grid;place-items:center;padding:6px 0}
.apx-card .apx-orb{width:110%}
.apx-card .iph{width:100%;max-width:320px}
.apx-card .apx-tasks{padding:14px}
.apx-card .apx-tasks li{font-size:13px}
.apx-card .apx-acts{margin-top:auto;display:grid;grid-template-columns:1fr auto;gap:8px}
.apx-card .apx-acts .btn{justify-content:center;padding:12px 14px;font-size:13px}
@media (max-width:420px){.apx-card{padding:14px}.apx-card .apx-acts{grid-template-columns:1fr}}

/* ========== ESPACE ADMIN ========== */
.cms{position:fixed;inset:0;z-index:300;display:grid;grid-template-columns:240px 1fr;background:#F3F5FA;color:#141A3C;font:500 14px/1.5 var(--f-body);
  --cbg:#F3F5FA;--ccd:#fff;--cbd:#E1E5F0;--cmu:#5F6788;--cink:#141A3C;--cac:#2A6FA5;--cy:#FFD21F}
.cms *{box-sizing:border-box}
.cms button{font-family:inherit;cursor:pointer}
.cms .ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.cms-side{background:linear-gradient(180deg,#141A3C,#0B0F26);color:#C9CFF0;display:flex;flex-direction:column;padding:18px 12px;gap:6px;min-height:0;overflow:auto}
.cms-brand{display:flex;gap:10px;align-items:center;padding:0 6px 18px;border-bottom:1px solid #ffffff14;margin-bottom:8px}
.cms-brand b{display:block;color:#fff;font:900 16px/1.1 var(--f-display)}.cms-brand b span{color:var(--cy)}
.cms-brand small{font-size:11px;color:#8F97C4}
.cms-nav{display:grid;gap:3px}
.cms-nav button{display:flex;gap:11px;align-items:center;padding:11px 12px;border-radius:11px;border:0;background:none;color:#C9CFF0;font:600 13.5px var(--f-body);text-align:left;transition:background .2s,color .2s}
.cms-nav button:hover{background:#ffffff10;color:#fff}
.cms-nav button.on{background:#ffffff1c;color:#fff;box-shadow:inset 3px 0 0 var(--cy)}
.cms-me{margin-top:auto;display:flex;gap:10px;align-items:center;padding:12px 6px;border-top:1px solid #ffffff14;font-size:12px}
.cms-me img{width:34px;height:34px;border-radius:50%}
.cms-me b{display:block;color:#fff;font-size:13px}
.cms-mode{display:inline-block;margin-top:3px;padding:3px 7px;border-radius:6px;font:700 10px var(--f-mono);letter-spacing:.04em;background:#3EE07A22;color:#3EE07A}
.cms-mode.local{background:#FF9A3C22;color:#FF9A3C}.cms-mode.ro{background:#FF5C6C22;color:#FF5C6C}
.cms-exit{display:flex;gap:8px;align-items:center;justify-content:center;padding:11px;border-radius:11px;border:1px solid #ffffff22;background:none;color:#fff;font:700 13px var(--f-body)}
.cms-exit:hover{border-color:var(--cy);color:var(--cy)}
.cms-main{display:flex;flex-direction:column;min-width:0;min-height:0}
.cms-top{display:flex;align-items:center;gap:12px;padding:14px 24px;background:#fff;border-bottom:1px solid var(--cbd)}
.cms-top h1{margin:0;font:800 19px/1.2 var(--f-display)}
.cms-top small{color:var(--cmu);font-size:12.5px}
.cms-top .sp{flex:1}
.cms-burger{display:none;width:38px;height:38px;border-radius:10px;border:1px solid var(--cbd);background:#fff;font-size:18px}
.cms-sync{display:inline-flex;align-items:center;gap:7px;font:600 12px var(--f-body);color:var(--cmu)}
.cms-sync i{width:8px;height:8px;border-radius:50%;background:#3EE07A}
.cms-sync.busy i{background:#FF9A3C;animation:pulse 1s infinite}
.cms-view{flex:1;overflow:auto;padding:24px;min-height:0}
.cms-view.full{padding:0;overflow:hidden;display:flex}
@media (max-width:900px){.cms{grid-template-columns:1fr}.cms-side{position:fixed;inset:0 30% 0 0;z-index:5;transform:translateX(-105%);transition:transform .3s}.cms.menu .cms-side{transform:none}.cms-burger{display:grid;place-items:center}.cms-view{padding:16px}.cms-top{padding:12px 16px}}
/* composants */
.cbtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border-radius:10px;border:1px solid var(--cbd,#E1E5F0);background:#fff;color:#141A3C;font:700 13px/1 var(--f-body);cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .2s,background .2s}
.cbtn:hover{box-shadow:0 6px 14px -8px #141A3C88;transform:translateY(-1px)}
.cbtn:disabled{opacity:.45;pointer-events:none}
.cbtn .ico{width:15px;height:15px}
.cbtn.pri{background:#141A3C;border-color:#141A3C;color:#fff}
.cbtn.y{background:#FFD21F;border-color:#FFD21F;color:#141A3C}
.cbtn.ok{background:#179A4E;border-color:#179A4E;color:#fff}
.cbtn.bad{background:#FDECED;border-color:#F6C9CB;color:#C2333B}
.cbtn.ghost{background:transparent}
.cbtn.sm{padding:7px 10px;font-size:12px}
.ccard{background:#fff;border:1px solid var(--cbd);border-radius:16px;padding:18px;min-width:0}
.ccard h3{margin:0 0 4px;font:800 15px var(--f-display)}
.ccard>small{display:block;color:var(--cmu);margin-bottom:12px}
.cgrid{display:grid;gap:16px}
.ck4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ck{padding:16px;border-radius:16px;background:#fff;border:1px solid var(--cbd);display:flex;gap:12px;align-items:center;animation:rise .4s both}
.ck i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--c);color:#fff;flex:none;font-style:normal}
.ck b{display:block;font:900 22px/1.1 var(--f-display);font-variant-numeric:tabular-nums}
.ck small{color:var(--cmu);font-size:12px}
.c2{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
@media (max-width:1100px){.ck4{grid-template-columns:1fr 1fr}.c2{grid-template-columns:1fr}}
@media (max-width:520px){.ck4{grid-template-columns:1fr}}
.qacts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.qacts button{display:flex;gap:10px;align-items:center;padding:14px;border-radius:14px;border:1px solid var(--cbd);background:#fff;text-align:left;font:700 13px var(--f-body);color:#141A3C;transition:.2s}
.qacts button:hover{border-color:#141A3C;transform:translateY(-2px)}
.qacts button i{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--c);color:#fff;font-style:normal;flex:none}
.qacts small{display:block;color:var(--cmu);font-weight:500;font-size:11.5px}
.clog{list-style:none;margin:0;padding:0;display:grid}
.clog li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--cbd);font-size:13px}
.clog li:last-child{border-bottom:0}
.clog i{width:8px;height:8px;border-radius:50%;background:#2A6FA5;margin-top:6px;flex:none}
.clog small{display:block;color:var(--cmu);font-size:11.5px}
.ctable{width:100%;border-collapse:collapse;font-size:13.5px;min-width:720px;color:#141A3C}
.ctable th{text-align:left;padding:11px 12px;font:700 10.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cmu);background:#FAFBFE;border-bottom:1px solid var(--cbd)}
.ctable td{padding:11px 12px;border-top:1px solid var(--cbd);vertical-align:middle}
.ctable tr:first-child td{border-top:0}
.ctable td.acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ctwrap{overflow-x:auto;border:1px solid var(--cbd);border-radius:14px;background:#fff}
.cpill{display:inline-block;padding:4px 9px;border-radius:999px;font:700 11px/1.2 var(--f-body);white-space:nowrap}
.cpill.ok{background:#E3F7EA;color:#127A3D}.cpill.wa{background:#FFF1D6;color:#9A5B00}.cpill.in{background:#E6EEFB;color:#1F4E9A}.cpill.mu{background:#EEF0F5;color:#5A6180}
.cswitch{appearance:none;width:38px;height:22px;border-radius:11px;background:#D5DAE8;position:relative;cursor:pointer;transition:background .2s;vertical-align:middle}
.cswitch::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.cswitch:checked{background:#179A4E}.cswitch:checked::after{transform:translateX(16px)}
.cfld{display:grid;gap:5px;margin-bottom:12px;font:600 12px var(--f-body);color:var(--cmu)}
.cfld input,.cfld select,.cfld textarea{width:100%;padding:10px 12px;border:1px solid var(--cbd);border-radius:10px;font:500 14px var(--f-body);color:#141A3C;background:#fff}
.cfld input:focus,.cfld select:focus,.cfld textarea:focus{outline:2px solid #2A6FA5;outline-offset:0}
.crow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cnote{padding:12px 14px;border-radius:12px;background:#FFF8DB;border:1px solid #F5DD84;color:#6B5200;font-size:13px;display:flex;gap:10px;align-items:flex-start}
.cnote.info{background:#E6EEFB;border-color:#C6D7F5;color:#1F3F78}
.cnote .ico{margin-top:2px}
.ctools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.ctools .sp{flex:1}
.cseg{display:flex;padding:3px;border-radius:10px;background:#E8EBF4}
.cseg button{border:0;background:none;padding:7px 11px;border-radius:8px;font:700 12px var(--f-body);color:var(--cmu)}
.cseg button.on{background:#fff;color:#141A3C;box-shadow:0 2px 6px -2px #141A3C44}
.cempty{padding:40px 20px;text-align:center;color:var(--cmu);border:2px dashed var(--cbd);border-radius:16px;background:#fff}
.cempty .ico{width:34px;height:34px;color:#2A6FA5;display:block;margin:0 auto 10px}
.cms-modal{position:fixed;inset:0;z-index:400;--cbd:#E1E5F0;--cmu:#5F6788;color:#141A3C;font:500 14px/1.5 var(--f-body);background:#090C20aa;display:grid;place-items:center;padding:16px;backdrop-filter:blur(3px)}
.cms-mbox{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:20px;box-shadow:0 40px 80px -30px #000;animation:pop .3s cubic-bezier(.2,1.4,.4,1)}
.cms-mbox.sm{width:min(460px,100%)}
.cms-mhd{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.cms-mhd b{font:800 17px var(--f-display)}
#cmsMX{width:34px;height:34px;border-radius:10px;border:1px solid var(--cbd);background:#fff;font-size:20px;line-height:1;color:#141A3C;cursor:pointer;display:grid;place-items:center}
.cms-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:30;padding:12px 18px;border-radius:12px;background:#141A3C;color:#fff;font:700 13.5px var(--f-body);box-shadow:0 20px 40px -14px #000;animation:rise .3s;max-width:calc(100% - 32px)}
/* médiathèque */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.mcard{position:relative;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--cbd);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;animation:rise .35s both}
.mcard:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px #141A3C88}
.mcard .th{position:relative;aspect-ratio:4/3;background:#E9EDF6 repeating-conic-gradient(#E3E7F1 0 25%,#F3F5FA 0 50%) 0 0/16px 16px;display:grid;place-items:center;overflow:hidden}
.mcard .th img,.mcard .th video{width:100%;height:100%;object-fit:cover;display:block}
.mcard .th .kind{position:absolute;left:8px;top:8px;padding:3px 7px;border-radius:6px;background:#141A3Ccc;color:#fff;font:700 10px var(--f-mono)}
.mcard .bd{padding:10px;display:grid;gap:2px}
.mcard .bd b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcard .bd small{color:var(--cmu);font-size:11px}
.mcard .ac{display:flex;gap:4px;padding:0 10px 10px;flex-wrap:wrap}
.mcard.pick{cursor:pointer}
.mcard.pick:hover{outline:3px solid #FFD21F}
.drop{display:grid;place-items:center;gap:6px;padding:26px;border-radius:16px;border:2px dashed #B8C2DE;background:#fff;text-align:center;color:var(--cmu);transition:.2s;cursor:pointer}
.drop.over{border-color:#2A6FA5;background:#E6EEFB;color:#1F3F78}
.drop .ico{width:30px;height:30px;color:#2A6FA5}
.meter{height:8px;border-radius:8px;background:#E8EBF4;overflow:hidden;margin-top:6px}
.meter i{display:block;height:100%;background:linear-gradient(90deg,#2A6FA5,#3EE07A);border-radius:8px}
/* éditeur de page personnalisée */
.pe{display:grid;grid-template-columns:220px 1fr 300px;gap:0;height:100%;width:100%;min-height:0}
.pe-pal,.pe-insp{background:#fff;border-right:1px solid var(--cbd);padding:14px;overflow:auto;min-width:0}
.pe-insp{border-right:0;border-left:1px solid var(--cbd)}
.pe-pal b,.pe-insp>b{display:block;font:800 13px var(--f-display);margin:4px 0 10px}
.pe-pal .wb-g button{cursor:pointer}
.pe-cv{overflow:auto;background:#E3E8F3;padding:20px;min-width:0}
.pe-cv .wb-page{max-width:980px;margin:0 auto}
.pe-top{display:flex;gap:8px;align-items:center;padding:10px 14px;background:#fff;border-bottom:1px solid var(--cbd);flex-wrap:wrap}
.pe-wrap{display:flex;flex-direction:column;width:100%;min-height:0}
.pe-wrap .pe{flex:1}
@media (max-width:1100px){.pe{grid-template-columns:1fr;height:auto}.pe-pal,.pe-insp{border:0;border-bottom:1px solid var(--cbd)}.cms-view.full{overflow:auto;display:block}.pe-cv{min-height:500px}}
/* ===== éditeurs photo & vidéo (interface sombre) ===== */
.ed{--e0:#16171D;--e1:#1E2028;--e2:#262934;--e3:#323646;--et:#E6E8F0;--em:#9196A8;--ea:#FFD21F;display:grid;grid-template-columns:52px 1fr 300px;grid-template-rows:auto auto 1fr;width:100%;height:100%;background:var(--e0);color:var(--et);font:500 13px var(--f-body);min-height:0}
.ed-menu{grid-column:1/-1;display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--e1);border-bottom:1px solid #000;flex-wrap:wrap}
.ed-menu .nm{font:700 12.5px var(--f-mono);color:var(--em);margin:0 10px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-menu .sp{flex:1}
.eb{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;border:1px solid transparent;background:none;color:var(--et);font:600 12.5px var(--f-body);white-space:nowrap}
.eb:hover{background:var(--e2)}
.eb.on{background:var(--e3);border-color:#ffffff22}
.eb.y{background:var(--ea);color:#141A3C}
.eb.y:hover{filter:brightness(1.05)}
.eb:disabled{opacity:.35;pointer-events:none}
.eb .ico{width:16px;height:16px}
.ed-opts{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:7px 12px;background:var(--e1);border-bottom:1px solid #000;min-height:44px;flex-wrap:wrap;font-size:12.5px;color:var(--em)}
.ed-opts label{display:inline-flex;align-items:center;gap:6px}
.ed-opts input[type=range]{width:110px;accent-color:var(--ea)}
.ed-opts input[type=color]{width:30px;height:24px;border:0;background:none;padding:0}
.ed-opts select,.ed-opts input[type=number],.ed-opts input[type=text]{background:var(--e2);border:1px solid var(--e3);color:var(--et);border-radius:6px;padding:4px 6px;font:500 12.5px var(--f-body)}
.ed-tools{background:var(--e1);border-right:1px solid #000;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0}
.ed-tools button{width:38px;height:38px;border-radius:9px;border:0;background:none;color:var(--em);display:grid;place-items:center}
.ed-tools button:hover{background:var(--e2);color:var(--et)}
.ed-tools button.on{background:var(--ea);color:#141A3C}
.ed-tools .ico{width:19px;height:19px}
.ed-tools hr{width:26px;border:0;border-top:1px solid var(--e3);margin:4px 0}
.ed-stage{position:relative;overflow:auto;display:grid;place-items:center;background:var(--e0) radial-gradient(#ffffff08 1px,transparent 1px) 0 0/18px 18px;min-width:0;min-height:0}
.ed-canvas-wrap{position:relative;margin:30px;box-shadow:0 20px 60px -10px #000;background:repeating-conic-gradient(#2a2c35 0 25%,#32353f 0 50%) 0 0/20px 20px;line-height:0}
.ed-canvas-wrap canvas{display:block}
.ed-canvas-wrap canvas.ui{position:absolute;inset:0;width:100%;height:100%}
.ed-zoom{position:absolute;right:12px;bottom:12px;display:flex;gap:4px;align-items:center;padding:4px;border-radius:10px;background:var(--e1);border:1px solid #000;z-index:2}
.ed-zoom span{min-width:46px;text-align:center;font:700 11.5px var(--f-mono);color:var(--em)}
.ed-panel{background:var(--e1);border-left:1px solid #000;display:flex;flex-direction:column;min-height:0}
.ed-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #000}
.ed-tabs button{padding:11px 4px;border:0;background:none;color:var(--em);font:700 11.5px var(--f-body);border-bottom:2px solid transparent}
.ed-tabs button.on{color:var(--et);border-bottom-color:var(--ea)}
.ed-pb{flex:1;overflow:auto;padding:14px}
.ed-sec{margin-bottom:16px}
.ed-sec>b{display:block;font:800 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--em);margin-bottom:10px}
.sl{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;margin-bottom:10px;font-size:12.5px}
.sl span:last-of-type{font:700 11.5px var(--f-mono);color:var(--em);text-align:right;min-width:38px}
.sl input{grid-column:1/-1;width:100%;accent-color:var(--ea)}
.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.presets button{padding:0 0 6px;border-radius:9px;border:2px solid transparent;background:var(--e2);color:var(--et);font:600 11px var(--f-body);overflow:hidden;display:grid;gap:5px}
.presets button.on{border-color:var(--ea)}
.presets canvas{width:100%;aspect-ratio:1;display:block;background:#000}
.layers{display:grid;gap:4px}
.layer{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;padding:8px;border-radius:9px;background:var(--e2);border:1px solid transparent;cursor:pointer}
.layer.on{border-color:var(--ea)}
.layer .lt{width:26px;height:26px;border-radius:6px;background:var(--e3);display:grid;place-items:center;font-size:12px}
.layer span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.layer button{border:0;background:none;color:var(--em);padding:2px 4px}
.layer button:hover{color:var(--et)}
.ef{display:grid;gap:5px;margin-bottom:10px;font-size:12px;color:var(--em)}
.ef input,.ef select,.ef textarea{width:100%;background:var(--e2);border:1px solid var(--e3);color:var(--et);border-radius:8px;padding:8px 9px;font:500 13px var(--f-body)}
.ef input[type=color]{height:34px;padding:2px}
.ef2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ehist{display:grid;gap:3px}
.ehist button{text-align:left;padding:7px 9px;border-radius:7px;border:0;background:var(--e2);color:var(--em);font:500 12px var(--f-body)}
.ehist button.cur{color:var(--et);background:var(--e3);box-shadow:inset 3px 0 0 var(--ea)}
.ehist button.fut{opacity:.45}
.ed-empty{display:grid;place-items:center;gap:14px;text-align:center;padding:40px;color:var(--em);max-width:520px}
.ed-empty .ico{width:44px;height:44px;color:var(--ea)}
.ed-empty b{font:800 18px var(--f-display);color:var(--et)}
.ed-empty .row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.ed-sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;width:100%}
.ed-sizes button{padding:12px 8px;border-radius:10px;border:1px solid var(--e3);background:var(--e2);color:var(--et);font:600 12px var(--f-body);display:grid;gap:3px}
.ed-sizes button small{color:var(--em);font:500 11px var(--f-mono)}
@media (max-width:1100px){.ed{grid-template-columns:48px 1fr;grid-template-rows:auto auto minmax(380px,1fr) auto}.ed-panel{grid-column:1/-1;max-height:420px;border-left:0;border-top:1px solid #000}}
/* vidéo */
.vstage{position:relative;display:grid;place-items:center;overflow:hidden;background:#000;min-height:0;min-width:0}
.vstage canvas{max-width:100%;max-height:100%;display:block;background:#000}
.vctl{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--e1);border-top:1px solid #000}
.vctl .tm{font:700 12px var(--f-mono);color:var(--em);min-width:110px}
.vtl{position:relative;height:78px;margin:8px 12px 12px;border-radius:10px;background:var(--e2);overflow:hidden;touch-action:none;user-select:none}
.vtl .th{position:absolute;inset:0;display:flex}
.vtl .th img{height:100%;flex:1;min-width:0;object-fit:cover;opacity:.85}
.vtl .sh{position:absolute;top:0;bottom:0;background:#000b}
.vtl .hd{position:absolute;top:0;bottom:0;width:14px;background:var(--ea);cursor:ew-resize;display:grid;place-items:center;color:#141A3C;font:900 11px var(--f-body)}
.vtl .hd.l{border-radius:8px 0 0 8px}.vtl .hd.r{border-radius:0 8px 8px 0}
.vtl .sel{position:absolute;top:0;bottom:0;border-top:3px solid var(--ea);border-bottom:3px solid var(--ea);pointer-events:none}
.vtl .ph{position:absolute;top:-2px;bottom:-2px;width:2px;background:#fff;box-shadow:0 0 6px #000;pointer-events:none}
.vtl .ph::before{content:"";position:absolute;top:0;left:-5px;border:6px solid transparent;border-top-color:#fff}
.vmain{display:flex;flex-direction:column;min-height:0;min-width:0}
.vmain .vstage{flex:1}
.vprog{height:8px;border-radius:8px;background:var(--e3);overflow:hidden}
.vprog i{display:block;height:100%;width:0;background:var(--ea);transition:width .2s}
/* mode édition visuelle sur le site */
body.cms-editing [data-ek]{outline:1.5px dashed transparent;outline-offset:3px;transition:outline-color .2s,background .2s;border-radius:4px;cursor:text}
body.cms-editing [data-ek]:hover{outline-color:#FFD21F}
body.cms-editing [data-ek]:focus{outline:2px solid #FFD21F;background:#FFD21F14}
body.cms-editing [data-ek].chg{outline-color:#3EE07A}
body.cms-editing [data-slot]{outline:2px dashed #FFD21F;outline-offset:4px;cursor:pointer;position:relative}
body.cms-editing [data-slot]::after{content:"Changer l'image ou la vidéo";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;padding:8px 12px;border-radius:9px;background:#141A3Ce6;color:#fff;font:700 12px var(--f-body);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s}
body.cms-editing [data-slot]:hover::after{opacity:1}
body.cms-editing .fab{display:none}
.cms-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:2}
[data-slot]{position:relative}
.cms-bar{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:250;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-radius:16px;background:#141A3Cf2;color:#fff;box-shadow:0 20px 50px -14px #000;backdrop-filter:blur(10px);font:600 13px var(--f-body);animation:rise .35s}
.cms-bar .sp{flex:1}
.cms-bar-dot{width:9px;height:9px;border-radius:50%;background:#3EE07A;animation:pulse 1.4s infinite}
.cms-bar-hint{color:#A3AACC;font-weight:500}
.cms-bar-n{font:700 12px var(--f-mono);color:#FFD21F}
.cms-bar .cbtn.ghost{color:#fff;border-color:#ffffff33}
.cms-bar .cbtn.pri{background:#FFD21F;color:#141A3C;border-color:#FFD21F}
@media (max-width:760px){.cms-bar-hint{display:none}}
.cms-fmt{position:fixed;z-index:260;display:flex;gap:2px;padding:4px;border-radius:10px;background:#141A3C;box-shadow:0 10px 24px -8px #000;transform:translate(-50%,-110%)}
.cms-fmt button{min-width:30px;height:30px;border:0;border-radius:7px;background:none;color:#fff;font:700 13px var(--f-body);cursor:pointer}
.cms-fmt button:hover{background:#ffffff1c}
.cms-fmt-link{display:flex;gap:4px;align-items:center}
.cms-fmt-link input{width:180px;padding:5px 8px;border-radius:6px;border:0;font:500 12px var(--f-body)}
.cms-page{border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 30px 60px -40px #141A3C55}

/* ========== ESPACE CLIENT ========== */
.cpw{background:var(--deep)}
.cp{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}
@media (max-width:960px){.cp{grid-template-columns:1fr}}
.cp-side{position:sticky;top:calc(env(safe-area-inset-top,0px) + 96px);display:grid;gap:14px}
@media (max-width:960px){.cp-side{position:static}}
.cpc{background:var(--night);border:1px solid var(--line);border-radius:18px;padding:20px;min-width:0}
.cp-me{display:flex;gap:12px;align-items:center}
.cp-me .av{width:52px;height:52px;border-radius:16px;flex:none;display:grid;place-items:center;background:linear-gradient(135deg,var(--yellow),#FFB800);color:var(--ink);font:900 18px var(--f-display);overflow:hidden}
.cp-me .av img{width:100%;height:100%;object-fit:cover}
.cp-me b{display:block;font-size:15px}
.cp-me small{color:var(--mute);font-size:12px}
.cp-tabs{display:grid;gap:3px;padding:8px}
.cp-tabs button{display:flex;gap:10px;align-items:center;width:100%;padding:11px 12px;border-radius:11px;border:0;background:none;color:var(--mute);font:600 13.5px var(--f-body);cursor:pointer;text-align:left;transition:background .2s,color .2s}
.cp-tabs button:hover{background:var(--up);color:var(--white)}
.cp-tabs button.on{background:var(--up);color:var(--white);box-shadow:inset 3px 0 0 var(--yellow)}
.cp-tabs .ico{width:18px;height:18px}
.cp-tabs .n{margin-left:auto;min-width:22px;padding:3px 7px;border-radius:9px;background:var(--yellow);color:var(--ink);font:800 10.5px var(--f-body);text-align:center}
.cp-help{display:grid;gap:8px;font-size:13px;color:var(--mute)}
.cp-help b{color:var(--white)}
.cp-help a,.cp-help button{display:flex;gap:8px;align-items:center;color:var(--white);text-decoration:none;border:0;background:none;font:600 13px var(--f-body);padding:4px 0;cursor:pointer}
.cp-help a:hover,.cp-help button:hover{color:var(--yellow)}
.cp-help .ico{width:16px;height:16px;color:var(--yellow)}
.cp-main{display:grid;gap:18px;min-width:0;animation:rise .4s both}
.cp-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cp-hd h2{font:900 clamp(22px,2.6vw,30px)/1.15 var(--f-display);letter-spacing:-.02em;margin:0}
.cp-hd p{margin:4px 0 0;color:var(--mute)}
.cpk{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:1100px){.cpk{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.cpk{grid-template-columns:1fr}}
.cpk>div{padding:16px;border-radius:16px;background:linear-gradient(160deg,var(--up),var(--night));border:1px solid var(--line);display:grid;gap:6px;animation:rise .45s both}
.cpk i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--c);color:#fff;font-style:normal}
.cpk i .ico{width:18px;height:18px}
.cpk b{font:900 22px/1.1 var(--f-display);font-variant-numeric:tabular-nums}
.cpk small{color:var(--mute);font-size:12.5px}
.cp2{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
.cp-bot{display:flex;align-items:center;gap:20px;padding:16px 22px 16px 10px!important;margin-bottom:18px;background:radial-gradient(120% 140% at 0% 100%,#0E2A4A 0%,#10173A 55%,var(--up,#1C2350) 100%)!important;border-color:#3EE6FF44!important;overflow:hidden}
.cp-bot-img{width:118px;height:132px;flex:none;object-fit:contain;margin:-16px 0 -20px}
.cp-bot-tx{flex:1;min-width:0}.cp-bot-tx b{font:800 16px var(--f-display)}.cp-bot-tx p{margin:4px 0 10px;font-size:13.5px;color:var(--mute)}
.cp-bot-q{display:flex;flex-wrap:wrap;gap:6px}.cp-bot-q button{border:1px solid #3EE6FF55;background:#3EE6FF12;color:inherit;font:600 12px var(--f-body);padding:6px 11px;border-radius:20px;cursor:pointer}.cp-bot-q button:hover{background:#3EE6FF2A}
.cp-bot-go{flex:none}
@media (max-width:760px){.cp-bot{flex-wrap:wrap;align-items:flex-start;padding:16px!important}.cp-bot-img{width:84px;height:94px;margin:-6px 0 -10px}.cp-bot-tx{flex-basis:calc(100% - 110px)}.cp-bot-go{width:100%;justify-content:center}}
@media (max-width:1100px){.cp2{grid-template-columns:1fr}}
.cpc h3{margin:0 0 4px;font:800 16px var(--f-display)}
.cpc>small{display:block;color:var(--mute);margin-bottom:14px;font-size:12.5px}
.cpq{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cpq button{display:flex;gap:10px;align-items:center;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--deep);color:var(--white);font:700 13px var(--f-body);text-align:left;cursor:pointer;transition:.2s}
.cpq button:hover{border-color:var(--yellow);transform:translateY(-2px)}
.cpq button i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--c);color:#fff;flex:none;font-style:normal}
.cpq button i .ico{width:16px;height:16px}
.cpq small{display:block;color:var(--mute);font-weight:500;font-size:11.5px}
.cpl{display:inline-block;padding:4px 10px;border-radius:999px;font:700 11px/1.3 var(--f-body);white-space:nowrap}
.cpl.in{background:#5CE1FF22;color:#7DE7FF}.cpl.wa{background:#FFD21F22;color:#FFD21F}.cpl.ok{background:#3EE07A22;color:#5BEA8E}.cpl.rd{background:#FF5C6C22;color:#FF8A96}.cpl.no{background:#A3AACC22;color:#A3AACC}
.cprow{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;padding:14px;border-radius:14px;background:var(--deep);border:1px solid var(--line);cursor:pointer;transition:border-color .2s,transform .2s;text-align:left;width:100%;color:var(--white);font:inherit;animation:rise .35s both}
.cprow:hover{border-color:var(--yellow);transform:translateX(3px)}
.cprow .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--up);color:var(--yellow)}
.cprow .ic .ico{width:19px;height:19px}
.cprow b{display:block;font-size:14px}
.cprow small{color:var(--mute);font-size:12px}
.cprow .am{font:800 14px var(--f-display);text-align:right;white-space:nowrap}
.cplist{display:grid;gap:8px}
@media (max-width:560px){.cprow{grid-template-columns:auto 1fr}.cprow .am,.cprow .cpl{grid-column:2}}
.cps{display:flex;gap:0;margin:6px 0 2px;overflow-x:auto;padding-bottom:4px}
.cps div{flex:1;min-width:58px;position:relative;display:grid;justify-items:center;gap:6px;text-align:center;font:600 10.5px/1.25 var(--f-body);color:var(--dim)}
.cps div::before{content:"";position:absolute;top:8px;left:-50%;right:50%;height:2px;background:var(--line)}
.cps div:first-child::before{display:none}
.cps i{position:relative;z-index:1;width:18px;height:18px;border-radius:50%;background:var(--night);border:2px solid var(--line)}
.cps .ok{color:var(--white)}.cps .ok i{background:var(--g);border-color:var(--g)}.cps .ok::before{background:var(--g)}
.cps .now{color:var(--yellow)}.cps .now i{border-color:var(--yellow);background:var(--yellow);box-shadow:0 0 0 5px #FFD21F22;animation:pulse 1.6s infinite}.cps .now::before{background:var(--g)}
.cptl{list-style:none;margin:0;padding:0;display:grid}
.cptl li{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.cptl li:last-child{border-bottom:0}
.cptl i{width:8px;height:8px;border-radius:50%;background:var(--yellow);margin-top:6px}
.cptl small{display:block;color:var(--mute);font-size:11.5px}
.cpf{display:flex;gap:6px;flex-wrap:wrap}
.cpf button{padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--mute);font:700 12px var(--f-body);cursor:pointer}
.cpf button.on{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.cpe{padding:34px 18px;text-align:center;color:var(--mute);border:2px dashed var(--line);border-radius:16px}
.cpe .ico{width:34px;height:34px;color:var(--yellow);display:block;margin:0 auto 10px}
.cpform{display:grid;gap:12px}
.cpform label{display:grid;gap:6px;font:600 12.5px var(--f-body);color:var(--mute)}
.cpform input,.cpform select,.cpform textarea{width:100%;padding:11px 13px;border-radius:11px;border:1px solid var(--line);background:var(--deep);color:var(--white);font:500 14px var(--f-body)}
.cpform input:focus,.cpform select:focus,.cpform textarea:focus{outline:2px solid var(--yellow);outline-offset:0}
.cpform .r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.cpform .r2{grid-template-columns:1fr}}
.cpform .chk{display:flex;gap:10px;align-items:center;color:var(--white);font-weight:500}
.cpform .chk input{width:auto;accent-color:var(--yellow)}
.cpform .err{margin:0;color:#FF8A96;font-size:13px;min-height:1em}
.cpbtns{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cpbtns .btn{padding:12px 16px;font-size:13px}
/* panneau de détail */
.cpd{position:fixed;inset:0;z-index:180;display:flex;justify-content:flex-end;background:#090C20a8;backdrop-filter:blur(3px)}
.cpd-box{width:min(620px,100%);height:100%;overflow:auto;background:var(--night);border-left:1px solid var(--line);padding:22px;display:grid;gap:16px;align-content:start;animation:cpin .35s cubic-bezier(.2,.8,.2,1)}
@keyframes cpin{from{transform:translateX(60px);opacity:0}}
.cpd-hd{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.cpd-hd h3{margin:0;font:900 20px/1.2 var(--f-display)}
.cpd-hd small{color:var(--mute);font:600 12px var(--f-mono)}
.cpd-x{width:38px;height:38px;flex:none;border-radius:11px;border:1px solid var(--line);background:none;color:var(--white);font-size:20px;cursor:pointer}
.cpkv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:13.5px}
.cpkv span{color:var(--mute)}
.cpquote{padding:16px;border-radius:14px;background:linear-gradient(135deg,#FFD21F18,#FFD21F05);border:1px solid #FFD21F55;display:grid;gap:8px}
.cpquote b.am{font:900 26px var(--f-display);color:var(--yellow)}
.cpmsg{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto;padding:4px}
.cpmsg div{max-width:82%;padding:10px 13px;border-radius:14px;background:var(--up);font-size:13.5px;align-self:flex-start}
.cpmsg div.me{align-self:flex-end;background:var(--yellow);color:var(--ink)}
.cpmsg small{display:block;font-size:10.5px;opacity:.7;margin-top:3px}
.cpsend{display:flex;gap:8px}
.cpsend input{flex:1;min-width:0;padding:11px 13px;border-radius:11px;border:1px solid var(--line);background:var(--deep);color:var(--white);font:500 14px var(--f-body)}
.cpgate{max-width:620px;margin:0 auto;text-align:center;display:grid;gap:14px;justify-items:center}
.cpgate .ico{width:46px;height:46px;color:var(--yellow)}
.cpgate h2{margin:0;font:900 26px var(--f-display)}
.cpgate p{margin:0;color:var(--mute)}
.cpsites{display:grid;gap:8px}
.cpsites div{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--deep);border:1px solid var(--line);font-size:13.5px}
.cpsites div button{margin-left:auto;border:0;background:none;color:#FF8A96;cursor:pointer;font:700 12px var(--f-body)}
.cppay{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cppay label{display:grid;justify-items:center;gap:6px;padding:12px 6px;border-radius:12px;border:1.5px solid var(--line);cursor:pointer;font:700 12px var(--f-body);color:var(--white)}
.cppay label:has(input:checked){border-color:var(--yellow);background:#FFD21F14}
.cppay input{position:absolute;opacity:0}
.cppay i{width:40px;height:24px;border-radius:6px;display:grid;place-items:center;font:900 9px var(--f-body);font-style:normal;color:#fff;background:var(--c)}
.cpbanner{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:#FF5C6C14;border:1px solid #FF5C6C55}
.cpbanner b{font:900 18px var(--f-display);color:#FF8A96}
.cpnote{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:#FF9A3C14;border:1px dashed #FF9A3C66;color:#FFB774;font-size:13px}
.cpnote .ico{width:16px;height:16px;flex:none;margin-top:2px}

/* PROCESS (AI-MAX) */
.process{background:var(--deep)}
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:s}
.st{position:relative;padding-top:10px}
.st .num{position:absolute;right:0;top:-14px;font:900 86px/1 var(--f-display);color:transparent;-webkit-text-stroke:1.5px var(--line);letter-spacing:-.04em;user-select:none}
.st .ic{width:56px;height:56px;color:var(--yellow);position:relative}
.st .ic .ico{width:46px;height:46px;stroke-width:1.4}
.st h3{font-size:18px;margin:18px 0 8px;position:relative}
.st p{color:var(--mute);font-size:14px;margin:0;position:relative}
.st .link{display:inline-flex;margin-top:14px;color:var(--yellow)}
.steps4 .st::after{content:"";position:absolute;left:66px;top:38px;right:-14px;height:1px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px)}
.steps4 .st:last-child::after{display:none}
@media (max-width:900px){.steps4{grid-template-columns:1fr 1fr}.steps4 .st::after{display:none}}
@media (max-width:520px){.steps4{grid-template-columns:1fr}}
.bigline{margin-top:90px;text-align:center;font:800 clamp(24px,3.4vw,40px)/1.35 var(--f-display);letter-spacing:-.02em;text-wrap:balance}
.bigline .pill-img{display:inline-grid;place-items:center;vertical-align:middle;width:1.9em;height:1.1em;border-radius:999px;background:var(--up);border:1px solid var(--line);margin:0 .15em}
.bigline .pill-img .ico{width:.7em;height:.7em;color:var(--yellow)}
.bigline .dot{display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--yellow);vertical-align:middle;box-shadow:0 0 0 .2em #FFD21F33}

/* ASSISTANT */
.ai{background:radial-gradient(700px 400px at 15% 30%,#2a3a9a44,transparent 70%),var(--night)}
.ai .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
.ai-feats{display:grid;gap:16px;margin-top:28px}
.feat-row{display:flex;gap:14px;align-items:flex-start}
.feat-row .ic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--up);color:var(--yellow);flex:none}
.feat-row b{display:block;font-size:15px}
.feat-row span{color:var(--mute);font-size:14px}
@media (max-width:900px){.ai .wrap{grid-template-columns:1fr}}
.chat{border-radius:22px;background:var(--deep);border:1px solid var(--line);overflow:hidden;box-shadow:0 40px 80px -30px #000;display:flex;flex-direction:column;height:620px;max-height:82vh;min-width:0}
.chat-top{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--up)}
.avatar{width:42px;height:42px;border-radius:12px;background:var(--deep);display:grid;place-items:center;position:relative;flex:none;border:1px solid var(--line)}
.avatar::after{content:"";position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;background:var(--g);border:2px solid var(--up)}
.chat-top b{display:block;font-size:15px}
.chat-top small{color:var(--g);font:500 12px/1 var(--f-mono)}
.chat-top .sp{flex:1}
.chat-top button{background:none;border:1px solid var(--line);color:var(--mute);border-radius:9px;padding:8px 10px;font:600 12px/1 var(--f-body);cursor:pointer}
.chat-top button:hover{color:var(--yellow);border-color:var(--yellow)}
.msgs{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}
.msg{max-width:86%;padding:12px 15px;border-radius:16px;font-size:14.5px;line-height:1.55;overflow-wrap:anywhere}
.msg.bot{background:var(--up);border-top-left-radius:4px;align-self:flex-start}
.msg.me{background:var(--yellow);color:var(--ink);border-top-right-radius:4px;align-self:flex-end;font-weight:600}
.msg ul{margin:6px 0;padding-left:18px}
.msg strong{color:var(--yellow)}
.disc{display:block;margin-top:8px;font:500 11px/1.4 var(--f-mono);color:var(--dim)}
.cards{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cards button{font:700 12px/1 var(--f-body);padding:9px 12px;border-radius:9px;border:1px solid var(--line);background:var(--deep);color:var(--white);cursor:pointer;display:flex;gap:6px;align-items:center}
.cards button:hover{border-color:var(--yellow);color:var(--yellow)}
.cards .ico{width:14px;height:14px}
.fb{display:flex;gap:6px;margin-top:8px}
.fb button{background:none;border:1px solid var(--line);border-radius:7px;cursor:pointer;padding:3px 7px;font-size:13px}
.fb button.on{border-color:var(--yellow)}
.typing{display:flex;gap:5px;padding:14px 16px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--mute);animation:ty 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes ty{50%{transform:translateY(-5px);opacity:.4}}
.sugg{display:flex;gap:8px;padding:0 20px 12px;overflow-x:auto;flex:none}
.sugg button{flex:none;font:600 12.5px/1 var(--f-body);padding:10px 13px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--mute);cursor:pointer}
.sugg button:hover{color:var(--yellow);border-color:var(--yellow)}
.composer{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);align-items:center}
.composer .tool{width:40px;height:40px;flex:none;border-radius:10px;border:1px solid var(--line);background:none;color:var(--mute);display:grid;place-items:center;cursor:pointer}
.composer .tool:hover{color:var(--yellow)}
.composer input{flex:1;min-width:0;background:var(--up);border:1px solid var(--line);color:var(--white);border-radius:12px;padding:12px 14px;font:500 14.5px var(--f-body)}
.composer input::placeholder{color:var(--dim)}
.send{width:46px;height:46px;flex:none;border-radius:12px;border:0;background:var(--yellow);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.demo-flag{font:500 11px/1.3 var(--f-mono);color:var(--dim);text-align:center;padding:0 12px 10px}
@media (max-width:460px){.composer .tool:nth-of-type(2){display:none}}

/* REALISATIONS (Arjun "Selected work") */
.work{background:var(--deep)}
.work-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:40px}
.work-head a{color:var(--yellow);font-weight:700;font-size:14px;text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.work-grid{grid-template-columns:1fr}}
.wcard{border-radius:18px;overflow:hidden;background:var(--night);border:1px solid var(--line);transition:transform .25s}
.wcard:hover{transform:translateY(-4px)}
.wcard .vis{position:relative;aspect-ratio:16/10;max-width:100%}
.wcard canvas{position:absolute;inset:0;width:100%;height:100%}
.wcard .play{position:absolute;right:14px;bottom:14px;width:42px;height:42px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center}
.wcard .play .ico{width:16px;height:16px}
.wcard .body{padding:18px 20px 22px;display:flex;justify-content:space-between;gap:12px}
.wcard h3{font-size:17px}
.wcard p{margin:4px 0 0;color:var(--mute);font-size:13.5px}
.wcard .go{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;flex:none;color:var(--mute)}
.wcard .tag{font:600 10.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--yellow)}

/* TEMOIGNAGES + CONTACT (Arjun) */
.duo{background:var(--night)}
.duo .wrap{display:grid;grid-template-columns:1fr 1px 1fr;gap:48px}
.duo .sep{background:var(--line)}
@media (max-width:900px){.duo .wrap{grid-template-columns:1fr}.duo .sep{display:none}}
.duo h2{font-size:clamp(24px,3vw,32px);font-weight:800;margin:14px 0 24px}
.carousel{display:flex;align-items:center;gap:12px}
.carousel>button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--white);cursor:pointer;display:grid;place-items:center;flex:none}
.carousel>button:hover{border-color:var(--yellow);color:var(--yellow)}
.carousel .tcard{display:block;width:auto;margin:0;text-align:inherit;flex:1;min-width:0;padding:26px;border-radius:16px;background:var(--deep);border:1px solid var(--line)}
.carousel .tcard .qm{font:900 54px/.6 var(--f-display);color:var(--yellow);display:block;height:26px}
.carousel .tcard q{display:block;quotes:none;color:var(--white);font-size:15px;line-height:1.65;min-height:5em}
.carousel .tcard .who{display:flex;gap:12px;align-items:center;margin-top:18px}
.carousel .tcard .who i{width:42px;height:42px;border-radius:50%;background:var(--up);display:grid;place-items:center;font:800 13px var(--f-display);color:var(--yellow);font-style:normal}
.carousel .tcard .who b{display:block;font-size:14px}.carousel .tcard .who span{font-size:12px;color:var(--yellow)}
.dots{display:flex;gap:6px;justify-content:center;margin-top:16px}
.dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}
.dots i.on{background:var(--yellow);width:20px;border-radius:4px}
.tnote{font:500 11px/1.4 var(--f-mono);color:var(--dim);text-align:center;margin-top:12px}
.contact-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}
@media (max-width:560px){.contact-split{grid-template-columns:1fr}}
.cl{display:grid;gap:16px;align-content:start;font-size:14px}
.cl p{margin:0;color:var(--mute)}
.cl div{display:flex;gap:10px;align-items:center;overflow-wrap:anywhere}
.cl .ico{color:var(--yellow);width:18px;height:18px}
.cl .copy{border:1px solid var(--line);background:none;border-radius:6px;font:700 10.5px var(--f-body);padding:4px 7px;cursor:pointer;color:var(--mute)}
.cl .copy:hover{color:var(--yellow);border-color:var(--yellow)}
.cform{display:grid;gap:10px}
.cform input,.cform select,.cform textarea{width:100%;background:var(--deep);border:1px solid var(--line);color:var(--white);border-radius:10px;padding:12px 13px;font:500 14px var(--f-body)}
.cform label.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cform .consent{display:flex;gap:8px;font-size:12px;color:var(--mute);align-items:flex-start}
.cform .consent input{width:auto;accent-color:var(--yellow);margin-top:2px}
.cform .btn{justify-content:center;border-radius:10px}

/* CTA (Aethron) */
.cta{padding-block:0 80px;background:var(--night)}
.cta-box{position:relative;overflow:hidden;border-radius:26px;padding:56px 32px;text-align:center;background:linear-gradient(120deg,#FFD21F,#FFB800);color:var(--ink)}
.cta-box h2{font-weight:900;font-size:clamp(26px,4vw,46px);letter-spacing:-.03em;line-height:1.08;position:relative}
.cta-box p{position:relative;margin:12px auto 26px;max-width:52ch;font-weight:500}
.cta-box .row{position:relative;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cta-box .btn-n{background:var(--ink);color:var(--yellow)}
.cta-box .btn-l{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.cta-box svg.bg{position:absolute;inset:0;width:100%;height:100%;opacity:.18}

/* FOOTER */
footer{background:var(--deep);padding-block:60px 30px;color:var(--mute);font-size:14px}
.f-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.2fr;gap:32px}
@media (max-width:860px){.f-grid{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.f-grid{grid-template-columns:1fr}}
footer h4{color:var(--white);font:700 12px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
footer a{text-decoration:none}footer a:hover{color:var(--yellow)}
.news{display:flex;gap:8px;margin-top:12px}
.news input{flex:1;min-width:0;background:var(--up);border:1px solid var(--line);color:var(--white);border-radius:10px;padding:11px 12px;font:500 13px var(--f-body)}
.news button{width:44px;border:0;border-radius:10px;background:var(--yellow);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.f-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-size:12px}

/* BULLE */
.fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:12px}
.fab .hint{background:var(--white);color:var(--ink);font:700 13px/1.3 var(--f-body);padding:10px 14px;border-radius:14px 14px 4px 14px;box-shadow:0 14px 30px -10px #000;animation:pop .5s 2.4s both cubic-bezier(.2,1.6,.4,1)}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.fab button{width:64px;height:64px;border-radius:50%;border:3px solid var(--yellow);background:var(--night);cursor:pointer;display:grid;place-items:center;box-shadow:0 14px 40px -10px var(--yellow);position:relative}
.fab button::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--yellow);opacity:.5;animation:ripple 2.2s infinite}
@keyframes ripple{to{transform:scale(1.35);opacity:0}}
@media (max-width:560px){.fab .hint{display:none}}
.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);background:var(--white);color:var(--ink);padding:12px 18px;border-radius:12px;font-weight:700;font-size:14px;z-index:70;box-shadow:0 20px 40px -14px #000;max-width:calc(100% - 32px)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.ringk .arc{stroke-dashoffset:var(--to)}html{scroll-behavior:auto}}
/* ---------- ROBOT AP ASSISTANT (vocal) ---------- */
.fab .hint{cursor:pointer;border:0;text-align:left}
.fab .hint:hover{transform:translateY(-2px)}
body.rb-open .fab .hint{display:none}
.rb{--cy:#3EE6FF;--cy2:#0FB5D8;--pk:#FF4FD8;--rb-bg:#070B1E;--rb-up:#10173A;--rb-line:#25306A;--rb-tx:#E9EEFF;--rb-mu:#9AA4CC;
  position:fixed;right:20px;bottom:calc(98px + env(safe-area-inset-bottom,0px));z-index:61;width:min(390px,calc(100vw - 32px));
  max-height:calc(100vh - 130px);display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:var(--rb-bg);color:var(--rb-tx);
  border:1px solid var(--rb-line);box-shadow:0 30px 80px -20px #000,0 0 0 1px #3EE6FF22,0 0 60px -20px var(--cy);
  transform-origin:calc(100% - 32px) calc(100% + 60px);font-family:var(--f-body);padding:0;margin:0}
.rb[hidden]{display:none!important}
.rb.in{animation:rbIn .55s cubic-bezier(.2,1.25,.4,1) both}
@keyframes rbIn{from{opacity:0;transform:scale(.3) translateY(40px)}to{opacity:1;transform:none}}
.rb-stage{position:relative;height:250px;flex:none;overflow:hidden;background:radial-gradient(120% 90% at 50% 100%,#0E2A4A 0%,#0A1030 45%,#060818 100%)}
.rb-city{position:absolute;inset:auto 0 0 0;width:100%;height:150px;opacity:.9}
.rb-city .w{animation:rbWin 3s infinite steps(2)}
.rb-city .w:nth-child(3n){animation-delay:-1.2s}.rb-city .w:nth-child(4n){animation-delay:-2.1s}
@keyframes rbWin{50%{opacity:.25}}
.rb-floor{position:absolute;left:0;right:0;bottom:0;height:46px;background:linear-gradient(transparent,#03050F 70%)}
.rb-scan{position:absolute;left:0;right:0;height:60px;top:-60px;background:linear-gradient(transparent,#3EE6FF14,transparent);animation:rbScan 5s linear infinite;pointer-events:none}
@keyframes rbScan{to{top:100%}}
.rb-bot{position:absolute;left:50%;bottom:-8px;width:232px;height:276px;margin-left:-116px;overflow:visible}
.rb-bot *{transform-box:fill-box}
.rb-body{animation:rbFloat 4.2s ease-in-out infinite;transform-origin:center bottom}
@keyframes rbFloat{50%{transform:translateY(-6px)}}
#rbHead{transform-origin:50% 92%;transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.rb-pupil{transition:transform .12s ease-out}
.rb-ring{filter:url(#rbGlow)}
.rb-lid{transform:scaleY(0);transform-origin:50% 0;animation:rbBlink 5.5s infinite}
.rb-lid:last-of-type{animation-delay:.02s}
@keyframes rbBlink{0%,94%,100%{transform:scaleY(0)}96.5%{transform:scaleY(1)}}
#rbMouth{transform-origin:50% 50%;transition:transform .07s}
#rbArm{transform-origin:50% 8%;transition:transform .5s cubic-bezier(.3,1.3,.5,1)}
#rbArmL{transform-origin:50% 8%;transition:transform .5s}
.rb-led{animation:rbLed 1.6s infinite}
@keyframes rbLed{50%{opacity:.2}}
.rb-eq rect{transform-origin:50% 100%;transform:scaleY(.15);transition:transform .09s}
.rb-ap{transition:opacity .25s}
.rb.talk .rb-ap{opacity:0}
.rb:not(.talk) .rb-eq{opacity:0}
.rb.wave #rbArm{animation:rbWave 1.5s ease-in-out}
@keyframes rbWave{0%{transform:rotate(0)}18%{transform:rotate(-155deg)}30%{transform:rotate(-130deg)}42%{transform:rotate(-160deg)}54%{transform:rotate(-130deg)}66%{transform:rotate(-155deg)}100%{transform:rotate(0)}}
.rb.think #rbHead{transform:rotate(-7deg) translateY(-2px)}
.rb.think .rb-pupil{animation:rbScanEye 1.1s ease-in-out infinite}
@keyframes rbScanEye{0%,100%{transform:translate(-3px,-2px)}50%{transform:translate(3px,-2px)}}
.rb.think #rbArmL{transform:rotate(-38deg)}
.rb.listen #rbHead{transform:rotate(8deg)}
.rb.listen .rb-ear{animation:rbEar .9s ease-in-out infinite}
@keyframes rbEar{50%{stroke-width:6;opacity:.6}}
.rb.talk #rbArm{animation:rbGest 2.6s ease-in-out infinite}
@keyframes rbGest{0%,100%{transform:rotate(0)}30%{transform:rotate(-38deg)}60%{transform:rotate(-18deg)}}
.rb.talk .rb-body{animation-duration:2.2s}
.rb.off .rb-ring,.rb.off .rb-pupil,.rb.off #rbMouth,.rb.off .rb-acc{opacity:.1}
.rb.boot .rb-ring,.rb.boot .rb-pupil,.rb.boot #rbMouth,.rb.boot .rb-acc{animation:rbBoot .9s steps(1) both}
@keyframes rbBoot{0%{opacity:.1}20%{opacity:1}30%{opacity:.2}45%{opacity:1}55%{opacity:.3}70%,100%{opacity:1}}
.rb-top{position:absolute;inset:12px 12px auto 12px;display:flex;align-items:center;gap:8px;z-index:2}
.rb-id{display:flex;flex-direction:column;line-height:1.15}
.rb-id b{font:800 14px var(--f-display);letter-spacing:.01em}
.rb-id small{font-size:11px;color:var(--cy);display:flex;align-items:center;gap:5px}
.rb-id small::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.rb.think .rb-id small{color:#FFD21F}.rb.listen .rb-id small{color:var(--pk)}
.rb-top .sp{flex:1}
.rb-ic{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid #ffffff22;background:#ffffff10;color:var(--rb-tx);cursor:pointer;backdrop-filter:blur(6px)}
.rb-ic:hover{background:#ffffff22}.rb-ic:focus-visible{outline:2px solid var(--cy);outline-offset:2px}
.rb-ic svg{width:17px;height:17px}
.rb-ic[aria-pressed="true"]{color:#FF8A8A}
.rb-badge{position:absolute;left:12px;bottom:10px;z-index:2;font:700 10.5px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--cy);background:#03101EAA;border:1px solid #3EE6FF44;padding:6px 9px;border-radius:20px}
.rb-log{overscroll-behavior:contain;flex:1 1 auto;min-height:90px;max-height:230px;overflow:auto;padding:14px 14px 4px;display:flex;flex-direction:column;gap:9px;background:var(--rb-bg);scrollbar-width:thin}
.rb-m{max-width:88%;padding:10px 13px;border-radius:16px;font-size:13.5px;line-height:1.5;overflow-wrap:anywhere}
.rb-m.bot{align-self:flex-start;background:var(--rb-up);border:1px solid var(--rb-line);border-top-left-radius:4px}
.rb-m.me{align-self:flex-end;background:#FFD21F;color:#141A3C;font-weight:600;border-top-right-radius:4px}
.rb-m.bot strong{color:#fff}
.rb-m .dots{display:inline-flex;gap:4px}.rb-m .dots i{width:6px;height:6px;border-radius:50%;background:var(--cy);animation:rbDot 1s infinite}
.rb-m .dots i:nth-child(2){animation-delay:.15s}.rb-m .dots i:nth-child(3){animation-delay:.3s}
@keyframes rbDot{50%{transform:translateY(-4px);opacity:.4}}
.rb-m .acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rb-m .acts button,.rb-sugg button{border:1px solid #3EE6FF55;background:#3EE6FF12;color:var(--rb-tx);font:600 12px var(--f-body);padding:6px 10px;border-radius:20px;cursor:pointer}
.rb-m .acts button:hover,.rb-sugg button:hover{background:#3EE6FF2A}
.rb-sugg{display:flex;gap:6px;overflow-x:auto;padding:6px 14px 2px;flex:none;scrollbar-width:none}
.rb-sugg button{white-space:nowrap}
.rb-form{display:flex;gap:8px;align-items:center;padding:10px 12px 12px;flex:none;background:var(--rb-bg)}
.rb-form input{flex:1;min-width:0;height:44px;border-radius:22px;border:1px solid var(--rb-line);background:var(--rb-up);color:var(--rb-tx);padding:0 16px;font:500 14px var(--f-body)}
.rb-form input::placeholder{color:var(--rb-mu)}
.rb-form input:focus{outline:none;border-color:var(--cy);box-shadow:0 0 0 3px #3EE6FF22}
.rb-send,.rb-mic{width:44px;height:44px;flex:none;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer}
.rb-send{background:#FFD21F;color:#141A3C}.rb-send svg,.rb-mic svg{width:19px;height:19px}
.rb-mic{background:var(--rb-up);color:var(--cy);border:1px solid var(--rb-line)}
.rb-mic.on{background:var(--pk);color:#fff;border-color:var(--pk);animation:rbMic 1s infinite}
@keyframes rbMic{50%{box-shadow:0 0 0 8px #FF4FD833}}
.rb-stop{display:none}.rb.busy .rb-stop{display:grid}.rb.busy .rb-send:not(.rb-stop){display:none}.rb-mic[hidden]{display:none}
.rb-foot{font-size:10.5px;color:var(--rb-mu);text-align:center;padding:0 14px 10px;flex:none}
.rb-foot a{color:var(--rb-mu)}
@media (max-width:560px){.rb{right:16px;bottom:calc(92px + env(safe-area-inset-bottom,0px))}.rb-stage{height:200px}.rb-bot{width:180px;height:214px;margin-left:-90px}.rb-log{max-height:180px}}
@media (prefers-reduced-motion:reduce){.rb-body,.rb-scan,.rb-city .w,.rb-lid,.rb.wave #rbArm,.rb.talk #rbArm{animation:none!important}}
.rb-dock{min-width:0;min-height:620px;display:flex}
.rb-dock-ph{display:none}
.rb-dock.away .rb-dock-ph{display:grid;place-items:center;gap:10px;flex:1;margin:0;padding:30px;text-align:center;border-radius:24px;border:1px dashed var(--line);color:var(--mute);font:600 14px var(--f-body)}
.rb.docked{position:relative;right:auto;bottom:auto;z-index:auto;width:100%;height:660px;max-height:88vh;animation:none}
.rb.docked .rb-stage{height:320px}
.rb.docked .rb-bot{width:272px;height:324px;margin-left:-136px}
.rb.docked .rb-log{max-height:none}
.rb.docked #rbClose,.rb.docked #rbPage{display:none}
@media (max-width:560px){.rb-dock{min-height:560px}.rb.docked{height:600px;max-height:none}.rb.docked .rb-stage{height:240px}.rb.docked .rb-bot{width:200px;height:238px;margin-left:-100px}}
body.cms-editing .rb{display:none}

/* ===================== ADAPTATION MOBILE ET TABLETTE ===================== */
/* Démo « logiciel de gestion » : une seule colonne qui ne dépasse jamais l'écran */
@media (max-width:900px){
  .dash{grid-template-columns:minmax(0,1fr)}
  .dash>*,.dside,.dmain{min-width:0}
  .dnav{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .dnav::-webkit-scrollbar{display:none}
  .dnav>*{flex:none}
}
/* Affiches d'applications : sur écran tactile, le bouton passe sous l'affiche */
.pst-w{display:flex;flex-direction:column;gap:10px;min-width:0}
.pst-w>.pst{width:100%}
.pst-w.wide{grid-column:span 2}
.pst-w>.pst-cta{position:static;transform:none;width:100%;padding:13px;font-size:13px;box-shadow:none}
.pgrid{grid-auto-flow:row dense}
@media (max-width:620px){.pst-w.wide{grid-column:auto}}
/* Témoignages : la carte en pleine largeur, les flèches dessous */
@media (max-width:620px){
  .carousel{flex-wrap:wrap;justify-content:center;gap:14px}
  .carousel .tcard{order:-1;flex:1 1 100%;padding:22px 20px}
  .carousel>button{width:44px;height:44px}
}
/* Bouton de l'assistant : plus discret sur téléphone */
@media (max-width:560px){
  .fab{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  .fab button{width:54px;height:54px;border-width:2px}
  .fab button svg{width:34px;height:34px}
  .rb{bottom:calc(80px + env(safe-area-inset-bottom,0px))}
}
/* Démo du créateur de site : le bouton « Publier » clignote au lieu d'un message flottant */
.wb-hint{animation:wbHint 1.1s ease-in-out 4}
@keyframes wbHint{50%{box-shadow:0 0 0 6px #FFD21F66}}
/* Confort de lecture et de toucher */
@media (max-width:760px){
  input,select,textarea{font-size:16px}
  .tnote{font-size:12px}
}
@media (hover:none){
  a,button{-webkit-tap-highlight-color:transparent}
}
/* Très petits téléphones (≤ 380 px) : la barre de navigation tient sur une ligne */
@media (max-width:380px){
  .nav{gap:8px;padding:8px 8px 8px 12px}
  .nav .burger{width:40px;height:40px}
}
/* Administration sur téléphone et tablette */
.cms-burger{color:#141A3C}
.cgrid{grid-template-columns:minmax(0,1fr)}
.cgrid>*{min-width:0}
@media (max-width:760px){
  .cseg{overflow-x:auto;max-width:100%;scrollbar-width:none}
  .cseg::-webkit-scrollbar{display:none}
  .cseg>button{flex:none;white-space:nowrap}
  .ctools .sp{display:none}
}

/* À PROPOS : fond animé « réseau » (nœuds, liaisons, paquets de données, grille et balayage) */
.about{position:relative;overflow:hidden;isolation:isolate}
.about-bg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,#0000004D 0%,#0000004D 40%,#000 62%);mask-image:linear-gradient(90deg,#0000004D 0%,#0000004D 40%,#000 62%)}
@media (max-width:900px){.about-bg{-webkit-mask-image:linear-gradient(#00000059,#00000059);mask-image:linear-gradient(#00000059,#00000059)}}
.about::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background-image:linear-gradient(color-mix(in srgb,var(--white) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--white) 4%,transparent) 1px,transparent 1px);
  background-size:46px 46px;-webkit-mask-image:radial-gradient(80% 70% at 70% 50%,#000,transparent 85%);mask-image:radial-gradient(80% 70% at 70% 50%,#000,transparent 85%)}
.about::after{content:"";position:absolute;left:0;right:0;height:180px;top:-180px;z-index:-1;pointer-events:none;
  background:linear-gradient(transparent,#3EE6FF0F 45%,#FFD21F14 50%,#3EE6FF0F 55%,transparent);animation:aboutScan 9s linear infinite}
@keyframes aboutScan{to{top:100%}}
.about-grid .sep{position:relative;overflow:hidden}
.about-grid .sep::after{content:"";position:absolute;left:0;width:100%;height:90px;top:-90px;background:linear-gradient(transparent,var(--yellow),transparent);animation:aboutFlow 3.2s ease-in-out infinite}
@keyframes aboutFlow{to{top:100%}}
@media (prefers-reduced-motion:reduce){.about::after,.about-grid .sep::after{animation:none;display:none}}

/* POP-UPS : affichage aux visiteurs */
.cpop-wrap{position:fixed;z-index:85;font-family:var(--f-body)}
.cpop-wrap.cpop-at-center{inset:0;display:grid;place-items:center;padding:20px;background:#05071ABF;backdrop-filter:blur(6px);animation:cpopFade .3s ease both}
.cpop-wrap.cpop-at-corner{left:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));width:min(360px,calc(100vw - 40px))}
.cpop-wrap.cpop-at-bar{left:0;right:0;top:0;padding-top:env(safe-area-inset-top,0px)}
.cpop-wrap.out{animation:cpopFade .25s ease reverse both}
@keyframes cpopFade{from{opacity:0}to{opacity:1}}
.cpop{--pb:#141A3C;--pt:#F4F6FF;--pm:#B9C1E6;--pbtn:#FFD21F;--pbt:#141A3C;--pl:#2A3268;position:relative;background:var(--pb);color:var(--pt);border:1px solid var(--pl);box-shadow:0 40px 90px -30px #000;overflow:hidden}
.cpop-yellow{--pb:#FFD21F;--pt:#141A3C;--pm:#3A3F5C;--pbtn:#141A3C;--pbt:#FFFFFF;--pl:#E8BB00}
.cpop-light{--pb:#FFFFFF;--pt:#141A3C;--pm:#5F6788;--pbtn:#FFD21F;--pbt:#141A3C;--pl:#E2E6F2}
.cpop-center{width:min(440px,100%);border-radius:22px;animation:cpopIn .45s cubic-bezier(.2,1.3,.4,1) both}
.cpop-corner{border-radius:18px;animation:cpopUp .45s cubic-bezier(.2,1.3,.4,1) both}
.cpop-bar{border-radius:0;border-width:0 0 1px;display:flex;align-items:center;animation:cpopDown .4s ease both}
@keyframes cpopIn{from{opacity:0;transform:scale(.9) translateY(16px)}}
@keyframes cpopUp{from{opacity:0;transform:translateY(30px)}}
@keyframes cpopDown{from{transform:translateY(-100%)}}
.cpop-img{aspect-ratio:16/8;background:#0E1430 center/cover no-repeat}
.cpop-corner .cpop-img{aspect-ratio:16/7}
.cpop-body{display:grid;gap:10px;padding:24px 26px 26px}
.cpop-corner .cpop-body{padding:18px 20px 20px;gap:8px}
.cpop-bar .cpop-body{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:12px 56px 12px 20px;width:100%;max-width:1200px;margin:0 auto}
.cpop-tag{justify-self:start;font:700 11px var(--f-mono,monospace);letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--pbtn) 18%,transparent);color:var(--pt);border:1px solid color-mix(in srgb,var(--pbtn) 45%,transparent)}
.cpop-t{font:800 22px/1.2 var(--f-display);text-wrap:balance}
.cpop-corner .cpop-t{font-size:18px}
.cpop-bar .cpop-t{font-size:15px}
.cpop-body p{margin:0;color:var(--pm);font-size:14.5px;line-height:1.55}
.cpop-bar .cpop-body p{font-size:13.5px}
.cpop-btn{justify-self:start;display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:12px 20px;border-radius:999px;background:var(--pbtn);color:var(--pbt);font:800 14px var(--f-body);text-decoration:none}
.cpop-bar .cpop-btn{margin:0 0 0 auto;padding:9px 16px;font-size:13px}
.cpop-btn:hover{filter:brightness(1.06)}
.cpop-btn:focus-visible,.cpop-x:focus-visible{outline:3px solid #3EE6FF;outline-offset:2px}
.cpop-x{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border-radius:50%;border:0;background:#05071A99;color:#fff;font:400 22px/1 var(--f-body);cursor:pointer;display:grid;place-items:center}
.cpop-bar .cpop-x{top:50%;transform:translateY(-50%);background:transparent;color:var(--pt)}
.cpop-light .cpop-x,.cpop-yellow .cpop-x{background:#141A3C1F;color:#141A3C}
.cpop-light .cpop-img+.cpop-body,.cpop-yellow .cpop-img+.cpop-body{border-top:1px solid var(--pl)}
@media (max-width:560px){.cpop-wrap.cpop-at-corner{left:12px;right:12px;width:auto;bottom:calc(84px + env(safe-area-inset-bottom,0px))}.cpop-body{padding:20px}.cpop-t{font-size:20px}.cpop-bar .cpop-btn{margin-left:0}}
@media (prefers-reduced-motion:reduce){.cpop,.cpop-wrap{animation:none!important}}
body.cms-editing .cpop-wrap:not(.prev){display:none}

/* POP-UPS : administration */
.cms-mbox.wide{width:min(1020px,100%)}
.cms-mbox{color-scheme:light}
.pop-list{display:grid;gap:10px}
.pop-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:12px 14px!important}
.pop-th{width:64px;height:48px;border-radius:10px;background:#EEF1F8 center/cover no-repeat;display:grid;place-items:center;color:#8A92B4;flex:none}
.pop-th .ico{width:20px;height:20px}
.pop-tx{display:grid;gap:3px;min-width:0}
.pop-tx b{font:800 14.5px var(--f-display);color:#141A3C;overflow-wrap:anywhere}
.pop-tx small{color:#5F6788;font-size:12px;line-height:1.4}
.pop-row .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pop-sw{position:relative;width:44px;height:26px;flex:none;cursor:pointer}
.pop-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.pop-sw i{position:absolute;inset:0;border-radius:999px;background:#CDD3E4;transition:background .2s}
.pop-sw i::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0003;transition:transform .2s}
.pop-sw input:checked+i{background:#179A4E}
.pop-sw input:checked+i::after{transform:translateX(18px)}
.pop-sw input:focus-visible+i{outline:2px solid #2A6FA5;outline-offset:2px}
.pop-ed{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}
.pop-imgrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pop-pages{border:1px solid var(--cbd);border-radius:12px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:6px 14px}
.pop-pages legend{padding:0 4px}
.pop-pages label{display:flex;align-items:center;gap:6px;font:500 13px var(--f-body);color:#141A3C}
.pop-pages input,.pop-chk input{width:16px!important;height:16px;padding:0!important;margin:0;flex:none;accent-color:#141A3C}
.pop-chk{display:flex;align-items:center;gap:8px;font:700 13.5px var(--f-body);color:#141A3C;margin:4px 0 14px}
.pop-btns{display:flex;justify-content:flex-end;gap:8px}
.pop-prev{position:sticky;top:0;display:grid;gap:8px}
.pop-prev>small{font:700 11px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:#5F6788}
.pop-prev small.pop-hint{text-transform:none;letter-spacing:0;font-weight:500}
.pop-stage{position:relative;height:440px;border-radius:16px;overflow:hidden;background:radial-gradient(120% 90% at 70% 0%,#23306E,#141A3C 55%,#090C20);border:1px solid var(--cbd)}
.pop-stage::before{content:"";position:absolute;left:16px;right:16px;top:14px;height:30px;border-radius:999px;background:#ffffff14}
.pop-stage::after{content:"";position:absolute;left:28px;top:70px;width:58%;height:70px;border-radius:10px;background:linear-gradient(#ffffff1A 0 18px,transparent 18px 30px,#ffffff10 30px 42px,transparent 42px 54px,#ffffff10 54px 66px,transparent 0)}
.pop-stage.big{height:min(560px,70vh)}
.cpop-wrap.prev{position:absolute;z-index:1}
.cpop-wrap.prev.cpop-at-center{padding:16px;backdrop-filter:none;background:#05071A99}
.cpop-wrap.prev.cpop-at-corner{left:14px;bottom:14px;width:min(300px,calc(100% - 28px))}
.cpop-wrap.prev .cpop-center{width:min(380px,100%)}
.cpop-wrap.prev .cpop-x{pointer-events:none}
@media (max-width:860px){.pop-ed{grid-template-columns:minmax(0,1fr)}.pop-prev{position:static;order:-1}.pop-stage{height:340px}.pop-row{grid-template-columns:52px minmax(0,1fr) auto}.pop-row .pop-th{width:52px;height:40px}.pop-row .acts{grid-column:1/-1;justify-content:flex-start}.pop-row .cpill{display:none}}

/* POP-UPS : style « Affiche » (image en grand + bouton) */
.cpop-wrap.cpop-at-poster{inset:0;display:grid;place-items:center;padding:16px;background:#05071ACC;backdrop-filter:blur(6px);animation:cpopFade .3s ease both}
.cpop-poster{display:flex;flex-direction:column;max-width:min(430px,100%);border-radius:18px;background:#fff;border:0;animation:cpopIn .45s cubic-bezier(.2,1.3,.4,1) both}
.cpop-poster-img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);object-fit:contain;margin:0 auto}
.cpop-poster .cpop-btn{align-self:stretch;justify-content:center;margin:0;border-radius:0;padding:15px 20px;font-size:15px;background:#FFD21F;color:#141A3C}
.cpop-poster .cpop-x{background:#141A3CCC;color:#fff}
.cpop-poster .cpop-body{color:#141A3C}.cpop-poster .cpop-body p{color:#5F6788}
.cpop-wrap.prev.cpop-at-poster{padding:10px;backdrop-filter:none;background:#05071A99}
.cpop-wrap.prev .cpop-poster-img{max-height:360px}
.pop-stage.big .cpop-wrap.prev .cpop-poster-img{max-height:min(470px,60vh)}

/* POP-UPS « Affiche » : animation d'entrée (fond, montée 3D, reflet, bouton, lueur) */
.cpop-wrap.cpop-at-poster{animation:posterBg .55s ease both}
@keyframes posterBg{from{background:#05071A00;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{background:#05071ACC;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}}
.cpop-poster{transform-origin:50% 100%;animation:posterIn .95s cubic-bezier(.16,1,.3,1) .1s both,posterGlow 3.2s ease-in-out 1.4s infinite}
@keyframes posterIn{0%{opacity:0;transform:perspective(1200px) translateY(70px) rotateX(16deg) scale(.86)}55%{opacity:1}100%{opacity:1;transform:perspective(1200px) translateY(0) rotateX(0) scale(1)}}
@keyframes posterGlow{0%,100%{box-shadow:0 40px 90px -30px #000,0 0 0 1px #FFFFFF22,0 0 40px -10px #1D9BE266}50%{box-shadow:0 40px 90px -30px #000,0 0 0 1px #FFFFFF44,0 0 70px 0 #1D9BE299}}
.cpop-poster::after{content:"";position:absolute;inset:-20%;z-index:1;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#FFFFFF00 42%,#FFFFFF8C 50%,#FFFFFF00 58%,transparent 60%);transform:translateX(-110%);animation:posterShine 1.3s cubic-bezier(.4,0,.2,1) .9s both}
@keyframes posterShine{to{transform:translateX(110%)}}
.cpop-poster .cpop-btn{position:relative;z-index:2;animation:posterBtn .65s cubic-bezier(.2,1.3,.4,1) 1s both}
@keyframes posterBtn{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}
.cpop-poster .cpop-btn span{display:inline-block;animation:posterArrow 1.2s ease-in-out 1.8s 4}
@keyframes posterArrow{0%,100%{transform:none}50%{transform:translateX(6px)}}
.cpop-poster .cpop-x{z-index:3;animation:posterX .4s ease 1.2s both}
@keyframes posterX{from{opacity:0;transform:scale(.6) rotate(-90deg)}to{opacity:1;transform:none}}
.cpop-wrap.cpop-at-poster.out{animation:posterBgOut .35s ease both}
@keyframes posterBgOut{to{background:#05071A00;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}
.cpop-wrap.out .cpop-poster{animation:posterOut .3s ease both}
@keyframes posterOut{to{opacity:0;transform:translateY(40px) scale(.95)}}
@media (prefers-reduced-motion:reduce){.cpop-wrap.cpop-at-poster,.cpop-poster,.cpop-poster::after,.cpop-poster .cpop-btn,.cpop-poster .cpop-btn span,.cpop-poster .cpop-x{animation:none!important}.cpop-poster::after{display:none}}


/* ACCUEIL : fond animé inspiré de l'affiche ConectAP (molécules, constellation, loupe) */
.hero{position:relative;isolation:isolate}
.hero #circuit{display:none}
.hero-net{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.hero-loupe{position:absolute;z-index:-1;width:110px;height:110px;right:12%;top:28%;color:#FFFFFF;opacity:.13;pointer-events:none;animation:heroLoupe 16s ease-in-out infinite}
@keyframes heroLoupe{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(-60px,40px) rotate(-8deg)}50%{transform:translate(-20px,110px) rotate(4deg)}75%{transform:translate(40px,50px) rotate(-4deg)}}
@media (max-width:760px){.hero-loupe{width:70px;height:70px;right:6%;top:14%}}
@media (prefers-reduced-motion:reduce){.hero-loupe{animation:none}}

/* Sections bleues : même fond animé que l'accueil, atténué pour garder les textes lisibles */
.net-host{position:relative;isolation:isolate}
.net-bg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.6}
.about.net-host .about-bg{display:none}

/* VIDÉOS : section de l'accueil, carrousels animés et lecteur */
.vids{background:radial-gradient(70% 60% at 50% 0%,#1F2A6E,transparent 70%),var(--deep)}
.vids.vids-empty{display:none}
.vids-head{text-align:center;max-width:740px;margin:0 auto 40px}
.vids-head .h2{margin-top:14px;color:var(--white)}
.vids-lead{color:var(--mute);margin:12px auto 0;max-width:56ch}
#vidRoot{display:grid;gap:52px}
.vcar{min-width:0}
.vcar-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px;opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.vcar.in .vcar-hd{opacity:1;transform:none}
.vcar-hd h3{display:flex;align-items:center;gap:10px;font:800 clamp(19px,2.2vw,24px)/1.2 var(--f-display);margin:0;color:var(--white)}
.vcar-hd h3::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px #FFD21F33,0 0 14px var(--yellow);flex:none;animation:vDot 2.4s ease-in-out infinite}
@keyframes vDot{50%{box-shadow:0 0 0 7px #FFD21F1A,0 0 18px var(--yellow)}}
.vcar-hd p{margin:6px 0 0 20px;color:var(--mute);font-size:14px}
.vnav{display:flex;gap:8px;flex:none}
.vnav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#FFFFFF0D;color:var(--white);font:400 24px/1 var(--f-body);cursor:pointer;display:grid;place-items:center;transition:background .25s,color .25s,border-color .25s,transform .25s}
.vnav button:hover{background:var(--yellow);color:var(--ink);border-color:var(--yellow);transform:scale(1.07)}
.vnav button:focus-visible,.vdots button:focus-visible,.vcard:focus-visible{outline:3px solid #3EE6FF;outline-offset:3px}
.vtrack{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:12px 4px 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.vtrack::-webkit-scrollbar{display:none}
.vcard{position:relative;flex:none;width:min(340px,78vw);scroll-snap-align:start;text-align:left;border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer;text-decoration:none;display:flex;flex-direction:column;gap:10px;
  opacity:0;transform:translateY(30px) scale(.97);transition:opacity .6s ease calc(var(--i,0)*90ms),transform .75s cubic-bezier(.2,.8,.2,1) calc(var(--i,0)*90ms)}
.vcar.in .vcard{opacity:1;transform:none}
.vcar.done .vcard{transition-delay:0s;transition-duration:.35s}
.vcar.done .vcard:hover{transform:translateY(-6px)}
.vcard.tall{width:min(230px,60vw)}
.vthumb{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;isolation:isolate;background:radial-gradient(120% 120% at 20% 0%,color-mix(in srgb,var(--pc) 55%,#141A3C),#0B1030 70%);border:1px solid #FFFFFF14;box-shadow:0 22px 44px -26px #000;transition:box-shadow .35s,border-color .35s}
.vcard.tall .vthumb{aspect-ratio:9/16}
.vcard:hover .vthumb{border-color:#FFD21F66;box-shadow:0 26px 50px -24px #000,0 0 0 1px #FFD21F44,0 0 40px -12px #FFD21F66}
.vthumb img,.vthumb video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.vcard:hover .vthumb img,.vcard:hover .vthumb video{transform:scale(1.08)}
.vthumb::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#05071A26 0%,transparent 35%,#05071AB3 100%)}
.vthumb::before{content:"";position:absolute;inset:-40%;z-index:2;pointer-events:none;background:linear-gradient(110deg,transparent 42%,#FFFFFF38 50%,transparent 58%);transform:translateX(-110%);transition:transform 1s cubic-bezier(.4,0,.2,1)}
.vcard:hover .vthumb::before,.vcard:focus-visible .vthumb::before{transform:translateX(110%)}
.vbrand{position:absolute;left:12px;top:12px;z-index:3;display:flex;align-items:center;gap:6px;font:800 11px var(--f-body);letter-spacing:.03em;padding:6px 10px;border-radius:999px;background:#05071ACC;color:#fff;backdrop-filter:blur(6px)}
.vbrand::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pc);box-shadow:0 0 8px var(--pc)}
.vplay{position:absolute;left:50%;top:50%;z-index:3;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--ink);box-shadow:0 12px 30px -8px #000;transition:transform .4s cubic-bezier(.2,1.4,.4,1)}
.vplay svg{width:26px;height:26px;margin-left:3px}
.vplay::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid var(--yellow);opacity:0;animation:vRing 2.6s ease-out infinite}
@keyframes vRing{0%{opacity:.75;transform:scale(.8)}100%{opacity:0;transform:scale(1.55)}}
.vcard:hover .vplay{transform:scale(1.14)}
.vmeta{display:grid;gap:3px;padding-inline:2px}
.vmeta b{font:700 15px/1.35 var(--f-body);color:var(--white)}
.vmeta small{color:var(--mute);font-size:12.5px}
.vdots{display:flex;justify-content:center;gap:6px;margin-top:2px}
.vdots button{width:8px;height:8px;padding:0;border-radius:999px;border:0;background:#FFFFFF33;cursor:pointer;transition:width .35s cubic-bezier(.2,.8,.2,1),background .3s}
.vdots button.on{width:28px;background:var(--yellow)}
/* style « Mise en avant 3D » */
.vs-coverflow .vtrack{padding-inline:calc(50% - 170px);perspective:1200px;scroll-snap-type:x mandatory}
.vs-coverflow .vcard{scroll-snap-align:center}
.vs-coverflow.in .vcard{transform:rotateY(var(--rot,0deg)) scale(var(--sc,1));opacity:var(--op,1);transition:transform .3s ease-out,opacity .3s ease-out}
.vs-coverflow.done .vcard:hover{transform:rotateY(var(--rot,0deg)) scale(calc(var(--sc,1) * 1.03))}
/* style « Grande vidéo à la une » */
.vfocus{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:20px;align-items:start}
.vfocus.solo{grid-template-columns:minmax(0,1fr);max-width:860px;margin-inline:auto}
.vfocus .vcard{width:100%}
.vfocus-main .vplay{width:84px;height:84px;margin:-42px 0 0 -42px}
.vfocus-main .vplay svg{width:34px;height:34px}
.vfocus-main .vthumb img,.vfocus-main .vthumb video{animation:vKen 20s ease-in-out infinite alternate}
@keyframes vKen{to{transform:scale(1.1) translate(-2%,-2%)}}
.vfocus-main .vmeta b{font-size:18px}
.vfocus-list{display:grid;gap:14px;align-content:start}
.vfocus-list .vcard{flex-direction:row;align-items:center;gap:14px}
.vfocus-list .vthumb{width:48%;flex:none;border-radius:14px}
.vfocus-list .vcard.tall .vthumb{width:30%}
.vfocus-list .vplay{width:40px;height:40px;margin:-20px 0 0 -20px}
.vfocus-list .vplay svg{width:18px;height:18px}
.vfocus-list .vbrand{left:8px;top:8px;padding:4px 7px;font-size:10px}
@media (max-width:860px){.vfocus{grid-template-columns:minmax(0,1fr)}.vs-coverflow .vtrack{padding-inline:calc(50% - 39vw)}}
@media (max-width:560px){.vcar-hd{align-items:center}.vcar-hd p{margin-left:20px;font-size:13px}.vnav button{width:40px;height:40px}.vplay{width:54px;height:54px;margin:-27px 0 0 -27px}}
/* lecteur en grand */
body.vlb-open{overflow:hidden}
.vlb{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:64px 20px 24px;background:#05071AEB;backdrop-filter:blur(10px);animation:cpopFade .3s ease both}
.vlb.out{animation:cpopFade .28s ease reverse both}
.vlb-box{position:relative;width:min(1040px,100%,calc((100vh - 190px) * 1.7778));animation:vlbIn .55s cubic-bezier(.16,1,.3,1) both}
.vlb-box.tall{width:min(400px,100%,calc((100vh - 190px) * .5625))}
@keyframes vlbIn{from{opacity:0;transform:scale(.86) translateY(34px)}to{opacity:1;transform:none}}
.vlb-media{aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 40px 100px -30px #000,0 0 0 1px #FFFFFF1A}
.vlb-box.tall .vlb-media{aspect-ratio:9/16}
.vlb-media iframe,.vlb-media video{display:block;width:100%;height:100%;border:0;background:#000}
.vlb-cap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin-top:14px;color:#fff}
.vlb-cap b{font:700 16px var(--f-body)}
.vlb-cap span{color:var(--mute);font-size:13px}
.vlb-cap a{color:var(--yellow)}
.vlb-x{position:absolute;top:-52px;right:0;width:42px;height:42px;border-radius:50%;border:0;background:#FFFFFF1F;color:#fff;font:400 26px/1 var(--f-body);cursor:pointer;display:grid;place-items:center;transition:background .2s,transform .2s}
.vlb-x:hover{background:var(--yellow);color:var(--ink);transform:rotate(90deg)}
.vlb-nav{position:absolute;top:calc(50% - 44px);width:50px;height:50px;border-radius:50%;border:0;background:#FFFFFF1F;color:#fff;font:400 28px/1 var(--f-body);cursor:pointer;display:grid;place-items:center;transition:background .2s}
.vlb-nav:hover{background:var(--yellow);color:var(--ink)}
.vlb-nav.p{left:-70px}.vlb-nav.n{right:-70px}
@media (max-width:1200px){.vlb-nav{background:#05071AB3}.vlb-nav.p{left:8px}.vlb-nav.n{right:8px}}
@media (prefers-reduced-motion:reduce){.vcard,.vcar-hd{opacity:1!important;transform:none!important;transition:none!important}.vplay::after,.vfocus-main .vthumb img,.vfocus-main .vthumb video,.vcar-hd h3::before{animation:none}}
body.cms-editing .vlb{display:none}

/* VIDÉOS : administration */
.vadm{padding:14px!important;display:grid;gap:12px}
.vadm-hd{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center}
.vadm-hd .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.vadm-items{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}
.vadm-it{flex:none;width:190px;display:grid;gap:6px;align-content:start;font-size:12.5px;color:#141A3C}
.vadm-it b{font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.vadm-it .acts{display:flex;gap:4px;flex-wrap:wrap}
.vadm-th{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--pc) 60%,#141A3C),#141A3C)}
.vadm-th img,.vadm-th video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vadm-th .vbrand{left:6px;top:6px;padding:3px 7px;font-size:10px}
.vadm-th .vplay{width:30px;height:30px;margin:-15px 0 0 -15px}
.vadm-th .vplay svg{width:14px;height:14px}
.vadm-th .vplay::after{display:none}
.vadm-empty{margin:0;color:#5F6788;font-size:13px}
.ved-tabs{margin-bottom:14px;display:inline-flex;flex-wrap:wrap}
.ved-tabs button{display:inline-flex;align-items:center;gap:6px}
.ved-tabs .ico{width:15px;height:15px}
.ved-det{margin:-4px 0 14px;font-size:12.5px;line-height:1.5;padding:9px 12px;border-radius:10px;background:#F3F5FA;color:#3A4160}
.ved-badge{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:#141A3C;margin-right:4px}
.ved-badge::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--pc)}
.ved-file{display:grid;gap:8px;justify-items:start;margin-bottom:14px}
.ved-file small{color:#5F6788;font-size:12px}
.ved-ok{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#E3F7EA;color:#127A3D;width:100%}
.ved-ok span{display:grid}.ved-ok b{color:#141A3C;overflow-wrap:anywhere}.ved-ok small{color:#3A6B4C}
.vstyles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.vst{position:relative;cursor:pointer}
.vst input{position:absolute;opacity:0}
.vst span{display:grid;justify-items:center;gap:8px;padding:12px 8px;border:2px solid var(--cbd);border-radius:12px;font:700 12px/1.25 var(--f-body);color:#141A3C;text-align:center;transition:border-color .2s,background .2s}
.vst input:checked+span{border-color:#141A3C;background:#F3F5FA}
.vst input:focus-visible+span{outline:2px solid #2A6FA5;outline-offset:2px}
.vst-ic{display:flex;gap:4px;align-items:center;height:30px}
.vst-ic b{display:block;width:18px;height:22px;border-radius:4px;background:#C9D0E4}
.vst-coverflow b:nth-child(1){transform:perspective(60px) rotateY(30deg) scale(.85)}.vst-coverflow b:nth-child(2){width:24px;height:28px;background:#141A3C}.vst-coverflow b:nth-child(3){transform:perspective(60px) rotateY(-30deg) scale(.85)}
.vst-slide b{background:#141A3C}.vst-slide b:nth-child(3){opacity:.4}
.vst-focus{display:grid!important;grid-template-columns:30px 14px;grid-template-rows:12px 12px;gap:3px}.vst-focus b{width:auto;height:auto;background:#C9D0E4}.vst-focus b:nth-child(1){grid-row:span 2;background:#141A3C}
@media (max-width:760px){.vadm-hd{grid-template-columns:minmax(0,1fr) auto}.vadm-hd .acts{grid-column:1/-1;justify-content:flex-start}.vstyles{grid-template-columns:1fr}}

/* À PROPOS : bloc « Le mot du CEO » */
.ceo{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center;margin-top:56px;padding:28px;border-radius:28px;background:linear-gradient(135deg,#1C2350E6,#0E1330F2);border:1px solid var(--line);box-shadow:0 40px 80px -40px #000;overflow:hidden}
.ceo::before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-160px;border-radius:50%;background:radial-gradient(circle,#FFD21F22,transparent 65%);pointer-events:none}
.ceo-ph{position:relative;margin:0;border-radius:22px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 60px -30px #000,0 0 0 1px #FFFFFF1A}
.ceo-ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 14%;animation:ceoZoom 22s ease-in-out infinite alternate}
@keyframes ceoZoom{to{transform:scale(1.06)}}
.ceo-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,#05071ACC);pointer-events:none}
.ceo-badge{position:absolute;left:16px;bottom:16px;z-index:1;font:800 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border-radius:999px;background:var(--yellow);color:var(--ink)}
.ceo-tx{position:relative;display:grid;gap:18px;justify-items:start}
.ceo blockquote{margin:0;font:600 clamp(18px,2vw,24px)/1.55 var(--f-display);color:var(--white);text-wrap:pretty}
.ceo-sign{display:grid;gap:2px;padding-left:16px;border-left:3px solid var(--yellow)}
.ceo-sign b{font:800 18px var(--f-display);color:var(--white)}
.ceo-sign span{color:var(--mute);font-size:14px}
@media (max-width:860px){.ceo{grid-template-columns:minmax(0,1fr);gap:26px;padding:18px}.ceo-ph{max-width:420px;width:100%;justify-self:center}}
@media (prefers-reduced-motion:reduce){.ceo-ph img{animation:none}}

/* ACCUEIL : présentation animée du CEO */
.ceoh{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center;margin-top:80px;padding-top:56px;border-top:1px solid var(--line)}
.ceoh-vis{position:relative;width:min(440px,100%);justify-self:center;aspect-ratio:4/5}
.ceoh-frame{position:absolute;inset:0;border-radius:30px;padding:3px;overflow:hidden;box-shadow:0 40px 90px -40px #000,0 0 60px -20px #FFD21F55;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out}
.ceoh-frame::before{content:"";position:absolute;inset:-60%;background:conic-gradient(from 0deg,#FFD21F,#3EE6FF 22%,transparent 40%,transparent 58%,#FFD21F 82%,#FFD21F);animation:ceohSpin 7s linear infinite}
@keyframes ceohSpin{to{transform:rotate(360deg)}}
.ceoh-ph{position:relative;height:100%;border-radius:27px;overflow:hidden;background:#0B1030}
.ceoh-ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 12%;clip-path:inset(100% 0 0 0);transform:scale(1.12);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1) .15s,transform 2.2s cubic-bezier(.2,.8,.2,1) .15s}
.ceoh.in .ceoh-ph img{clip-path:inset(0 0 0 0);transform:scale(1)}
.ceoh-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#05071AB3),linear-gradient(115deg,transparent 40%,#FFFFFF33 50%,transparent 60%);background-size:100% 100%,250% 100%;background-position:0 0,150% 0;pointer-events:none}
.ceoh.in .ceoh-ph::after{animation:ceohShine 1.4s ease 1.3s both}
@keyframes ceohShine{from{background-position:0 0,150% 0}to{background-position:0 0,-60% 0}}
.ceoh-orbit{position:absolute;inset:-26px;border-radius:50%;border:1px dashed #FFFFFF22;animation:ceohSpin 24s linear infinite;opacity:0;transition:opacity 1s ease 1s}
.ceoh.in .ceoh-orbit{opacity:1}
.ceoh-orbit i{position:absolute;width:12px;height:12px;border-radius:50%;background:#FFD21F;box-shadow:0 0 14px #FFD21F}
.ceoh-orbit i:nth-child(1){top:-6px;left:50%}
.ceoh-orbit i:nth-child(2){bottom:12%;left:2%;width:9px;height:9px;background:#3EE6FF;box-shadow:0 0 14px #3EE6FF}
.ceoh-orbit i:nth-child(3){top:30%;right:-5px;width:7px;height:7px;background:#fff;box-shadow:0 0 12px #fff}
.ceoh-tag{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;font:800 12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;opacity:0;transform:translateY(16px) scale(.9);transition:opacity .6s ease,transform .7s cubic-bezier(.2,1.4,.4,1)}
.ceoh-tag.t1{left:-18px;top:34px;background:var(--yellow);color:var(--ink);transition-delay:1.1s}
.ceoh-tag.t2{right:-22px;bottom:46px;background:#0B1030CC;color:var(--white);border:1px solid #FFFFFF2E;backdrop-filter:blur(8px);transition-delay:1.35s}
.ceoh-tag.t2 i{width:8px;height:8px;border-radius:50%;background:#3EE07A;box-shadow:0 0 10px #3EE07A}
.ceoh.in .ceoh-tag{opacity:1;transform:none}
.ceoh.done .ceoh-tag{animation:ceohBob 5s ease-in-out infinite}
.ceoh.done .ceoh-tag.t2{animation-delay:-2.5s}
@keyframes ceohBob{50%{transform:translateY(-8px)}}
.ceoh-tx{display:grid;justify-items:start;gap:14px}
.ceoh-tx>*{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.ceoh.in .ceoh-tx>*{opacity:1;transform:none}
.ceoh.in .ceoh-tx>:nth-child(1){transition-delay:.35s}.ceoh.in .ceoh-tx>:nth-child(2){transition-delay:.5s}.ceoh.in .ceoh-tx>:nth-child(3){transition-delay:.65s}.ceoh.in .ceoh-tx>:nth-child(4){transition-delay:.8s}.ceoh.in .ceoh-tx>:nth-child(5){transition-delay:1.6s}.ceoh.in .ceoh-tx>:nth-child(6){transition-delay:1.9s}
.ceoh-name{position:relative;margin:4px 0 0;font:900 clamp(34px,4.6vw,56px)/1.05 var(--f-display);letter-spacing:-.02em;color:var(--white)}
.ceoh-name::after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:6px;border-radius:6px;background:linear-gradient(90deg,#FFD21F,#FFB800);transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.7,0,.2,1) 1s}
.ceoh.in .ceoh-name::after{transform:scaleX(1)}
.ceoh-role{margin:6px 0 0;color:var(--yellow);font:700 15px var(--f-body);letter-spacing:.02em}
.ceoh-q{margin:6px 0 0;font:600 clamp(18px,1.9vw,23px)/1.6 var(--f-display);color:var(--white);max-width:40ch;
  -webkit-mask-image:linear-gradient(90deg,#000 45%,transparent 55%);mask-image:linear-gradient(90deg,#000 45%,transparent 55%);-webkit-mask-size:240% 100%;mask-size:240% 100%;-webkit-mask-position:100% 0;mask-position:100% 0}
.ceoh.in .ceoh-q{animation:ceohWrite 2.2s cubic-bezier(.4,0,.2,1) .9s forwards}
@keyframes ceohWrite{to{-webkit-mask-position:0 0;mask-position:0 0}}
.ceoh-sig{font:700 clamp(30px,3.4vw,42px)/1 "Dancing Script",cursive;color:#FFD21F;clip-path:inset(0 100% 0 0);transform:rotate(-4deg);transition:clip-path 1.6s cubic-bezier(.6,0,.3,1) 2.4s!important}
.ceoh.in .ceoh-sig{clip-path:inset(0 0 0 0)}
.ceoh-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
@media (max-width:900px){.ceoh{grid-template-columns:minmax(0,1fr);gap:48px;margin-top:56px}.ceoh-vis{width:min(340px,82%)}.ceoh-tag.t1{left:-10px}.ceoh-tag.t2{right:-10px}.ceoh-tx{justify-items:center;text-align:center}.ceoh-name::after{left:15%;width:70%}}
@media (prefers-reduced-motion:reduce){.ceoh *,.ceoh *::before,.ceoh *::after{animation:none!important;transition:none!important}.ceoh-ph img{clip-path:none;transform:none}.ceoh-tx>*,.ceoh-tag,.ceoh-orbit{opacity:1;transform:none}.ceoh-q{-webkit-mask-image:none;mask-image:none}.ceoh-sig{clip-path:none}.ceoh-name::after{transform:none}}

/* ACCUEIL : présentation du CEO placée après « Nos derniers conseils » (carte bleu nuit sur fond clair) */
.blog-home .ceoh-wrap{margin-top:72px}
.blog-home .ceoh{margin-top:0;padding:56px 48px;border-top:0;border-radius:32px;color:var(--white);background:radial-gradient(80% 90% at 0% 0%,#23306E,#141A3C 55%,#090C20);box-shadow:0 50px 90px -50px #141A3CCC;position:relative;overflow:hidden}
.blog-home .ceoh::before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-220px;border-radius:50%;background:radial-gradient(circle,#FFD21F1F,transparent 65%);pointer-events:none}
.blog-home .ceoh .kicker{color:var(--yellow);background:color-mix(in srgb,var(--yellow) 12%,transparent);border-color:color-mix(in srgb,var(--yellow) 30%,transparent)}
.blog-home .ceoh .btn-o{color:var(--white);box-shadow:inset 0 0 0 1.5px #FFFFFF55}
@media (max-width:900px){.blog-home .ceoh{padding:40px 22px 32px;border-radius:24px}}

/* ===== School ConectAP : illustration animée du logiciel de gestion scolaire ===== */
.scx{background:radial-gradient(800px 520px at 82% 30%,#1f6b3f55,transparent 70%),radial-gradient(600px 420px at 10% 90%,#24306e99,transparent 70%),var(--night);color:#fff;overflow:hidden}
.scx-fond{position:absolute;inset:0;background-image:linear-gradient(rgb(255 255 255/.04) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255/.04) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(70% 60% at 70% 40%,#000,transparent);pointer-events:none}
.scx-grille{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:center}
.scx .h2{color:#fff;margin:16px 0 0}
.scx-lead{color:#C9CEEA;font-size:16px;line-height:1.65;margin:16px 0 0;max-width:52ch}
.scx-points{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.scx-points li{display:flex;gap:11px;align-items:flex-start;font-size:13px;line-height:1.45;color:#AEB4D6}
.scx-points li b{display:block;color:#fff;font-size:14px}
.scx-points li>span{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,#8CC63F 18%,transparent);color:#A6E05A;border:1px solid color-mix(in srgb,#8CC63F 35%,transparent)}
.scx-points .ico{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.scx-boutons{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.scx-btn-ligne{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgb(255 255 255/.35)}
.scx-btn-ligne:hover{box-shadow:inset 0 0 0 1.5px var(--yellow);color:var(--yellow)}
.scx-note{margin:14px 0 0;font-size:12px;color:#8E95BC}

/* Scène : fenêtre, téléphone, notifications */
.scx-scene{position:relative;padding:20px 40px 60px 0}
.scx-halo{position:absolute;inset:6% 4% 10% 8%;border-radius:40px;background:radial-gradient(closest-side,#8CC63F40,transparent);filter:blur(30px);animation:scx-respire 7s ease-in-out infinite}
.scx-fenetre{position:relative;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 40px 90px -30px #000c,0 0 0 1px rgb(255 255 255/.08);transform:perspective(1600px) rotateY(-9deg) rotateX(3deg) translateY(30px);opacity:0;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .9s}
.scx-on .scx-fenetre{transform:perspective(1600px) rotateY(-5deg) rotateX(2deg);opacity:1}
.scx-barre{display:flex;align-items:center;gap:14px;padding:10px 14px;background:#EEF1F6;border-bottom:1px solid #E1E5EE}
.scx-points-nav{display:flex;gap:6px}.scx-points-nav i{width:10px;height:10px;border-radius:50%;background:#FF5C6C}.scx-points-nav i:nth-child(2){background:#FFB800}.scx-points-nav i:nth-child(3){background:#3EE07A}
.scx-url{flex:1;min-width:0;display:flex;align-items:center;gap:7px;min-width:0;padding:6px 12px;border-radius:8px;background:#fff;font:600 11.5px/1 var(--f-mono);color:#465074}
.scx-url .ico{width:12px;height:12px;flex:none;fill:none;stroke:#179A4E;stroke-width:2.4}
.scx-url-texte{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:clip;border-right:2px solid #179A4E;max-width:0}
.scx-on .scx-url-texte{animation:scx-tape 1.6s .7s steps(35) forwards,scx-caret .8s step-end 7 1s}
.scx-ecran{position:relative;aspect-ratio:1440/900;overflow:hidden;background:#EEF2ED}
.scx-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.scx-img-2{opacity:0}
.scx-on .scx-img-1{animation:scx-ecran1 12s 1.6s ease-in-out infinite}
.scx-on .scx-img-2{animation:scx-ecran2 12s 1.6s ease-in-out infinite}
.scx-curseur{position:absolute;width:22px;height:22px;left:62%;top:40%;opacity:0;filter:drop-shadow(0 3px 4px #0005)}
.scx-on .scx-curseur{animation:scx-curseur 12s 1.6s ease-in-out infinite}
.scx-clic{position:absolute;left:28.8%;top:78.4%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:3px solid #8CC63F;opacity:0}
.scx-on .scx-clic{animation:scx-clic 12s 1.6s ease-out infinite}
.scx-tel{position:absolute;right:0;bottom:0;width:27%;aspect-ratio:390/780;border-radius:26px;padding:7px;background:#0B0F24;box-shadow:0 30px 60px -20px #000d,0 0 0 1px rgb(255 255 255/.12);opacity:0;transform:translateY(50px)}
.scx-tel img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:20px;display:block}
.scx-encoche{position:absolute;top:12px;left:50%;width:30%;height:9px;margin-left:-15%;border-radius:9px;background:#0B0F24;z-index:1}
.scx-on .scx-tel{animation:scx-monte .9s .5s cubic-bezier(.2,.7,.2,1) forwards,scx-flotte 6s 1.4s ease-in-out infinite}
.scx-notifs{position:absolute;left:-26px;top:22%;display:grid;gap:12px;width:min(260px,56%)}
.scx-notif{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgb(255 255 255/.94);color:#141A3C;font-size:11.5px;line-height:1.35;box-shadow:0 16px 36px -14px #000b;opacity:0;transform:translateX(-24px) scale(.96)}
.scx-notif b{display:block;font-size:12.5px}
.scx-notif>span{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center}
.scx-notif .ico{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.scx-notif .v{background:#E3F4E8;color:#1F7A43}.scx-notif .o{background:#FFF1DF;color:#B4520E}.scx-notif .b{background:#E8F0FD;color:#2A5DB0}
.scx-on .scx-notif{animation:scx-notif 9s ease-in-out infinite}
.scx-on .scx-notif:nth-child(1){animation-delay:2.2s}.scx-on .scx-notif:nth-child(2){animation-delay:5.2s}.scx-on .scx-notif:nth-child(3){animation-delay:8.2s}

/* Chiffres */
.scx-chiffres{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:64px}
.scx-chiffres>div{padding:20px;border-radius:16px;background:rgb(255 255 255/.05);border:1px solid rgb(255 255 255/.09);opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}
.scx-on .scx-chiffres>div{opacity:1;transform:none}
.scx-chiffres>div:nth-child(2){transition-delay:.12s}.scx-chiffres>div:nth-child(3){transition-delay:.24s}.scx-chiffres>div:nth-child(4){transition-delay:.36s}
.scx-chiffres b{display:block;font:800 30px/1 var(--f-display);color:var(--yellow);letter-spacing:-.02em}
.scx-chiffres span{display:block;margin-top:8px;font-size:13px;color:#AEB4D6}

/* Texte qui apparaît */
.scx-texte>*{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}
.scx-on .scx-texte>*{opacity:1;transform:none}
.scx-texte>:nth-child(2){transition-delay:.08s}.scx-texte>:nth-child(3){transition-delay:.16s}.scx-texte>:nth-child(4){transition-delay:.24s}.scx-texte>:nth-child(5){transition-delay:.32s}.scx-texte>:nth-child(6){transition-delay:.4s}

@keyframes scx-tape{to{max-width:35ch}}
@keyframes scx-caret{50%{border-color:transparent}}
@keyframes scx-respire{50%{opacity:.55;transform:scale(1.05)}}
@keyframes scx-monte{to{opacity:1;transform:none}}
@keyframes scx-flotte{50%{transform:translateY(-10px)}}
@keyframes scx-curseur{0%,8%{opacity:0;left:62%;top:40%}14%{opacity:1}30%{left:28.8%;top:78.4%;transform:none}33%{transform:scale(.82)}36%{transform:none}46%{opacity:1;left:28.8%;top:78.4%}52%,100%{opacity:0;left:28.8%;top:78.4%}}
@keyframes scx-clic{0%,32%{opacity:0;transform:scale(.4)}34%{opacity:1}44%,100%{opacity:0;transform:scale(1.5)}}
@keyframes scx-ecran1{0%,44%{opacity:1}50%,92%{opacity:0}98%,100%{opacity:1}}
@keyframes scx-ecran2{0%,44%{opacity:0}50%,92%{opacity:1}98%,100%{opacity:0}}
@keyframes scx-notif{0%{opacity:0;transform:translateX(-24px) scale(.96)}6%,30%{opacity:1;transform:none}36%,100%{opacity:0;transform:translateX(-10px)}}

@media (max-width:980px){
  .scx-grille{grid-template-columns:minmax(0,1fr);gap:40px}
  .scx-scene{padding:10px 24px 50px 0}
  .scx-notifs{left:-6px;top:auto;bottom:-6px;width:min(250px,64%)}
}
@media (max-width:620px){
  .scx-points{grid-template-columns:1fr}
  .scx-chiffres{grid-template-columns:1fr 1fr}
  .scx-tel{width:32%}
  .scx-url{font-size:10px}
}
@media (prefers-reduced-motion:reduce){
  .scx *,.scx-on *{animation:none!important;transition:none!important}
  .scx-fenetre,.scx-tel,.scx-texte>*,.scx-chiffres>div{opacity:1!important;transform:none!important}
  .scx-url-texte{max-width:none;border-right:0}
  .scx-notif:first-child{opacity:1}
}

/* Déroulement du système (cours en ligne, caisse, rapports, bulletin) */
.scx-parcours{position:relative;margin-top:84px;opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}
.scx-parcours.apparu{opacity:1;transform:none}
.scx-p-tete{text-align:center;margin-bottom:34px}
.scx-p-sur{font:700 11px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:#A6E05A}
.scx-p-tete h3{margin:12px 0 0;font:800 clamp(24px,3vw,34px)/1.15 var(--f-display);color:#fff;letter-spacing:-.02em}
.scx-p-grille{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);gap:36px;align-items:center}
.scx-p-etapes{display:grid;gap:10px}
.scx-p-etape{position:relative;display:flex;gap:14px;align-items:flex-start;text-align:left;padding:16px 18px 18px;border-radius:16px;border:1px solid rgb(255 255 255/.08);background:rgb(255 255 255/.03);color:#AEB4D6;font:500 13px/1.5 var(--f-body);cursor:pointer;overflow:hidden;transition:background .3s,border-color .3s,transform .3s}
.scx-p-etape:hover{background:rgb(255 255 255/.06)}
.scx-p-etape:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.scx-p-etape b{display:block;color:#fff;font-size:15px;margin-bottom:2px}
.scx-p-etape[aria-selected="true"]{background:rgb(255 255 255/.09);border-color:color-mix(in srgb,#8CC63F 55%,transparent);transform:translateX(6px)}
.scx-p-num{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:800 14px/1 var(--f-display);color:#C9CEEA;background:rgb(255 255 255/.08);transition:background .3s,color .3s}
.scx-p-etape[aria-selected="true"] .scx-p-num{background:var(--yellow);color:var(--ink)}
.scx-p-progres{position:absolute;left:18px;right:18px;bottom:8px;height:3px;border-radius:3px;background:rgb(255 255 255/.06);opacity:0}
.scx-p-progres i{display:block;height:100%;width:100%;border-radius:3px;background:linear-gradient(90deg,#8CC63F,var(--yellow));transform-origin:left;transform:scaleX(0)}
.scx-p-etape[aria-selected="true"] .scx-p-progres{opacity:1}
.scx-p-etape.court .scx-p-progres i{animation:scx-p-remplit 5.2s linear forwards}
.scx-p-vue{position:relative;padding:0 0 26px}
.scx-p-fenetre{position:relative;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 40px 90px -30px #000c,0 0 0 1px rgb(255 255 255/.08)}
.scx-p-ecran{position:relative;aspect-ratio:1440/900;overflow:hidden;background:#EEF2ED}
.scx-p-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transform:scale(1.04);transition:opacity .7s ease,transform 5.4s ease-out}
.scx-p-img.on{opacity:1;transform:scale(1)}
.scx-p-url{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}
.scx-p-bulle{position:absolute;right:-14px;bottom:0;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:#fff;color:#141A3C;font:700 13px/1.3 var(--f-body);box-shadow:0 18px 40px -16px #000b}
.scx-p-bulle.vu{animation:scx-p-bulle .6s cubic-bezier(.2,.8,.2,1.2)}
.scx-p-coche{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#E3F4E8;color:#1F7A43}
.scx-p-coche .ico{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@keyframes scx-p-remplit{to{transform:scaleX(1)}}
@keyframes scx-p-bulle{0%{opacity:0;transform:translateY(12px) scale(.94)}100%{opacity:1;transform:none}}
@media (max-width:980px){
  .scx-p-grille{grid-template-columns:minmax(0,1fr)}
  .scx-p-etapes{grid-template-columns:1fr 1fr}
  .scx-p-etape[aria-selected="true"]{transform:none}
  .scx-p-bulle{right:8px}
}
@media (max-width:620px){
  .scx-p-etapes{grid-template-columns:1fr}
  .scx-p-etape{padding:12px 14px 16px}
}
@media (prefers-reduced-motion:reduce){
  .scx-parcours{opacity:1;transform:none;transition:none}
  .scx-p-img{transition:none;transform:none}
}
@media (max-width:980px){.scx-p-vue{order:-1}}

/* Côté parent : écran verrouillé, espace parent, discussion */
.scx-parent{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:40px;align-items:center;margin-top:96px;opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}
.scx-parent.apparu{opacity:1;transform:none}
.scx-pa-texte h3{margin:12px 0 0;font:800 clamp(24px,3vw,34px)/1.15 var(--f-display);color:#fff;letter-spacing:-.02em}
.scx-pa-texte p{margin:14px 0 0;color:#C9CEEA;line-height:1.65}
.scx-pa-liste{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.scx-pa-liste li{display:flex;gap:12px;align-items:center;font-size:13px;color:#AEB4D6}
.scx-pa-liste li b{display:block;color:#fff;font-size:14.5px}
.scx-pa-liste li>span{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center}
.scx-pa-liste .ico,.scx-pa-n .ico{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.scx-pa-liste .v,.scx-pa-n .v{background:#E3F4E8;color:#1F7A43}
.scx-pa-liste .o,.scx-pa-n .o{background:#FFF1DF;color:#B4520E}
.scx-pa-liste .b,.scx-pa-n .b{background:#E8F0FD;color:#2A5DB0}
.scx-pa-liste .m{background:#F1ECFD;color:#5B47C9}

.scx-pa-scene{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:end;padding:10px 0 20px}
.scx-pa-tel{position:relative;aspect-ratio:390/800;border-radius:30px;padding:8px;background:#0B0F24;box-shadow:0 30px 60px -20px #000d,0 0 0 1px rgb(255 255 255/.12);opacity:0;transform:translateY(40px)}
.scx-parent.apparu .scx-pa-tel{animation:scx-monte .9s cubic-bezier(.2,.7,.2,1) forwards}
.scx-parent.apparu .scx-pa-espace{animation-delay:.15s;transform:translateY(40px)}
.scx-parent.apparu .scx-pa-dialogue{animation-delay:.3s}
.scx-pa-espace{margin-bottom:34px}
.scx-pa-ecran{position:relative;height:100%;border-radius:23px;overflow:hidden;background:#EEF2ED}
.scx-pa-tel .scx-encoche{top:14px}

/* 1 · écran verrouillé */
.scx-pa-verrou .scx-pa-ecran{background:radial-gradient(120% 70% at 30% 0%,#2C6B45,transparent 60%),radial-gradient(90% 60% at 100% 100%,#24306e,transparent 60%),#0E1430;color:#fff}
.scx-pa-heure{text-align:center;padding-top:36px}
.scx-pa-heure span{display:block;font-size:11px;color:#C9CEEA;text-transform:capitalize}
.scx-pa-heure b{display:block;font:300 44px/1 var(--f-display);letter-spacing:-.02em;margin-top:4px}
.scx-pa-notifs{position:absolute;left:8px;right:8px;top:118px;display:grid;gap:7px}
.scx-pa-n{display:flex;gap:8px;align-items:center;padding:8px 9px;border-radius:14px;background:rgb(255 255 255/.92);color:#141A3C;font-size:9.5px;line-height:1.3;box-shadow:0 8px 20px -10px #000a;opacity:0;transform:translateY(-14px) scale(.96)}
.scx-pa-n small{display:block;font-size:8px;color:#69708F}
.scx-pa-n b{display:block;font-size:10.5px}
.scx-pa-n>i{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font:800 7.5px/1 var(--f-body);font-style:normal}
.scx-pa-n .ico{width:14px;height:14px}
.scx-pa-n .sms{background:#3EE07A;color:#0B3B1F}
.scx-parent.apparu .scx-pa-n{animation:scx-pa-arrive 12s ease-in-out infinite}
.scx-parent.apparu .scx-pa-n:nth-child(1){animation-delay:.8s}.scx-parent.apparu .scx-pa-n:nth-child(2){animation-delay:2.4s}.scx-parent.apparu .scx-pa-n:nth-child(3){animation-delay:4s}.scx-parent.apparu .scx-pa-n:nth-child(4){animation-delay:5.6s}

/* 2 · espace parent qui défile */
.scx-pa-espace img{width:100%;height:100%;object-fit:cover;object-position:50% 0%;display:block}
.scx-parent.apparu .scx-pa-espace img{animation:scx-pa-defile 18s 1.2s ease-in-out infinite}

/* 3 · discussion : le parent répond */
.scx-pa-dialogue img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.scx-pa-reponse{position:absolute;right:10px;bottom:62px;max-width:78%;padding:8px 11px;border-radius:12px 12px 4px 12px;background:#DFF5D1;color:#14261B;font-size:10.5px;line-height:1.35;box-shadow:0 6px 16px -8px #0006;opacity:0}
.scx-pa-tape{position:absolute;left:11px;top:50%;margin-top:-3px;display:inline-flex;gap:3px}
.scx-pa-tape i{width:5px;height:5px;border-radius:50%;background:#5B6B60;animation:scx-pa-point 1s infinite}
.scx-pa-tape i:nth-child(2){animation-delay:.15s}.scx-pa-tape i:nth-child(3){animation-delay:.3s}
.scx-pa-texte-rep{opacity:0}
.scx-parent.apparu .scx-pa-reponse{animation:scx-pa-bulle 10s 2s ease-in-out infinite}
.scx-parent.apparu .scx-pa-tape{animation:scx-pa-masque 10s 2s infinite}
.scx-parent.apparu .scx-pa-texte-rep{animation:scx-pa-montre 10s 2s infinite}

@keyframes scx-pa-arrive{0%{opacity:0;transform:translateY(-14px) scale(.96)}5%,78%{opacity:1;transform:none}86%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes scx-pa-defile{0%,8%{object-position:50% 0%}45%,55%{object-position:50% 100%}92%,100%{object-position:50% 0%}}
@keyframes scx-pa-bulle{0%,4%{opacity:0;transform:translateY(8px)}8%,80%{opacity:1;transform:none}88%,100%{opacity:0}}
@keyframes scx-pa-masque{0%,18%{opacity:1}22%,100%{opacity:0}}
@keyframes scx-pa-montre{0%,18%{opacity:0}24%,100%{opacity:1}}
@keyframes scx-pa-point{50%{opacity:.25;transform:translateY(-2px)}}

@media (max-width:980px){
  .scx-parent{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:620px){
  .scx-pa-scene{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scx-pa-dialogue{display:none}
  .scx-pa-espace{margin-bottom:0}
}
@media (prefers-reduced-motion:reduce){
  .scx-parent,.scx-pa-tel{opacity:1;transform:none;transition:none}
  .scx-pa-n{opacity:1;transform:none}
  .scx-pa-reponse,.scx-pa-texte-rep{opacity:1}.scx-pa-tape{display:none}
}
@media (max-width:620px){.scx-pa-n small{display:none}.scx-pa-n{padding:7px}.scx-pa-heure b{font-size:36px}.scx-pa-notifs{top:104px}}

/* School ConectAP sur téléphone : compact, lisible, sans débordement */
@media (max-width:620px){
  .scx{padding-block:64px}
  .scx .h2{font-size:30px}
  .scx-lead{font-size:15px}
  .scx-points{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .scx-points li{flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:rgb(255 255 255/.04);border:1px solid rgb(255 255 255/.08);font-size:0;line-height:0}
  .scx-points li b{font-size:13px;line-height:1.25}
  .scx-points li>span{width:30px;height:30px;border-radius:9px}
  .scx-boutons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .scx-boutons .btn{justify-content:center;padding:14px 10px;font-size:13px}
  .scx-note{font-size:11.5px;text-align:center}
  .scx-scene{padding:6px 18px 28px 0}
  .scx-fenetre,.scx-on .scx-fenetre{transform:none}
  .scx-barre{padding:8px 10px;gap:10px}
  .scx-points-nav i{width:8px;height:8px}
  .scx-url{font-size:9.5px;padding:5px 9px}
  .scx-url-texte,.scx-on .scx-url-texte{max-width:none;border-right:0;animation:none;text-overflow:ellipsis}
  .scx-tel{width:30%;border-radius:20px;padding:5px}
  .scx-tel img{border-radius:16px}
  .scx-notifs{left:0;bottom:0;width:62%}
  .scx-notif{padding:7px 9px;gap:8px;font-size:9.5px;border-radius:11px}
  .scx-notif b{font-size:10.5px}
  .scx-notif>span{width:24px;height:24px;border-radius:7px}
  .scx-notif .ico{width:13px;height:13px}
  .scx-parcours{margin-top:56px}
  .scx-p-tete{margin-bottom:22px}
  .scx-p-etapes{grid-template-columns:1fr 1fr;gap:8px}
  .scx-p-etape{flex-direction:column;gap:8px;padding:12px 12px 16px;font-size:0;line-height:0}
  .scx-p-etape b{font-size:12.5px;line-height:1.3;margin:0}
  .scx-p-num{width:28px;height:28px;font-size:12px}
  .scx-p-progres{left:12px;right:12px;bottom:7px}
  .scx-p-vue{padding-bottom:30px}
  .scx-p-bulle{right:8px;left:8px;justify-content:center;font-size:12px;padding:10px 12px}
  .scx-parent{margin-top:64px;gap:28px}
  .scx-pa-liste{grid-template-columns:1fr 1fr;gap:10px}
  .scx-pa-liste li{flex-direction:column;align-items:flex-start;gap:8px;padding:12px;border-radius:14px;background:rgb(255 255 255/.04);border:1px solid rgb(255 255 255/.08);font-size:0;line-height:0}
  .scx-pa-liste li b{font-size:13px;line-height:1.25}
  .scx-pa-liste li>span{width:30px;height:30px}
  .scx-pa-scene{gap:14px;padding-bottom:0}
  .scx-chiffres{margin-top:40px;gap:10px}
  .scx-chiffres>div{padding:16px}
  .scx-chiffres b{font-size:24px}
  .scx-chiffres span{font-size:12px}
}
