@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/?asset=fonts/ibm-plex-sans-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/?asset=fonts/ibm-plex-sans-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/?asset=fonts/ibm-plex-sans-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(/?asset=fonts/ibm-plex-sans-condensed-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/?asset=fonts/ibm-plex-sans-condensed-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Sans Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/?asset=fonts/ibm-plex-sans-condensed-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/?asset=fonts/ibm-plex-mono-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/?asset=fonts/ibm-plex-mono-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/?asset=fonts/ibm-plex-mono-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'tabler-icons';font-style:normal;font-weight:400;font-display:block;src:url(/?asset=fonts/tabler-icons.woff2) format('woff2')}
.ti{font-family:"tabler-icons"!important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.ti-alert-triangle:before{content:"\ea06"}.ti-arrow-left:before{content:"\ea19"}.ti-arrow-right:before{content:"\ea1f"}.ti-arrow-up-right:before{content:"\ea24"}.ti-arrows-exchange:before{content:"\f1f4"}.ti-arrows-left-right:before{content:"\edb0"}.ti-arrows-sort:before{content:"\eb5a"}.ti-award:before{content:"\ea2c"}.ti-beach:before{content:"\ef3d"}.ti-bell:before{content:"\ea35"}.ti-books:before{content:"\eff2"}.ti-box:before{content:"\ea45"}.ti-briefcase:before{content:"\ea46"}.ti-building-bank:before{content:"\ebe2"}.ti-building-community:before{content:"\ebf6"}.ti-building-cottage:before{content:"\ee1b"}.ti-building-factory-2:before{content:"\f082"}.ti-building-store:before{content:"\ea4e"}.ti-buildings:before{content:"\ff40"}.ti-calculator:before{content:"\eb80"}.ti-calendar:before{content:"\ea53"}.ti-calendar-event:before{content:"\ea52"}.ti-car:before{content:"\ebbb"}.ti-cash:before{content:"\ea55"}.ti-certificate:before{content:"\ed76"}.ti-chart-bar:before{content:"\ea59"}.ti-chart-line:before{content:"\ea5c"}.ti-chart-pie:before{content:"\ea5d"}.ti-check:before{content:"\ea5e"}.ti-chevron-down:before{content:"\ea5f"}.ti-circle-check:before{content:"\ea67"}.ti-clock:before{content:"\ea70"}.ti-coin:before{content:"\eb82"}.ti-coins:before{content:"\f65d"}.ti-compass:before{content:"\ea79"}.ti-cpu:before{content:"\ef8e"}.ti-database:before{content:"\ea88"}.ti-file-export:before{content:"\ede9"}.ti-file-invoice:before{content:"\eb67"}.ti-file-text:before{content:"\eaa2"}.ti-forms:before{content:"\ee8f"}.ti-hammer:before{content:"\ef91"}.ti-hash:before{content:"\eabc"}.ti-headset:before{content:"\eb90"}.ti-history:before{content:"\ebea"}.ti-home:before{content:"\eac1"}.ti-id-badge:before{content:"\eff7"}.ti-infinity:before{content:"\eb69"}.ti-layout-dashboard:before{content:"\f02c"}.ti-link:before{content:"\eade"}.ti-list-check:before{content:"\eb6a"}.ti-list-details:before{content:"\ef40"}.ti-map-pin:before{content:"\eae8"}.ti-menu-2:before{content:"\ec42"}.ti-message-circle:before{content:"\eaed"}.ti-message-circle-2:before{content:"\eaed"}.ti-package:before{content:"\eaff"}.ti-percentage:before{content:"\ecf4"}.ti-player-play:before{content:"\ed46"}.ti-plus:before{content:"\eb0b"}.ti-receipt:before{content:"\edfd"}.ti-receipt-refund:before{content:"\edfc"}.ti-robot:before{content:"\f00b"}.ti-rocket:before{content:"\ec45"}.ti-search:before{content:"\eb1c"}.ti-server:before{content:"\eb1f"}.ti-settings:before{content:"\eb20"}.ti-settings-automation:before{content:"\eed6"}.ti-share:before{content:"\eb21"}.ti-shield:before{content:"\eb24"}.ti-shield-check:before{content:"\eb22"}.ti-shield-lock:before{content:"\ed58"}.ti-shopping-cart:before{content:"\eb25"}.ti-signature:before{content:"\eee0"}.ti-sitemap:before{content:"\eb9d"}.ti-tag:before{content:"\10096"}.ti-target-arrow:before{content:"\f51a"}.ti-tools:before{content:"\ebca"}.ti-trending-up:before{content:"\eb43"}.ti-truck:before{content:"\ebc4"}.ti-user-check:before{content:"\eb49"}.ti-user-search:before{content:"\ef89"}.ti-users:before{content:"\ebf2"}.ti-wallet:before{content:"\eb75"}.ti-x:before{content:"\eb55"}

:root{
  --ink:#171b21;
  --ink-2:#3c434d;
  --mut:#5f6772;
  --faint:#68717d;
  --line:#E5E8EE;
  --line-2:#D5DAE3;
  --paper:#ffffff;
  --stone:#F5F7FA;
  --cobalt:#2447d6;
  --cobalt-h:#1b38b0;
  --cobalt-lt:#eef1fd;
  --ok:#1E3A6E;
  --warn:#b96a00;
  --disp:'Space Grotesk',sans-serif;
  --body:'Inter',-apple-system,sans-serif;
  --mono:'IBM Plex Mono',monospace;
  --max:1180px;
  --r:12px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
button{font-family:var(--body);cursor:pointer;border:none;background:none}
ul{list-style:none}
::selection{background:var(--cobalt-lt)}

/* ============ PRIMITIVES ============ */
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
.mono{font-family:var(--mono)}
.kick{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--cobalt)}
.sec{padding:120px 0}
.sec-stone{background:var(--stone)}
.krule{border-top:1px solid var(--line);position:relative;max-width:var(--max);margin:0 auto}
.krule span{position:absolute;top:-8px;left:40px;background:var(--paper);padding-right:16px;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.sec-stone .krule span{background:var(--stone)}
h1.d1{font-family:var(--disp);font-size:clamp(38px,5.4vw,64px);font-weight:700;line-height:1.04;letter-spacing:-.025em;color:var(--ink)}
h2.d2{font-family:var(--disp);font-size:clamp(28px,3.6vw,42px);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
h3.d3{font-family:var(--disp);font-size:clamp(20px,2.4vw,26px);font-weight:600;line-height:1.2;letter-spacing:-.015em;color:var(--ink)}
.lead{font-size:17px;color:var(--ink-2);line-height:1.7;max-width:560px}
.body-t{font-size:15px;color:var(--ink-2);line-height:1.75}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;border-radius:10px;padding:13px 24px;transition:background .15s,border-color .15s,color .15s,transform .1s}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#000;transform:translateY(-1px)}
.btn-line{border:1px solid var(--line-2);color:var(--ink);background:var(--paper)}
.btn-line:hover{border-color:var(--ink)}
.btn-sm{padding:9px 18px;font-size:13.5px}
.tlink{font-size:14px;font-weight:600;color:var(--cobalt);display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:gap .15s}
.tlink:hover{gap:10px}

/* ============ NAV ============ */
nav{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);height:64px}
.nav-in{max-width:var(--max);margin:0 auto;padding:0 40px;height:100%;display:flex;align-items:center;gap:8px}
.logo{font-family:var(--disp);font-size:19px;font-weight:700;letter-spacing:-.02em;cursor:pointer;display:flex;align-items:center;margin-right:28px;flex-shrink:0}
.logo-mark{width:27px;height:27px;margin-right:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.logo-mark img{width:100%;height:100%;object-fit:contain;display:block}
.logo em{font-style:normal;color:#1E3A6E}
.logo .lm{font-family:var(--mono);font-size:10.5px;font-weight:500;color:var(--faint);margin-left:8px;letter-spacing:.1em}
.nlinks{display:flex;align-items:center;gap:2px;flex:1}
.nlinks>li{position:relative}
.nlinks>li>a,.nlinks>li>span{display:flex;align-items:center;gap:5px;padding:8px 13px;font-size:14px;font-weight:500;color:var(--ink-2);border-radius:8px;cursor:pointer;transition:color .15s,background .15s;white-space:nowrap}
.nlinks>li>a:hover,.nlinks>li>span:hover{color:var(--ink);background:var(--stone)}
.hdrop{position:relative}
.dropm{display:none;position:absolute;top:calc(100% + 10px);left:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px rgba(23,27,33,.1);padding:0;min-width:248px;z-index:200;overflow:hidden}
.dropm.wide{min-width:460px}
.dm-feat{background:var(--stone);padding:12px;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--line)}
.dm-flabel{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:4px 8px 6px}
.dm-fcard{display:flex;align-items:flex-start;gap:11px;padding:9px 8px;border-radius:9px;cursor:pointer;transition:background .12s}
.dm-fcard:hover{background:#fff}
.dm-ic{width:32px;height:32px;border-radius:8px;background:var(--cobalt-lt);color:var(--cobalt);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.dm-ft{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px}
.dm-fd{font-size:11.5px;color:var(--mut);line-height:1.4}
.dm-list{padding:8px}
.dropm::before{content:'';position:absolute;top:-14px;left:-10px;right:-10px;height:14px}
.hdrop:hover .dropm,.hdrop.open .dropm{display:block}
.dl{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:10px 12px 5px}
.dropm a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;font-size:13.5px;font-weight:500;color:var(--ink-2);transition:background .12s,color .12s;cursor:pointer}
.dropm a:hover{background:var(--stone);color:var(--ink)}
.dropm a i{font-size:16px;color:var(--cobalt);flex-shrink:0}
.nav-r{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}
@media(max-width:1280px){
  .logo .lm{display:none}
  .logo{margin-right:16px}
  .nlinks>li>a,.nlinks>li>span{padding:8px 10px;font-size:13.5px}
}

/* ============ MENU MOBILE ============ */
.burger{display:none;width:40px;height:40px;border:1px solid var(--line-2);border-radius:10px;align-items:center;justify-content:center;color:var(--ink);font-size:20px;background:#fff}
.mnav{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--paper);z-index:998;overflow-y:auto;padding:18px 22px 40px}
.mnav.open{display:block}
.mn-l{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:22px 0 6px}
.mnav a{display:flex;align-items:center;gap:12px;padding:13px 4px;font-size:15.5px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);cursor:pointer}
.mnav a i{font-size:17px;color:var(--cobalt)}
.mnav .btn{width:100%;justify-content:center;margin-top:24px}
@media(max-width:1020px){
  .burger{display:flex}
  .nav-r .btn-line{display:none}
}

/* ============ PAGES ============ */
.pg{display:none}.pg.active{display:block}

/* ============ HERO ============ */
.hero{padding:96px 0 0;position:relative}
.hero-top{max-width:var(--max);margin:0 auto;padding:0 40px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.06em;color:var(--ink-2);border:1px solid var(--line-2);border-radius:999px;padding:7px 14px;margin-bottom:32px}
.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--ok);flex-shrink:0}
.hero h1.d1{max-width:760px;margin-bottom:26px}
.hero h1 .hl{color:var(--cobalt)}
.hero .lead{margin-bottom:38px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:44px}
.proof{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);max-width:760px}
.proof-i{padding:20px 36px 0 0;margin-right:36px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.proof-i:last-child{border-right:none;margin-right:0}
.proof-v{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.02em}
.proof-l{font-size:12.5px;color:var(--mut)}
.hero-frame-wrap{max-width:var(--max);margin:72px auto 0;padding:0 40px;position:relative}
.xmark{position:absolute;font-family:var(--mono);font-size:14px;color:var(--line-2);user-select:none}
.xm-tl{top:-9px;left:26px}.xm-tr{top:-9px;right:26px}

/* ============ PRODUCT FRAME ============ */
.frame{border:1px solid var(--line);border-radius:16px 16px 0 0;border-bottom:none;overflow:hidden;background:#fff;box-shadow:0 -1px 0 var(--line),0 24px 80px -32px rgba(23,27,33,.18);position:relative}
.frame-tag{position:absolute;top:14px;right:16px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.1em;color:var(--faint);z-index:5}
.fbar{border-bottom:1px solid var(--line);padding:13px 18px;display:flex;align-items:center;gap:8px;background:var(--stone)}
.fdot{width:9px;height:9px;border-radius:50%;background:#e8564f}
.fdot:nth-child(2){background:#f0b429}
.fdot:nth-child(3){background:#94A3B8}
.furl{font-family:var(--mono);font-size:11.5px;color:var(--mut);background:#fff;border:1px solid var(--line);border-radius:7px;padding:5px 14px;margin-left:10px}
.fbody{display:grid;grid-template-columns:216px 1fr;min-height:380px}
.fside{background:var(--ink);padding:20px 0}
.fs-logo{font-family:var(--disp);font-size:14px;font-weight:700;color:#fff;padding:0 20px 18px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:14px}
.fs-logo em{font-style:normal;color:#8FA8D8}
.fs-i{display:flex;align-items:center;gap:10px;padding:9px 20px;font-size:12px;color:rgba(255,255,255,.52)}
.fs-i.on{background:rgba(124,149,244,.13);color:#fff;border-right:2px solid #7c95f4}
.fs-i i{font-size:14px}
.fmain{padding:22px 24px;background:#fff}
.fm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.fm-title{font-family:var(--disp);font-size:15px;font-weight:600;color:var(--ink)}
.fm-btn{font-family:var(--mono);font-size:10.5px;font-weight:500;background:var(--ink);color:#fff;padding:7px 13px;border-radius:7px}
.fk-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.fk{border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.fk-v{font-family:var(--mono);font-size:21px;font-weight:600;color:var(--ink);letter-spacing:-.02em}
.fk-l{font-size:11.5px;color:var(--mut);margin-top:3px}
.fk-d{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--ok);margin-top:4px}
.fchart{border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:14px}
.fc-l{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:12px}
.fbars{display:flex;align-items:flex-end;gap:6px;height:64px}
.fbar-i{flex:1;border-radius:4px 4px 0 0;background:var(--cobalt-lt)}
.fbar-i.hi{background:var(--cobalt)}
.frows{display:flex;flex-direction:column;gap:8px}
.frow{border:1px solid var(--line);border-radius:9px;padding:10px 14px;display:flex;align-items:center;gap:10px}
.frow-ic{width:26px;height:26px;border-radius:7px;background:var(--cobalt-lt);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.frow-ic i{font-size:13px;color:var(--cobalt)}
.frow-n{font-size:12.5px;font-weight:500;color:var(--ink);flex:1}
.frow-v{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ok)}
.frow-s{font-family:var(--mono);font-size:10px;font-weight:500;padding:3px 9px;border-radius:99px;background:var(--stone);color:var(--ink-2)}

/* ============ EDITORIAL PROBLEM ============ */
.edi{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.edi-l h2.d2{margin:18px 0 20px}
.edi-items{display:flex;flex-direction:column}
.edi-i{padding:26px 0;border-bottom:1px solid var(--line);display:flex;gap:22px;align-items:flex-start}
.edi-i:first-child{padding-top:6px}
.edi-n{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--faint);margin-top:4px;flex-shrink:0}
.edi-t{font-family:var(--disp);font-size:17px;font-weight:600;color:var(--ink);margin-bottom:6px}
.edi-d{font-size:14px;color:var(--ink-2);line-height:1.7}

/* ============ TABS (3 temps) ============ */
.ttabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-top:52px}
.ttab{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.04em;padding:14px 26px;color:var(--mut);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;display:flex;gap:10px;align-items:center}
.ttab .tn{font-size:11px;color:var(--faint)}
.ttab:hover{color:var(--ink)}
.ttab.on{color:var(--ink);border-bottom-color:var(--ink)}
.ttab.on .tn{color:var(--cobalt)}
.tpanel{display:none;padding-top:52px}
.tpanel.on{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.tp-feats{display:flex;flex-direction:column;margin-top:8px}
.tp-f{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.tp-f:last-child{border-bottom:none}
.tp-fi{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tp-fi i{font-size:17px;color:var(--cobalt)}
.tp-ft{font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:3px}
.tp-fd{font-size:13.5px;color:var(--ink-2);line-height:1.65}

/* ============ DATA CARD (visuels) ============ */
.dcard{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;position:relative}
.demo-preview-wrap{position:relative;width:100%;aspect-ratio:1440/900;overflow:hidden;cursor:pointer;background:#f0f0f0;}
.demo-preview-wrap:hover{outline:2px solid var(--cobalt);outline-offset:-2px;}
.demo-preview-frame{position:absolute;top:0;left:0;width:1440px;height:900px;border:0;transform-origin:0 0;pointer-events:none;}
.dcard .frame-tag{top:12px}
.dc-top{border-bottom:1px solid var(--line);padding:12px 18px;display:flex;align-items:center;gap:9px;background:var(--stone)}
.dc-ti{font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--ink-2)}
.dc-b{padding:18px}
.dc-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.dc-kpis.two{grid-template-columns:repeat(2,1fr)}
.dc-k{border:1px solid var(--line);border-radius:10px;padding:13px 15px}
.dc-kv{font-family:var(--mono);font-size:19px;font-weight:600;color:var(--ink);letter-spacing:-.02em}
.dc-kl{font-size:11px;color:var(--mut);margin-top:3px}
.dc-r{border:1px solid var(--line);border-radius:9px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.dc-rl{font-size:12.5px;color:var(--ink-2)}
.dc-rv{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink)}
.dc-rv.ok{color:var(--ok)}.dc-rv.warn{color:var(--warn)}.dc-rv.vio{color:#6d28d9}
.dc-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.dc-bd{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.04em;padding:4px 10px;border-radius:99px;border:1px solid var(--line)}
.dc-bd.ok{color:var(--ok);border-color:#C9D6EE;background:#EEF2F9}
.dc-bd.warn{color:var(--warn);border-color:#eed6ae;background:#fdf6ea}
.dc-bd.vio{color:#6d28d9;border-color:#ded1f7;background:#f8f5fe}
.dc-bw{margin-bottom:9px}
.dc-bl{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;color:var(--mut);margin-bottom:5px}
.dc-bt{background:var(--stone);border-radius:4px;height:6px;overflow:hidden}
.dc-bf{height:100%;background:var(--cobalt);border-radius:4px}
.dc-bf.w{background:var(--warn)}

/* ============ FEATURE ROWS ============ */
.frow-sec{padding:72px 0;border-top:1px solid var(--line)}
.frow-sec:first-of-type{border-top:none;padding-top:56px}
.fr-in{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.fr-in.rev{direction:rtl}.fr-in.rev>*{direction:ltr}
.fr-in h3.d3{margin:14px 0 16px}
.fr-p{font-size:15px;color:var(--ink-2);line-height:1.75;margin-bottom:22px}
.cklist{display:flex;flex-direction:column;gap:11px;margin-bottom:26px}
.cklist li{display:flex;align-items:flex-start;gap:11px;font-size:14px;color:var(--ink-2);line-height:1.6}
.cklist li i{color:var(--cobalt);font-size:15px;flex-shrink:0;margin-top:3px}

/* ============ BENTO ============ */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.bcard{border:1px solid var(--line);border-radius:16px;padding:32px;background:#fff;transition:border-color .2s}
.bcard:hover{border-color:var(--ink)}
.bcard.big{grid-column:span 2;background:var(--ink);border-color:var(--ink);position:relative;overflow:hidden}
.bcard.big::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 85% 110%,rgba(36,71,214,.35) 0%,transparent 60%);pointer-events:none}
.bcard.big *{position:relative;z-index:1}
.b-kick{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--cobalt);margin-bottom:16px;display:block}
.bcard.big .b-kick{color:#8ba2f2}
.b-t{font-family:var(--disp);font-size:19px;font-weight:600;color:var(--ink);margin-bottom:10px;line-height:1.25}
.bcard.big .b-t{color:#fff;font-size:24px;max-width:420px}
.b-d{font-size:14px;color:var(--ink-2);line-height:1.7}
.bcard.big .b-d{color:rgba(255,255,255,.68);max-width:460px}
.b-stat{font-family:var(--mono);font-size:38px;font-weight:600;color:var(--ink);letter-spacing:-.03em;line-height:1;margin-bottom:12px}
.bcard.big .b-stat{color:#fff;font-size:46px}

/* ============ CASE ============ */
.case{display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;margin-top:56px;align-items:start}
.case-num{border:1px solid var(--line);border-radius:16px;padding:36px;text-align:left;margin-bottom:16px;background:#fff}
.case-big{font-family:var(--mono);font-size:64px;font-weight:600;color:var(--ink);letter-spacing:-.04em;line-height:1}
.case-lbl{font-size:14px;color:var(--mut);margin-top:8px}
.case-src{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--faint);margin-top:16px;text-transform:uppercase}
.case-facts{display:flex;flex-direction:column}
.case-f{display:flex;gap:14px;padding:17px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.case-f i{font-size:17px;color:var(--cobalt);margin-top:2px;flex-shrink:0}
.case-ft{font-size:14px;font-weight:600;color:var(--ink)}
.case-fd{font-size:13px;color:var(--mut);margin-top:1px}
.case-body h3.d3{margin-bottom:16px}
.case-body p{font-size:15px;color:var(--ink-2);line-height:1.8;margin-bottom:16px}
.case-note{font-family:var(--mono);font-size:12px;color:var(--mut);border-left:2px solid var(--line-2);padding-left:16px;line-height:1.7}
.case-cover{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}
.case-cover-t{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:14px}

/* ============ STEPS ============ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.step{padding:36px 32px;border-right:1px solid var(--line);background:#fff}
.step:last-child{border-right:none}
.step-n{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--cobalt);margin-bottom:18px}
.step-t{font-family:var(--disp);font-size:17px;font-weight:600;color:var(--ink);margin-bottom:14px;line-height:1.3}
.step ul{display:flex;flex-direction:column;gap:9px}
.step ul li{display:flex;gap:9px;font-size:13.5px;color:var(--ink-2);line-height:1.6;align-items:flex-start}
.step ul li i{color:var(--cobalt);font-size:13px;margin-top:4px;flex-shrink:0}

/* ============ FAQ ============ */
.faq{margin-top:52px;border-top:1px solid var(--line)}
.fq{border-bottom:1px solid var(--line)}
.fq-q{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:24px 0;font-family:var(--disp);font-size:16.5px;font-weight:600;color:var(--ink);gap:20px}
.fq-q i{color:var(--faint);font-size:19px;flex-shrink:0;transition:transform .2s}
.fq.open .fq-q i{transform:rotate(45deg);color:var(--cobalt)}
.fq-a{display:none;padding:0 0 26px;font-size:15px;color:var(--ink-2);line-height:1.8;max-width:740px}
.fq.open .fq-a{display:block}

/* ============ CTA ============ */
.cta{background:var(--ink);padding:110px 0;position:relative;overflow:hidden}
.cta::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 90% at 50% 120%,rgba(36,71,214,.4) 0%,transparent 65%);pointer-events:none}
.cta .wrap{position:relative;z-index:1;text-align:center}
.cta h2.d2{color:#fff;max-width:640px;margin:0 auto 18px}
.cta p{font-size:16px;color:rgba(255,255,255,.6);max-width:460px;margin:0 auto 40px}
.cta .btn-ink{background:#fff;color:var(--ink)}
.cta .btn-ink:hover{background:var(--stone)}
.cta .btn-line{border-color:rgba(255,255,255,.25);color:#fff;background:transparent}
.cta .btn-line:hover{border-color:#fff}
.cta-btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* ============ PAGE HEROES ============ */
.phero{padding:88px 0 72px;border-bottom:1px solid var(--line)}
.phero-in{display:grid;grid-template-columns:1.1fr 0.9fr;gap:72px;align-items:center}
.phero h1.d1{font-size:clamp(30px,4.2vw,48px);margin:18px 0 20px}
.phero .lead{margin-bottom:30px}
.pvis{border:1px solid var(--line);border-radius:16px;background:var(--stone);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;position:relative}
.pvis i{font-size:64px;color:var(--line-2)}
.pvis .frame-tag{top:14px}

/* ============ METIERS ============ */
.mgrid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:72px;align-items:start}
.mlist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.mitem{display:flex;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line);cursor:pointer;background:#fff;transition:background .15s;text-align:left;width:100%}
.mitem:last-child{border-bottom:none}
.mitem:hover{background:var(--stone)}
.mitem.on{background:var(--ink)}
.mitem.on .mi-t{color:#fff}
.mitem.on .mi-s{color:rgba(255,255,255,.55)}
.mitem.on .mi-ic{border-color:rgba(255,255,255,.2)}
.mitem.on .mi-ic i{color:#8ba2f2}
.mitem.on .mi-ar{color:#8ba2f2}
.mi-ic{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mi-ic i{font-size:18px;color:var(--cobalt)}
.mi-t{font-size:14.5px;font-weight:600;color:var(--ink)}
.mi-s{font-size:12.5px;color:var(--mut);margin-top:1px}
.mi-ar{margin-left:auto;color:var(--faint);font-size:16px}
.mdet{display:none}.mdet.on{display:block}
.mdet h3.d3{margin-bottom:14px}
.mdet .body-t{margin-bottom:24px}
.mperks{display:flex;flex-direction:column}
.mperk{display:flex;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.mperk:last-child{border-bottom:none}
.mperk i{font-size:17px;color:var(--cobalt);margin-top:3px;flex-shrink:0}
.mp-t{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:2px}
.mp-d{font-size:13px;color:var(--ink-2);line-height:1.6}

/* ============ FONCT TABS ============ */
.fnav{position:sticky;top:64px;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);overflow-x:auto}
.fnav-in{max-width:var(--max);margin:0 auto;padding:0 40px;display:flex}
.fnb{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.03em;padding:16px 16px;color:var(--mut);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:flex;align-items:center;gap:7px;transition:color .15s,border-color .15s}
.fnb i{font-size:14px}
.fnb:hover{color:var(--ink)}
.fnb.on{color:var(--ink);border-bottom-color:var(--ink)}
.fdp{display:none}.fdp.on{display:block}
.subgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:64px}
.subcard{border:1px solid var(--line);border-radius:14px;padding:26px;background:#fff;transition:border-color .2s}
.subcard:hover{border-color:var(--ink)}
.sub-ic{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.sub-ic i{font-size:18px;color:var(--cobalt)}
.sub-t{font-family:var(--disp);font-size:15px;font-weight:600;color:var(--ink);margin-bottom:7px}
.sub-d{font-size:13px;color:var(--ink-2);line-height:1.65}

/* ============ MODULES ============ */
.modgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--line)}
.modc{background:#fff;padding:20px;display:flex;flex-direction:column;gap:6px;transition:background .15s;cursor:pointer;text-align:left;border:none;font-family:var(--body)}
.modc:hover{background:var(--stone)}
.modc.on{background:var(--cobalt-lt)}
.modc.on .mod-t{color:var(--cobalt)}
.modc.on .mod-n{color:var(--cobalt)}
.mod-detail{margin-top:16px;border:1px solid var(--line);border-left:2px solid var(--cobalt);border-radius:12px;padding:24px 28px;background:#fff;animation:fadeUp .4s cubic-bezier(.16,1,.3,1) both}
.mod-detail .md-k{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--cobalt);margin-bottom:8px;display:block}
.mod-detail .md-t{font-family:var(--disp);font-size:17px;font-weight:600;color:var(--ink);margin-bottom:8px}
.mod-detail .md-d{font-size:14px;color:var(--ink-2);line-height:1.75;max-width:860px}
.mod-n{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--faint);letter-spacing:.08em}
.mod-t{font-size:13.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px}
.mod-t i{font-size:15px;color:var(--cobalt)}
.mod-d{font-size:11.5px;color:var(--mut);line-height:1.5}
.ic-note{margin-top:24px;border:1px solid var(--line);border-left:2px solid var(--cobalt);border-radius:12px;padding:22px 26px;display:flex;gap:16px;align-items:flex-start;background:#fff}
.ic-note i{font-size:20px;color:var(--cobalt);flex-shrink:0;margin-top:2px}
.ic-note-t{font-family:var(--disp);font-size:15px;font-weight:600;color:var(--ink);margin-bottom:5px}
.ic-note-d{font-size:13.5px;color:var(--ink-2);line-height:1.7}

/* ============ TEAM ============ */
.team{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:52px}
.tm-card{border:1px solid var(--line);border-radius:16px;padding:34px;background:#fff}
.tm-role{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--cobalt);margin-bottom:16px;display:block}
.tm-t{font-family:var(--disp);font-size:19px;font-weight:600;color:var(--ink);margin-bottom:12px;line-height:1.3}
.tm-d{font-size:14px;color:var(--ink-2);line-height:1.75}
.tm-line{margin-top:20px;font-family:var(--mono);font-size:11.5px;color:var(--mut);border-top:1px solid var(--line);padding-top:16px;line-height:1.7}

/* ============ TARIFS ============ */
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:56px}
@media(max-width:1140px){.tgrid{grid-template-columns:repeat(2,1fr)}}
.tcard{border:1px solid var(--line);border-radius:16px;padding:34px 30px;background:#fff;position:relative;transition:border-color .2s}
.tcard:hover{border-color:var(--line-2)}
.tcard.feat{border-color:var(--ink);box-shadow:0 20px 60px -30px rgba(23,27,33,.25)}
.t-pop{position:absolute;top:-11px;left:30px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:#fff;padding:5px 12px;border-radius:99px}
.t-tier{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--cobalt);margin-bottom:10px}
.t-name{font-family:var(--disp);font-size:22px;font-weight:600;color:var(--ink);margin-bottom:8px}
.t-desc{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin-bottom:26px;min-height:44px}
.t-price{display:flex;align-items:baseline;gap:6px}
.t-amt{font-family:var(--mono);font-size:42px;font-weight:600;color:var(--ink);letter-spacing:-.03em}
.t-suf{font-size:14px;color:var(--mut)}
.t-users{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);margin:6px 0 26px;display:flex;align-items:center;gap:6px}
.t-users i{color:var(--cobalt);font-size:14px}
.t-sep{border:none;border-top:1px solid var(--line);margin:26px 0}
.t-feats{display:flex;flex-direction:column;gap:11px}
.t-feats li{display:flex;gap:10px;font-size:13.5px;color:var(--ink-2);align-items:flex-start;line-height:1.55}
.t-feats li i{color:var(--cobalt);font-size:14px;margin-top:3px;flex-shrink:0}
.reassu{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:52px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.re-i{display:flex;gap:14px;align-items:center;padding:24px 28px;border-right:1px solid var(--line);background:#fff}
.re-i:last-child{border-right:none}
.re-i i{font-size:20px;color:var(--cobalt);flex-shrink:0}
.re-t{font-size:13.5px;font-weight:600;color:var(--ink)}
.re-d{font-size:12px;color:var(--mut);margin-top:1px}

/* ============ DEMO ============ */
.dform{max-width:600px;margin:52px auto 0;border:1px solid var(--line);border-radius:16px;padding:42px;background:#fff}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.fg{margin-bottom:16px}
.flbl{font-size:13px;font-weight:600;color:var(--ink);display:block;margin-bottom:7px}
.finp,.fsel{width:100%;padding:12px 14px;border:1px solid var(--line-2);border-radius:10px;font-size:14px;font-family:var(--body);color:var(--ink);background:#fff;outline:none;transition:border-color .15s}
.finp:focus,.fsel:focus{border-color:var(--ink)}
.finp::placeholder{color:var(--faint)}
.fbtn{width:100%;padding:14px;background:var(--ink);color:#fff;font-size:14.5px;font-weight:600;border-radius:10px;margin-top:8px;transition:background .15s;cursor:pointer}
.fbtn:hover{background:#000}
.fnote{font-family:var(--mono);font-size:11px;color:var(--mut);text-align:center;margin-top:14px}
.dperks{display:flex;justify-content:center;gap:26px;margin-top:28px;flex-wrap:wrap}
.dperk{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2)}
.dperk i{color:var(--cobalt);font-size:14px}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--line);padding:72px 0 36px;background:var(--stone)}
.ft-grid{max-width:var(--max);margin:0 auto;padding:0 40px;display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:48px;padding-bottom:56px;border-bottom:1px solid var(--line)}
.ft-logo{font-family:var(--disp);font-size:18px;font-weight:700;color:var(--ink);margin-bottom:14px}
.ft-logo em{font-style:normal;color:#1E3A6E}
.ft-p{font-size:13.5px;color:var(--ink-2);line-height:1.75;max-width:290px}
.ft-h{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:18px}
.ft-c ul{display:flex;flex-direction:column;gap:11px}
.ft-c ul li a{font-size:13.5px;color:var(--ink-2);cursor:pointer;transition:color .15s}
.ft-c ul li a:hover{color:var(--ink)}
.ft-bot{max-width:var(--max);margin:0 auto;padding:28px 40px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.ft-bot span{font-family:var(--mono);font-size:11px;color:var(--mut)}
.ft-links{display:flex;gap:20px}
.ft-links a{font-family:var(--mono);font-size:11px;color:var(--mut);transition:color .15s}
.ft-links a:hover{color:var(--ink)}

/* ============ LEGAL ============ */
.legal-wrap{max-width:860px;margin:0 auto;padding:72px 40px 96px}
.legal-wrap h1{font-family:var(--disp);font-size:clamp(26px,3.6vw,38px);font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:14px 0 10px}
.legal-wrap .l-date{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.08em;margin-bottom:36px;display:block}
.legal-wrap h2{font-family:var(--disp);font-size:17px;font-weight:600;color:var(--ink);margin:34px 0 10px;padding-top:22px;border-top:1px solid var(--line)}
.legal-wrap p,.legal-wrap li{font-size:14.5px;color:var(--ink-2);line-height:1.8}
.legal-wrap ul{padding-left:2px;display:flex;flex-direction:column;gap:6px}
.legal-wrap ul li{display:flex;gap:10px}
.legal-wrap ul li::before{content:'—';color:var(--cobalt);flex-shrink:0}
.todo{font-family:var(--mono);font-size:12.5px;background:var(--cobalt-lt);color:var(--cobalt-h);padding:1px 7px;border-radius:5px;white-space:nowrap}

/* ============ PAGE ÉQUIPE ============ */
.pquote{border-left:3px solid var(--cobalt);padding:8px 0 8px 26px;font-family:var(--disp);font-size:clamp(17px,2.2vw,21px);font-weight:600;color:var(--ink);max-width:660px;margin:36px 0 10px;line-height:1.55}
.pquote-a{display:block;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;color:var(--mut);margin-top:14px}
.subgrid.sg3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1020px){.subgrid.sg3{grid-template-columns:1fr}}
.team.t3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1020px){.team.t3{grid-template-columns:1fr}}
.tm-av{width:64px;height:64px;border-radius:50%;background:var(--cobalt-lt);color:var(--cobalt);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:21px;margin-bottom:18px;letter-spacing:-.02em}
.tm-av.ph{width:92px;height:92px;overflow:hidden;border:1px solid var(--line)}
.tm-av.ph img{width:100%;height:100%;object-fit:cover;display:block}
.tm-name{font-family:var(--disp);font-size:17px;font-weight:700;color:var(--ink);margin-bottom:2px}
.tl{display:flex;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:48px;background:#fff}
.tl-i{flex:1;padding:24px 26px;border-right:1px solid var(--line)}
.tl-i:last-child{border-right:none}
.tl-y{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--cobalt);display:block;margin-bottom:10px}
.tl-t{font-family:var(--disp);font-size:15px;font-weight:600;color:var(--ink);margin-bottom:6px}
.tl-d{font-size:12.5px;color:var(--ink-2);line-height:1.7}
@media(max-width:860px){.tl{flex-direction:column}.tl-i{border-right:none;border-bottom:1px solid var(--line)}.tl-i:last-child{border-bottom:none}}

/* ============ BADGE EN DÉVELOPPEMENT ============ */
.soon{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.1em;color:var(--cobalt);background:var(--cobalt-lt);border:1px solid #d5ddf8;border-radius:99px;padding:2px 8px;margin-left:7px;white-space:nowrap;vertical-align:2px}

/* ============ A11Y & FORMULAIRE ============ */
:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px;border-radius:4px}
.finp.err,.fsel.err{border-color:#c2334d!important;box-shadow:0 0 0 3px rgba(194,51,77,.12)}
.ferr{font-size:12px;color:#c2334d;margin-top:8px;display:none}
.ferr.on{display:block}
.fsucc{text-align:center;padding:34px 20px;animation:fadeUp .5s cubic-bezier(.16,1,.3,1) both}
.fsucc .fs-ic{width:56px;height:56px;border-radius:50%;background:#E8EDF6;color:#1E3A6E;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 18px}
.fsucc .fs-t{font-family:var(--disp);font-size:19px;font-weight:700;color:var(--ink);margin-bottom:8px}
.fsucc .fs-d{font-size:14px;color:var(--ink-2);max-width:340px;margin:0 auto;line-height:1.7}
.fsucc .fs-m{font-family:var(--mono);font-size:11px;color:var(--cobalt);margin-top:14px;letter-spacing:.04em}

/* ============ AU MÊME BUDGET / ARGENT & TEMPS ============ */
.budcard{border:1px solid var(--line);border-radius:18px;padding:34px 36px;margin-top:24px;background:#fff;position:relative;overflow:hidden}
.budcard::before{content:'';position:absolute;top:-80px;right:-80px;width:280px;height:280px;background:radial-gradient(circle,rgba(36,71,214,.07),transparent 68%);pointer-events:none}
.bud-amt{font-family:var(--mono);font-size:13px;color:var(--mut);margin-top:6px}
.bud-amt b{color:var(--cobalt);font-family:var(--disp);font-size:20px;font-weight:700}
.budgrid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:26px;border-top:1px solid var(--line)}
.bud-col{padding:22px 24px 4px}
.bud-col:first-child{border-right:1px solid var(--line)}
.bud-col-h{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:7px}
.bud-col-h.them{color:var(--mut)}
.bud-col-h.us{color:var(--cobalt)}
.bud-li{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--ink-2);padding:7px 0;line-height:1.5}
.bud-li i{margin-top:2px;font-size:14px;flex-shrink:0}
.bud-li.y i{color:var(--cobalt)}
.bud-li.n i{color:var(--faint)}
.bud-li.n{color:var(--faint)}
@media(max-width:760px){.budgrid{grid-template-columns:1fr}.bud-col:first-child{border-right:none;border-bottom:1px solid var(--line)}}


/* ============ PROFIL & ACCOMPAGNEMENT (cartes tarifs) ============ */
.t-profil{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 0;margin:14px 0}
.t-profil span{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--mut)}
.t-profil i{color:var(--cobalt);font-size:13px;flex-shrink:0}
.t-profil b{color:var(--ink-2);font-weight:600}

/* ============ CARRIÈRES (footer) ============ */
.jobs-band{max-width:var(--max);margin:0 auto;padding:40px 40px 8px;border-bottom:1px solid var(--line)}
.jobs-h{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.jobs-h .jh-t{font-family:var(--disp);font-size:15px;font-weight:700;color:var(--ink)}
.jobs-h .jh-s{font-size:12.5px;color:var(--mut)}
.job-mail{font-family:var(--mono);font-size:11.5px;color:var(--cobalt);cursor:pointer}
.job-mail:hover{text-decoration:underline}

/* ============ SANS / AVEC ============ */
.avap{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:8px}
.avap-c{padding:20px 24px}
.avap-c.sans{background:var(--stone)}
.avap-c.avec{background:var(--cobalt-lt)}
.avap-h{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;margin-bottom:13px}
.avap-c.sans .avap-h{color:var(--mut)}
.avap-c.avec .avap-h{color:var(--cobalt)}
.avap-li{display:flex;align-items:flex-start;gap:8px;font-size:13px;padding:5px 0;line-height:1.6}
.avap-c.sans .avap-li{color:var(--mut)}
.avap-c.avec .avap-li{color:var(--ink-2);font-weight:500}
.avap-li i{margin-top:2px;font-size:12px;flex-shrink:0}
@media(max-width:700px){.avap{grid-template-columns:1fr}.avap-c.sans{border-bottom:1px solid var(--line)}}

/* ============ QUALIFICATION (conçu pour) ============ */
.qualif-solo{border:1px solid var(--line);border-left:3px solid var(--cobalt);border-radius:16px;background:#fff;padding:30px 34px;margin:36px 0 8px}
.qs-h{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-size:16px;font-weight:700;color:var(--ink);margin-bottom:20px}
.qs-h i{color:var(--cobalt);font-size:19px}
.qs-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px}
.qs-li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--ink-2);padding:7px 0;line-height:1.65}
.qs-li i{color:var(--cobalt);margin-top:2px;font-size:14px;flex-shrink:0}
@media(max-width:760px){.qs-grid{grid-template-columns:1fr}}

/* ============ BADGE RÉFORME & COMPARATIF ============ */
.efbadge{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 16px;background:#fff;position:relative;overflow:hidden}
.efbadge::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#002654 0 33%,#fff 33% 66%,#ED2939 66%)}
.efbadge .ef-ic{font-size:20px;color:var(--ink);margin-left:6px;flex-shrink:0}
.efbadge .ef-t{font-family:var(--disp);font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.3}
.efbadge .ef-s{font-family:var(--mono);font-size:10.5px;color:var(--mut);letter-spacing:.05em;margin-top:2px}
.vscard{border:1px solid var(--line);border-radius:16px;padding:26px 28px;margin-top:20px;background:var(--stone)}
.vscard table{width:100%;border-collapse:collapse;font-size:13px;margin-top:14px}
.vscard th{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);text-align:right;padding:8px 10px;font-weight:500}
.vscard th:first-child{text-align:left}
.vscard td{text-align:right;padding:9px 10px;border-top:1px solid var(--line);color:var(--ink-2)}
.vscard td:first-child{text-align:left;font-weight:600;color:var(--ink)}
.vscard td.win{color:var(--cobalt);font-weight:700}
.vscard .vs-note{font-size:11.5px;color:var(--mut);margin-top:14px;line-height:1.7}

/* ============ BULLE DE CONTACT ============ */
.cbub{position:fixed;bottom:26px;right:26px;z-index:950}
@media(max-width:760px){.cbub{bottom:80px;right:16px}}
.cbub-btn{width:56px;height:56px;border-radius:50%;background:var(--ink);color:#fff;border:none;display:flex;align-items:center;justify-content:center;font-size:23px;cursor:pointer;box-shadow:0 10px 30px -8px rgba(23,27,33,.45);transition:transform .25s cubic-bezier(.16,1,.3,1),background .2s}
.cbub-btn:hover{background:var(--cobalt);transform:scale(1.06)}
.cbub-btn .ic-x{display:none}
.cbub.open .cbub-btn .ic-c{display:none}
.cbub.open .cbub-btn .ic-x{display:block}
.cbub-dot{position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;background:#1E3A6E;border:2px solid #fff}
@keyframes cbPulse{0%{box-shadow:0 0 0 0 rgba(30,58,110,.5)}70%{box-shadow:0 0 0 8px rgba(30,58,110,0)}100%{box-shadow:0 0 0 0 rgba(30,58,110,0)}}
.cbub-dot{animation:cbPulse 2.4s ease-out infinite}
.cbub-panel{display:none;position:absolute;bottom:70px;right:0;width:320px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px -16px rgba(23,27,33,.28);overflow:hidden}
.cbub.open .cbub-panel{display:block;animation:cbUp .22s cubic-bezier(.16,1,.3,1)}
@keyframes cbUp{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.cbub-h{background:var(--ink);padding:20px 22px;color:#fff;position:relative}
.cbub-h::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 1.4px);background-size:16px 16px}
.cbub-h .ch-t{font-family:var(--disp);font-weight:700;font-size:15.5px;position:relative}
.cbub-h .ch-s{font-size:12px;color:#9aa1ab;margin-top:4px;position:relative}
.cbub-av{display:flex;gap:10px;margin-top:14px;position:relative}
.cbub-av .ca-i{width:30px;height:30px;border-radius:50%;background:var(--cobalt-lt);color:var(--cobalt);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:2px solid var(--ink);margin-left:-10px}
.cbub-av .ca-i:first-child{margin-left:0}
.cbub-b{padding:16px}
.cbub-opt{display:flex;align-items:center;gap:11px;padding:12px 12px;border:1px solid var(--line);border-radius:11px;margin-bottom:8px;cursor:pointer;transition:border-color .15s,background .15s}
.cbub-opt:hover{border-color:var(--cobalt);background:var(--cobalt-lt)}
.cbub-opt i{font-size:18px;color:var(--cobalt);flex-shrink:0}
.cbub-opt .co-t{font-size:13px;font-weight:600;color:var(--ink)}
.cbub-opt .co-d{font-size:11px;color:var(--mut)}
.cbub-f{padding:10px 16px 14px;text-align:center;font-family:var(--mono);font-size:10.5px;color:var(--faint);letter-spacing:.05em}

/* ============ PALETTE DE COMMANDES (⌘K) ============ */
.kbar-hint{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:8px;color:var(--mut);cursor:pointer;background:#fff;transition:border-color .15s,color .15s;flex-shrink:0}
.kbar-hint:hover{border-color:var(--ink);color:var(--ink)}
.kbar-hint i{font-size:14px}
.kbar-ov{display:none;position:fixed;inset:0;z-index:2000;background:rgba(23,27,33,.45);backdrop-filter:blur(2px);padding:14vh 20px 0;animation:kbFade .15s ease}
.kbar-ov.open{display:block}
@keyframes kbFade{from{opacity:0}to{opacity:1}}
.kbar{max-width:560px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 30px 80px -20px rgba(0,0,0,.4);overflow:hidden;animation:kbUp .2s cubic-bezier(.16,1,.3,1)}
@keyframes kbUp{from{opacity:0;transform:translateY(-14px) scale(.98)}to{opacity:1;transform:none}}
.kbar-in{display:flex;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line)}
.kbar-in i{color:var(--mut);font-size:17px}
.kbar-in input{flex:1;border:none;outline:none;font:inherit;font-size:15px;color:var(--ink)}
.kbar-in .esc{font-family:var(--mono);font-size:10px;color:var(--faint);border:1px solid var(--line);border-radius:5px;padding:2px 6px}
.kbar-res{max-height:360px;overflow-y:auto;padding:8px}
.kbar-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;cursor:pointer;font-size:13.5px;color:var(--ink)}
.kbar-item i{font-size:16px;color:var(--cobalt);width:18px;text-align:center;flex-shrink:0}
.kbar-item .kb-s{font-size:11.5px;color:var(--mut);margin-left:auto}
.kbar-item.sel{background:var(--cobalt-lt)}
.kbar-empty{padding:24px;text-align:center;font-size:13px;color:var(--mut)}
.nlinks>li>a,.nlinks>li>span{position:relative}
.nlinks>li>a::after,.nlinks>li>span::after{content:'';position:absolute;left:13px;right:13px;bottom:3px;height:2px;background:var(--cobalt);transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.nlinks>li>a:hover::after,.nlinks>li>span:hover::after{transform:scaleX(1)}
.magnet{transition:transform .15s cubic-bezier(.16,1,.3,1)}

/* ============ DÉMARRAGE & PARCOURS ============ */
.starter{display:flex;align-items:center;gap:28px;border:1px solid var(--line);border-left:3px solid var(--cobalt);border-radius:14px;background:#fff;padding:26px 30px;margin-top:44px;flex-wrap:wrap;box-shadow:0 1px 2px rgba(23,27,33,.04)}
.starter .st-price{font-family:var(--disp);font-size:42px;font-weight:700;color:var(--ink);line-height:1;flex-shrink:0}
.starter .st-price small{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--mut);display:block;margin-top:6px;letter-spacing:.08em}
.starter .st-body{flex:1;min-width:280px}
.starter .st-t{font-family:var(--disp);font-weight:600;font-size:16.5px;color:var(--ink);margin-bottom:6px}
.starter .st-d{font-size:13.5px;color:var(--ink-2);line-height:1.75}
.upath{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:30px}
.upath span{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;border:1px solid var(--line);border-radius:99px;padding:8px 15px;color:var(--ink-2);background:#fff;white-space:nowrap;transition:border-color .2s,transform .2s}
.upath span:hover{border-color:var(--cobalt);transform:translateY(-2px)}
.upath span b{color:var(--cobalt);font-weight:500}
.upath>i{color:var(--faint);font-size:14px}
.upath .up-note{width:100%;text-align:center;font-family:var(--mono);font-size:10.5px;color:var(--mut);letter-spacing:.12em;margin-top:10px}

/* ============ DESIGN V3 ============ */
::selection{background:var(--cobalt);color:#fff}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--stone)}
::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px;border:3px solid var(--stone)}
::-webkit-scrollbar-thumb:hover{background:var(--mut)}
.tcard{transition:border-color .25s,transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.tcard:hover{border-color:var(--cobalt);transform:translateY(-4px);box-shadow:0 18px 44px -18px rgba(36,71,214,.22)}
.fchip{position:absolute;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:8px 14px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;color:var(--ink-2);box-shadow:0 10px 30px -12px rgba(23,27,33,.18);z-index:5;animation:floaty 6s ease-in-out infinite;white-space:nowrap}
.fchip i{color:var(--cobalt);font-size:13px}
.fchip.c1{top:-14px;left:-22px}
.fchip.c2{bottom:26px;right:-18px;animation-delay:-3s}
.fchip.c2 i{color:var(--ok)}
.fchip.c3{bottom:-16px;left:50%;transform:translateX(-50%);animation-delay:-1.5s;cursor:pointer;border-color:var(--cobalt);color:var(--cobalt);font-weight:700}
.fchip.c3:hover{background:var(--cobalt);color:#fff}
.fchip.c3:hover i{color:#fff}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(max-width:900px){.fchip{display:none}}
.roi input[type=range]{-webkit-appearance:none;appearance:none;height:6px;border-radius:99px;background:var(--line);outline:none;cursor:pointer}
.roi input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--cobalt);border:3px solid #fff;box-shadow:0 2px 8px rgba(36,71,214,.4);transition:transform .15s}
.roi input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}
.roi input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--cobalt);border:3px solid #fff;box-shadow:0 2px 8px rgba(36,71,214,.4)}
@keyframes bump{0%{transform:scale(1)}45%{transform:scale(1.07)}100%{transform:scale(1)}}
.ro-v.bump{animation:bump .35s cubic-bezier(.16,1,.3,1)}
.cmp tr:hover td{background:#f7f9ff}
.cmp tr:hover td.bp{background:#e2e9fc}
.cmp tr:first-child:hover th{background:var(--stone)}
.modc.glowable::before,.step.glowable::before,.mitem.glowable::before{border-radius:0}
@media(prefers-reduced-motion:reduce){.fchip{animation:none}.ro-v.bump{animation:none}.tcard:hover{transform:none}}

/* ============ ATMOSPHÈRE & PREMIUM V2 ============ */
.hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(23,27,33,.06) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 85% 65% at 50% 0%,#000 25%,transparent 72%);mask-image:radial-gradient(ellipse 85% 65% at 50% 0%,#000 25%,transparent 72%);pointer-events:none}
.hero::after{content:'';position:absolute;top:-160px;right:-140px;width:620px;height:620px;background:radial-gradient(circle,rgba(36,71,214,.09),transparent 62%);pointer-events:none}
.hero>*{position:relative;z-index:1}
.hero h1.d1{animation:none}
.hw{display:inline-block;opacity:0;transform:translateY(26px) rotate(1deg);animation:hwIn .65s cubic-bezier(.16,1,.3,1) forwards}
@keyframes hwIn{to{opacity:1;transform:none}}
.grad{background:linear-gradient(100deg,var(--cobalt) 15%,#7a93f0 85%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sec-dark{background:var(--ink)}
.sec-dark .kick{color:#8ba2f2}
.sec-dark h2.d2{color:#fff}
.sec-dark h3.d3{color:#fff}
.sec-dark .case-num{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14)}
.sec-dark .case-big{color:#fff}
.sec-dark .case-lbl{color:#9aa1ab}
.sec-dark .case-src{color:#8ba2f2}
.sec-dark .case-f{border-bottom-color:rgba(255,255,255,.12)}
.sec-dark .case-ft{color:#fff}
.sec-dark .case-fd{color:#9aa1ab}
.sec-dark .case-body p{color:#c8cdd4}
.sec-dark .case-note{color:#9aa1ab;border-left-color:rgba(255,255,255,.18)}
.sec-dark .case-cover{border-top-color:rgba(255,255,255,.14)}
.sec-dark .case-cover-t{color:#8ba2f2}
.sec-dark .cklist li{color:#c8cdd4}
.sec-dark .krule-sub{border-top-color:rgba(255,255,255,.14)}
.sec-dark .bcard{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.10)}
.sec-dark .bcard:hover{border-color:rgba(255,255,255,.3)}
.sec-dark .b-kick{color:#8ba2f2}
.sec-dark .b-t{color:#fff}
.sec-dark .b-d{color:rgba(255,255,255,.62)}
.sec-dark .b-stat{color:#fff}
.sec-dark .bcard.big{background:linear-gradient(135deg,rgba(36,71,214,.32),rgba(36,71,214,.07));border-color:rgba(139,162,242,.35)}
.glowable{position:relative}
.glowable::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(230px circle at var(--mx,50%) var(--my,50%),rgba(36,71,214,.09),transparent 62%);opacity:0;transition:opacity .25s;pointer-events:none}
.glowable:hover::before{opacity:1}
.sec-dark .glowable::before{background:radial-gradient(250px circle at var(--mx,50%) var(--my,50%),rgba(139,162,242,.14),transparent 62%)}
.btn-ink{position:relative;overflow:hidden}
.btn-ink::after{content:'';position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-18deg);transition:left .55s cubic-bezier(.16,1,.3,1)}
.btn-ink:hover::after{left:130%}
.ft-giant{font-family:var(--disp);font-weight:700;font-size:clamp(64px,13vw,168px);line-height:.95;letter-spacing:-.045em;color:transparent;-webkit-text-stroke:1px var(--line-2);text-align:center;margin:56px auto -8px;user-select:none;pointer-events:none}
@media(prefers-reduced-motion:reduce){
  .hw{animation:none;opacity:1;transform:none}
  .btn-ink::after{display:none}
  .glowable::before{display:none}
}

/* ============ FINITIONS PREMIUM ============ */
#sprog{position:fixed;top:0;left:0;height:2px;background:var(--cobalt);width:0;z-index:1200;transition:width .1s linear}
.pg.active{animation:pgIn .5s cubic-bezier(.16,1,.3,1)}
@keyframes pgIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(30,58,110,.45)}70%{box-shadow:0 0 0 7px rgba(30,58,110,0)}100%{box-shadow:0 0 0 0 rgba(30,58,110,0)}}
.hero-badge .dot{animation:pulseDot 2.2s ease-out infinite}
.hero-frame-wrap{position:relative}
.hero-frame-wrap::before{content:'';position:absolute;inset:-60px -80px -40px;background:radial-gradient(560px 300px at 65% 25%,rgba(36,71,214,.09),transparent 65%);z-index:-1;pointer-events:none}
.frame{transition:transform .35s cubic-bezier(.16,1,.3,1);transform-style:preserve-3d;will-change:transform}
.btn i{transition:transform .2s cubic-bezier(.16,1,.3,1)}
.btn:hover i{transform:translateX(3px)}
.tick{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;background:#fff}
.tick-in{display:flex;align-items:center;gap:30px;width:max-content;animation:tickmove 55s linear infinite}
.tick:hover .tick-in{animation-play-state:paused}
.tick-in span{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);white-space:nowrap}
.tick-in i{color:var(--cobalt);font-style:normal;font-size:10.5px}
@keyframes tickmove{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.tick-in{animation:none}.pg.active{animation:none}.hero-badge .dot{animation:none}.frame{transition:none}}

/* ============ ANNONCE / TRUST / ROI / CTA MOBILE ============ */
.annbar{background:var(--ink);color:#fff;text-align:center;padding:9px 40px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;cursor:pointer;position:relative}
.annbar.hidden{display:none}
.ann-x{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;transition:background .15s}
.ann-x:hover{background:rgba(255,255,255,.22)}
.annbar b{color:var(--ice,#8ba2f2);font-weight:500}
.annbar:hover b{text-decoration:underline}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:56px}
@media(max-width:860px){.trust{grid-template-columns:repeat(2,1fr)}}
.trust-i{border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:8px}
.trust-i i{font-size:20px;color:var(--cobalt)}
.trust-i .tt{font-family:var(--disp);font-size:14px;font-weight:600;color:var(--ink)}
.trust-i .td{font-size:12px;color:var(--mut);line-height:1.6}
.roi{margin-top:40px;border:1px solid var(--line);border-radius:16px;padding:32px;background:#fff;box-shadow:0 1px 2px rgba(23,27,33,.04)}
.roi-grid{display:grid;grid-template-columns:1fr 280px;gap:32px;align-items:center}
@media(max-width:860px){.roi-grid{grid-template-columns:1fr}}
.roi-f{margin-bottom:20px}
.roi-f label{display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:8px}
.roi-f label output{font-family:var(--mono);color:var(--cobalt);font-weight:500}
.roi input[type=range]{width:100%;accent-color:var(--cobalt)}
.roi select{padding:8px 12px;border:1px solid var(--line-2);border-radius:8px;font:inherit;font-size:13.5px;color:var(--ink)}
.roi-out{background:var(--stone);border-radius:12px;padding:24px;text-align:center}
.roi-out .ro-l{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--mut);text-transform:uppercase}
.roi-out .ro-v{font-family:var(--mono);font-size:34px;font-weight:700;color:var(--cobalt);letter-spacing:-.02em;margin:6px 0 2px}
.roi-out .ro-s{font-size:12px;color:var(--ink-2)}
.roi-out .ro-cmp{display:flex;justify-content:space-between;font-size:11.5px;color:var(--mut);border-top:1px solid var(--line);margin-top:16px;padding-top:12px}
.roi-note{font-size:11px;color:var(--faint);margin-top:16px;font-style:italic}
.mcta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:900;background:#fff;border-top:1px solid var(--line);padding:10px 16px;box-shadow:0 -6px 24px -12px rgba(23,27,33,.18)}
@media(max-width:760px){.mcta{display:block}body{padding-bottom:64px}}
.mcta .btn{width:100%;justify-content:center}

/* ============ BLOC ÉDUCATIF & MÉTIERS ============ */
.edu2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 40px;margin-top:40px}
@media(max-width:860px){.edu2{grid-template-columns:1fr}}
.edu2 h4{font-family:var(--disp);font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px}
.edu2 p{font-size:13.5px;color:var(--ink-2);line-height:1.8}
.trades{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.trades span{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.03em;color:var(--ink-2);border:1px solid var(--line);border-radius:99px;padding:7px 14px;background:#fff;transition:border-color .15s,color .15s}
.trades span:hover{border-color:var(--cobalt);color:var(--cobalt)}

/* ============ BANDE DE PROMESSES ============ */
.promv{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px}
.promv span{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.promv i{color:var(--cobalt);font-size:15px}
@media(max-width:640px){.promv{gap:12px 16px}}

/* ============ HERO TABS ============ */
.htabs{display:flex;gap:0;border-bottom:1px solid var(--line);background:var(--stone);padding:0 14px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.htabs::-webkit-scrollbar{display:none}
.htab{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.06em;padding:11px 15px;color:var(--mut);border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:7px;transition:color .15s,border-color .15s;white-space:nowrap;flex-shrink:0}
@media(max-width:480px){.htab{padding:10px 11px;font-size:10.5px;gap:5px}}
.htab i{font-size:13px}
.htab:hover{color:var(--ink)}
.htab.on{color:var(--ink);border-bottom-color:var(--cobalt);background:#fff}
.hview{display:none}.hview.on{display:block;animation:fadeUp .4s cubic-bezier(.16,1,.3,1) both}
.hv-pad{padding:22px 24px;background:#fff}
.hv-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;align-items:start}
@media(max-width:1020px){.hv-grid{grid-template-columns:1fr}}
.hv-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:12.5px;border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.hv-kv dt{color:var(--mut)}.hv-kv dd{margin:0;color:var(--ink);font-weight:600;text-align:right}
.hv-kv dd.mono{font-family:var(--mono)}

/* ============ COMPARATIF ============ */
.cmp{margin-top:52px;border:1px solid var(--line);border-radius:16px;overflow:hidden;overflow-x:auto}
.cmp table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:680px}
.cmp th,.cmp td{padding:14px 18px;border-bottom:1px solid var(--line);text-align:center;color:var(--ink-2)}
.cmp th{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;background:var(--stone);color:var(--mut)}
.cmp th.bp,.cmp td.bp{background:var(--cobalt-lt);color:var(--ink);font-weight:600}
.cmp th.bp{color:var(--cobalt);font-weight:600}
.cmp td:first-child,.cmp th:first-child{text-align:left;font-weight:600;color:var(--ink);background:#fff}
.cmp tr:last-child td{border-bottom:none}
.cmp .no{color:var(--faint)}

/* ============ POINTAGE GRID ============ */
.ptg{display:grid;grid-template-columns:minmax(90px,auto) repeat(7,1fr);gap:4px;margin-bottom:6px;align-items:center}
.ptg .ptn{font-size:10.5px;color:var(--ink-2);padding-right:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptg .pth{font-family:var(--mono);font-size:10px;color:var(--faint);text-align:center}
.ptc{height:15px;border-radius:3px;background:var(--stone)}
.ptc.g{background:#B7C6E3}.ptc.y{background:#f0d894}.ptc.r{background:#e3a3b1}.ptc.b{background:#adbcf0}
.ptleg{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 4px}
.ptleg span{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;color:var(--mut);letter-spacing:.03em}
.ptleg i{width:9px;height:9px;border-radius:2px;display:inline-block}

/* ============ MOTION ============ */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes growY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes growX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-badge,.hero h1.d1,.hero .lead,.hero-ctas,.proof{animation:fadeUp .7s cubic-bezier(.16,1,.3,1) both}
.hero h1.d1{animation-delay:.08s}.hero .lead{animation-delay:.16s}.hero-ctas{animation-delay:.24s}.proof{animation-delay:.32s}
.hero-frame-wrap{animation:fadeUp .9s cubic-bezier(.16,1,.3,1) .38s both}
.rv{opacity:0;transform:translateY(26px);filter:blur(9px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),filter .7s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none;filter:blur(0)}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}.rv-d4{transition-delay:.32s}.rv-d5{transition-delay:.4s}
.fbar-i{transform-origin:bottom}
.anim-bars .fbar-i{animation:growY .9s cubic-bezier(.16,1,.3,1) both}
.anim-bars .fbar-i:nth-child(2){animation-delay:.08s}.anim-bars .fbar-i:nth-child(3){animation-delay:.16s}
.anim-bars .fbar-i:nth-child(4){animation-delay:.24s}.anim-bars .fbar-i:nth-child(5){animation-delay:.32s}.anim-bars .fbar-i:nth-child(6){animation-delay:.4s}
.dc-bf{transform-origin:left}
.in .dc-bf,.tpanel.on .dc-bf,.fdp.on .dc-bf{animation:growX 1s cubic-bezier(.16,1,.3,1) .2s both}
.tpanel.on,.fdp.on,.mdet.on{animation:fadeUp .5s cubic-bezier(.16,1,.3,1) both}
.bcard,.subcard,.tcard,.modc,.step,.dcard,.tm-card{will-change:transform}
.bcard:hover,.subcard:hover{transform:translateY(-3px)}
.bcard,.subcard{transition:border-color .2s,transform .25s cubic-bezier(.16,1,.3,1)}
.modc{transition:background .15s,transform .2s}
.modc:hover{transform:translateY(-2px)}
nav{transition:box-shadow .25s}
nav.scrolled{box-shadow:0 4px 24px -12px rgba(23,27,33,.12)}
@media(prefers-reduced-motion:reduce){
  .hero-badge,.hero h1.d1,.hero .lead,.hero-ctas,.proof,.hero-frame-wrap,.tpanel.on,.fdp.on,.mdet.on{animation:none!important}
  .rv{opacity:1!important;transform:none!important;transition:none!important;filter:none!important}
  .anim-bars .fbar-i,.in .dc-bf,.tpanel.on .dc-bf,.fdp.on .dc-bf{animation:none!important}
}

/* ============ RESPONSIVE ============ */
@media(max-width:1020px){
  .wrap,.nav-in,.fnav-in,.ft-grid,.ft-bot,.hero-top,.hero-frame-wrap{padding-left:22px;padding-right:22px}
  .krule span{left:22px}
  .nlinks{display:none}
  .sec{padding:76px 0}
  .hero{padding:64px 0 0}
  .edi,.tpanel.on,.fr-in,.fr-in.rev,.phero-in,.mgrid,.case{grid-template-columns:1fr;gap:36px;direction:ltr}
  .bento{grid-template-columns:1fr}
  .bcard.big{grid-column:span 1}
  .steps{grid-template-columns:1fr}
  .step{border-right:none;border-bottom:1px solid var(--line)}
  .step:last-child{border-bottom:none}
  .tgrid,.team{grid-template-columns:1fr}
  .reassu{grid-template-columns:1fr}
  .re-i{border-right:none;border-bottom:1px solid var(--line)}
  .re-i:last-child{border-bottom:none}
  .modgrid{grid-template-columns:1fr 1fr}
  .subgrid{grid-template-columns:1fr}
  .fk-row{grid-template-columns:1fr 1fr}
  .fbody{grid-template-columns:1fr}
  .fside{display:none}
  .f2{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr 1fr}
  .proof-i{padding-right:22px;margin-right:22px}
}
@media(max-width:560px){
  .modgrid{grid-template-columns:1fr}
  .dc-kpis{grid-template-columns:1fr 1fr}
  .proof{flex-direction:column}
  .proof-i{border-right:none;border-bottom:1px solid var(--line);padding:14px 0;margin:0}
  .proof-i:last-child{border-bottom:none}
}

/* ============ DÉMO DE SURFACE vs PRODUCTION ============ */
.depth{margin-top:40px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.depth-h{display:grid;grid-template-columns:180px 1fr 1.6fr;background:var(--stone);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--mut)}
.depth-h span{padding:12px 18px}.depth-h span:first-child{grid-column:2}
.depth-r{display:grid;grid-template-columns:180px 1fr 1.6fr;border-bottom:1px solid var(--line)}
.depth-r:last-child{border-bottom:none}
.depth-r>div{padding:16px 18px;font-size:13.5px;line-height:1.6}
.depth-k{font-family:var(--disp);font-weight:600;color:var(--ink)}
.depth-d{color:var(--faint);text-decoration:line-through;text-decoration-color:var(--line-2)}
.depth-p{color:var(--ink-2);border-left:2px solid var(--cobalt)}
@media(max-width:760px){.depth-h{display:none}.depth-r{grid-template-columns:1fr}.depth-r>div{padding:6px 16px}.depth-k{padding-top:14px!important}.depth-d::before{content:"Démo : ";display:inline-block;margin-right:4px}.depth-p{margin:0 16px 14px;padding-left:12px!important}}
.dapp-note{flex:1;min-width:260px;font-size:13px;color:var(--ink-2);line-height:1.5}
.dapp-note b{display:inline-block;margin-right:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#8a5a00;background:#fff4d6;border:1px solid #f0d48a;border-radius:4px;padding:2px 7px}

/* ============ GALERIE D'ÉCRANS (PRODUIT) ============ */
.shots{margin-top:56px}
.shots-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.shots-h span:first-child{font-family:var(--disp);font-size:17px;font-weight:600;color:var(--ink)}
.shots-n{font-size:12.5px;color:var(--mut)}
.shots-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.shot{display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;padding:0;font-family:var(--body);transition:border-color .15s}
.shot:hover{border-color:var(--ink)}
.shot .shot-f{border-bottom:1px solid var(--line)}
.shot .shot-f:hover{outline:none}
.shot-t{font-family:var(--disp);font-size:14px;font-weight:600;color:var(--ink);padding:12px 14px 2px}
.shot-d{font-size:12.5px;color:var(--ink-2);line-height:1.55;padding:0 14px 14px}
.mod-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;align-items:center}
.md-shot{border-radius:10px}
@media(max-width:860px){.mod-detail{grid-template-columns:1fr}}
@media(max-width:640px){.nav-in{padding:0 14px;gap:6px}.logo{margin-right:6px}.logo .lm{display:none}.nav-r{gap:6px}.nav-r .kbar-hint,.nav-r .btn-line{display:none}.nav-r .btn-ink.btn-sm{padding:8px 12px;font-size:13px}.ttabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.ttab{padding:12px 14px;white-space:nowrap}.roi-f label{flex-wrap:wrap;gap:4px}.roi{padding:20px}.roi-grid{grid-template-columns:minmax(0,1fr)!important}.roi select{max-width:100%;width:100%}.todo{white-space:normal}.annbar{padding:9px 36px 9px 14px;font-size:10.5px}.ann-l{display:none}}.ann-s{display:none}@media(max-width:640px){.ann-s{display:inline}}
.tl,.bento,.avap,.team,.faq,.case,#demo-depth,#mod-detail,#dform{scroll-margin-top:96px}



/* ===== Passe production ===== */
@media(max-width:760px){.cbub{display:none}}
body[data-page=demo] .mcta,body[data-page=demoapp] .mcta{display:none}
.legal-wrap a:not(.tlink){color:var(--cobalt);text-decoration:underline}
.job-mail{cursor:pointer}
:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}

/* ===== Thème « Le Plan » (09/2026) ===== */
:root{--ink:#15191F;--ink-2:#3D434C;--mut:#5F6570;--faint:#6A707A;--line:#D6D2C6;--line-2:#CFCABC;--paper:#F4F2EC;--stone:#EAE7DE;--cobalt:#2447D6;--cobalt-h:#1A34A3;--cobalt-lt:#E6EAFB;--disp:'IBM Plex Sans Condensed',sans-serif;--body:'IBM Plex Sans',-apple-system,sans-serif;--mono:'IBM Plex Mono',monospace;--r:0px}
body{background:var(--paper)}
nav{background:rgba(244,242,236,.94)!important;border-bottom:1.5px solid var(--ink)!important}
.mnav,.dropm,.kbar,.cbub-panel{background:var(--paper)}
.btn,.tcard,.bcard,.subcard,.step,.tm-card,.mitem,.roi,.starter,.avap-c,.dcard,.frame,.dform,.finp,.fsel,.fbtn,.modc,.mod-detail,.cmp,.kbar,.dropm,.trust-i,.case,.depth,.shot,.shot-f,.fnb,.htab,.dm-fcard,.cbub-panel,.cbub-opt,.kbar-item,.mdet,.mperk,.pquote,.tl-i,.re-i,.dperk,.jobs-band,.fq,.t-pop,.soon,.todo,.fchip,.hero-badge,.frame-tag,.kbar-hint,.burger,.modgrid,.mod-detail,.roi-out,.tick,.cmp table{border-radius:0!important}
.fnav{scrollbar-width:none}.fnav::-webkit-scrollbar{display:none}
.btn-ink{background:var(--ink)}
.btn-ink:hover{background:var(--cobalt)}
.krule span,.sec-stone .krule span{background:inherit}
#pg-home a:not([style*="color"]){color:#2447D6}
#pg-home a:not([style*="color"]):hover{color:#1A34A3}
details>summary{list-style:none}
details>summary::-webkit-details-marker{display:none}
details[open] .fq-plus{transform:rotate(45deg)}
.hshot-tab:focus-visible{outline:2px solid var(--cobalt);outline-offset:-4px}
