:root{--ease:cubic-bezier(.2,.8,.2,1);--bg-2:var(--screen,#0B0C11)}
/* =========================================================
   Pages secondaires : même ADN que l'accueil (base.css),
   seuls les ajouts propres aux pages sont ici.
   ========================================================= */
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sub-page input,.sub-page textarea,.sub-page select{font:inherit;color:var(--ink)}

/* Héros : même scène que l'accueil, un peu moins haute */
.sub-hero.hero-pin{height:calc(125 * 1vh / var(--z,1))}
.sub-hero .hero-grid{align-items:center}
.sub-hero h1{font-size:clamp(44px,calc(6 * 1vw / var(--z,1)),84px)}
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--f-mono);font-size:12px;color:var(--ink-3);list-style:none;margin:0 0 18px}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.5}
.crumbs a:hover{color:var(--ink)}
.hero-card{padding:26px;border-radius:22px;display:flex;flex-direction:column;gap:14px}
.hero-card .k{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.hero-card ol{list-style:none;counter-reset:t;display:flex;flex-direction:column;gap:12px}
.hero-card li{counter-increment:t;display:grid;grid-template-columns:30px 1fr;font-size:15px;color:var(--ink-2);line-height:1.5}
.hero-card li::before{content:counter(t,decimal-leading-zero);font-family:var(--f-mono);font-size:12px;color:var(--ink-3);padding-top:3px}
.hero-card li b{color:var(--ink);font-weight:600}

/* « Aller plus loin » : le texte de fond reste lisible et indexé, mais replié */
.deep{margin-top:22px;border-radius:14px;border:1px solid var(--glass-line);background:var(--glass-in)}
.deep summary{list-style:none;cursor:pointer;padding:14px 18px;display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.deep summary::-webkit-details-marker{display:none}
.deep summary::after{content:"+";margin-left:auto;font-size:18px;transition:transform .3s var(--ease)}
.deep[open] summary::after{transform:rotate(45deg)}
.deep > div{padding:0 18px 18px;display:flex;flex-direction:column;gap:12px}
.deep p,.deep li{font-size:15.5px;color:var(--ink-2);line-height:1.7}
.deep strong{color:var(--ink);font-weight:600}
.deep ul,.deep ol{margin-left:18px;display:flex;flex-direction:column;gap:6px}

/* Grilles de contenu */
.sp-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:start}
.sp-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.sp-cards.c3{grid-template-columns:repeat(3,1fr)}
.sp-card{padding:22px;border-radius:16px;display:flex;flex-direction:column;gap:8px}
.sp-card .n{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-3)}
.sp-card h3{font-size:18px;letter-spacing:-.02em;line-height:1.25}
.sp-card p{font-size:14.5px;color:var(--ink-2);line-height:1.6}
.sp-quote{font-size:clamp(22px,calc(2.4 * 1vw / var(--z,1)),32px);font-weight:500;letter-spacing:-.03em;line-height:1.25;max-width:900px}
.sp-quote b{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:600}
@media (max-width:900px){.sp-grid,.sp-cards,.sp-cards.c3{grid-template-columns:1fr}.sub-hero.hero-pin{height:auto}}

