/* nsft-ui.css — design system nsft.fr
   Géométrie relevée sur le CSS de production de withallo.com (cf. docs/02_WITHALLO_DESIGN_SYSTEM.md §8),
   marque NOESIS (navy #060E61 du logo). Boutons : rayon 8 px (règle nsft).
   Ne pas éditer les valeurs sans mettre à jour la convention §2.1. */
/* ═══════════════════════════════════════════════════════════════════
   nsft-ui — géométrie withallo (lue dans leur CSS), marque nsft.
   ink = navy 6,14,97 partout où withallo utilise 11,33,32 ; amber = leur jaune ;
   rayons : cartes/puces/pages 5px (comme eux), boutons 8px (règle nsft).
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --ink:6,14,97;--navy:#060E61;--navy-mid:#111C8C;--navy-dark:#040A45;--navy-deep:#03063A;
  --z0:#fff;--z1:#FAFAFD;--z2:#F4F5FB;--hair:rgba(6,14,97,.12);--line:rgba(6,14,97,.10);--line-14:rgba(6,14,97,.14);--line-18:rgba(6,14,97,.18);
  --amber:#F2B441;--amber-2:#F7CE79;--amber-3:#F5C355;--success:#1E9E6A;--danger:#ED3821;--blue:#3D5BFF;
  --font-body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-grotesque:"Inter Tight","Inter",ui-sans-serif,system-ui,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ink-2:#283056;--text-muted:#5E6689;
  --focus-ring:var(--navy);--focus-halo:#fff;
  --radius-xs:5px;--radius-card:5px;--radius-btn:8px;
  --button-height:44px;--button-height-small:40px;--button-height-large:50px;
  --button-padding:1.875rem;--button-padding-small:1.5rem;--button-padding-large:2.25rem;
  --rail:calc(max(0px,(100% - 1440px)/2) + 72px);
  --spring-soft:cubic-bezier(.22,1,.36,1);
  --shadow-win:0 24px 60px -30px rgba(6,14,97,.35);
  --shadow-focal:0 38px 64px -14px rgba(6,14,97,.18),0 16px 28px -10px rgba(6,14,97,.12),0 4px 10px rgba(6,14,97,.06);
  --logo:url("../images/nsft/logo-mark.png");--logo-w:url("../images/nsft/logo-mark-white.png");
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{margin:0;font-family:var(--font-body);font-weight:300;font-size:16px;line-height:1.4;color:var(--navy);background:linear-gradient(#F4F5FB 0%,#fff 100%);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,ul,figure,blockquote{margin:0}ul{padding:0;list-style:none}
a{color:inherit}button{font:inherit;color:inherit}
img,svg{display:block;max-width:100%}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:8px 12px;border-radius:var(--radius-btn);z-index:2000}.skip:focus{left:8px}
.icon{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.icon--fill{fill:currentColor;stroke:none}
/* colonne 1440 / 20 / 32 / 132 */
.wrap{margin:0 auto;width:100%;max-width:1440px;padding:0 20px}
@media(min-width:768px){.wrap{padding:0 32px}}@media(min-width:1280px){.wrap{padding:0 132px}}
.wrap--rail{padding:0}@media(min-width:768px){.wrap--rail{padding:0 32px}}@media(min-width:1280px){.wrap--rail{padding:0 72px}}
/* typo */
.h2{font-family:var(--font-grotesque);font-size:clamp(1.9rem,1rem + 2.5vw,3rem);font-weight:500;letter-spacing:-.8px;line-height:1.05;white-space:pre-line;text-wrap:balance;color:var(--navy);max-width:22ch}
.h2--v2{font-size:clamp(2.1rem,1.6rem + 1.9vw,3.4rem);font-weight:600;letter-spacing:-.02em;line-height:1.1}
.t-reg{font-size:1.125rem;line-height:1.4;font-weight:300}
.t-small{font-size:1rem;line-height:1.5;font-weight:300}
.mono-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}
.ink-45{color:var(--text-muted)}.ink-55{color:var(--text-muted)}.ink-62{color:rgba(var(--ink),.62)}.ink-65{color:rgba(var(--ink),.65)}.ink-68{color:rgba(var(--ink),.68)}.ink-75{color:rgba(var(--ink),.75)}
/* boutons (allo-button : h44, px30, 15px, 400 ; small h40/px24 ; large h50/px36) — rayon 8px règle nsft */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:var(--button-height);padding:0 var(--button-padding);border-radius:var(--radius-btn);border:1px solid transparent;font-size:.9375rem;font-weight:400;line-height:1;letter-spacing:-.1px;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;transition:all .3s ease-in-out;white-space:nowrap}
.btn--primary{color:#fff;background:var(--navy);border-color:var(--navy)}.btn--primary:hover{color:var(--navy);background:#fff}
.btn--secondary{color:var(--navy);background:#fff;border-color:var(--navy)}.btn--secondary:hover{color:#fff;background:var(--navy);border-color:#fff}
.btn--border{color:var(--navy);background:transparent;border-color:var(--navy)}.btn--border:hover{color:#fff;background:var(--navy)}
.btn--white-outline{color:#fff;background:transparent;border-color:rgba(255,255,255,.3)}.btn--white-outline:hover{background:rgba(255,255,255,.1)}
.btn--small{height:var(--button-height-small);padding:0 var(--button-padding-small)}.btn--large{height:var(--button-height-large);padding:0 var(--button-padding-large);font-size:1rem}
/* texte qui glisse au survol (button-text is-1/is-2) */
.btn .bt{display:flex;align-items:center;height:1.25em;position:relative;overflow:hidden;z-index:1}
.btn .bt span{display:block;transition:transform .3s ease-in-out,opacity .3s ease-in-out}
.btn .bt span+span{position:absolute;left:0;top:0;opacity:0;transform:translateY(210%)}
.btn:hover .bt span:first-child{opacity:0;transform:translateY(-150%)}.btn:hover .bt span+span{opacity:1;transform:none}
/* super-button (leur CTA jaune) → amber */
.super{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:40px;padding:0 1.5rem;border-radius:var(--radius-btn);color:var(--navy);font-size:.9375rem;font-weight:400;line-height:1;text-decoration:none;position:relative;overflow:hidden;white-space:nowrap;background:radial-gradient(120% 160% at 50% -30%,rgba(255,255,255,.75) 0%,rgba(255,255,255,0) 58%),var(--amber);box-shadow:inset 0 0 0 1px rgba(6,14,97,.07);transition:all .3s cubic-bezier(.25,.8,.25,1)}
.super::before{content:"";position:absolute;top:0;bottom:0;left:-40%;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .6s}
.super:hover{background:radial-gradient(120% 160% at 50% -30%,rgba(255,255,255,.9) 0%,rgba(255,255,255,0) 58%),var(--amber-3)}.super:hover::before{left:150%}
.super--hero{height:54px;padding:0 2.5rem;font-size:16px}.super--band{height:50px;padding:0 2.25rem;font-size:1rem}
/* rails décoratifs (hairlines à 72px du bord de colonne + croix 12px) */
[data-rails]{position:relative}
.rails{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:visible}
.rails .top{position:absolute;left:0;right:0;top:0;height:1px;background:var(--hair)}
.rails .v,.rails .h,.rails svg{display:none}
@media(min-width:1280px){
  .rails .top{display:none}
  .rails .v{display:block;position:absolute;top:18px;bottom:18px;width:1px;background:var(--hair)}
  .rails .v.l{left:var(--rail)}.rails .v.r{right:var(--rail)}
  .rails .h{display:block;position:absolute;top:0;height:1px;background:var(--hair)}
  .rails .h.l{left:0;width:calc(var(--rail) - 18px)}.rails .h.r{right:0;width:calc(var(--rail) - 18px)}.rails .h.m{left:calc(var(--rail) + 18px);right:calc(var(--rail) + 18px)}
  .rails svg{display:block;position:absolute;top:-6px;width:12px;height:12px}
  .rails svg.l{left:calc(var(--rail) - 6px)}.rails svg.r{right:calc(var(--rail) - 6px)}
}
.rails--dark .top,.rails--dark .v,.rails--dark .h{background:rgba(255,255,255,.14)}
/* ───── barre d'annonce + navbar (h-10 + h-84) ───── */
.announce{display:none;height:40px;background:var(--navy-dark);color:#fff}
@media(min-width:1024px){.announce{display:block}}
.announce .wrap{height:100%;display:flex;align-items:center;justify-content:space-between}
.announce__l{display:flex;align-items:center;gap:6px;font-size:13px;color:rgba(255,255,255,.6)}
.announce__l a{color:#fff;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.announce__l a:hover{opacity:.7}
.announce__login{font-size:14px;font-weight:500;color:rgba(255,255,255,.8);text-decoration:none}.announce__login:hover{color:#fff}
.nav{position:sticky;top:0;z-index:50}@media(min-width:1024px){.nav{top:-40px}}
.navbar{height:84px;background:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(6,14,97,.08);transition:background-color .3s ease,backdrop-filter .3s ease,border-color .3s ease}
html.nav-at-top .navbar{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}
.navbar .wrap{height:100%;display:flex;align-items:center;justify-content:space-between}
.nav__l{display:flex;align-items:center;gap:32px}
.logo{display:inline-flex;align-items:center;gap:10px;height:40px;text-decoration:none;color:var(--navy)}
.logo__mark{width:32px;height:32px;flex:none;background:var(--logo) center/contain no-repeat}
.logo__word{font-family:var(--font-grotesque);font-weight:600;font-size:17px;letter-spacing:-.01em;line-height:1}
.logo__word small{display:block;font-family:var(--font-body);font-weight:400;font-size:9.5px;letter-spacing:.04em;color:var(--text-muted);margin-top:2px}
.menu{display:none;align-items:center;gap:24px;transform:translateY(1px)}@media(min-width:1024px){.menu{display:flex}}
.menu__item{position:relative}
.menu__btn{display:inline-flex;align-items:center;gap:4px;height:40px;background:none;border:0;padding:0;font-size:15px;font-weight:400;line-height:1;color:var(--navy);cursor:pointer;text-decoration:none;transition:opacity .15s}.menu__btn:hover{opacity:.7}
.menu__btn .icon{width:12px;height:12px}
.panel{position:absolute;top:100%;margin-top:12px;z-index:50;opacity:0;visibility:hidden;transform:translateY(4px);pointer-events:none;transition:all .15s}
.menu__item.is-open .panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.panel__box{background:#fff;border:1px solid rgba(6,14,97,.08);border-radius:6px;box-shadow:0 30px 60px -20px rgba(6,14,97,.15)}
.panel--mega .panel__box{width:980px;padding:24px;display:grid;grid-template-columns:1fr 440px}
.panel--sol .panel__box{width:860px;padding:24px;display:grid;grid-template-columns:2fr 3fr}
.panel--res .panel__box{width:820px;padding:24px;display:grid;grid-template-columns:1fr 2fr}
.panel--loc{right:0}.panel--loc .panel__box{width:160px;padding:8px}
.col-l{padding-right:24px}.col-r{border-left:1px solid rgba(6,14,97,.08);padding-left:24px}
.featured{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:16px;border-radius:4px;background:linear-gradient(162deg,var(--navy-mid) 0%,var(--navy-deep) 100%);border:1px solid rgba(255,255,255,.06);text-decoration:none;color:#fff;transition:filter .15s}.featured:hover{filter:brightness(1.1)}
.featured b{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px}
.featured .tag{font-family:var(--font-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.15)}
.featured p{font-size:12px;color:rgba(255,255,255,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.featured .icon{margin-left:auto;width:14px;height:14px;opacity:.5}
.plabel{display:inline-flex;align-items:center;gap:4px;margin-bottom:12px;text-decoration:none}.plabel .icon{width:10px;height:10px;opacity:.45}
.mi-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:4px;row-gap:2px}
.mi{display:flex;align-items:flex-start;gap:12px;margin-left:-12px;padding:10px 12px;border-radius:4px;text-decoration:none;color:var(--navy);transition:background .15s}.mi:hover{background:rgba(6,14,97,.04)}
.mi .icon{width:18px;height:18px;opacity:.7;margin-top:1px}
.mi b{display:block;font-size:13.5px;font-weight:500;line-height:1.3;white-space:nowrap}.mi b .new{display:inline-block;margin-left:6px;font-family:var(--font-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:999px;background:rgba(30,158,106,.15);color:var(--success)}
.mi span{display:block;font-size:12px;line-height:1.3;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mi--phone{background:rgba(30,158,106,.04);margin-left:0;padding:10px 8px}.mi--phone b{color:#137A50;font-weight:600}
.lg-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:12px;row-gap:2px}
.lg{display:flex;align-items:center;gap:10px;margin-left:-8px;padding:6px 8px;border-radius:2px;font-size:13.5px;font-weight:500;color:var(--navy);text-decoration:none}.lg:hover{background:rgba(6,14,97,.04)}
.lg i{width:18px;height:18px;border-radius:4px;display:grid;place-items:center;font:600 9px var(--font-mono);color:#fff;background:var(--navy)}
.demo{display:block;position:relative;overflow:hidden;border-radius:4px;aspect-ratio:16/9;text-decoration:none;background:#E3E7FA;background-image:repeating-linear-gradient(135deg,rgba(6,14,97,.07) 0 1px,transparent 1px 16px)}
.demo::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.15)}
.demo .play{position:absolute;inset:0;display:grid;place-items:center;z-index:1}.demo .play i{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;color:var(--navy);box-shadow:0 4px 10px rgba(0,0,0,.15)}
.demo p{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:24px 12px 12px;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);color:#fff;font-size:12px;font-weight:500}
.locale-opt{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:4px;font-size:13.5px;font-weight:500;color:var(--navy);text-decoration:none}.locale-opt:hover,.locale-opt.is-on{background:rgba(6,14,97,.04)}.locale-opt .icon{margin-left:auto;width:14px;height:14px;opacity:.5}
.flag{display:inline-block;width:16px;height:16px;border-radius:2px;flex:none}
.flag--fr{background:linear-gradient(90deg,#0055A4 33.3%,#fff 33.3% 66.6%,#EF4135 66.6%)}.flag--en{background:linear-gradient(#C8102E 0 0) center/100% 28% no-repeat,linear-gradient(90deg,#C8102E 0 0) center/28% 100% no-repeat,#012169}
.nav__r{display:flex;align-items:center;gap:12px}
.loc-btn{display:none;height:40px;padding:0 8px;align-items:center;gap:6px;font-size:14px;text-transform:uppercase;background:none;border:0;cursor:pointer;color:var(--navy)}@media(min-width:1024px){.loc-btn{display:inline-flex}}
.pill-phone{display:none;height:40px;align-items:center;gap:6px;padding:0 16px;border-radius:var(--radius-btn);font-size:14px;color:var(--navy);text-decoration:none;background:rgba(6,14,97,.05);border:1px solid rgba(6,14,97,.14);transition:background .2s}.pill-phone:hover{background:rgba(6,14,97,.08)}.pill-phone .icon{width:15px;height:15px;opacity:.7}
@media(min-width:1024px){.pill-phone{display:inline-flex}}
.nav-demo{display:none;height:40px;align-items:center;padding:0 20px;border-radius:var(--radius-btn);font-size:14px;color:#fff;background:var(--navy);text-decoration:none;transition:background .2s}.nav-demo:hover{background:rgba(6,14,97,.8)}
@media(min-width:1024px){.nav-demo{display:inline-flex}}
.burger{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;border:0;background:none;cursor:pointer;color:var(--navy)}@media(min-width:1024px){.burger{display:none}}
html.nav-at-top .navbar .menu__btn,html.nav-at-top .navbar .loc-btn{color:var(--navy)}
/* tiroir mobile */
.drawer{position:fixed;inset:0;z-index:100;background:#fff;transform:translateX(100%);visibility:hidden;transition:transform .35s var(--spring-soft),visibility 0s linear .35s;overflow:auto;padding:16px 20px 40px}
.drawer.is-open{transform:none;visibility:visible;transition-delay:0s}
.drawer__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.drawer details{border-top:1px solid var(--line)}.drawer summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:52px;font-size:17px;font-weight:500;cursor:pointer}.drawer summary::-webkit-details-marker{display:none}.drawer summary .icon{width:18px;height:18px;opacity:.6}.drawer details[open] summary .icon{transform:rotate(180deg)}
.drawer .panel__box{width:auto!important;display:block!important;padding:0 0 12px!important;border:0;box-shadow:none}.drawer .col-l,.drawer .col-r{padding:0;border:0}.drawer .mi-grid,.drawer .lg-grid{grid-template-columns:1fr}.drawer .demo{display:none}
.drawer__ctas{display:grid;gap:10px;margin:20px 0}.drawer__langs{display:flex;gap:16px;font-size:14px}.drawer__langs a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:500;color:var(--navy)}
body.lock{overflow:hidden}
.drawer__link{display:flex;align-items:center;min-height:52px;border-top:1px solid var(--line);color:var(--navy);font-size:17px;font-weight:500;text-decoration:none}
.drawer__ctas>.super{height:50px}.drawer__ctas>.lnk{justify-content:center}
.u-i18{width:18px;height:18px}#burger .icon{stroke-width:1.5}
@media(prefers-reduced-motion:reduce){.drawer,.panel{transition:none}}
/* ───── T01-1 héro ───── */
.hero{position:relative;margin-top:-84px;overflow:hidden;background:linear-gradient(180deg,#EEF0F7 0%,#E9EDF6 45%,#E0E7F8 100%)}
.hero__photo{display:none;position:absolute;inset:0;transition:opacity 420ms var(--spring-soft);opacity:0;background:#E4E8F7;background-image:repeating-linear-gradient(135deg,rgba(6,14,97,.06) 0 1px,transparent 1px 16px),linear-gradient(180deg,rgba(6,14,97,0) 30%,rgba(6,14,97,.08) 100%)}
.hero__photo.is-on{opacity:1}
@media(min-width:768px){.hero__photo{display:block}}
.hero__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%}
.ph-cap{position:absolute;display:grid;justify-items:center;gap:6px;padding:16px;font-size:12.5px;font-weight:500;text-align:center;color:rgba(var(--ink),.6);max-width:260px;line-height:1.35}
.ph-cap i{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--navy);box-shadow:0 1px 2px rgba(6,14,97,.08)}.ph-cap i .icon{width:20px;height:20px}
.ph-cap small{font-weight:400;font-size:11.5px;color:rgba(var(--ink),.5)}
.hero__photo .ph-cap{right:6%;top:22%}
.hero .dots{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(6,14,97,.9) .55px,transparent .65px);background-size:2.8px 2.8px;mix-blend-mode:multiply;opacity:.4;mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.7) 40%,transparent 78%);-webkit-mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.7) 40%,transparent 78%)}
.hero__body{position:relative;padding-top:100px}@media(min-width:768px){.hero__body{padding-top:136px}}
.hh-copy{position:relative;z-index:10;max-width:1120px;text-align:left}
.badge{display:inline-flex;align-items:center;gap:10px;margin-bottom:20px;text-decoration:none;color:var(--navy);font-size:15px;line-height:1.25;white-space:nowrap;font-variant-numeric:tabular-nums}
.badge i{display:grid;place-items:center;width:26px;height:26px;border-radius:5px;background:rgba(6,14,97,.08);color:var(--navy)}.badge i .icon{width:15px;height:15px;stroke-width:1.9;fill:var(--amber);stroke:none}
.badge:hover span{text-decoration:underline}
.h1{font-family:var(--font-grotesque);font-size:clamp(2.05rem,1.1rem + 4.2vw,4.4rem);font-weight:600;line-height:1.02;letter-spacing:-1.4px;max-width:min(17.4em,100%);text-wrap:balance;color:var(--navy)}
.rot{display:inline-block;position:relative;white-space:nowrap}
.rot span{position:absolute;left:0;top:0;opacity:0;transform:translateY(.3em);transition:opacity .35s var(--spring-soft),transform .35s var(--spring-soft)}
.rot span.is-on{position:static;opacity:1;transform:none}
.hero__ctas{margin-top:32px;display:flex;flex-direction:column;gap:10px;align-items:stretch}
@media(min-width:640px){.hero__ctas{flex-direction:row;align-items:center;gap:12px}}
.call-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 28px;border-radius:var(--radius-btn);font-size:16px;font-weight:400;color:#fff;background:var(--navy);border:1px solid var(--navy);text-decoration:none;transition:background-color .25s,border-color .25s}.call-cta:hover{background:var(--navy-mid);border-color:var(--navy-mid)}.call-cta .icon{width:17px;height:17px}
.assures{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;column-gap:24px;row-gap:8px;font-size:14px;color:rgba(var(--ink),.62)}@media(min-width:768px){.assures{margin-top:36px}}
.assures li{display:flex;align-items:center;gap:8px}.assures .icon{width:13px;height:13px;stroke-width:2.6;opacity:.75}
@media(max-width:767px){.assures{flex-direction:column;align-items:flex-start;row-gap:10px;margin-top:24px}}
/* portes (onglets du héro) */
.doors-wrap{position:relative;z-index:10;margin-top:40px;display:none}@media(min-width:768px){.doors-wrap{display:block;margin-top:48px}}
.doors{position:relative;display:grid;grid-template-columns:repeat(3,1fr);max-width:1440px;margin:0 auto;padding:0 4px}@media(min-width:1280px){.doors{padding:0 72px}}
.doors::before,.doors::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--hair)}.doors::before{top:0}.doors::after{bottom:0}
@media(min-width:1280px){.doors::before,.doors::after{left:calc(var(--rail) + 6px);right:calc(var(--rail) + 6px)}}
.door{position:relative;text-align:left;border:0;padding:28px 28px;cursor:pointer;background:rgba(255,255,255,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background-color 1200ms ease}
@media(min-width:1280px){.door{padding:32px 60px}}
.door+.door{border-left:1px solid var(--hair)}
.door:hover{background:rgba(255,255,255,.58);transition:background-color 180ms ease,backdrop-filter 180ms ease}.door.is-on{background:rgba(255,255,255,.64)}
.door__head{display:flex;align-items:center;gap:10px}
.door__chip{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:rgba(6,14,97,.07);color:var(--navy);transition:background .2s}.door__chip .icon{width:15px;height:15px}
.door.is-on .door__chip{background:var(--navy);color:#fff}
.door__name{font-family:var(--font-grotesque);font-size:19px;font-weight:600;line-height:1.2;letter-spacing:-.3px;color:rgba(var(--ink),.78)}.door.is-on .door__name{color:var(--navy)}
.door__body{display:block;margin-top:14px;font-size:14px;font-weight:300;line-height:1.45;color:rgba(var(--ink),.66);text-wrap:balance}.door.is-on .door__body{color:rgba(var(--ink),.75)}
.marker{position:absolute;left:0;right:0;bottom:0;z-index:30;padding:0 4px;pointer-events:none}@media(min-width:1280px){.marker{padding:0 72px}}
.marker i{display:block;height:3px;width:33.333%;background:var(--navy);transition:transform 420ms var(--spring-soft)}
/* scène : fenêtre applicative 16/9 + carte flottante */
.stage-wrap{position:relative;z-index:10;padding:32px 0 56px}@media(min-width:768px){.stage-wrap{padding:40px 0 80px}}
.stage{position:relative;margin-inline:auto}
@media(max-width:767px){.win{display:none}.stage-wrap{padding:0 0 40px}}


.win{position:relative;z-index:10;border-radius:12px;overflow:hidden;background:var(--z1);border:1px solid var(--line-14);box-shadow:var(--shadow-win)}
.win__bar{display:flex;align-items:flex-start;gap:6px;height:22px;padding:11px 11px 0}.win__bar i{width:9px;height:9px;border-radius:50%}.win__bar i:nth-child(1){background:#ff5f57}.win__bar i:nth-child(2){background:#febc2e}.win__bar i:nth-child(3){background:#28c840}
.win__view{position:relative;width:100%;overflow:hidden}
.stage{padding-right:0}
@media(min-width:1024px){.stage{padding-right:19%}}
.app{width:1440px;height:810px;transform-origin:left top;display:flex;overflow:hidden;background:var(--z1);border-radius:14px;font-family:var(--font-body);font-weight:400;position:absolute;left:0;top:0;opacity:0;visibility:hidden;transition:opacity 420ms var(--spring-soft),visibility 0s linear 420ms}
.app.is-on{opacity:1;visibility:visible;transition-delay:0s}
.app__side{width:256px;flex:none;display:flex;flex-direction:column;padding:12px}
.app__line{display:flex;align-items:center;gap:8px;padding:8px;border-radius:12px;background:#fff;border:1px solid #E9EBF6;margin-bottom:6px}.app__line b{display:block;font-size:14px;font-weight:600;line-height:1.3;color:var(--navy)}.app__line span{display:block;font-size:13px;font-weight:500;color:#5C6390}.app__line em{width:22px;height:22px;border-radius:6px;background:var(--navy);display:grid;place-items:center;color:#fff;font:600 10px var(--font-mono);font-style:normal;flex:none}
.app__act{display:flex;gap:4px;margin-bottom:12px}.app__act span{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;height:28px;border-radius:8px;font-size:13px;font-weight:500;background:#fff;box-shadow:inset 0 0 0 1px #E9EBF6;color:var(--navy)}.app__act span.pri{background:var(--navy);color:#fff;box-shadow:none}
.app__grp{font-size:13px;font-weight:500;color:#5C6390;padding:6px 6px 2px}
.app__nav a{display:flex;align-items:center;gap:6px;padding:6px;border-radius:12px;font-size:13px;font-weight:500;color:#3B4374;text-decoration:none}.app__nav a.is-on{background:#E9EBF6;color:var(--navy)}.app__nav .icon{width:16px;height:16px}
.app__sep{height:1px;background:#E9EBF6;margin:10px 0}
.app__mem{display:flex;align-items:center;gap:6px;padding:6px;font-size:13px;font-weight:500;color:var(--navy)}.app__mem i{width:20px;height:20px;border-radius:7px;background:#D5D9F0;position:relative;flex:none}.app__mem i::after{content:"";position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border-radius:50%;background:var(--success);border:1.5px solid var(--z1)}.app__mem i.off::after{background:#C0CBC7}.app__mem i.busy::after{background:#E5B635}
.app__main{flex:1;min-width:0;display:flex;flex-direction:column;padding:12px 12px 12px 0}
.app__cols{display:flex;gap:6px;flex:1;min-height:0}
.app__list{width:345px;flex:none;background:#fff;border:1px solid #E9EBF6;border-radius:12px;padding:16px;overflow:hidden}
.app__det{flex:1;min-width:0;background:#fff;border:1px solid #E9EBF6;border-radius:12px;padding:20px;overflow:hidden}
.app__h{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--navy);margin-bottom:12px}.app__h .icon{width:18px;height:18px}.app__h em{margin-left:auto;font-style:normal;font-size:13px;font-weight:500;color:#5C6390}
.prog{height:6px;border-radius:99px;background:#E9EBF6;overflow:hidden;margin-bottom:8px}.prog i{display:block;height:100%;width:32%;background:var(--navy);border-radius:99px}
.app__meta{font-size:12px;font-weight:500;color:#5C6390;margin-bottom:10px}
.app__lab{font-size:12px;font-weight:600;letter-spacing:.04em;color:#6A719C;padding:4px 8px}
.row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px}.row i{width:28px;height:28px;border-radius:11px;background:#E9EBF6;display:grid;place-items:center;font:500 11px var(--font-body);color:#3B4374;flex:none}.row b{display:block;font-size:13px;font-weight:500;line-height:1.3;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row small{display:block;font-size:12px;font-weight:500;color:#5C6390}.row .r{margin-left:auto;flex:none;font-size:11px;font-weight:600;padding:2px 6px;border-radius:6px;background:#E9EBF6;color:#4B5385}.row .r.ok{background:#D9F3E6;color:#0F6B47}.row .r.warn{background:#FDF1D6;color:#8A5A00}
.row.live{background:#EEF4FF;box-shadow:inset 0 0 0 1px #CFE0FF}.row.live b{font-weight:600}.row.live small{color:var(--navy)}
.dim{opacity:.55}
.det__head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.det__head i{width:52px;height:52px;border-radius:20px;background:#D5D9F0;flex:none}.det__head b{display:block;font-size:20px;font-weight:600;line-height:1.25;color:var(--navy)}.det__head span{display:block;font-size:14px;font-weight:500;color:#5C6390}.det__head .live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;background:#EEF4FF;box-shadow:inset 0 0 0 1px #CFE0FF;font-size:13px;font-weight:600;color:var(--navy)}.det__head .live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success);animation:hhDot 1.8s ease-in-out infinite}
@keyframes hhDot{0%,100%{opacity:1}50%{opacity:.35}}
.det__tools{display:flex;gap:6px;margin-bottom:16px}.det__tools span{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #E9EBF6;font-size:14px;font-weight:500;color:#20315A}.det__tools span.end{margin-left:auto;background:#FFECEB;box-shadow:inset 0 0 0 1px #FFD3D0;color:#C0332C}
.det__lab{font-size:13px;font-weight:600;color:#3B4374;margin-bottom:10px}
.det__chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.det__chips span{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:12px;font-size:14px;font-weight:500;background:#fff;box-shadow:inset 0 0 0 1px #E9EBF6;color:#20315A}.det__chips span.on{background:var(--navy);color:#fff;box-shadow:none}
.det__note{border-radius:12px;padding:10px 12px;background:var(--z1);box-shadow:inset 0 0 0 1px #E9EBF6;font-size:14px;font-weight:500;line-height:1.45;color:#20315A;margin-bottom:16px}
.det__hist{display:flex;gap:10px;padding:10px 0;border-top:1px solid #E9EBF6}.det__hist:first-of-type{border-top:0}.det__hist i{width:22px;height:22px;border-radius:6px;background:#F1F3FA;display:grid;place-items:center;flex:none}.det__hist i .icon{width:13px;height:13px}.det__hist b{display:block;font-size:13.5px;font-weight:500;line-height:1.4;color:#20315A}.det__hist span{display:block;font-size:12.5px;font-weight:500;color:#5C6390}
.det__sync{display:flex;align-items:center;gap:8px;padding-top:14px;margin-top:14px;border-top:1px solid #E9EBF6;font-size:13px;font-weight:500;color:#51628F}.det__sync i{width:20px;height:20px;border-radius:6px;background:#F1F3FA;display:grid;place-items:center;font:600 9px var(--font-mono);color:var(--navy)}.det__sync .icon{width:14px;height:14px;color:var(--success)}
.app__toast{display:flex;align-items:center;gap:10px;height:60px;margin-top:6px;padding:0 16px;border-radius:16px;background:#fff;border:1px solid #E9EBF6;font-size:14px;font-weight:500;color:#3B4374}.app__toast i{width:28px;height:28px;border-radius:8px;background:#F1F3FA;display:grid;place-items:center}.app__toast .icon{width:16px;height:16px}.app__toast em{margin-left:auto;font-style:normal;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:12px;background:#F1F3FA;box-shadow:inset 0 0 0 1px #E9EBF6}.app__toast em::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success)}
.side-card{display:none;position:absolute;right:0;top:12%;width:22%;flex-direction:column;gap:14px;padding:20px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-radius:12px;border:1px solid var(--line-14);box-shadow:var(--shadow-win);z-index:20}
@media(min-width:1024px){.side-card{display:flex}}
.m-cards{display:none;flex-direction:column;gap:10px}
@media(max-width:767px){.m-cards{display:flex}}
.m-card{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border:1px solid var(--line-14);border-radius:var(--radius-card);box-shadow:0 12px 30px -18px rgba(6,14,97,.35);font-size:13.5px;font-weight:500;color:var(--navy)}
.m-card i{width:34px;height:34px;border-radius:9px;background:var(--z2);display:grid;place-items:center;color:var(--navy);flex:none}
.m-card small{display:block;font-weight:300;font-size:12.5px;color:rgba(var(--ink),.6);margin-top:2px}
.m-card em{margin-left:auto;font-style:normal;font-family:var(--font-mono);font-size:10.5px;color:#137A50;white-space:nowrap}
.side-card .lab{font-family:var(--font-mono);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}
.side-card .row1{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;background:var(--z2);box-shadow:inset 0 0 0 1px rgba(6,14,97,.08);font-size:13px;font-weight:500}.side-card .row1 .icon{width:16px;height:16px}
.side-card .or{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:300;color:var(--text-muted)}.side-card .or::before,.side-card .or::after{content:"";flex:1;height:1px;background:rgba(6,14,97,.1)}
.side-card .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.side-card .grid span{display:grid;place-items:center;padding:10px 0;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 1px rgba(6,14,97,.08);font:600 11px var(--font-mono);color:var(--navy)}
.side-card p{font-size:12px;font-weight:300;line-height:1.35;color:var(--text-muted)}
/* ───── T01-2 rail ───── */
.rail-sec{position:relative;background:#fff}
.rail{position:relative;height:120px;overflow:hidden}@media(min-width:768px){.rail{height:148px}}
.rail__track{display:flex;height:100%;width:max-content;animation:marquee-left 70s linear infinite;will-change:transform}.rail:hover .rail__track{animation-play-state:paused}
@keyframes marquee-left{0%{transform:translate(0)}to{transform:translate(-50%)}}
.cell{position:relative;display:grid;place-items:center;height:100%;width:152px;flex:none;padding:0 20px;border-right:1px solid var(--line);text-decoration:none;transition:background-color .3s ease-out}@media(min-width:768px){.cell{width:204px;padding:0 32px}}
a.cell:hover{background:var(--z1)}
.cell .lg-ph{width:102px;height:27px;display:grid;place-items:center;border-radius:4px;background:#F1F3FA;background-image:repeating-linear-gradient(135deg,rgba(6,14,97,.08) 0 1px,transparent 1px 10px);font-family:var(--font-grotesque);font-size:14px;font-weight:600;color:rgba(6,14,97,.55);letter-spacing:-.01em;transition:color .3s}@media(min-width:768px){.cell .lg-ph{width:132px;height:35px;font-size:16px}}
a.cell:hover .lg-ph{color:var(--navy)}
.cell .ul{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(6,14,97,.7);transform:scaleX(0);transform-origin:left;transition:transform .3s ease-out}a.cell:hover .ul{transform:scaleX(1)}
.cell .read{position:absolute;right:10px;bottom:8px;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;line-height:1;color:rgba(6,14,97,.4);transition:color .3s}.cell .read span{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:all .3s ease-out}.cell .read .icon{width:22px;height:22px;stroke-width:1;transition:transform .3s}
a.cell:hover .read{color:var(--navy)}a.cell:hover .read span{max-width:7rem;opacity:1}a.cell:hover .read .icon{transform:translate(3px,-3px)}
.rail__cap{display:none;position:absolute;inset:0 auto 0 0;width:300px;align-items:center;padding:0 32px 0 0;background:#fff;border-right:1px solid var(--line);z-index:2;font-family:var(--font-grotesque);font-size:1.125rem;line-height:1.4;font-weight:500;color:rgba(0,0,0,.8);text-wrap:balance}
@media(min-width:768px){.rail__cap{display:flex}}@media(min-width:1024px){.rail__cap{width:380px}}@media(min-width:1280px){.rail__cap{width:440px;padding-left:60px}}
.rail__cap-m{padding:16px 20px;border-bottom:1px solid var(--line);text-align:center;font-family:var(--font-grotesque);font-size:1.125rem;font-weight:500;color:rgba(0,0,0,.8)}@media(min-width:768px){.rail__cap-m{display:none}}
/* ───── sections génériques ───── */
.sec{position:relative;background:var(--z0)}
.sec--s{padding:64px 0}.sec--m{padding:80px 0}.sec--l{padding:80px 0}
@media(min-width:768px){.sec--s{padding:80px 0}.sec--m{padding:96px 0}.sec--l{padding:112px 0}}
.head2{display:grid;gap:24px;margin-bottom:48px}@media(min-width:768px){.head2{grid-template-columns:minmax(0,1fr) minmax(0,26rem);align-items:end;gap:40px;margin-bottom:56px}}
.head2 .side{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.lnk{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--navy);text-decoration:none;transition:opacity .15s}.lnk:hover{opacity:.7}.lnk .icon{width:15px;height:15px;stroke-width:1.8;transition:transform .3s}.lnk:hover .icon{transform:translateX(2px)}
/* T01-3 étapes */
.steps{display:grid;gap:16px}@media(min-width:768px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{position:relative;display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:#FAFAFD;border:1px solid var(--line);border-radius:var(--radius-card)}
.step__txt{position:relative;z-index:20;padding:24px}@media(min-width:768px){.step__txt{padding:28px}}
.num{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:11px;font-weight:600;color:rgba(var(--ink),.68);background:rgba(6,14,97,.05);border-radius:6px;padding:3px 7px}
.step h3{margin-top:16px;font-family:var(--font-grotesque);font-size:19px;font-weight:600;line-height:1.35;color:var(--navy)}
.step p{margin-top:10px;font-size:1rem;line-height:1.5;font-weight:300;color:rgba(var(--ink),.65)}
.step__vis{position:relative;z-index:10;height:310px}
.step__vis::before{content:"";position:absolute;inset:-100px;background:radial-gradient(circle at 50% 50%,#fff 0%,rgba(250,250,253,0) 70%)}
.jba{position:relative;display:flex;justify-content:center;align-items:flex-start;height:100%}
.jba-stage{transform:perspective(1200px);transform-style:preserve-3d}
@media(max-width:1023px){.jba-stage{transform:perspective(1200px) rotateX(16deg)}}
.mini{background:rgba(253,253,255,.85);backdrop-filter:blur(14px) saturate(1.05);border:1px solid var(--line-14);border-radius:12px;width:280px;padding:16px;font-weight:500;font-size:12px;color:var(--navy)}
.mini__srch{display:flex;align-items:center;gap:7px;height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:#fff;box-shadow:0 1px 2px rgba(6,14,97,.03);margin-bottom:16px}.mini__srch .icon{width:13px;height:13px;opacity:.45}
.mini__list{display:flex;flex-direction:column;gap:12px}
.mini__row{display:flex;align-items:center;gap:12px;padding:0 16px;font-size:13px;font-weight:500;color:rgba(var(--ink),.5);font-variant-numeric:tabular-nums}.mini__row .bar{display:block;width:30px;height:6px;border-radius:99px;background:rgba(6,14,97,.11)}.mini__row .radio{margin-left:auto;width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(6,14,97,.16)}
.focal{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-focal);transform:translateZ(30px);transition:transform .6s var(--spring-soft),box-shadow .6s var(--spring-soft)}
.jba:hover .focal{transform:translateZ(50px);box-shadow:0 56px 92px -16px rgba(6,14,97,.22),0 24px 42px -12px rgba(6,14,97,.15),0 8px 16px rgba(6,14,97,.08)}
.focal__row{display:flex;align-items:center;gap:12px;padding:12px 16px;font-size:13px;font-weight:500;color:var(--navy)}.focal__row .icon{width:18px;height:18px;color:var(--success)}.focal__row .icon.nav{color:var(--navy)}
.mini__or{display:flex;align-items:center;gap:12px;padding:8px 16px 0;border-top:1px solid var(--line);margin-top:4px;font-size:11px;font-weight:600;color:rgba(var(--ink),.4)}
.mini-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:26px;padding:0 10px;border-radius:8px;background:var(--navy);color:#fff;font-size:11.5px;font-weight:500;white-space:nowrap}.mini-btn .icon{width:12px;height:12px}
.mini__team{display:flex;flex-direction:column;gap:14px}.mini__team .p{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:500}.mini__team .p i{width:28px;height:28px;border-radius:6px;background:#D5D9F0;border:1px solid var(--line);flex:none}.mini__team .p em{margin-left:auto;font-style:normal;font-size:10.5px;color:rgba(var(--ink),.42)}
.mini__flow{display:flex;flex-direction:column;gap:6px;padding:10px}.mini__flow .p{display:flex;align-items:center;gap:12px;padding:6px;font-size:12px;font-weight:500}.mini__flow .p i{width:24px;height:24px;border-radius:6px;background:#fff;border:1px solid var(--line);display:grid;place-items:center}.mini__flow .p i .icon{width:12px;height:12px;opacity:.7}.mini__flow .p em{margin-left:auto;font-style:normal;font-family:var(--font-mono);font-size:10px;font-weight:600;padding:3px 8px;border-radius:999px;background:#fff;border:1px solid var(--line);color:#5C6390}
.mini__vline{display:block;width:2px;height:16px;margin-left:34px;background:rgba(61,91,255,.4)}
.rule-box{padding:13px;width:290px;display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:500}.rule-box .lab{display:flex;align-items:center;gap:8px;color:var(--blue)}.rule-box .lab .icon{width:12px;height:12px}.rule-box .ai{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--blue)}.rule-box .ai i{width:28px;height:28px;border-radius:6px;border:1px solid rgba(61,91,255,.25);display:grid;place-items:center}.rule-box .ai i .icon{width:14px;height:14px}
.rule-box .out{padding:10px;border-radius:8px;background:rgba(61,91,255,.08);border:1px solid rgba(61,91,255,.28);display:flex;flex-direction:column;gap:6px}.rule-box .out span{display:flex;align-items:center;gap:8px;color:var(--navy)}.rule-box .out span:first-child{color:var(--blue);font-size:11.5px}.rule-box .out .icon{width:13px;height:13px;color:var(--blue)}
/* T01-4 accordéon métiers (jobs) */
.jobs__head{display:flex;flex-direction:column;gap:24px}@media(min-width:768px){.jobs__head{flex-direction:row;align-items:center;justify-content:space-between}}
.eai{display:flex;flex-direction:column;align-items:flex-start;gap:12px}@media(min-width:768px){.eai{align-items:flex-end}}
.eai__chips{display:inline-flex;gap:8px}.eai__chips a{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-14);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:rgba(var(--ink),.62);text-decoration:none;font:600 11px var(--font-mono);transition:transform .18s,border-color .18s,color .18s}.eai__chips a:hover{transform:translateY(-2px);border-color:rgba(6,14,97,.3);color:var(--navy)}
.jobs{margin-top:40px}
.jtabs{display:flex;flex-direction:column;border-top:1px solid #D8DCEE}
@media(min-width:768px){.jtabs{display:grid;grid-template-columns:minmax(20px,60px) repeat(4,minmax(0,1fr)) minmax(20px,60px);border-top:0;border-left:1px solid #D8DCEE;border-right:1px solid #D8DCEE}}
.jtab{position:relative;text-align:left;border:0;background:none;padding:16px 20px;cursor:pointer;border-bottom:1px solid #D8DCEE;transition:background-color .2s;grid-row:1}
@media(max-width:767px){.jtab{display:none}}
@media(min-width:768px){.jtab{padding:24px 28px;border-top:1px solid #D8DCEE;border-left:1px solid #D8DCEE}.jtab:nth-of-type(1){grid-column:2}.jtab:nth-of-type(2){grid-column:3}.jtab:nth-of-type(3){grid-column:4}.jtab:nth-of-type(4){grid-column:5;border-right:1px solid #D8DCEE}}
@media(min-width:1280px){.jtab{padding:28px 32px}}
.jtab:hover{background:#FBFBFE}.jtab.is-on{background:#F3F4FA}
.jtab__in{display:flex;align-items:center;gap:10px}
.jtab__chip{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-card);background:rgba(6,14,97,.07);color:var(--navy);flex:none}.jtab__chip .icon{width:15px;height:15px}.jtab.is-on .jtab__chip{background:var(--navy);color:#fff}
.jtab__name{font-family:var(--font-grotesque);font-size:19px;font-weight:600;line-height:1.2;letter-spacing:-.3px;color:rgba(var(--ink),.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jtab.is-on .jtab__name{color:var(--navy)}
.jtab__fill{position:absolute;left:0;right:0;bottom:0;height:1px;overflow:hidden}.jtab__fill i{position:absolute;inset:0;display:block;background:var(--navy);transform:scaleX(0);transform-origin:left center}
.jtab.is-on .jtab__fill i.run{animation:jtpFill 9000ms linear forwards}
@keyframes jtpFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.jpanel{grid-column:1/-1;grid-row:2;background:#fff;overflow:hidden;position:relative}
@media(min-width:768px){.jpanel{min-height:clamp(548px,calc(100svh - 268px),716px)}}
.jpane{display:grid;grid-template-columns:1fr;transition:opacity 300ms ease-out,transform 300ms ease-out}
@media(min-width:768px){.jpane{grid-template-columns:minmax(0,46%) minmax(0,1fr);position:absolute;inset:0}}
.jpane[hidden]{display:none}
.jpane__txt{display:flex;flex-direction:column;min-width:0;padding:28px}@media(min-width:640px){.jpane__txt{padding:40px}}@media(min-width:768px){.jpane__txt{padding:48px}}@media(min-width:1024px){.jpane__txt{padding:48px 56px}}@media(min-width:1280px){.jpane__txt{padding-left:60px}}
.jtitle{font-family:var(--font-body);font-size:clamp(1.5rem,1.32rem + .72vw,2rem);font-weight:400;line-height:1.16;letter-spacing:-.021em;color:var(--navy)}.jtitle span{display:block;text-wrap:balance}.jtitle span+span{color:rgba(var(--ink),.6)}
.jfeat{margin-top:28px;display:flex;flex-direction:column;gap:14px}@media(min-width:768px){.jfeat{margin-top:40px}}
.jfeat li{display:flex;align-items:flex-start;gap:12px}.jfeat li i{display:grid;place-items:center;width:22px;height:27px;flex:none}.jfeat li i .icon{width:20px;height:20px;opacity:.55}
.jfeat li span{font-size:1.125rem;font-weight:300;line-height:27px;color:rgba(var(--ink),.68);display:flex;flex-wrap:wrap;align-items:center;column-gap:10px}
.jfeat .logos{display:inline-flex;gap:6px}.jfeat .logos b{width:24px;height:24px;border-radius:var(--radius-card);border:1px solid #E9EBF6;background:#fff;display:grid;place-items:center;font:600 9px var(--font-mono);color:var(--navy)}
.jcta{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;column-gap:16px;row-gap:12px}@media(min-width:768px){.jcta{margin-top:44px}}
.jpane__vis{position:relative;order:-1;min-height:0}@media(min-width:768px){.jpane__vis{order:0;padding:40px 32px 24px 0}}@media(min-width:1280px){.jpane__vis{padding-right:60px}}
.jphoto{position:relative;height:100%;min-height:420px;overflow:hidden;background:var(--z1)}@media(min-width:768px){.jphoto{min-height:0;border-radius:var(--radius-card)}}
.jphoto .ph{position:absolute;inset:0;background:#E4E8F7;background-image:repeating-linear-gradient(135deg,rgba(6,14,97,.06) 0 1px,transparent 1px 16px)}
.jphoto .ph .ph-cap{right:24px;top:24px;max-width:220px}
.jphoto .dots{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(6,14,97,.9) .55px,transparent .65px);background-size:2.8px 2.8px;mix-blend-mode:multiply;opacity:.14}
.jphoto__ui{position:relative;z-index:10;display:flex;align-items:center;height:100%;padding:28px;padding-top:78px}@media(min-width:768px){.jphoto__ui{padding:28px}}
.jphoto__tag{position:absolute;left:20px;top:16px;z-index:2;display:flex;align-items:center;gap:10px}@media(min-width:768px){.jphoto__tag{display:none}}
.ui-card{width:100%;max-width:404px;font-family:var(--font-body)}
.glass{background:rgba(253,253,255,.62);backdrop-filter:blur(14px) saturate(1.05);border:1px solid var(--line-14);border-radius:8px}
.glass__h{display:flex;align-items:center;gap:9px;padding:9px 12px;border-bottom:1px solid rgba(6,14,97,.09);font-size:11.5px;font-weight:500;color:rgba(var(--ink),.8)}.glass__h em{margin-left:auto;font-style:normal;font-size:10.5px;color:rgba(var(--ink),.42)}.glass__h i{width:22px;height:22px;border-radius:50%;background:#D5D9F0;flex:none}
.glass__b{padding:10px 12px 14px}
.q{display:flex;align-items:center;gap:9px;height:40px;font-size:11.5px;font-weight:500;color:rgba(var(--ink),.8)}.q i{width:24px;height:24px;border-radius:50%;background:#D5D9F0;flex:none;opacity:.8}.q small{display:block;font-size:10px;font-weight:400;color:rgba(var(--ink),.42)}.q em{margin-left:auto;font-style:normal;font-size:10.5px;color:rgba(var(--ink),.42)}
.q.blur{filter:blur(.9px)}
.pick{position:relative;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 38px 64px -14px rgba(6,14,97,.42),0 16px 28px -10px rgba(6,14,97,.28),0 4px 10px rgba(6,14,97,.16);display:flex;align-items:center;gap:10px;padding:11px 12px;font-size:12px;font-weight:500;color:var(--navy)}.pick i{width:26px;height:26px;border-radius:50%;background:#D5D9F0;flex:none}.pick small{display:block;font-size:10px;font-weight:400;color:#5C6390}.pick em{margin-left:auto;font-style:normal;display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:500;color:#137A50;white-space:nowrap}.pick em .icon{width:11px;height:11px;stroke-width:2.2}
.bonus{display:inline-flex;align-items:center;gap:6px;margin:-26px 0 0 56px;padding:6px 11px;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 38px 64px -14px rgba(6,14,97,.42),0 16px 28px -10px rgba(6,14,97,.28);font-size:10.5px;font-weight:500;color:#137A50;position:relative;z-index:2}.bonus .icon{width:11px;height:11px;stroke-width:2.2}
/* T01-5 secteurs (reel) */
.ticks{display:flex;align-items:center;justify-content:flex-start;margin:-12px -5px 0}
.tick{display:flex;align-items:center;min-height:44px;padding:4px 5px;background:none;border:0;cursor:pointer}
.tick i{position:relative;display:block;width:14px;height:3px;border-radius:999px;background:rgba(6,14,97,.18);overflow:hidden;transition:all 380ms var(--spring-soft)}
.tick.is-on i{width:38px;background:rgba(6,14,97,.12)}
.tick.is-on i::after{content:"";position:absolute;inset:0;border-radius:999px;background:var(--navy);transform-origin:left center;animation:ipwFill 4200ms linear forwards}
@keyframes ipwFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.reel{position:relative;margin-top:32px;display:flex;align-items:flex-start;gap:10px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:auto;touch-action:pan-y;overscroll-behavior-x:none;padding-inline:max(20px,calc((100% - clamp(232px,26vw,372px))/2));height:calc(clamp(232px,26vw,372px)*1.25)}
.reel::-webkit-scrollbar{display:none}@media(min-width:768px){.reel{margin-top:40px;gap:14px}}
.frame{position:relative;flex:none;overflow:hidden;text-align:left;border:0;padding:0;cursor:pointer;background:#DDE2F5;background-image:repeating-linear-gradient(135deg,rgba(6,14,97,.07) 0 1px,transparent 1px 14px);width:clamp(108px,12vw,176px);aspect-ratio:4/5;border-radius:var(--radius-card);box-shadow:inset 0 0 0 1px var(--hair);transition:width 520ms cubic-bezier(.33,1,.68,1)}
.frame.is-on{width:clamp(232px,26vw,372px);cursor:default}
.frame .shade{position:absolute;left:0;right:0;top:0;height:42%;background:linear-gradient(180deg,rgba(6,14,97,.6) 0%,rgba(6,14,97,.2) 55%,rgba(6,14,97,0) 100%)}
.frame .lab{position:absolute;left:0;top:0;padding:8px 10px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.94);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media(min-width:768px){.frame .lab{padding:12px 14px}}.frame.is-on .lab{font-size:12px}
.frame .ph-cap{left:50%;top:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s;max-width:200px;font-size:11.5px}.frame.is-on .ph-cap{opacity:1}
.frame .big{position:absolute;right:14px;bottom:12px;width:70px;height:70px;stroke-width:1;color:rgba(6,14,97,.18)}
.reel-copy{width:clamp(232px,26vw,372px);max-width:100%;margin:28px auto 0;text-align:left;animation:ipwIn 460ms var(--spring-soft) both}@media(min-width:768px){.reel-copy{margin-top:36px}}
@keyframes ipwIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.reel-copy h3{font-family:var(--font-body);font-size:clamp(1.375rem,1.19rem + .75vw,1.875rem);font-weight:400;line-height:1.2;letter-spacing:-.021em;text-wrap:balance;color:var(--navy)}
.reel-copy p{margin-top:16px;font-size:1rem;line-height:1.5;font-weight:300;color:rgba(var(--ink),.68)}
.reel-copy a{margin-top:24px;display:inline-flex;align-items:center;gap:6px;font-size:1rem;font-weight:500;color:var(--navy);text-decoration:none}.reel-copy a span{border-bottom:1px solid transparent;padding-bottom:1px;transition:border-color .2s}.reel-copy a:hover span{border-color:currentColor}
/* T01-6 section sombre (bento) */
.dark{position:relative;background:var(--navy)}
.dark__mesh{position:absolute;inset:0;overflow:hidden;background:radial-gradient(120% 100% at 50% 50%,#141F8A 0%,var(--navy-deep) 100%)}
.dark__in{position:relative;padding:80px 0}@media(min-width:768px){.dark__in{padding:112px 0}}
.dark__head{display:flex;flex-direction:column;gap:32px}@media(min-width:768px){.dark__head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:64px}}
.dark__head .h2{color:#fff;max-width:none}@media(min-width:768px){.dark__head .h2{max-width:18ch}}
.dark__side{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0}.dark__side p{white-space:pre-line;font-size:1.125rem;line-height:1.45;font-weight:300;color:rgba(255,255,255,.62)}
.lnk--w{color:#fff}.lnk--w:hover{opacity:.75}
.bento{display:grid;gap:16px;margin-top:56px}@media(min-width:768px){.bento{margin-top:64px}}@media(min-width:1024px){.bento{grid-template-columns:repeat(12,minmax(0,1fr))}}
.bcard{display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-card);background:#0E166B;transition:border-color .35s}@media(min-width:768px){.bcard{padding:28px}}@media(min-width:1024px){.bcard{grid-column:span var(--span)}}
.bcard:hover{border-color:rgba(255,255,255,.3)}
.bcard h3{font-family:var(--font-grotesque);font-size:20px;font-weight:500;letter-spacing:-.3px;line-height:1.2;color:#fff}
.bcard p{margin-top:14px;max-width:46ch;font-size:1rem;line-height:1.5;font-weight:300;color:rgba(255,255,255,.64)}
.bcard .blink{margin-top:12px;align-self:flex-start;font-size:13.5px;color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.4)}
.bvis{position:relative;margin-top:32px;display:flex;flex:1;min-height:0;flex-direction:column;justify-content:center;padding-bottom:4px}
.abd{transform:perspective(1200px) rotateX(22deg);transform-style:preserve-3d;width:100%;max-width:440px;margin:0 auto}
@media(max-width:1023px){.abd{transform:perspective(1200px) rotateX(20deg);width:88%}}
.gl-d{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:8px}
.gl-d .r{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.09);font-size:11.5px;font-weight:500;color:rgba(255,255,255,.82)}.gl-d .r:last-child{border-bottom:0}.gl-d .r i{width:24px;height:24px;border-radius:6px;background:rgba(255,255,255,.2);flex:none}.gl-d .r small{display:block;font-size:10px;font-weight:400;color:rgba(255,255,255,.34)}
.gl-d .lab{padding:10px 12px 6px;font-size:10.5px;font-weight:500;letter-spacing:.01em;color:rgba(255,255,255,.34)}
.gl-d .ln{display:flex;align-items:baseline;gap:10px;padding:7.5px 12px;border-top:1px solid rgba(255,255,255,.09);font-size:11.5px;font-weight:400;color:rgba(255,255,255,.52)}.gl-d .ln em{font-style:normal;flex:none;width:60px;font-size:10.5px;font-weight:500;color:rgba(255,255,255,.34)}
.pick--d{transform:translateZ(38px);transition:transform .6s var(--spring-soft),box-shadow .6s ease;box-shadow:0 42px 72px -14px rgba(3,6,58,.72),0 18px 32px -10px rgba(3,6,58,.5),0 4px 10px rgba(3,6,58,.3)}
.bcard:hover .pick--d{transform:translateZ(54px) scale(1.03);box-shadow:0 64px 104px -16px rgba(3,6,58,.76),0 28px 48px -12px rgba(3,6,58,.55),0 8px 16px rgba(3,6,58,.3)}
.pick--float{position:absolute;left:0;right:0;bottom:-4px}
.bubble{display:inline-block;padding:10px 12px;border-radius:12px 12px 12px 4px;background:var(--blue);color:#fff;font-size:12px;line-height:1.45;box-shadow:0 42px 72px -14px rgba(3,6,58,.72);transform:translateZ(58px);width:232px;margin-top:-6px}
.chips-d{display:flex;flex-wrap:wrap;gap:5px;padding:10px 11px 11px}.chips-d span{display:flex;align-items:center;gap:4px;padding:3.5px 8px;border-radius:999px;border:1px solid var(--line);color:#5C6390;font-size:10.5px;font-weight:500;white-space:nowrap}.chips-d .icon{width:9px;height:9px;stroke-width:2.2;color:var(--success)}
.toolchip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:6px;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.52);font:400 10.5px/1 var(--font-mono)}.toolchip .icon{width:9px;height:9px;color:var(--success);stroke-width:2.2}
/* T01-7 intégrations */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(min-width:640px){.tiles{grid-template-columns:repeat(6,1fr)}}@media(min-width:768px){.tiles{gap:12px}}@media(min-width:1280px){.tiles{grid-template-columns:repeat(9,1fr)}}
.tile{position:relative;display:grid;place-items:center;aspect-ratio:1;background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);text-decoration:none;transition:border-color .2s,background .2s}.tile:hover{border-color:rgba(6,14,97,.25);background:#FAFBFF}
.tile i{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font:600 14px var(--font-mono);color:#fff;background:var(--c,var(--navy))}
.tile .arr{position:absolute;right:6px;top:6px;opacity:0;transition:all .3s}.tile .arr .icon{width:18px;height:18px;stroke-width:1.8}.tile:hover .arr{opacity:1;transform:translate(2px,-2px)}
.tile--sm{display:none}@media(min-width:640px){.tile--sm{display:grid}}
.dev{margin-top:10px;display:grid;gap:10px}@media(min-width:768px){.dev{margin-top:12px;grid-template-columns:1fr 1fr;gap:12px}}
.devc{display:flex;flex-direction:column;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);text-decoration:none;color:var(--navy);transition:border-color .2s,background .2s}@media(min-width:768px){.devc{padding:28px}}.devc:hover{border-color:rgba(6,14,97,.25);background:#FAFBFF}
.devc__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.devc__top .ic{display:flex;gap:8px}.devc__top .ic i{width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;display:grid;place-items:center;font:600 10px var(--font-mono)}.devc__top .ic i .icon{width:17px;height:17px}
.devc__top .arr .icon{width:18px;height:18px;stroke-width:1.8;transition:transform .3s}.devc:hover .arr .icon{transform:translate(2px,-2px)}
.devc b{margin-top:20px;font-family:var(--font-grotesque);font-size:20px;font-weight:600;line-height:1.2}.devc span{margin-top:6px;max-width:52ch;font-size:1rem;line-height:1.5;font-weight:300;color:rgba(var(--ink),.62)}
/* T01-8 témoignages */
.testi__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}@media(min-width:768px){.testi__head{margin-bottom:40px}}
.arrows{display:none;gap:8px}@media(min-width:768px){.arrows{display:flex}}
.arrows button{display:grid;place-items:center;width:44px;height:44px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);color:var(--navy);cursor:pointer;transition:opacity .2s,background .2s}.arrows button:hover{background:#FDFDFF}.arrows button:disabled{opacity:.25;cursor:default}.arrows .icon{width:15px;height:15px;stroke-width:1.75}
.testi__scroll{display:flex;gap:20px;overflow-x:auto;padding-bottom:8px;cursor:grab;scroll-snap-type:x mandatory;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 88%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent 100%)}.testi__scroll::-webkit-scrollbar{display:none}
.tcard{display:flex;flex-direction:column;flex:none;width:78vw;max-width:420px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);scroll-snap-align:start}@media(min-width:640px){.tcard{width:420px}}@media(min-width:768px){.tcard{padding:28px}}
.tcard .tlogo{height:28px;width:auto;display:inline-grid;place-items:center;padding:0 10px;border-radius:4px;background:#F1F3FA;background-image:repeating-linear-gradient(135deg,rgba(6,14,97,.08) 0 1px,transparent 1px 10px);font-family:var(--font-grotesque);font-size:13px;font-weight:600;color:rgba(6,14,97,.55);align-self:flex-start;transition:color .3s}.tcard:hover .tlogo{color:var(--navy)}
.tcard .qm{margin:28px 0 16px;width:24px;color:rgba(6,14,97,.35)}
.tcard blockquote{flex:1;font-family:var(--font-grotesque);font-size:clamp(1.05rem,.9rem + .5vw,1.3rem);font-weight:400;line-height:1.42;letter-spacing:-.2px;color:var(--navy)}
.tcard figcaption{margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.tcard .who b{display:block;font-family:var(--font-grotesque);font-size:1rem;font-weight:600;line-height:1.25}.tcard .who span{display:block;margin-top:6px;font-size:13px;line-height:1.35;color:rgba(var(--ink),.65)}.tcard .who a{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:14.5px;font-weight:500;color:var(--navy);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(6,14,97,.4)}.tcard .who a:hover{text-decoration-color:var(--navy)}.tcard .who a .icon{width:11px;height:11px;stroke-width:2.2}
.tcard .pic{position:relative;flex:none;width:96px;height:96px;overflow:hidden;border-radius:var(--radius-card);background:#E4E8F7;background-image:repeating-linear-gradient(135deg,rgba(6,14,97,.07) 0 1px,transparent 1px 10px);display:grid;place-items:center;color:var(--navy)}@media(min-width:768px){.tcard .pic{width:112px;height:112px}}.tcard .pic .icon{width:32px;height:32px}
.arrows--m{display:flex;justify-content:flex-end;margin-top:20px}@media(min-width:768px){.arrows--m{display:none}}
/* T01-9 bande de clôture */
.band{position:relative;isolation:isolate;background:#fff}
.cbv{position:absolute;inset:0;z-index:0;--cbv-inset:calc(max(0px,(100% - 1440px)/2) + 72px)}
.cbv .bg{position:absolute;inset:0;background:radial-gradient(125% 80% at 50% -10%,#1B2A9E 0%,#0A1268 46%,var(--navy-deep) 100%)}
.cbv .ph-cap{left:24px;top:24px;color:rgba(255,255,255,.7);max-width:none;justify-items:start;text-align:left}.cbv .ph-cap i{background:rgba(255,255,255,.12);color:#fff;box-shadow:none}.cbv .ph-cap small{color:rgba(255,255,255,.5)}
.cbv .dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.9) .55px,transparent .65px);background-size:2.8px 2.8px;mix-blend-mode:screen;opacity:.34;mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.5) 55%,transparent 88%);-webkit-mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.5) 55%,transparent 88%)}
@keyframes cbvOpen{from{clip-path:inset(0 var(--cbv-inset) 0 var(--cbv-inset))}to{clip-path:inset(0 0 0 0)}}
@supports (animation-timeline:view()){@media(min-width:768px) and (prefers-reduced-motion:no-preference){.cbv{animation-name:cbvOpen;animation-timing-function:linear;animation-fill-mode:both;animation-duration:auto;animation-timeline:view();animation-range:cover 20% cover 46%}}}
.band__in{position:relative;z-index:10;display:flex;align-items:center;min-height:600px;padding:96px 0}@media(min-width:768px){.band__in{min-height:clamp(760px,94vh,1040px);padding:144px 0}}
.band__grid{width:100%}@media(min-width:768px){.band__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}}
.band__box{margin-left:auto;width:fit-content}
.awards{display:flex;align-items:center;gap:16px;margin-bottom:24px}.awards .badges{display:flex;align-items:center;gap:6px}.awards .badges span{display:grid;place-items:center;width:56px;height:64px;border-radius:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font:600 9px var(--font-mono);text-align:center;line-height:1.3}
.awards .score{border-left:1px solid rgba(255,255,255,.2);padding-left:16px;color:#fff;text-decoration:none}.awards .score b{display:flex;align-items:center;gap:6px;font-size:21px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.awards .score b .icon{width:14px;height:14px;color:var(--amber)}.awards .score span{display:block;margin-top:6px;max-width:13ch;font-size:12.5px;line-height:1.25;font-weight:300;color:rgba(255,255,255,.7)}
.band .h2{color:#fff}@media(min-width:768px){.band .h2{max-width:9.4em}}.band .h2 span{display:block}.band .h2 span+span{max-width:8.6em;color:rgba(255,255,255,.7)}
.band__ctas{margin-top:36px;display:flex;flex-direction:column;gap:12px;align-items:stretch}@media(min-width:640px){.band__ctas{flex-direction:row;align-items:center}}
.band__doc{margin-top:20px;font-size:14px;color:rgba(255,255,255,.6)}.band__doc a{color:rgba(255,255,255,.8);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.3)}.band__doc a:hover{color:#fff;text-decoration-color:#fff}
/* T01-10 bandeau tarifs */
.strip{display:flex;flex-direction:column;align-items:flex-start;gap:20px}@media(min-width:768px){.strip{flex-direction:row;align-items:center;justify-content:space-between}}
.strip b{display:block;font-family:var(--font-grotesque);font-size:19px;font-weight:600;line-height:1.35;color:var(--navy)}@media(min-width:768px){.strip b{font-size:21px}}
.strip p{margin-top:8px;max-width:560px;font-size:13.5px;line-height:1.6;font-weight:300;color:rgba(var(--ink),.68)}
.strip a{flex:none;display:inline-flex;align-items:center;padding:12px 24px;border-radius:var(--radius-btn);border:1px solid var(--line-18);background:#fff;font-size:14px;font-weight:500;color:var(--navy);text-decoration:none;transition:all .2s}.strip a:hover{background:var(--navy);color:#fff}
/* T01-11 FAQ */
.faq{display:grid;row-gap:40px}@media(min-width:1024px){.faq{grid-template-columns:minmax(0,auto) minmax(0,1fr);column-gap:56px}}
.faq__l .h2{max-width:30rem}.faq__l p{margin-top:28px;max-width:46ch;font-size:1.125rem;line-height:1.4;font-weight:300;color:rgba(var(--ink),.7)}@media(min-width:1024px){.faq__l p{margin-top:36px}}
.faq__phone{margin-top:20px;display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 24px;border-radius:var(--radius-btn);border:1px solid var(--line-18);background:#fff;font-size:15px;font-weight:500;color:var(--navy);text-decoration:none;transition:all .2s}.faq__phone:hover{background:var(--navy);color:#fff}.faq__phone .icon{width:15px;height:15px}
.faq__box{overflow:hidden;border-radius:var(--radius-card);background:#fff;border:1px solid var(--line-14)}
.fq{border-bottom:1px solid var(--line)}.fq:last-child{border-bottom:0}
.fq button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;text-align:left;background:none;border:0;cursor:pointer}@media(min-width:768px){.fq button{padding:20px 28px}}
.fq button span{font-size:16px;font-weight:500;line-height:1.35;color:var(--navy)}
.fq button i{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;border:1px solid var(--line);transition:transform .3s}.fq button i .icon{width:13px;height:13px;stroke-width:1.75}
.fq.is-open button i{transform:rotate(180deg)}
.fq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows 300ms ease}.fq.is-open .fq__a{grid-template-rows:1fr}.fq__a>div{overflow:hidden}
.fq__a p{padding:0 24px 20px;font-size:15px;line-height:1.6;font-weight:300;color:rgba(var(--ink),.72)}@media(min-width:768px){.fq__a p{padding:0 28px 20px}}
/* T01-12 pied de page */
.footer{position:relative;background:var(--navy-dark);color:#fff}
.fhero{position:relative;overflow:hidden}
.fhero .ph{position:absolute;inset:0;opacity:.45;background:#0A1268;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 1px,transparent 1px 18px)}
.fhero .veil{position:absolute;inset:0;background:var(--navy-dark);opacity:.55}
.fhero .dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.9) .55px,transparent .65px);background-size:2.8px 2.8px;mix-blend-mode:screen;opacity:.45;pointer-events:none}
.fhero__in{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:80px 20px 0;text-align:center}@media(min-width:768px){.fhero__in{padding-top:96px}}
.fhero .h2{color:#fff;font-weight:600}
.fhero p{margin:16px auto 0;max-width:560px;font-size:1.125rem;line-height:1.4;font-weight:300;color:rgba(255,255,255,.75)}
.fform{display:flex;flex-direction:column;gap:10px;width:100%;margin:28px auto 0}@media(min-width:640px){.fform{flex-direction:row;align-items:center;max-width:520px;padding:6px;border-radius:12px;border:1px solid rgba(6,14,97,.12);background:#fff}}
.fform input{height:48px;width:100%;padding:0 20px;border-radius:var(--radius-btn);border:1px solid rgba(6,14,97,.12);background:#fff;font:300 15px var(--font-body);color:var(--navy);outline:none}@media(min-width:640px){.fform input{height:44px;flex:1;border:0;background:transparent}}
.fform .super{height:48px;width:100%}@media(min-width:640px){.fform .super{height:44px;width:auto}}
.fbadges{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:36px;row-gap:20px;margin:36px 0 40px}.fbadges span{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:12px;font-weight:500}.fbadges span i{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);display:grid;place-items:center}.fbadges .icon{width:22px;height:22px;stroke-width:1.6}
.fword{position:relative;z-index:1;display:none;height:19rem;width:64%;margin:0 auto;overflow:hidden;padding-top:40px}@media(min-width:768px){.fword{display:block}}
.fword b{display:block;margin-top:35px;font-family:var(--font-grotesque);font-weight:700;font-size:clamp(120px,15vw,220px);line-height:1;letter-spacing:-.04em;color:var(--amber);text-align:center;animation:footRise 1.1s cubic-bezier(.2,.7,.2,1) both}
@keyframes footRise{0%{transform:translateY(64px);opacity:0}100%{transform:none;opacity:1}}
.fcols{position:relative;z-index:10;padding:80px 0 40px}
.fbrand{display:grid;grid-template-columns:1fr;align-items:end;gap:64px}@media(min-width:1024px){.fbrand{grid-template-columns:1fr 1fr}}
.fbrand .logo{color:#fff}.fbrand .logo__mark{background-image:var(--logo-w)}.fbrand .logo__word small{color:rgba(255,255,255,.6)}
.fbrand p{margin-top:16px;max-width:29.7rem;font-size:.875rem;line-height:1.55;font-weight:300;color:rgba(255,255,255,.75)}
.fbrand__r{display:flex;flex-direction:column;align-items:flex-end;gap:30px}
.social{display:flex;align-items:center;gap:16px}.social a{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;color:rgba(255,255,255,.75);transition:color .2s}.social a:hover{color:#fff}.social .icon{width:22px;height:22px;stroke-width:1.75}
.fb2{display:flex;align-items:center;gap:12px}.fb2 span{display:grid;place-items:center;width:70px;height:80px;border-radius:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;font:600 9.5px var(--font-mono);text-align:center;line-height:1.35;padding:6px}
.fsep{height:1px;width:100%;background:rgba(255,255,255,.15);margin:28px 0}
.fgrid{display:grid;grid-template-columns:1fr;column-gap:24px}@media(min-width:640px){.fgrid{grid-template-columns:repeat(2,1fr);row-gap:40px}}@media(min-width:768px){.fgrid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.fgrid{grid-template-columns:repeat(5,1fr);align-items:start}}
.fstack{display:flex;flex-direction:column}@media(min-width:640px){.fstack{gap:40px}}
.fcol{border-bottom:1px solid rgba(255,255,255,.1);padding:16px 0}@media(min-width:640px){.fcol{border:0;padding:0}}
.fcol input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.fcol label{display:flex;align-items:center;justify-content:space-between;padding:4px 0;cursor:pointer;font-size:.75rem;font-weight:500;color:rgba(255,255,255,.6)}@media(min-width:640px){.fcol label{padding:0}}@media(min-width:768px){.fcol label{cursor:default}}
.fcol label .icon{width:16px;height:16px;color:rgba(255,255,255,.6);transition:transform .2s}@media(min-width:768px){.fcol label .icon{display:none}}
.fcol input:checked~label .icon{transform:rotate(180deg)}
.fcol ul{display:none;flex-direction:column;gap:16px;margin-top:16px}.fcol input:checked~ul{display:flex}@media(min-width:768px){.fcol ul{display:flex}}
.fcol a{font-size:.875rem;font-weight:300;color:#fff;text-decoration:none;transition:color .2s}.fcol a:hover{color:var(--amber-2)}
.fcopy{margin-top:64px;font-size:.875rem;font-weight:300;color:rgba(255,255,255,.75)}
/* ── utilitaires (remplacent les styles inline des maquettes d'interface) ── */
.u-flex1{flex:1}
.u-fill{min-width:0;flex:1}
.u-i14{width:14px;height:14px}
.u-i16{width:16px;height:16px}
.u-i20{width:20px;height:20px;opacity:.5}
.u-i24{width:24px;height:24px}
.u-meta{font-size:12px;color:#6A719C;font-weight:500}
.u-up6{margin-top:-6px}
.u-up8{margin-top:-8px}
.u-dn8{margin-top:8px}
.u-block{display:block}
.u-avatar-bg{background:#D5D9F0}
/* ── corps d'article (blog, journal) ─────────────────────────────────────── */
.prose{max-width:70ch;font-size:1.0625rem;line-height:1.65;color:var(--ink-2)}
.prose>*+*{margin-top:1.15em}
.prose h2{font-family:var(--font-grotesque);font-size:1.75rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--navy);margin-top:2.2em}
.prose h3{font-family:var(--font-grotesque);font-size:1.3rem;font-weight:600;color:var(--navy);margin-top:1.8em}
.prose p{color:rgba(var(--ink),.78)}
.prose a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(6,14,97,.35)}
.prose a:hover{text-decoration-color:var(--navy)}
.prose ul,.prose ol{padding-left:1.3em;display:flex;flex-direction:column;gap:.5em;color:rgba(var(--ink),.78)}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li::marker{color:rgba(6,14,97,.4)}
.prose blockquote{border-left:3px solid var(--navy);padding:2px 0 2px 1.1em;color:var(--navy);font-size:1.15rem;line-height:1.45}
.prose img{border-radius:var(--radius-card);border:1px solid var(--line);margin-block:1.6em}
.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--z2);border:1px solid var(--line);border-radius:var(--radius-xs);padding:.12em .35em}
.prose pre{background:var(--navy-deep);color:#C9D3FF;border-radius:var(--radius-card);padding:16px 18px;overflow:auto;font-family:var(--font-mono);font-size:.85rem;line-height:1.6}
.prose pre code{background:none;border:0;padding:0;color:inherit}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.prose th{font-weight:600;color:var(--navy)}
.prose hr{border:0;border-top:1px solid var(--line);margin-block:2.4em}
/* ── illustrations (remplacent les aplats « photo à venir ») ── */
.jphoto .jimg,.cbv .bgimg,.fhero .bgimg,.demo .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.frame .fimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.frame{background-image:none}
.cbv .bgimg{opacity:.55;mix-blend-mode:screen}
.fhero .bgimg{opacity:.5}
.demo .bgimg{z-index:0}
.cover{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-card);border:1px solid var(--line)}
.step .cover{border-radius:var(--radius-card) var(--radius-card) 0 0;border:0;border-bottom:1px solid var(--line)}
/* ── pages légales ── */
.legal{max-width:820px;color:rgba(var(--ink),.86);font-family:var(--font-body);font-size:16px;line-height:1.7}
.legal h1{font-family:var(--font-grotesque);font-size:clamp(32px,4vw,46px);line-height:1.1;letter-spacing:-.02em;color:var(--navy);margin:0 0 18px}
.legal h2{font-family:var(--font-grotesque);font-size:24px;line-height:1.25;color:var(--navy);margin:44px 0 12px}
.legal h3{font-size:18px;color:var(--navy);margin:28px 0 8px}
.legal p,.legal ul,.legal ol,.legal table{margin:0 0 16px}
.legal ul,.legal ol{padding-left:22px}.legal li{margin:6px 0}
.legal a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.legal p,.legal li,.legal td{color:rgba(var(--ink),.82)}
.legal .lead{font-size:18px;color:rgba(var(--ink),.6)}
.legal table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.legal th,.legal td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.legal .container,.legal .section,.legal .row,.legal [class*="col-"]{max-width:none;padding:0;margin:0;width:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rail__track{animation:none}.rot span{transition:none}.jtab.is-on .jtab__fill i.run,.tick.is-on i::after,.reel-copy,.fword b{animation:none}.hero__photo,.app,.marker i,.frame{transition:none}.det__head .live::before{animation:none}}
/* Project detail and media; keep the global focus rule last. */
.case-intro{padding-top:64px}.case-section{padding-top:0}.case-eyebrow{margin-bottom:14px}.case-eyebrow a{text-decoration:none;color:inherit}
.case-card{min-width:0;overflow-wrap:anywhere}.case-title{max-width:20ch;overflow-wrap:anywhere}.case-lead{margin-top:20px;max-width:64ch}.case-facts{margin-top:28px}.case-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.case-layout{display:grid;gap:32px}.case-body,.case-sidebar{min-width:0;overflow-wrap:anywhere}.case-body{display:grid;align-content:start;gap:40px}
@media(min-width:1024px){.case-layout{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:48px}}
.case-block{display:grid;gap:20px;min-width:0}.case-block .h2{max-width:none}.case-section-head{margin-bottom:28px}
.case-media{margin:0;min-width:0}.case-media__image{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--z1)}
.case-media__caption{padding:10px 0;color:var(--text-muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.case-media__caption a{text-underline-offset:3px}
.case-media--card .case-media__image{height:auto;aspect-ratio:16/9;object-fit:contain;border:0;border-bottom:1px solid var(--line);border-radius:var(--radius-card) var(--radius-card) 0 0}.case-media--card .case-media__caption{padding:10px 24px 0}
.case-features{display:grid;gap:20px}.case-features li{padding-bottom:20px;border-bottom:1px solid var(--line)}.case-features h3{font-family:var(--font-grotesque);font-weight:600;font-size:20px;line-height:1.25}.case-features p{margin-top:8px;line-height:1.5;color:rgba(var(--ink),.75)}.case-features .case-tech-detail{font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}
.case-outcome{padding-top:12px}.case-metrics{display:grid;gap:20px;margin:0}.case-metrics>div{padding:20px;background:var(--z2);border-radius:var(--radius-card)}.case-metrics dt{color:var(--text-muted);font-size:14px}.case-metrics dd{margin:8px 0 0;font-family:var(--font-grotesque);font-size:28px;font-weight:600}.case-metrics .case-metric-note{font:300 14px/1.5 var(--font-body);color:var(--text-muted)}
@media(min-width:640px){.case-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.case-quote{width:100%;max-width:none}.case-sidebar-title{margin-top:12px}.case-summary,.case-stack{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line)}.case-summary,.case-stack dl{display:grid;gap:14px}.case-summary dt,.case-stack dt{font-size:13px;color:var(--text-muted)}.case-summary dd,.case-stack dd{margin:4px 0 0;font-size:15px;line-height:1.5}.case-stack p{margin-top:12px}.case-sidebar .btn{height:auto;min-height:44px;white-space:normal;padding:12px 20px;text-align:center}
/* After component shadows so keyboard focus keeps its two-tone ring. */
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 2px var(--focus-halo)}
