

/* Labo : composer vs additionner */
.curve-box svg .cg{stroke:var(--glass-line);stroke-width:1}
.curve-box svg .ca{stroke:var(--glass-border);stroke-width:1}
.curve-box svg .ct{fill:var(--ink-3);font-family:var(--f-mono);font-size:11px}
.curve-box svg .cv-ghost{fill:none;stroke:var(--glass-border);stroke-width:1.5;stroke-dasharray:3 5}
.curve-box svg .cv-area{fill:color-mix(in srgb,var(--lav) 10%,transparent)}
.curve-box svg .cv-c{fill:none;stroke:var(--peach);stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--peach) 60%,transparent))}
.curve-box svg .cv-w{fill:none;stroke:var(--mint);stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--mint) 60%,transparent))}
.curve-box svg .cv-gap{stroke:var(--lav);stroke-width:1.5;stroke-dasharray:4 4}
.curve-box svg .cv-dc{fill:var(--bg);stroke:var(--peach);stroke-width:2.5}
.curve-box svg .cv-dw{fill:var(--bg);stroke:var(--mint);stroke-width:2.5}
.curve-box svg .cv-lc,.curve-box svg .cv-lw{font-family:var(--f);font-size:13px;font-weight:600}
.curve-box svg .cv-lc{fill:color-mix(in srgb,var(--peach) var(--tint-mix),var(--tint))}
.curve-box svg .cv-lw{fill:color-mix(in srgb,var(--mint) var(--tint-mix),var(--tint))}
.curve-meter{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.curve-meter div{padding:12px 14px;border-radius:12px;background:var(--glass-in);border:1px solid var(--glass-line)}
.curve-meter b{display:block;font-size:26px;font-weight:600;letter-spacing:-.04em;line-height:1.1;color:var(--ink)}
.curve-meter span{display:block;font-size:12.5px;color:var(--ink-3);margin-top:4px;line-height:1.35}
.curve-meter .x b{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.lab .note{font-size:13px!important;color:var(--ink-3)!important;margin-top:12px;line-height:1.55!important}
/* Labo : process aujourd'hui → demain */
.proc-stage{position:relative;margin-top:6px;border-radius:14px;background:var(--glass-in);border:1px solid var(--glass-line);overflow:hidden}
.proc-stage svg{width:100%;height:auto}
.proc-cap{position:absolute;top:12px;left:14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.pn-node{transition:transform .9s var(--ease),opacity .6s var(--ease)}
.pn-box{fill:var(--bg-2);stroke:var(--glass-border);stroke-width:1}
.pn-node.loose .pn-box{stroke:color-mix(in srgb,var(--peach) 55%,transparent)}
.pn-node.api .pn-box{stroke:color-mix(in srgb,var(--mint) 55%,transparent)}
.pn-node.kept .pn-box{fill:color-mix(in srgb,var(--mint) 14%,var(--bg-2))}
.pn-t{fill:var(--ink);font-family:var(--f);font-size:13px;font-weight:500}
.pn-core{fill:var(--bg-2);stroke:var(--glass-border);stroke-width:1.5;transition:all .8s var(--ease)}
.pn-center.wapp .pn-core{fill:color-mix(in srgb,var(--lav) 22%,var(--bg-2));stroke:var(--lav);filter:drop-shadow(0 0 16px color-mix(in srgb,var(--lav) 70%,transparent))}
.pn-ct{fill:var(--ink);font-family:var(--f);font-size:13px;font-weight:600}
.pn-cs{fill:var(--ink-3);font-family:var(--f-mono);font-size:10px}
.pl-mess{fill:none;stroke:color-mix(in srgb,var(--peach) 45%,transparent);stroke-width:1.2;stroke-dasharray:4 5;animation:dash 1.6s linear infinite}
.pl-api{stroke:var(--mint);stroke-width:1.6;stroke-dasharray:6 6;animation:dash 1.1s linear infinite reverse;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--mint) 70%,transparent))}
@keyframes dash{to{stroke-dashoffset:-18}}
.proc-foot{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:14px}
.proc-foot p{font-size:14.5px!important;color:var(--ink-2)!important;max-width:520px}
.proc-foot p b{color:var(--ink)}
.flows button.p-mint[aria-pressed="true"]{--c:var(--mint)}
.flows button.p-peach[aria-pressed="true"]{--c:var(--peach)}
.legend-dots{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3);margin-top:-6px}
.legend-dots span{display:inline-flex;align-items:center;gap:6px}
.legend-dots i{width:8px;height:8px;border-radius:2px;background:var(--c)}
.fab-cta{margin-top:12px;padding:34px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.fab-cta h3{font-size:26px!important;margin:0 0 8px!important}
.fab-cta p{font-size:15.5px!important}
@media (max-width:820px){.curve-meter{grid-template-columns:1fr}.fab-cta{grid-template-columns:1fr}}

/* ---- Page Digitalisation : mise en scène (classes dg-) ---- */
.dg-first{padding-top:40px}
.dg-intro{margin-bottom:40px}
.dg-four{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.dg-k{padding:26px 24px;border-radius:22px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.dg-k::before{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;border-radius:2px;background:var(--c);box-shadow:0 0 14px var(--c)}
.dg-kn{font-family:var(--f-mono);font-size:12px;color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint))}
.dg-k h3{font-size:19px;letter-spacing:-.025em;line-height:1.25}
.dg-k p{font-size:14.5px;color:var(--ink-2);line-height:1.6}
.sp-grid{margin-bottom:44px;align-items:end}
.sp-grid .h2s-title,#si .h2s-title{font-size:clamp(34px,calc(3.8 * 1vw / var(--z,1)),56px)}
#si .h2s-title{margin-bottom:22px}
.curve-box svg{max-height:430px;margin:0 auto}
.proc-stage svg{max-height:440px;display:block;margin:0 auto}
.dg-pains{margin-top:8px}
.dg-manif{margin-top:28px;padding:48px 52px;border-radius:28px}
.dg-mk{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.dg-vs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.dg-col{padding:28px;border-radius:24px}
.dg-col h3{font-size:24px;letter-spacing:-.035em;margin:6px 0 18px}
.dg-ck{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint))}
.dg-col dl{display:flex;flex-direction:column;gap:0}
.dg-col dt{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-top:12px;border-top:1px solid var(--glass-line)}
.dg-col dt:first-child{border-top:0;padding-top:0}
.dg-col dd{font-size:15px;color:var(--ink-2);padding:4px 0 12px;line-height:1.45}
.dg-win{box-shadow:0 30px 80px -40px color-mix(in srgb,var(--mint) 70%,transparent)}
.dg-win dd{color:var(--ink)}
.dg-bricks{margin-top:28px;display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;padding:36px 0 0}
.dg-h3{font-size:clamp(26px,calc(2.6 * 1vw / var(--z,1)),36px);letter-spacing:-.04em;line-height:1.08;margin-bottom:14px}
.dg-h3 span{display:block;color:var(--ink-3)}
.dg-chips{display:flex;flex-wrap:wrap;gap:8px}
.dg-chips span{font-family:var(--f-mono);font-size:12.5px;padding:8px 13px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);background:var(--glass-in);border:1px solid var(--glass-line)}
.dg-chips span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c);box-shadow:0 0 8px 1px var(--c)}
.dg-chips .dg-more{color:var(--ink);font-weight:500}
.dg-chips .dg-more::before{display:none}
.dg-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:s}
.dg-steps li{padding:26px 24px;border-radius:22px;position:relative;display:flex;flex-direction:column;gap:10px}
.dg-steps li::before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid var(--c);background:var(--bg);box-shadow:0 0 14px var(--c);margin-bottom:6px}
.dg-w{font-family:var(--f-mono);font-size:11.5px;color:var(--ink-3);letter-spacing:.04em}
.dg-steps h3{font-size:20px;letter-spacing:-.03em}
.dg-steps p{font-size:14.5px;color:var(--ink-2);line-height:1.6}
.dg-avoid{margin-top:40px;text-align:center}
.dg-avoid ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:6px}
.dg-avoid li{display:flex;flex-direction:column;align-items:center;gap:4px}
.dg-avoid li span{font-size:15px;color:var(--ink-3)}
.dg-avoid li b{font-size:clamp(26px,calc(2.8 * 1vw / var(--z,1)),40px);font-weight:600;letter-spacing:-.045em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}
.dg-avoid li small{font-size:14px;color:var(--ink-2)}
#si .deep{margin-top:24px}
.dg-cases{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.dg-case{padding:26px 24px;border-radius:22px;display:flex;flex-direction:column;gap:8px}
.dg-big{font-size:clamp(30px,calc(2.6 * 1vw / var(--z,1)),40px);font-weight:600;letter-spacing:-.05em;line-height:1;margin-top:10px;color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint))}
.dg-bs{font-size:13.5px;color:var(--ink-3)}
.dg-case > p:last-child{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin-top:6px}
.dg-fab{margin-top:28px;padding:40px 44px;border-radius:28px;display:grid;grid-template-columns:1.2fr auto;gap:30px;align-items:center}
.dg-fab-a{display:flex;flex-direction:column;gap:10px}
.dg-faq .fq-list{min-width:0}
.dg-faq{overflow-x:clip}
@media (max-width:1100px){.dg-four,.dg-cases,.dg-steps{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.dg-vs,.dg-bricks,.dg-fab,.dg-avoid ul{grid-template-columns:1fr}.dg-manif{padding:30px 24px}.dg-fab{padding:28px 22px}.pains.dg-pains{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.dg-four,.dg-cases,.dg-steps,.pains.dg-pains{grid-template-columns:1fr}}