/* Démos interactives (labos) */
.lab{margin:0;padding:30px;border-radius:22px}
.lab h3{margin:0 0 6px;font-size:24px;letter-spacing:-.03em}
.lab > p{font-size:15px;color:var(--ink-2)}
/* Labo : routage par sensibilité */
.flows{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.flows button{font-size:13.5px;padding:8px 12px;border-radius:10px;background:var(--glass-in);border:1px solid var(--glass-line);color:var(--ink-2)}
.flows button[aria-pressed="true"]{color:var(--ink);border-color:color-mix(in srgb,var(--c) 60%,transparent);background:color-mix(in srgb,var(--c) 12%,transparent)}
.route{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}
.route div{padding:12px;border-radius:12px;background:var(--glass-in);border:1px solid var(--glass-line);font-size:13px;color:var(--ink-3);transition:all .5s var(--ease);min-height:96px}
.route div b{display:block;font-size:13.5px;color:var(--ink-2);margin-bottom:4px}
.route div.on{color:var(--ink-2);border-color:color-mix(in srgb,var(--c) 55%,transparent);background:color-mix(in srgb,var(--c) 10%,transparent);box-shadow:0 0 30px -12px var(--c)}
.route div.on b{color:var(--ink)}
.route div.off{opacity:.35;text-decoration:line-through}
.verdict{margin-top:14px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:16px 18px;border-radius:12px}
.level{font-family:var(--f-mono);font-size:22px;font-weight:500;width:64px;height:64px;border-radius:14px;display:grid;place-items:center}
.verdict p{font-size:14.5px!important;color:var(--ink-2)!important}
.verdict p b{color:var(--ink)}

/* Labo : masquage */
.mask-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.mask-grid textarea,.mask-grid output{display:block;width:100%;min-height:200px;padding:14px;border-radius:12px;background:var(--glass-in);border:1px solid var(--glass-line);font-family:var(--f-mono);font-size:13px;line-height:1.7;resize:vertical;white-space:pre-wrap;word-break:break-word}
.mask-grid textarea:focus{outline:none;border-color:var(--glass-border)}
.ent{padding:1px 6px;border-radius:5px;font-size:12px;background:color-mix(in srgb,var(--c) 18%,transparent);color:color-mix(in srgb,var(--c) var(--tint-mix),var(--tint));border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
.mask-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

/* Labo : agent pas à pas */
.agent-run{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.agent-steps{list-style:none;display:flex;flex-direction:column;gap:8px}
.agent-steps li{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:12px 14px;border-radius:12px;background:var(--glass-in);border:1px solid var(--glass-line);font-size:14px!important;color:var(--ink-3)!important;transition:all .4s var(--ease)}
.agent-steps li i{font-style:normal;font-family:var(--f-mono);font-size:12px;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;border:1px solid var(--glass-border)}
.agent-steps li.run{color:var(--ink)!important;border-color:color-mix(in srgb,var(--lav) 60%,transparent);box-shadow:0 0 24px -10px var(--lav)}
.agent-steps li.done{color:var(--ink-2)!important}
.agent-steps li.done i{background:color-mix(in srgb,var(--mint) 18%,transparent);border-color:color-mix(in srgb,var(--mint) 40%,transparent);color:var(--mint)}
.agent-steps li.wait{border-color:color-mix(in srgb,var(--peach) 60%,transparent);color:var(--ink)!important}
.agent-steps small{display:block;font-family:var(--f-mono);font-size:11.5px;color:var(--ink-3);margin-top:3px}
.agent-screen{padding:16px;border-radius:14px;background:var(--bg-2);border:1px solid var(--glass-border);font-family:var(--f-mono);font-size:12.5px;line-height:1.7;min-height:280px;color:var(--ink-2);overflow:auto;max-height:380px}
.agent-screen .t{color:var(--ink-3)}
.agent-screen .ok{color:var(--mint)}
.agent-screen .warn{color:var(--peach)}
.agent-screen .ai{color:var(--lav)}
.approve{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.autonomy{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}
.autonomy div{padding:16px;border-radius:12px;border:1px solid var(--glass-line);background:var(--glass-in)}
.autonomy b{display:block;font-size:15px;color:var(--ink);margin:6px 0 4px}
.autonomy p{font-size:13.5px!important;line-height:1.5!important}
.autonomy .tag{font-size:10.5px}

/* Labo : composer vs additionner */
.curve-box{margin-top:16px}
.curve-box svg{width:100%;height:auto;overflow:visible}
.curve-box input[type=range]{width:100%;accent-color:var(--accent);margin-top:14px}
.curve-legend{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-2);margin-top:10px}
.curve-legend b{font-family:var(--f-mono);font-weight:500;color:var(--ink)}

.callout{margin:26px 0;padding:22px 24px;border-radius:14px}
.callout b.k{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;margin-bottom:8px}
.callout p{font-size:16px!important;color:var(--ink)!important}
.table{width:100%;border-collapse:separate;border-spacing:0;margin:22px 0;font-size:14.5px;border:1px solid var(--glass-border);border-radius:14px;overflow:hidden}
.table th{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:500;text-align:left;padding:12px 14px;background:var(--glass-in)}
.table td{padding:14px;border-top:1px solid var(--glass-line);color:var(--ink-2);vertical-align:top}
.table td:first-child{color:var(--ink);font-weight:600;white-space:nowrap}
.table-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px}
.lab{margin:30px 0;padding:28px;border-radius:18px}
.lab h3{margin:0 0 6px!important;font-size:22px}
.lab > p{font-size:15px!important}

@media (max-width:820px){.route{grid-template-columns:1fr 1fr}.mask-grid,.agent-run{grid-template-columns:1fr}.autonomy{grid-template-columns:1fr 1fr}.lab{padding:20px 16px}}
@media (max-width:560px){.autonomy{grid-template-columns:1fr}}

/* Héros des pages : une seule colonne, titre qui passe à la ligne au lieu de déborder */
.sub-hero .hero-grid{grid-template-columns:minmax(0,1fr)!important;justify-items:center;text-align:center}
.sub-hero .hero-grid > *{min-width:0;max-width:1100px}
.sub-hero h1 span{white-space:normal!important;text-wrap:balance}
.sub-hero h1{font-size:clamp(40px,calc(5.4 * 1vw / var(--z,1)),80px)}

/* Menu « Guides » de la barre du haut */
.nav-dd{position:relative;display:inline-flex}
.nav-dd-btn{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:inherit;font-weight:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:inherit;opacity:.85}
.nav-dd-btn svg{width:14px;height:14px;transition:transform .25s}
.nav-dd:hover .nav-dd-btn,.nav-dd.open .nav-dd-btn{opacity:1}
.nav-dd.open .nav-dd-btn svg{transform:rotate(180deg)}
.nav-menu{position:absolute;top:calc(100% + 14px);left:50%;width:340px;translate:-50% 6px;padding:8px;border-radius:18px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transition:opacity .2s,translate .25s,visibility .2s;z-index:90;
  background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border:1px solid var(--glass-border);box-shadow:0 30px 60px -24px rgba(0,0,0,.6)}
.nav-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav-dd:hover .nav-menu,.nav-dd.open .nav-menu,.nav-dd:focus-within .nav-menu{opacity:1;visibility:visible;translate:-50% 0}
.nav-menu a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;text-align:left;white-space:normal;transition:background .2s}
.nav-menu a:hover,.nav-menu a:focus-visible{background:var(--glass-2)}
.nav-menu b{font-size:14px;font-weight:600;color:var(--ink)}
.nav-menu small{font-size:12px;color:var(--ink-3);line-height:1.35}
.nav-menu .nav-sep{height:1px;background:var(--glass-line);margin:4px 8px}
.nav-menu .nav-cta b{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-links .nav-dd-btn{font-size:13.5px;color:rgba(255,255,255,.62);padding:7px 12px;letter-spacing:-.005em;opacity:1;border-radius:999px}
.nav-links .nav-dd-btn:hover,.nav-links .nav-dd.open .nav-dd-btn{color:#fff}
[data-theme="light"] .nav-links .nav-dd-btn{color:rgba(14,16,22,.6)}
[data-theme="light"] .nav-links .nav-dd-btn:hover{color:#0E1016}
.nav-links .nav-menu a{font-size:inherit;color:inherit;padding:10px 12px;letter-spacing:0}

/* Menu « Guides » : version placée hors de la barre */
.nav-menu.nav-menu-fixed{position:fixed;z-index:200;translate:-50% 6px}
.nav-menu.nav-menu-fixed.on{opacity:1;visibility:visible;translate:-50% 0}
.nav-menu.nav-menu-fixed::before{top:-14px;height:14px}
.nav-menu.nav-menu-fixed a{font-size:inherit;color:inherit;padding:10px 12px;letter-spacing:0}

/* Curseur plus discret */
.cursor-ring{width:16px;height:16px;margin:-8px 0 0 -8px;border-width:1px;border-color:color-mix(in srgb,var(--ink) 45%,transparent)}
.cursor-ring.hot{width:28px;height:28px;margin:-14px 0 0 -14px;background:color-mix(in srgb,var(--lav) 12%,transparent)}
.cursor-glow{width:360px;height:360px;margin:-180px 0 0 -180px;opacity:.7}

/* =========================================================
   Lisibilité : aucun petit texte sous ~12 px à l'écran.
   La base rend le site à 90 % sur ordinateur (--z) : on compense uniquement les petits textes.
   ========================================================= */
.eyebrow,.label,.fq-k,.st-kick,.vs-c,.vs-tag,.db-k,.wz-k,.pi,.ax,.num,.n,.dg-mk,.dg-w,.dg-ck,.fb-k,.fb-hint,.stack-k,.proc-cap,.days-cap,.answered,.private,.ot-meta,.foot-note,.tm-name,.ct-k,.ct-q,.pill,.crumbs,.fineprint,.dm-note,.source-note,.mic,.count,.tag{font-size:max(1em,calc(12px / var(--z,1)))!important}
main dt,main small,main .xsmall,footer h4,footer small{font-size:max(1em,calc(12.5px / var(--z,1)))!important}
main dd,main summary,footer a,footer p,.foot-bottom p{font-size:max(1em,calc(13.5px / var(--z,1)))!important}
.qz-opt,.door-for,.door-go{font-size:max(1em,calc(13px / var(--z,1)))!important}
.door-tag,.vr-bigl,.vr-sub,.pick-q,.brands-note,.ph-badge,.kind,.pillz,.pq-tag,.bb-note,.mb-node,.rb-li{font-size:max(1em,calc(12px / var(--z,1)))!important}
main dt,main dt *{font-size:max(1em,calc(12px / var(--z,1)))!important}
#mt-list button,.tone button,.examples button,.voice small{font-size:max(1em,calc(13px / var(--z,1)))!important}

/* Lisibilité, 2e passe : textes courants à 16 px minimum à l'écran, libellés à 13 px */
main :is(p,li,dd):not(.tm-bubble *):not([class*="izy-"]):not([class*="wf-"]):not(.scene *):not(.vr-stage *):not(.qz *){font-size:max(1em,calc(16px / var(--z,1)))}
main :is(.sp-card,.cy-tile,[class*="card"],.pain,.pillar,.usecase,.principle,.sovereign,.lab,.deep) :is(span,small):not([class*="tag"]):not([class*="k"]):not(.n){font-size:max(1em,calc(15px / var(--z,1)))}
main :is(.sp-card,[class*="card"],.pain,.pillar,.usecase,.cy-tile) h3{font-size:max(1em,calc(19px / var(--z,1)))}
.eyebrow,.label,.fq-k,.ax,.num,.n,.dg-mk,.dg-w,.dg-ck,.stack-k,.answered,.private,.ot-meta,.foot-note,.ct-k,.crumbs,.fineprint,.dm-note,.tag,main dt,main dt *{font-size:max(1em,calc(13px / var(--z,1)))!important}

/* Marges latérales réduites : le contenu prend plus de largeur */
html:root{--wrap:1380px}
@media (min-width:901px){html body .wrap{padding-left:32px;padding-right:32px}}

/* ===== Pied de page minimal, centré, sans blocs ===== */
footer{padding:clamp(90px,14vh,150px) 0 30px!important}
.ft2{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.ft2-brand{display:inline-flex;align-items:center;gap:12px;font-size:26px;font-weight:600;letter-spacing:-.03em;color:var(--ink)}
.ft2-brand .w{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:18px;font-weight:700;background:var(--ink);color:var(--bg)}
.ft2-tag{font-size:clamp(18px,1.6vw,22px);letter-spacing:-.02em;color:var(--ink-2);max-width:30ch}
.ft2-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px;margin-top:10px;font-size:14.5px}
.ft2-nav a,.ft2-contact a,.ft2-bot a{color:var(--ink-2);transition:color .2s}
.ft2-nav a:hover,.ft2-contact a:hover,.ft2-bot a:hover{color:var(--ink)}
.ft2-contact{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;font-size:14.5px;color:var(--ink-3)}
.ft2-bot{width:100%;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:46px;padding-top:20px;border-top:1px solid var(--glass-line);font-family:var(--f-mono);font-size:11.5px;color:var(--ink-3)}
.ft2-bot a{color:var(--ink-3)}
@media (max-width:700px){.ft2-bot{justify-content:center;text-align:center}}
footer .ft2-brand{font-size:28px!important;font-weight:600!important}
footer .ft2-tag{font-size:clamp(20px,1.8vw,26px)!important;line-height:1.3!important;max-width:none!important;color:var(--ink)!important;letter-spacing:-.03em}
footer .ft2-nav,footer .ft2-contact{font-size:14.5px!important}
footer .ft2-bot,footer .ft2-bot a{font-size:11.5px!important;font-family:var(--f-mono)!important}

footer .ft2-brand{font-size:28px!important;font-weight:600!important}
footer .ft2-tag{font-size:clamp(20px,1.8vw,26px)!important;line-height:1.3!important;max-width:none!important;color:var(--ink)!important;letter-spacing:-.03em}
footer .ft2-nav,footer .ft2-contact{font-size:14.5px!important}
footer .ft2-bot,footer .ft2-bot a{font-size:11.5px!important;font-family:var(--f-mono)!important}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--glass-border) 20%,var(--glass-border) 80%,transparent)}
footer{position:relative}
.back-btn{display:inline-flex;align-items:center;gap:6px;margin:0 0 14px;padding:7px 14px 7px 10px;border-radius:999px;font-size:13.5px;font-weight:500;color:var(--ink-2);background:var(--glass-in);box-shadow:inset 0 0 0 1px var(--glass-border);transition:color .2s,background .2s,transform .2s}
.back-btn svg{width:16px;height:16px;transition:transform .2s}
.back-btn:hover{color:var(--ink);background:var(--glass-2)}
.back-btn:hover svg{transform:translateX(-3px)}
/* bouton retour des pages secondaires */
.sub-back{display:inline-flex;align-items:center;gap:8px;align-self:center;margin:0 auto 18px;padding:9px 16px;border-radius:999px;font-size:14px;font-weight:500;color:var(--ink-2);text-decoration:none;
  background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:color .2s,box-shadow .2s,transform .25s}
.sub-back:hover{color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lav) 55%,transparent);transform:translateX(-3px)}
.fb-hero .sub-back,.ap-hero .sub-back{display:inline-flex}
.fb-hero{display:flex;flex-direction:column;align-items:center}

