/* polices hébergées par weslia.fr (aucun appel à un service tiers ; licence SIL OFL, /fonts/*-OFL.txt) */@font-face{font-family:'IBM Plex Sans';font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexSans-Regular.woff2) format('woff2')}@font-face{font-family:'IBM Plex Sans';font-weight:450;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexSans-Text.woff2) format('woff2')}@font-face{font-family:'IBM Plex Sans';font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexSans-Medium.woff2) format('woff2')}@font-face{font-family:'IBM Plex Sans';font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexSans-SemiBold.woff2) format('woff2')}@font-face{font-family:'Newsreader';font-weight:200 800;font-style:normal;font-display:swap;src:url(/fonts/Newsreader-var.woff2) format('woff2')}@font-face{font-family:'Newsreader';font-weight:200 800;font-style:italic;font-display:swap;src:url(/fonts/Newsreader-Italic-var.woff2) format('woff2')}

:root{--ink:#EFF2F4;--muted:#C4D0D8;--line:#FFFFFF29;--accent:#D69E73;--paper:#0A161E}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
a:focus-visible,button:focus-visible{outline:2px solid #DDAB85;outline-offset:5px}
.wrap{width:min(1360px,calc(100% - 80px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;top:-100px;left:24px;z-index:50;padding:12px 18px;background:#ECF0F2;color:#0E212D}
.skip:focus{top:10px}

.hero-world{position:relative;isolation:isolate;overflow:hidden;background:#0A161E url('landscape-context-v14.webp') center 35%/cover no-repeat}
.world-landscape{position:absolute;inset:0;width:100%;height:100%;z-index:-3;opacity:0;pointer-events:none;filter:saturate(.72);transition:opacity .25s}
.world-ready .world-landscape{opacity:1}
.hero-world::before{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,#09161EF8 0%,#09161EE8 24%,#09161EB8 41%,#09161E45 68%,#09161E3D 100%),linear-gradient(180deg,#08131A80 0%,#0A172008 31%,#0A172038 65%,#0A161EF0 100%)}
.site-header{position:relative;z-index:10;background:transparent}
.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;width:124px;flex-shrink:0;color:#F4F6F7}
.brand svg{display:block;width:100%;height:auto;overflow:visible}
.header-access{display:flex;align-items:center}
.nav-connect{display:inline-flex;align-items:center;gap:20px;min-height:44px;padding:10px 17px;border:1px solid #FFFFFF66;border-radius:3px;color:inherit;text-decoration:none;font-size:14px;white-space:nowrap;transition:background .2s,border-color .2s}
.nav-connect:hover{background:#FFFFFF0C;border-color:#FFFFFFB3}
.navigation{display:flex;align-items:center;gap:25px;font-size:14px}
.navigation a{text-decoration:none;white-space:nowrap}
.navigation>a:hover{text-decoration:underline;text-underline-offset:5px}
.nav-account{display:flex;align-items:center;gap:24px;margin-left:4px;padding-left:25px;border-left:1px solid var(--line)}
.nav-demo{display:flex;align-items:center;gap:20px;min-height:44px;padding:10px 16px;border:1px solid #FFFFFF61;border-radius:3px;transition:background .2s,border-color .2s}
.nav-demo:hover{background:#FFFFFF0D;border-color:#FFFFFFA3}
.arrow{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
.menu-toggle{display:none;min-height:44px;padding:9px 13px;border:1px solid #FFFFFF4D;border-radius:3px;background:transparent;color:var(--ink)}

.hero{padding:12px 0 16px}
.hero-layout{display:grid;grid-template-columns:440px minmax(0,1fr);gap:36px;align-items:center}
.hero-copy{max-width:480px;position:relative;z-index:3;padding-bottom:8px}
.eyebrow{display:flex;align-items:center;gap:13px;margin:0 0 20px;color:#D4DCE2;font-size:11px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase}
.eyebrow span{width:24px;height:1px;background:#CFA07D}
h1{margin:0 0 22px;font:400 58px/1.015 'Newsreader',Georgia,serif;letter-spacing:-.035em}
h1>span,h1>em{display:block}
h1 em{font-weight:400;color:#EBEFF2;white-space:nowrap}
.intro{font-size:17.5px;line-height:1.55;letter-spacing:-.005em;margin:0;color:#EAEEF1;max-width:430px;text-wrap:balance}
.intro-tail{white-space:nowrap}
.hero-promise{font-size:15.5px;line-height:1.6;margin:22px 0 0;padding-top:18px;border-top:1px solid #CAD5DC2B;color:var(--muted);max-width:410px}
.hero-promise>span{display:block}
.hero-promise .promise-line{display:block}
.hero-promise strong{display:block;margin-top:8px;font-size:14.5px;font-weight:450;color:#E2E7EB}
.actions{display:flex;align-items:center;gap:22px;margin-top:25px;flex-wrap:wrap}
.actions a{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;text-decoration:none;font-size:14.5px;font-weight:500;white-space:nowrap}
.primary{background:var(--accent);border:1px solid var(--accent);color:#0E212D;border-radius:3px;padding:13px 18px;box-shadow:0 3px 18px #060D111A;transition:background .2s,transform .2s}
.primary:hover{background:#E0B390;transform:translateY(-1px)}
.secondary{gap:10px!important;padding:11px 0 8px;border-bottom:1px solid #FFFFFF61;color:#EAEEF1}
.secondary:hover{border-bottom-color:#ECF0F3}

.hero-figure{margin:0;min-width:0;width:100%;max-width:820px;justify-self:center;position:relative}
.artboard{position:relative;width:100%;aspect-ratio:1120/760;isolation:isolate}
.relief-diagram{display:block;width:100%;height:auto;overflow:visible}
.deck-surface{transition:stroke .6s}
.stratum.is-active .deck-surface{stroke:#D2A785;stroke-width:.9}
.source-signal,.signal-traveler{pointer-events:none}
.desktop-evidence{position:absolute;inset:0;pointer-events:none}
.trace-step{position:absolute;left:0;width:min(300px,44%);min-height:54px;display:flex;align-items:center;gap:9px;padding:6px 10px;background:linear-gradient(115deg,#102432F5,#1A2C38F0);border:1px solid #B5C2CA3D;border-radius:4px;box-shadow:0 4px 12px #08131B26;transition:border-color .5s,background .5s}
.trace-index{font-size:11.5px;line-height:1;color:#D4AB8C;flex-shrink:0;padding-right:10px;border-right:1px solid #C0CBD338}
.trace-step>div{min-width:0}
.trace-method{display:block;color:#CDD7DD;font-size:12.5px;line-height:1.25}
.trace-step strong{display:block;font-size:16px;line-height:1.3;font-weight:500;color:#F1F3F5;white-space:nowrap;margin-top:1px}
.trace-source{top:calc(57% + 8px)}
.trace-analysis{top:calc(72% + 8px)}
.trace-decision{top:calc(87% + 8px)}
.trace-step.is-active{border-color:#D4A68385;background:linear-gradient(115deg,#1D303DF8,#1A2B37F5)}
.trace-step.is-active .trace-index{color:#E1B593}
.confidence-badge,.human-badge{position:absolute;right:3%;display:flex;flex-direction:column;align-items:flex-start;max-width:39%;font-size:12.5px;line-height:1.3}
.confidence-badge{top:72.7%;padding:7px 11px;background:#DCE3E7F2;color:#203644;border:1px solid #FCFFF977;border-radius:3px;box-shadow:0 5px 15px #07101626}
.confidence-badge b{font-size:16px;line-height:1.3;font-weight:500}
.confidence-badge small{font-size:12.5px;line-height:1.3;color:#476274}
.human-badge{top:87.7%;padding:5px 0 5px 11px;border-left:2px solid #CFA17D;background:linear-gradient(90deg,#182832DC,transparent);color:#EBEFF1}
.human-badge b{font-size:14.5px;font-weight:500;line-height:1.35}
.human-badge small{font-size:12.5px;line-height:1.4;color:#CBD6DD}
.human-badge.is-active{border-left-color:#E1B796}
.scene-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:1px 1.5% 0 2%;min-height:40px;color:#C2CCD3;font-size:11.5px;line-height:1.4}
.animation-toggle{display:grid;place-items:center;min-width:44px;min-height:44px;padding:12px;border:0;border-radius:50%;background:transparent;color:#DAE2E7;cursor:pointer}
.animation-toggle:hover{background:#FFFFFF0C}
.animation-toggle svg{width:14px;height:14px;grid-area:1/1;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.play-icon{display:none}
.animation-toggle.is-paused .play-icon{display:block}
.animation-toggle.is-paused .pause-icon{display:none}
.mobile-evidence{display:none}
.page-end{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0 24px;border-top:1px solid #FFFFFF12;font-size:11.5px;line-height:1.5;color:#A7B7C1}
.page-end a{text-underline-offset:4px}

@media(min-width:1700px){
  .hero-layout{grid-template-columns:480px minmax(0,1fr);gap:44px}
  h1{font-size:64px}
  .intro{font-size:18px;max-width:450px}
  .hero-promise{font-size:16px;max-width:440px}
  .hero{padding-top:16px;padding-bottom:18px}
}
@media(max-width:1350px){
  .trace-step{padding:5px 10px;gap:9px;min-height:52px}
  .trace-step strong{font-size:15.5px}
  .trace-index{padding-right:8px}
}
@media(max-width:1250px){
  .wrap{width:calc(100% - 56px)}
  .navigation{gap:19px;font-size:13px}
  .nav-account{padding-left:18px;gap:18px}
  .nav-demo{gap:14px;padding-inline:14px}
  .hero-layout{grid-template-columns:minmax(310px,4fr) minmax(0,6fr);gap:26px}
  h1{font-size:clamp(44px,4.6vw,56px)}
  .intro{font-size:16px}
  .hero-promise{font-size:14.5px}
  .actions{gap:17px;margin-top:23px}
  .actions a{font-size:13.5px;gap:10px}
  .primary{padding-inline:15px}
}
@media(max-width:1200px){
  .desktop-evidence{display:none}
  .mobile-evidence{display:grid;list-style:none;gap:0;padding:0;margin:3px 0 0;border-top:1px solid #D2DBE126}
  .mobile-evidence li{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid #D2DBE120}
  .mobile-index{font-size:11.5px;color:#D4AA8A;padding-top:3px;min-width:18px}
  .mobile-method{display:inline;font-size:12px;line-height:1.35;color:#C8D3DB;margin-right:10px}
  .mobile-evidence strong{display:inline;font-size:15px;line-height:1.35;font-weight:500}
  .mobile-evidence small{display:block;font-size:12.5px;line-height:1.4;margin-top:2px;color:#C0CBD2}
  .hero-copy{align-self:start;padding-top:29px}
  .hero-figure{align-self:start}
  .scene-foot{margin-left:0}
}
@media(max-width:1050px) and (min-width:721px){
  .hero-layout{grid-template-columns:minmax(290px,4fr) minmax(0,6fr);gap:20px}
  h1{font-size:43px}
  .actions{flex-direction:column;align-items:flex-start;gap:5px}
  .actions a{min-height:44px}
  .hero-promise{font-size:14px}
}
@media(max-width:950px){
  .header-inner{height:72px}
  .brand{width:115px}
  .menu-toggle{display:block}
  .navigation{display:none}
  .navigation.is-open{display:flex;position:absolute;top:72px;left:0;right:0;padding:21px 28px 25px;z-index:20;flex-direction:column;align-items:stretch;gap:7px;background:#0E212DF7;border-bottom:1px solid #FFFFFF20;backdrop-filter:blur(15px);font-size:16px;box-shadow:0 20px 28px #060D1138}
  .navigation.is-open>a{padding:12px 0}
  .nav-account{border-left:0;border-top:1px solid var(--line);padding:14px 0 0;margin:8px 0 0;flex-direction:column;align-items:stretch;gap:15px}
  .nav-account>a{min-height:42px;display:flex;align-items:center}
  .nav-demo{justify-content:space-between}
}
@media(max-width:720px){
  .wrap{width:calc(100% - 40px)}
  .header-inner{height:70px}
  .navigation.is-open{top:70px;padding-inline:22px}
  .hero{padding:14px 0 20px}
  .hero-layout{grid-template-columns:1fr;gap:8px}
  .hero-copy{max-width:600px;justify-self:start;padding:0}
  h1{font-size:clamp(42px,7.5vw,54px);line-height:1.015;margin-bottom:14px}
  .eyebrow{font-size:10.5px;letter-spacing:.11em;margin-bottom:14px;gap:11px}
  .eyebrow span{width:20px}
  .intro{font-size:16px;line-height:1.5;max-width:560px}
  .hero-promise{margin-top:18px;padding-top:15px;font-size:14px;line-height:1.5;max-width:540px}
  .hero-promise strong{font-weight:450;color:#E0E6EA}
  .actions{margin-top:19px;gap:16px;flex-direction:row;align-items:center}
  .actions a{min-height:48px;font-size:14px}
  .actions .primary{gap:10px;padding:12px 16px}
  .actions .primary .arrow{width:18px;height:18px}
  .actions .secondary{min-height:38px;padding:8px 0}
  .secondary .arrow{display:none}
  .hero-figure{max-width:640px;width:100%;justify-self:center}
  .artboard{width:calc(100% + 18px);margin-left:-9px}
  .scene-foot{margin:0 0 4px;min-height:38px;font-size:11px}
  .mobile-evidence{margin-top:0}
  .mobile-evidence li{gap:16px;padding:13px 2px}
  .mobile-index{font-size:12px;min-width:20px}
  .mobile-method{display:block;font-size:12px;margin:0 0 3px}
  .mobile-evidence strong{display:block;font-size:16px;line-height:1.4}
  .mobile-evidence small{font-size:12.5px;line-height:1.45;margin-top:3px}
  .mobile-evidence li.is-active .mobile-index{color:#E1B695}
  .page-end{font-size:11px;align-items:flex-start;flex-direction:column;gap:7px}
  .hero-world::before{background:linear-gradient(180deg,#0A1720C9 0%,#0A1720E8 36%,#0A17208C 61%,#0A161EF0 100%)}
}
@media(max-width:370px){
  h1{font-size:38px}
  .actions{gap:13px}
  .actions a{font-size:12.5px}
  .actions .primary{padding-inline:13px}
  .intro{font-size:15.5px}
}
@media(max-width:720px){.header-inner{gap:12px}.brand{width:110px}.nav-connect{gap:12px;padding:9px 14px}.nav-connect .arrow{width:18px;height:18px}.hero-promise strong{font-size:14px}}
@media(min-width:1201px){.hero-copy{transform:translateY(-20px)}}
/* Keep the desktop composition within the available viewport height.
   The relief keeps its original proportions; smaller viewports retain natural scrolling. */
@media(min-width:1201px){
  .home-page{--home-header:clamp(60px,9dvh,76px);--home-footer:clamp(38px,7dvh,48px);--home-spacing:clamp(16px,3dvh,28px);--home-title-max:58px;display:flex;flex-direction:column;min-height:100dvh}
  .home-page .hero-world{flex:1}
  .home-page .header-inner{height:var(--home-header)}
  .home-page .hero{padding:calc(var(--home-spacing)/2) 0}
  .home-page .hero-figure{max-width:min(820px,max(480px,calc((100dvh - var(--home-header) - var(--home-footer) - var(--home-spacing) - 45px)*1.47368421)))}
  .home-page .scene-foot{height:44px;min-height:44px}
  .home-page .hero-copy{padding-top:0}
  .home-page .eyebrow{margin-bottom:clamp(12px,2.7dvh,20px)}
  .home-page h1{font-size:clamp(44px,8.6dvh,var(--home-title-max));margin-bottom:clamp(14px,2.8dvh,22px)}
  .home-page .intro{font-size:clamp(16px,2.7dvh,17.5px)}
  .home-page .hero-promise{font-size:clamp(14px,2.45dvh,15.5px);margin-top:clamp(14px,2.6dvh,22px);padding-top:clamp(12px,2.2dvh,18px)}
  .home-page .trace-step{width:min(300px,48%)}
  .home-page .trace-source{top:calc(57% - 2px)}
  .home-page .trace-analysis{top:calc(72% - 2px)}
  .home-page .trace-decision{top:calc(87% - 2px)}
  .home-page .page-end{flex:none;min-height:var(--home-footer);padding-block:8px}
}
@media(min-width:1201px) and (max-width:1250px){.home-page{--home-title-max:56px}}
@media(min-width:1700px){.home-page{--home-title-max:64px}}
@media(min-width:1201px) and (max-height:600px){
  .home-page .trace-step{width:min(300px,54%);min-height:46px;padding:5px 9px;gap:8px}
  .home-page .trace-index{font-size:10.5px;padding-right:7px}
  .home-page .trace-method{font-size:11.5px}
  .home-page .trace-step strong{font-size:14.5px}
  .home-page .trace-source{top:calc(57% - 10px)}
  .home-page .trace-analysis{top:calc(72% - 10px)}
  .home-page .trace-decision{top:calc(87% - 10px)}
  .home-page .confidence-badge{top:69%;padding:5px 8px;font-size:11px}
  .home-page .confidence-badge b{font-size:14px}
  .home-page .confidence-badge small{font-size:11.5px}
  .home-page .human-badge{top:calc(87.7% - 2px);padding-block:3px}
  .home-page .human-badge b{font-size:13.5px}
  .home-page .human-badge small{font-size:11.5px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}

/* ===================================================================== v126.9 : montée en gamme (couleur, mise en page, schéma)
   Une couleur dit ce qu'elle porte : bleu de Prusse et glace pour la donnée et l'analyse, cuivre pour la seule décision humaine. */
:root{--paper:#0B1B26;--paper-2:#10293A;--ink:#F2F6F8;--muted:#AFC2CE;--line:#CFE6F233;--accent:#E8743A;--glace:#8FD3EA}
body{background:var(--paper)}
/* le logo plus à gauche, la connexion plus à droite : la page prend toute la largeur utile */
.wrap{width:min(1760px,calc(100% - 2*clamp(22px,4.2vw,84px)))}
.hero-world{background-color:var(--paper)}
.world-landscape{filter:saturate(.5) contrast(1.06) brightness(.92)}
.hero-world::before{background:
  linear-gradient(90deg,#08161FF7 0%,#0A1B26E8 22%,#0B1D2AB0 40%,#0D22304D 66%,#0D223040 100%),
  linear-gradient(180deg,#071219A6 0%,#0B1B2610 30%,#0B1B2633 64%,#0B1B26F2 100%)}
.hero-world::after{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background:#174A66;mix-blend-mode:color;opacity:.62}   /* étalonnage du paysage en bleu de Prusse, le schéma reste en couleurs réelles */
.nav-connect{border-color:#CFE6F255;background:#0F2A3A66;backdrop-filter:blur(8px);border-radius:999px;padding-inline:20px}
.nav-connect:hover{background:#16384C99;border-color:#CFE6F2AA}
a:focus-visible,button:focus-visible{outline-color:var(--glace)}
.eyebrow span{background:var(--accent)}
.hero-promise{border-top-color:#CFE6F22E}
.primary{background:var(--accent);border-color:var(--accent);color:#10222D;border-radius:999px}
.primary:hover{background:#E6B590}

/* schéma : verre bleuté, arêtes fines et lumineuses, cartes en verre dépoli */
.stratum.is-active .deck-surface{stroke:#BFE6F5;stroke-width:1}
.stratum[data-stage="decision"].is-active .deck-surface{stroke:#E2B38E}
.relief-diagram{filter:drop-shadow(0 30px 60px #02090ECC)}
.trace-step{background:linear-gradient(120deg,#123044D9,#0D2433CC);border:1px solid #BFE3F233;border-radius:10px;box-shadow:0 10px 30px #02090E55,inset 0 1px 0 #FFFFFF14;backdrop-filter:blur(10px) saturate(1.2)}
.trace-index{color:var(--glace);border-right-color:#CFE6F230}
.trace-method{color:#B9CEDA}
.trace-step.is-active{border-color:#8FD3EA80;background:linear-gradient(120deg,#16405AE6,#10304499)}
.trace-step.is-active .trace-index{color:#CBEFFB}
.trace-decision .trace-index,.trace-decision.is-active .trace-index{color:var(--accent)}
.trace-decision.is-active{border-color:#D8A27A99;background:linear-gradient(120deg,#2A3440E6,#16304299)}
.confidence-badge{background:#E9F1F5F2;color:#10293A;border:1px solid #FFFFFF99;border-radius:10px;box-shadow:0 12px 28px #02090E66}
.confidence-badge small{color:#46667A}
.human-badge{border-left-color:var(--accent);background:linear-gradient(90deg,#14303FDD,transparent)}
.human-badge.is-active{border-left-color:#EBC09D}
.scene-foot{color:#A9BFCC}
.page-end{border-top-color:#CFE6F21A;color:#A3B8C5}

/* poste de travail : texte à gauche, schéma à droite, plus grand, l'ensemble centré dans la hauteur */
@media(min-width:1201px){
  .home-page .hero-world{display:flex;flex-direction:column}
  .home-page main{flex:1;display:flex;align-items:center}
  .home-page .hero{width:100%}
  .hero-layout{grid-template-columns:minmax(380px,500px) minmax(0,1fr);gap:clamp(28px,4vw,96px)}
  .hero-copy{transform:none}
  .home-page .hero-figure{justify-self:end;max-width:min(1010px,max(520px,calc((100dvh - var(--home-header) - var(--home-footer) - var(--home-spacing) - 45px)*1.47368421)))}
}
@media(min-width:1700px){.hero-layout{grid-template-columns:minmax(420px,540px) minmax(0,1fr)}}
@media(max-width:720px){.hero-world::before{background:linear-gradient(180deg,#0A1A25D0 0%,#0A1A25EB 36%,#0B1D2A99 61%,#0B1B26F2 100%)}}
