@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/fonts/archivo-latin-wdth-normal.woff2) format("woff2-variations"),url(/assets/fonts/archivo-latin-wdth-normal.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:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/fonts/archivo-latin-ext-wdth-normal.woff2) format("woff2-variations"),url(/assets/fonts/archivo-latin-ext-wdth-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
/* Piste B — cinematic dark hero, light segmented pages, isometric illustrations echoing the 3D model. Single deliberate look. */
:root{
  --night:#0B1322; --night2:#16243C; --ink:#151A22; --soft:#566072; --line:#E0E5ED; --paper:#FFFFFF; --mist:#F3F6FA; --ice:#E6EEFB;
  --visia:#3B73C1; --el:#3D7BFF; --sky:#8DB3FF; --amber:#D68A1E; --green:#2E9A6B; --red:#C8423B;
  --f:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --gut:max(20px,env(safe-area-inset-left,0px)); --gutr:max(20px,env(safe-area-inset-right,0px));
}
*{box-sizing:border-box}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font-family:var(--f);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--el);outline-offset:3px}
.in{max-width:1280px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
@media (min-width:900px){.in{padding-left:max(48px,env(safe-area-inset-left,0px));padding-right:max(48px,env(safe-area-inset-right,0px))}}
.eye{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);margin:0 0 16px}
h2.t{margin:0;font-stretch:118%;font-weight:700;font-size:clamp(28px,3.4vw,46px);line-height:1.06;letter-spacing:-.018em;text-wrap:balance}
.lead{font-size:18px;line-height:1.6;color:#3A4352;max-width:60ch}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:15px;padding:14px 20px;border-radius:999px;border:1px solid transparent;cursor:pointer;font-family:var(--f);transition:background .2s,color .2s,border-color .2s}
.btn.dark{background:var(--ink);color:#fff}.btn.dark:hover{background:#000}
.btn.blue{background:var(--el);color:#fff}.btn.blue:hover{background:#2C66E8}
.btn.line{border-color:var(--ink);color:var(--ink)}.btn.line:hover{background:var(--ink);color:#fff}
.btn.white{background:#fff;color:var(--night)}.btn.white:hover{background:var(--ice)}
.btn.ghost{border-color:rgba(255,255,255,.4);color:#fff}.btn.ghost:hover{background:rgba(255,255,255,.1)}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
.fict{font:500 10.5px/1.4 var(--mono);letter-spacing:.04em;color:#8A5308;background:#FFF3DF;padding:4px 7px;border-radius:4px;display:inline-block}

/* ---------- nav ---------- */
.nav{position:fixed;left:0;right:0;top:0;z-index:40;padding-top:env(safe-area-inset-top,0px);transition:background .3s,box-shadow .3s}
.nav .in{display:flex;align-items:center;gap:28px;height:68px}
.nav .logo img{height:24px;width:auto;display:block}
.nav .logo .on-light{display:none}
.nav nav{display:flex;gap:26px;margin-left:auto;font-size:14px;font-weight:500}
.nav nav a{text-decoration:none;color:#E6ECF5;opacity:.88;padding-block:6px;border-bottom:1.5px solid transparent}
.nav nav a:hover{opacity:1}
.nav nav a[aria-current="page"]{opacity:1;border-bottom-color:var(--sky)}
.nav .client{white-space:nowrap;font-size:13.5px;font-weight:600;text-decoration:none;padding:9px 15px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff}
.nav .client[aria-current="page"]{background:#fff;color:var(--night)}
.nav.solid{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.nav.solid .logo .on-dark{display:none}.nav.solid .logo .on-light{display:block}
.nav.solid nav a{color:var(--ink)}
.nav.solid nav a[aria-current="page"]{border-bottom-color:var(--el)}
.nav.solid .client{border-color:var(--ink);background:transparent;color:var(--ink)}
.nav.solid .client[aria-current="page"]{background:var(--ink);color:#fff}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:999px;padding:8px 14px;font:600 13px var(--f);cursor:pointer}
.nav.solid .menu-btn{border-color:var(--ink);color:var(--ink)}
@media (max-width:900px){
  .nav nav,.nav .client{display:none}
  .menu-btn{display:block}
  .nav.open{background:#fff}
  .nav.open .logo .on-dark{display:none}.nav.open .logo .on-light{display:block}
  .nav.open .menu-btn{border-color:var(--ink);color:var(--ink)}
  .nav.open nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#fff;padding:8px var(--gutr) 18px var(--gut);box-shadow:0 12px 24px -12px rgba(0,0,0,.2)}
  .nav.open nav a{color:var(--ink);padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav.open nav .m-client{display:block}
}
.nav nav .m-client{display:none}

.page{animation:pagein .45s cubic-bezier(.2,.7,.2,1) both}
@keyframes pagein{from{transform:translateY(10px)}to{transform:none}}

/* ---------- hero ---------- */
.hero{position:relative;background:radial-gradient(90% 80% at 70% 52%,#1C2D4C 0%,#0E182B 55%,#0A111F 100%);color:#F2F5FA;min-height:clamp(640px,56vw,800px);display:grid;grid-template-rows:68px 1fr auto;overflow:hidden}
.hero .stage{position:absolute;inset:0}
.hero .shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(10,17,31,.94) 0%,rgba(10,17,31,.82) 30%,rgba(10,17,31,0) 54%)}
.hero-copy{position:relative;z-index:3;align-self:center;width:100%;padding-block:28px;pointer-events:none}
.hero-copy>*{pointer-events:auto;max-width:560px}
.hero-copy .eye{color:#A9B4C7;margin-bottom:20px}
.hero h1{margin:0;font-stretch:110%;font-weight:700;font-size:clamp(32px,3.5vw,52px);line-height:1.04;letter-spacing:-.022em;text-wrap:balance}
.hero h1 .l1{display:block;color:#fff}
.hero h1 .l2{display:block;color:var(--visia)}
.hero-copy p{margin:22px 0 28px;font-size:17px;line-height:1.6;color:#C9D2E1;max-width:46ch}
.chapters{position:relative;z-index:3;list-style:none;margin:0;padding-block:0 26px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;pointer-events:none}
.chapters li{font-size:12px;color:#A9B4C7;letter-spacing:.03em}
.chapters li::before{content:"";display:block;height:2px;background:rgba(255,255,255,.18);margin-bottom:9px;background-image:linear-gradient(var(--sky),var(--sky));background-repeat:no-repeat;background-size:var(--p,0%) 100%}
.chapters li.on{color:#fff}
.scenario-bar{background:var(--night);color:#A9B4C7;font-size:13.5px}
.scenario-bar .in{padding-block:0 18px}
.scenario summary{cursor:pointer;font-weight:600;color:#DDE4EF}
.scenario ol{margin:10px 0 0;padding-left:20px;display:grid;gap:4px;max-width:80ch}
@media (max-width:900px){
  .hero{display:block;min-height:0}
  .hero-copy{padding-block:96px 0}
  .hero-copy::after{content:"";display:block;height:430px}
  .hero .stage{position:absolute;inset:0}
  .hero .shade{display:none}
  .chapters{gap:6px;padding-block:14px 18px}
  .hero .scene-root.compact{--ui-bottom:58px}
  .hero .scene-root.compact .controls{bottom:auto}
  .hero .scene-root.compact .demo-tag{bottom:auto;right:auto;left:12px;font-size:9.5px}
  .chapters li{font-size:0}.chapters li::before{margin-bottom:0}
}

.hero-copy,.hero .shade{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.hero.pre .hero-copy{opacity:0;transform:translateX(-24px);pointer-events:none}
.hero.pre .hero-copy *{pointer-events:none}
.hero.pre .shade{opacity:0}
/* ---------- scene UI ---------- */
.scene-root{position:absolute;inset:0;--ui-top:84px;--ui-right:24px;--ui-bottom:70px;--ui-left:47%}
.scene-root.demo{--ui-top:16px;--ui-right:16px;--ui-bottom:16px;--ui-left:16px}
.scene-root canvas{display:block;width:100%;height:100%;touch-action:manipulation}
.labels{position:absolute;inset:0;pointer-events:none}
.fn-label{position:absolute;left:0;top:0;pointer-events:auto;transform:translate(-50%,-100%);display:flex;align-items:center;gap:7px;white-space:nowrap;font:600 12.5px/1 var(--f);padding:7px 11px 7px 9px;border-radius:999px;cursor:pointer;background:rgba(12,20,36,.8);color:#F2F5FA;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);box-shadow:0 6px 16px -8px rgba(0,0,0,.6);opacity:0;transition:box-shadow .2s}
.fn-label .dot{width:8px;height:8px;border-radius:50%;background:var(--st);flex:none}
.fn-label .short{display:none}
.fn-label:hover{border-color:rgba(255,255,255,.4)}
.fn-label[aria-pressed="true"]{box-shadow:0 0 0 2px var(--el),0 6px 18px -6px rgba(0,0,0,.6)}
.callout{position:absolute;left:0;top:0;width:min(280px,70%);pointer-events:none;padding:12px 14px;border-radius:10px;background:rgba(12,20,36,.9);color:#F2F5FA;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);box-shadow:0 14px 34px -14px rgba(0,0,0,.7);opacity:0;transition:opacity .35s}
.callout .k{display:block;font:500 10.5px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#A9B4C7;margin-bottom:4px}
.callout .t{display:block;font:600 15px/1.3 var(--f)}
.callout .tag{display:inline-block;margin-top:8px;font:500 10.5px/1 var(--mono);letter-spacing:.04em;padding:4px 7px;border-radius:4px;background:rgba(214,138,30,.2);color:#F4C27A}
.callout.c-cons .tag{background:rgba(61,123,255,.22);color:#B9CFFF}
.callout.c-reco{border:1.5px solid var(--el)}
.callout.c-reco .k{color:var(--sky)}
.callout.c-reco .tag{background:rgba(200,66,59,.25);color:#F3AAA5}
.sub{position:absolute;left:50%;bottom:calc(var(--ui-bottom) + 8px);transform:translateX(-50%);font:500 15px/1.35 var(--f);color:#fff;background:rgba(5,10,20,.6);padding:7px 14px;border-radius:6px;max-width:min(560px,90%);text-align:center;pointer-events:none;opacity:0;transition:opacity .3s}
.finale{position:absolute;left:var(--ui-left);bottom:calc(var(--ui-bottom) + 40px);pointer-events:none;opacity:0;transition:opacity .5s;color:#fff}
.finale strong{display:block;font:700 16px/1.25 var(--f);font-stretch:115%}
.finale span{display:block;font-size:13px;color:#C9D2E1;margin-top:3px}
.controls{position:absolute;top:var(--ui-top);right:var(--ui-right);display:flex;gap:6px}
.ctl{font:500 12.5px/1 var(--f);padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(12,20,36,.7);color:#F2F5FA;cursor:pointer;backdrop-filter:blur(6px)}
.scene-root.demo .controls,.scene-root.demo .finale{display:none}
.scene-root .sub,.scene-root:not(.demo) .legend{display:none!important}
.scene-root.narrow:not(.compact) .legend{display:none}
.demo-tag{position:absolute;right:var(--ui-right);bottom:var(--ui-bottom);font:500 10.5px/1 var(--mono);letter-spacing:.04em;padding:6px 8px;border-radius:4px;background:rgba(12,20,36,.75);color:#C9D2E1;border:1px solid rgba(255,255,255,.14);pointer-events:none}
.legend{position:absolute;left:var(--ui-left);bottom:var(--ui-bottom);display:flex;gap:8px;flex-wrap:wrap;font:500 10.5px/1 var(--mono);color:#C9D2E1;pointer-events:none;opacity:0;transition:opacity .5s}
.legend span{display:flex;align-items:center;gap:6px;background:rgba(12,20,36,.75);padding:5px 7px;border-radius:4px}
.legend i{display:inline-block;width:22px;height:0;border-top:2px solid var(--el)}
.legend i.prob{border-top-style:dashed}.legend i.hyp{border-top-style:dotted;border-top-width:3px}
.fiche{position:absolute;top:var(--ui-top);right:var(--ui-right);bottom:var(--ui-bottom);width:min(330px,calc(100% - 28px));overflow:auto;background:#fff;color:var(--ink);border-radius:14px;box-shadow:0 24px 60px -20px rgba(0,0,0,.7);padding:18px 18px 14px;display:flex;flex-direction:column;gap:10px;z-index:4}
.fiche header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.fiche h3{margin:0;font:700 18px/1.2 var(--f);font-stretch:112%}
.fiche .st{display:inline-flex;align-items:center;gap:6px;font:500 11px/1 var(--mono);margin-top:7px;padding:5px 8px;border-radius:4px;background:#F2F4F7}
.fiche .st::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--st)}
.fiche dl{margin:0;display:grid;gap:10px}
.fiche dt{font:500 10.5px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#6B7483}
.fiche dd{margin:3px 0 0;font-size:14px;line-height:1.45}
.fiche dd em{font-style:normal;font:500 10.5px/1 var(--mono);padding:3px 6px;border-radius:3px;background:#E7EEFF;color:#1F4FC8;margin-left:6px;white-space:nowrap;display:inline-block}
.fiche .frec{padding:11px 12px;border-radius:9px;background:#F2F6FF;border:1px solid #CFDCFB}
.fiche .close{border:0;background:#F2F4F7;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:17px;line-height:1;color:var(--ink);flex:none}
.fiche .back{align-self:flex-start;border:0;background:none;color:var(--el);font:600 13.5px var(--f);cursor:pointer;padding:4px 0}
.fiche .fict2{margin:0;font:500 10.5px/1.4 var(--mono);color:#6B7483;border-top:1px solid #EDF0F3;padding-top:9px}
.nogl{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:#C9D2E1}
.scene-root.compact{--ui-top:12px;--ui-right:12px;--ui-bottom:12px;--ui-left:12px}
.scene-root.compact .fn-label{font-size:11px;padding:6px 8px 6px 7px;gap:5px}
.scene-root.compact .fn-label .long{display:none}
.scene-root.compact .fn-label .short{display:inline}
.scene-root.compact .callout{left:12px!important;right:12px;top:auto!important;bottom:46px;width:auto;transform:none!important}
.scene-root.compact .legend,.scene-root.compact .sub{display:none}
.scene-root.compact .finale{bottom:46px}
.scene-root.compact .fiche{left:10px;right:10px;top:auto;width:auto;max-height:78%;bottom:10px}

/* ---------- iso illustrations ---------- */
.illus{display:block;width:100%;height:auto;overflow:visible}
.illus .ib{transform-box:fill-box}
.illus.on .ib{animation:rise .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 45ms)}
@keyframes rise{from{transform:translateY(14px)}to{transform:none}}
.illus text{font-family:var(--f)}

.dimrow .illus{max-height:400px}.offer .illus{max-height:420px}.meth .illus{max-height:420px}.contact .illus{max-height:160px;margin-bottom:36px;max-width:420px}.bcard .illus{max-height:200px}
/* ---------- constat (home) ---------- */
.constat{background:var(--mist);padding-block:110px 120px}
.constat .head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:end;margin-bottom:48px}
.constat .head p{margin:0}
.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bcard{background:var(--night);color:#fff;border-radius:20px;padding:26px 26px 24px;display:flex;flex-direction:column;gap:18px;min-width:0;overflow:hidden;position:relative}
.bcard.w2{grid-column:span 2}

.bcard blockquote{margin:0;font-size:clamp(18px,1.6vw,22px);line-height:1.35;font-weight:500;text-wrap:balance;max-width:28em}
.bcard .tag{display:flex;align-items:center;gap:8px;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sky);margin-top:auto}
.bcard .tag::before{content:"";width:18px;height:1.5px;background:var(--sky)}
.constat .close{margin-top:40px;display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap;padding:26px 30px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.constat .close p{margin:0;font-size:17px;max-width:60ch;color:#3A4352}
@media (max-width:900px){.constat .head{grid-template-columns:1fr}.bento{grid-template-columns:1fr}.bcard.w2{grid-column:auto}}

.bcard.w2{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);grid-template-rows:1fr auto;column-gap:24px}
.bcard.w2 .illus{grid-column:2;grid-row:1/3;max-height:300px;align-self:center}
.bcard.w2 blockquote{grid-column:1;grid-row:1;align-self:end}
.bcard.w2 .tag{grid-column:1;grid-row:2}
@media (max-width:900px){.bcard.w2{display:flex}.bcard.w2 .illus{max-height:200px}}
.sx{min-width:0}
.bcard.w2 .sx{grid-column:2;grid-row:1/3;align-self:center}
.dimrow .sx,.offer .art,.offer .art .sx,.meth>*,.contact>*{min-width:0}
/* ---------- page header ---------- */
.phead{padding-block:150px 70px;background:var(--mist);position:relative;overflow:hidden}
.phead .eye{color:var(--el)}
.phead h1{margin:0;font-stretch:122%;font-weight:700;font-size:clamp(32px,4.2vw,60px);line-height:1.04;letter-spacing:-.022em;max-width:20ch;text-wrap:balance}
.phead h1 b{color:var(--visia);font-weight:700}
.phead p{margin:24px 0 0}
.phead.dark{background:radial-gradient(80% 90% at 80% 30%,#1C2D4C,#0B1322 70%);color:#fff}
.phead.dark .eye{color:var(--sky)}
.phead.dark p{color:#C9D2E1}
.ptoc{margin-top:36px;display:flex;flex-wrap:wrap;gap:8px}
.ptoc a{font-size:13.5px;font-weight:600;text-decoration:none;padding:8px 14px;border-radius:999px;border:1px solid #CBD5E3;background:#fff}
.ptoc a:hover{border-color:var(--ink)}

.vmix{margin-top:44px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.25fr);gap:16px;align-items:center}
.vsrc,.vres{border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:4px;min-width:0}
.vsrc{background:#fff;border:1px solid #D7DFEA}
.vsrc svg{width:120px;height:64px;margin-bottom:14px}
.vsrc small,.vres small{font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.vsrc b{font-stretch:120%;font-size:24px;line-height:1.1;margin-top:4px}
.vsrc span{font-size:14px;color:#4A5262;line-height:1.45}
.vop{align-self:center;font-stretch:125%;font-weight:800;font-size:36px;color:var(--el);line-height:1}
.vres{background:var(--night);color:#fff;justify-content:space-between;gap:16px}
.vres small{color:var(--sky)}
.vverbs{display:flex;flex-direction:column;gap:6px}
.vverbs a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;font-stretch:120%;font-weight:700;font-size:22px;padding:8px 14px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);transition:background .2s}
.vverbs a::after{content:"↓";font-size:16px;color:var(--sky)}
.vverbs a:hover{background:rgba(255,255,255,.14)}
.vres>span{font-size:13.5px;color:#AEB9CB;line-height:1.45}
.phead:has(.vmix){padding-block:140px 72px}
.dims-seg{padding-block:56px 110px}
@media (max-width:1000px){.vmix{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.vmix .vop:nth-of-type(2){display:none}.vres{grid-column:1/-1}.vverbs{flex-direction:row;flex-wrap:wrap}.vverbs a{flex:1 1 auto;gap:12px}}
@media (max-width:600px){.vmix{grid-template-columns:minmax(0,1fr)}.vop{justify-self:center;font-size:28px}.vmix .vop:nth-of-type(2){display:block}.vres{grid-column:auto}.vsrc svg{width:96px;height:52px;margin-bottom:8px}}
/* ---------- approche: sticky narrative ---------- */
.appro{background:var(--mist);padding-block:140px 120px}
.appro-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,88px);align-items:start}
.appro-side{align-self:stretch;min-width:0}
.appro-flow,.astep,.astep>*,.acard{min-width:0}
.appro-stick{position:sticky;top:120px;display:flex;flex-direction:column}
.appro-side .eye{color:var(--el)}
.appro-side h1{margin:0;font-stretch:120%;font-weight:700;font-size:clamp(28px,2.8vw,42px);line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.appro-side h1 b{color:var(--visia);font-weight:700}
.anav{list-style:none;margin:48px 0 0;padding:0;display:grid;gap:4px;position:relative}
.anav::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#D3DCE9}
.anav::after{content:"";position:absolute;left:0;top:0;width:2px;height:var(--prog,33.3%);background:var(--el);transition:height .5s cubic-bezier(.2,.7,.2,1)}
.anav a{display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:baseline;padding:12px 0 12px 22px;text-decoration:none;color:#9AA6BA;transition:color .35s}
.anav .n{font:500 12px/1 var(--mono);grid-row:span 2;padding-top:10px}
.anav .v{font-stretch:125%;font-weight:800;font-size:clamp(28px,3vw,44px);line-height:1;letter-spacing:-.02em;transition:color .35s}
.anav .m{font-size:15px;font-weight:600;margin-top:6px;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s,opacity .4s}
.anav a[aria-current="step"]{color:var(--ink)}
.anav a[aria-current="step"] .n{color:var(--el)}
.anav a[aria-current="step"] .m{max-height:30px;opacity:1;color:var(--soft)}
.anav a:hover{color:#5A6576}
.appro-flow{display:grid;gap:clamp(24px,4vh,48px)}
.astep{min-height:min(66vh,640px);display:flex;flex-direction:column;justify-content:center;gap:20px}
.astep-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.astep>p{margin:0;font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:#2E3644;max-width:46ch}
.acard{border-radius:24px;padding:clamp(20px,3vw,40px);transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s;box-shadow:0 30px 60px -40px rgba(11,19,34,.5)}
.astep.c1 .acard{background:#FFFFFF;border:1px solid #D7DFEA}
.astep.c2 .acard{background:var(--visia)}
.astep.c3 .acard{background:var(--night)}
.astep:not(.on) .acard{transform:scale(.97)}
.astep.on .acard{box-shadow:0 40px 80px -40px rgba(11,19,34,.6)}
@media (max-width:900px){
  .appro{padding-block:120px 72px}
  .appro-grid{grid-template-columns:minmax(0,1fr)}
  .appro-stick{position:static}
  .anav{display:none}
  .astep{min-height:0}
  .astep-h{position:static;width:auto;height:auto;clip:auto;margin:0;font-stretch:125%;font-weight:800;font-size:34px;line-height:1;letter-spacing:-.02em}
  .astep-h span{font:500 12px/1 var(--mono);color:var(--el);vertical-align:middle;margin-right:6px}
  .astep:not(.on) .acard{transform:none}
}
@media (prefers-reduced-motion:reduce){.astep:not(.on) .acard{transform:none}}
/* ---------- approche: dimensions ---------- */
.seg{padding-block:110px}
.seg.mist{background:var(--mist)}
.seg.night{background:var(--night);color:#fff}
.seg-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:56px}
.seg-head p{margin:0}
.seg.night .eye{color:#A9B4C7}.seg.night .lead{color:#C9D2E1}
.dimrows{display:grid;gap:18px}
.dimrow{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:center;border-radius:24px;padding:clamp(24px,4vw,52px);min-width:0}
.dimrow:nth-child(even){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.dimrow:nth-child(even) .txt{order:2}
.dimrow.c1{background:var(--ice)}
.dimrow.c2{background:var(--visia);color:#fff}
.dimrow.c3{background:var(--night);color:#fff}
.dimrow .verb{display:block;font-stretch:125%;font-weight:800;font-size:clamp(40px,5.4vw,78px);line-height:.95;letter-spacing:-.03em}
.dimrow .mean{display:block;margin:12px 0 18px;font-size:18px;font-weight:600;opacity:.85}
.dimrow p{margin:0 0 18px;font-size:16px;line-height:1.55;max-width:48ch}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font-size:12.5px;padding:5px 10px;border-radius:999px;border:1px solid currentColor;opacity:.85}
.obj{margin-top:20px;font-size:14.5px;padding-top:14px;border-top:1px solid currentColor;border-top-color:color-mix(in srgb,currentColor 25%,transparent);max-width:48ch}
.obj b{font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:6px;opacity:.75}
.leviers{margin-top:26px;font-size:14.5px;color:var(--soft);max-width:80ch}
.leviers b{color:var(--ink)}
@media (max-width:900px){.seg-head,.dimrow,.dimrow:nth-child(even){grid-template-columns:minmax(0,1fr)}.dimrow:nth-child(even) .txt{order:0}}

/* ---------- méthode ---------- */
.meth{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px);align-items:center}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s}
.steps li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid #D7DFEA;counter-increment:s}
.steps li::before{content:counter(s,decimal-leading-zero);font:500 12px/1.9 var(--mono);color:var(--soft)}
.steps b{display:block;font-stretch:115%;font-size:18px}
.steps span{display:block;font-size:14.5px;color:#4A5262}
.steps li.terrain::before{color:var(--el)}
.steps li.terrain b::after{content:"Sur le terrain";margin-left:10px;font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border-radius:4px;background:var(--night);color:#fff;vertical-align:3px}
.posture{margin-top:48px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:center;background:#fff;border-radius:16px;padding:28px 30px;border:1px solid var(--line)}
.posture ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-stretch:118%;font-weight:700;font-size:clamp(18px,1.8vw,24px)}
.posture ul li:not(:last-child)::after{content:"·";margin-left:18px;color:var(--el)}
.posture p{margin:0;color:var(--soft);font-size:15px}
@media (max-width:900px){.meth,.posture{grid-template-columns:1fr}}

/* ---------- maquette (ce que vous obtenez) ---------- */
.model-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:stretch}
.model-stage{position:relative;height:clamp(460px,46vw,620px);border-radius:22px;overflow:hidden;background:radial-gradient(90% 90% at 50% 45%,#1C2D4C 0%,#0E182B 60%,#0A111F 100%);border:1px solid rgba(255,255,255,.08)}
.keys{display:grid;gap:10px;align-content:start}
.key{border-radius:16px;padding:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.key b{display:flex;align-items:center;gap:10px;font-stretch:112%;font-size:16px}
.key b i{flex:none;width:12px;height:12px;border-radius:50%}
.key b i.ln{width:26px;height:0;border-radius:0;border-top:3px dotted var(--el)}
.key b i.pr{border-radius:3px}
.key span{display:block;margin-top:6px;font-size:14px;color:#AEB9CB;line-height:1.45}
.model-note{margin-top:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14px;color:#AEB9CB}
@media (max-width:1000px){.model-wrap{grid-template-columns:1fr}.keys{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.keys{grid-template-columns:1fr}}

/* ---------- next band ---------- */
.next{padding-block:70px;background:#fff}
.next .in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.next p{margin:0;font-stretch:118%;font-weight:700;font-size:clamp(22px,2.4vw,32px);max-width:24ch;line-height:1.15}

/* ---------- offres ---------- */
.offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;border-radius:26px;padding:clamp(24px,4vw,56px);min-width:0}
.offer.o1{background:var(--mist)}
.offer.o2{background:linear-gradient(160deg,#0F1A2E,#1B2C4A);color:#fff}
.offer.o2 .art{order:2}
.offer .kind{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.offer h2{margin:8px 0 0;font-stretch:122%;font-weight:700;font-size:clamp(30px,3.4vw,48px);line-height:1.04;letter-spacing:-.02em}
.offer .goal{margin:16px 0 22px;font-size:18px;line-height:1.5;max-width:44ch}
.offer dl{margin:0;display:grid;gap:16px}
.offer dt{font:500 10.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:.65;margin-bottom:6px}
.offer dd{margin:0;font-size:15px;line-height:1.5}
.offer .pills{display:flex;flex-wrap:wrap;gap:6px}
.offer .pills span{font-size:12.5px;padding:5px 10px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.offer.o2 .pills span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
.offer dl{margin-bottom:24px}.offer .limit{margin:0 0 22px;font-size:14px;opacity:.78;padding-top:16px;border-top:1px solid currentColor;border-top-color:color-mix(in srgb,currentColor 20%,transparent)}
.offres-gap{height:18px}
.engage{margin-top:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.engage div{background:#fff;padding:22px 24px}
.engage b{display:block;font-stretch:115%;font-size:17px;margin-bottom:6px}
.engage span{font-size:14.5px;color:var(--soft)}
@media (max-width:900px){.offer{grid-template-columns:minmax(0,1fr)}.offer.o2 .art{order:0}.engage{grid-template-columns:1fr}}

/* ---------- espace client ---------- */
.clientgrid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(32px,5vw,72px);align-items:center}
.clientgrid ul.feat{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:10px}
.clientgrid ul.feat li{display:flex;gap:12px;font-size:15.5px}
.clientgrid ul.feat li::before{content:"";flex:none;width:6px;height:6px;margin-top:10px;background:var(--el);border-radius:50%}
.soon{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.soon span{font:500 11px/1 var(--mono);padding:7px 10px;border-radius:999px;border:1px dashed #9AA6BA;color:var(--soft)}
.clientgrid .note{margin-top:18px;font-size:13.5px;color:var(--soft);max-width:52ch}
.app{background:#F5F7FA;color:var(--ink);border-radius:18px;overflow:hidden;box-shadow:0 40px 90px -40px rgba(11,19,34,.6);display:grid;grid-template-columns:200px minmax(0,1fr);min-height:460px;border:1px solid var(--line)}
.app aside{background:#fff;border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:4px}
.app aside img{height:18px;width:auto;margin:0 8px 18px;align-self:flex-start}
.app aside button{all:unset;cursor:pointer;font-size:13.5px;padding:9px 10px;border-radius:8px;color:#3A4352}
.app aside button[aria-selected="true"]{background:var(--ice);color:var(--ink);font-weight:600}
.app aside button:focus-visible{outline:2px solid var(--el)}
.app aside .soonx{margin-top:auto;font-size:12px;color:#8A94A6;padding:8px 10px;border-top:1px solid var(--line)}
.app main{padding:22px;min-width:0;display:flex;flex-direction:column;gap:14px}
.app .ah{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.app .ah b{font-stretch:112%;font-size:17px}
.app .ah span{font:500 11px/1 var(--mono);color:var(--soft)}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tile{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px}
.tile small{display:block;font:500 10px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.tile b{display:block;font-size:22px;font-stretch:112%;margin-top:6px;font-variant-numeric:tabular-nums}
.prog{height:6px;background:#E5EAF2;border-radius:6px;overflow:hidden;margin-top:8px}
.prog i{display:block;height:100%;background:var(--el);border-radius:6px}
.rows{background:#fff;border:1px solid var(--line);border-radius:10px}
.rows div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line);font-size:13.5px}
.rows div:last-child{border-bottom:0}
.stt{font:500 10.5px/1 var(--mono);color:var(--soft);white-space:nowrap}
.prio{font:500 10.5px/1 var(--mono);padding:5px 8px;border-radius:4px;white-space:nowrap}
.prio.h{background:#FCE9E7;color:#A3322B}.prio.m{background:#FFF3DF;color:#8A5308}.prio.l{background:#E4F4EC;color:#1F7350}
.plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}
.plan div{border-top:2px solid var(--el);padding-top:8px;font-size:12.5px;line-height:1.35}
.plan div:nth-child(2){border-color:var(--visia)}.plan div:nth-child(3){border-color:var(--night)}
.plan b{display:block;font:500 11px/1.2 var(--mono);margin-bottom:5px}
@media (max-width:1000px){.clientgrid{grid-template-columns:1fr}}
@media (max-width:620px){.app{grid-template-columns:1fr}.app aside{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px}.app aside img,.app aside .soonx{display:none}.app aside button{white-space:nowrap}.tiles{grid-template-columns:1fr 1fr}.rows div{grid-template-columns:1fr auto}.rows div .stt:last-child{display:none}}

/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);align-items:start}
.contact .facts{display:grid;gap:14px;font-size:15px;color:#3A4352}
.contact .facts div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding-top:14px;border-top:1px solid var(--line)}
.contact .facts b{font:500 10.5px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}

form.f{background:var(--mist);border-radius:22px;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:6px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font-size:13.5px;font-weight:600}
.field label small{font-weight:400;color:var(--soft)}
.field input,.field select,.field textarea{font:inherit;font-size:15px;padding:12px 14px;border-radius:10px;border:1px solid #CDD5E1;background:#fff;color:var(--ink);width:100%}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--el);box-shadow:0 0 0 3px rgba(61,123,255,.18)}
.field[data-err] input,.field[data-err] select,.field[data-err] textarea{border-color:var(--red)}
.err{font-size:12.5px;color:var(--red)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{grid-column:1/-1;font-size:12.5px;color:var(--soft);margin:0}
.f .actions{grid-column:1/-1}
.status{grid-column:1/-1;font-size:14px;border-radius:10px;padding:12px 14px;background:#FFF3DF;color:#6E4207;border:1px solid #F1D3A2}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
@media (max-width:560px){form.f{grid-template-columns:1fr;padding:20px}}

/* ---------- footer ---------- */
footer{background:var(--night);color:#A9B4C7;padding-block:56px 40px;font-size:14px}
footer .row{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;align-items:flex-start}
footer img{height:22px;width:auto}
footer .philo{margin:16px 0 0;color:#fff;font-stretch:118%;font-weight:600;font-size:18px;line-height:1.3}
footer nav{display:grid;grid-template-columns:repeat(2,auto);gap:8px 32px}
footer nav a{text-decoration:none;color:#DDE4EF}
footer .legal{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px}
footer .legal a{color:#A9B4C7}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:var(--ink);padding:10px 14px;border-radius:8px;font-weight:600}
.skip:focus{left:12px}
.legal-page h2{margin:40px 0 10px;font-stretch:115%;font-size:22px}
.legal-page p,.legal-page li{max-width:70ch;color:#3A4352}
.todo{background:#FFF3DF;color:#6E4207;padding:1px 6px;border-radius:4px;font:500 13px var(--mono)}
.status.ok{background:#E4F4EC;color:#1F7350;border-color:#BFE3CF}
.status.ko{background:#FCE9E7;color:#A3322B;border-color:#F3C6C1}


/* schémas : version verticale sur téléphone */
.illus.m-only{display:none}
@media (max-width:600px){
  .illus.d-only{display:none}
  .illus.m-only{display:block;max-height:none!important;width:100%}
  .bcard.w2 .illus.m-only{max-height:none}
  .hero h1{font-size:30px;font-stretch:104%}
  .offer h2{font-size:28px;font-stretch:106%}
  .phead h1,.appro-side h1{font-stretch:108%}
  .astep-h{font-size:30px}
}

.nav.scrolled:not(.solid){background:rgba(11,19,34,.82);backdrop-filter:blur(10px)}
.demo-tag .ds{display:none}
.scene-root.compact .demo-tag .dl{display:none}
.scene-root.compact .demo-tag .ds{display:inline}

/* Ce que vous obtenez : livrables d'abord, maquette en support */
.deliv{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.deliv li{border-radius:18px;padding:24px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:8px;min-width:0}
.deliv li.hl{background:var(--el);border-color:var(--el)}
.deliv .dn{font:500 11px/1 var(--mono);color:var(--sky)}
.deliv li.hl .dn{color:#fff;opacity:.8}
.deliv b{font-stretch:115%;font-size:20px;line-height:1.2}
.deliv span:last-child{font-size:14.5px;color:#C9D2E1;line-height:1.5}
.deliv li.hl span:last-child{color:#EAF0FF}
.support{margin-top:56px;padding-top:40px;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:center}
.support-txt h3{margin:0 0 12px;font-stretch:115%;font-size:clamp(20px,1.8vw,26px);line-height:1.2}
.support-txt p{margin:0 0 16px;color:#C9D2E1;font-size:15px;max-width:46ch}
.support-txt .eye{color:#A9B4C7}
.legend-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px;font-size:14px;color:#DDE4EF}
.legend-list li{display:flex;align-items:center;gap:10px}
.legend-list i{width:10px;height:10px;border-radius:50%;flex:none}
.legend-list i.ln{width:22px;height:0;border-radius:0;border-top:3px dotted var(--el)}
.support-txt .fine{font-size:13px;color:#8E9AB0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.support .model-stage{height:clamp(360px,34vw,460px)}
@media (max-width:900px){.deliv{grid-template-columns:1fr}.support{grid-template-columns:1fr}.support .model-stage{height:400px}}

/* marges : contenu plus large, texte du hero et chapitres alignés */
.in{max-width:1560px}
@media (min-width:900px){.in{padding-left:max(min(3vw,48px),24px,env(safe-area-inset-left,0px));padding-right:max(min(3vw,48px),24px,env(safe-area-inset-right,0px))}}
.hero .chapters.in{margin-inline:auto;width:100%}
.hero .shade{background:linear-gradient(90deg,rgba(10,17,31,.94) 0%,rgba(10,17,31,.8) 26%,rgba(10,17,31,0) 46%)}

/* formulaire de contact en 3 étapes */
form.wiz{display:block}
.wsteps{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.wsteps li{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:#8A94A6;cursor:pointer;min-width:0}
.wsteps li span{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:500 12px var(--mono);border:1.5px solid #C5CFDD;background:#fff;color:#8A94A6}
.wsteps li[aria-current="step"]{color:var(--ink)}
.wsteps li[aria-current="step"] span{border-color:var(--el);background:var(--el);color:#fff}
.wsteps li.done{color:var(--ink)}
.wsteps li.done span{border-color:var(--ink);background:var(--ink);color:#fff}
.wbar{height:3px;border-radius:3px;background:#DCE3EE;margin-bottom:26px;overflow:hidden}
.wbar i{display:block;height:100%;width:33.3%;background:var(--el);transition:width .4s}
.wstep{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.wiz.js .wstep:not(.on){display:none}
.wstep.on{animation:wfade .35s ease}
@keyframes wfade{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
fieldset.field{border:0;padding:0;margin:0}
fieldset.field legend{font-size:13.5px;font-weight:600;padding:0;margin-bottom:8px}
fieldset.field legend small,.field label small{font-weight:400;color:var(--soft)}
.hint{margin:-4px 0 8px;font-size:13px;color:var(--soft)}
.chips-in{display:flex;flex-wrap:wrap;gap:8px}
.chip{all:unset;cursor:pointer;display:inline-flex}
.chip span{display:inline-flex;align-items:center;gap:6px;font-size:14px;padding:9px 14px;border-radius:999px;border:1px solid #CDD5E1;background:#fff;transition:background .15s,border-color .15s,color .15s}
.chip:hover span{border-color:#9AA6BA}
.chip[aria-checked="true"] span{background:var(--ink);border-color:var(--ink);color:#fff}
.chip[role=checkbox][aria-checked="true"] span::before{content:"✓";font-size:12px}
.chip:focus-visible span{outline:2px solid var(--el);outline-offset:2px}
.ocards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ocard{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:14px;border:1.5px solid #CDD5E1;background:#fff;transition:border-color .15s,box-shadow .15s}
.ocard b{font-size:15px}
.ocard span{font-size:13px;color:var(--soft);line-height:1.4}
.ocard[aria-checked="true"]{border-color:var(--el);box-shadow:0 0 0 3px rgba(61,123,255,.15)}
.ocard:focus-visible{outline:2px solid var(--el);outline-offset:2px}
fieldset.field[data-err] .chip span,fieldset.field[data-err] .ocard{border-color:var(--red)}
.count{justify-self:end;font:500 11px var(--mono);color:var(--soft)}
.recap{grid-column:1/-1;border-radius:14px;background:#fff;border:1px solid var(--line);padding:16px 18px;font-size:13.5px;display:grid;grid-template-columns:150px 1fr;gap:6px 12px}
.recap:empty{display:none}
.recap h4{grid-column:1/-1;margin:0 0 4px;font:500 10.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.recap dt{color:var(--soft)}
.recap dd{margin:0;font-weight:600;min-width:0}
form.wiz .consent{margin:22px 0 14px}
form.wiz .actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.wcount{margin-left:auto;font:500 11.5px var(--mono);color:var(--soft)}
form.wiz .status{margin-top:16px}
@media (max-width:640px){.wstep{grid-template-columns:1fr}.ocards{grid-template-columns:1fr}.wsteps li{font-size:0;gap:0;justify-content:center}.wsteps li span{width:30px;height:30px}.recap{grid-template-columns:1fr}.recap dd{margin-bottom:6px}.wcount{width:100%;margin-left:0}}