/* Pages secondaires : même air sur les côtés que l'accueil */
:root{--side:clamp(24px,5.5vw,96px)}
main .wrap,footer .wrap{padding-inline:var(--side)!important;max-width:calc(var(--wrap) + 2 * var(--side))!important}
@media (max-width:760px){:root{--side:20px}}
/* bouton retour à l'accueil dans la barre */
.nav-back{display:inline-flex;align-items:center;gap:6px;flex:none;margin-right:10px;padding:7px 13px;border-radius:999px;font-size:13px;font-weight:500;color:var(--ink-2);text-decoration:none;
  background:var(--glass-in);box-shadow:inset 0 0 0 1px var(--glass-border);transition:color .2s,box-shadow .2s,transform .25s}
.nav-back:hover{color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lav) 55%,transparent);transform:translateX(-2px)}
@media (max-width:900px){.nav-back{margin-right:8px}}
/* barre compacte (au défilement) : un peu plus large pour garder « Parlons-nous » entier, et le retour réduit à sa flèche */
.sub-page .topbar.slim .nav{max-width:1040px!important;width:min(1040px,calc(100vw - 32px))!important}
.sub-page .topbar.slim .nav-back span{display:none}
.sub-page .topbar.slim .nav-back{padding:7px 11px}
/* R-13 : bulles du héro des sous-pages — elles s'estompent vers le bas au lieu d'être tranchées net au bas du héro
   (le fond « bulles » retirait le masque du canevas et posait un fond opaque sur le bloc collant) */
.sub-hero .hero-sticky[data-bg="bulles"]{background:transparent}
.sub-hero .hero-sticky[data-bg="bulles"] canvas.stars{-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent)!important;mask-image:linear-gradient(180deg,#000 62%,transparent)!important}
