/* Arthur Guyon — une identité éditoriale, humaine et chaleureuse. */
:root {
  --ink: #292923;
  --muted: #646159;
  --accent: #8b4634;
  --canvas: #f7f4ee;
  --surface: #eeebe3;
  --line: #d9d4c9;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --editorial: Georgia, "Times New Roman", serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 105px; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: var(--font); font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { line-height: 1.12; letter-spacing: -.045em; font-weight: 600; }
h1, h2, .hero h1 span { text-wrap: balance; }
h2 { font-size: clamp(2.2rem, 3.9vw, 3.5rem); }
h3 { font-size: 1.25rem; letter-spacing: -.025em; }
p { color: var(--muted); }
em { font-family: var(--editorial); font-weight: 400; color: var(--accent); letter-spacing: -.045em; }
::selection { background: #dfc4b6; color: var(--ink); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
[hidden] { display: none !important; }
.container { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.section { padding-block: 90px; }
.icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.eyebrow { font-size: .72rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; color: var(--accent); margin-bottom: 22px; }
.section-heading { margin-bottom: 44px; }
.section-heading > p:last-child:not(.eyebrow) { margin-top: 24px; max-width: 430px; }
.split-heading { display: grid; grid-template-columns: 1.4fr 1fr; align-items: end; gap: 100px; }
.split-heading > p { max-width: 370px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 25px; min-height: 52px; padding: 13px 22px; border: 1px solid var(--accent); border-radius: 5px; font-size: .875rem; font-weight: 600; line-height: 1.5; background: var(--accent); color: #fffaf5; text-align: center; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.button > span { font-size: 1.2rem; font-weight: 400; transition: transform .18s ease; }
.button-small { min-height: 44px; padding: 10px 16px; font-size: .8125rem; gap: 18px; }
.button-light { background: #f7f4ee; border-color: #f7f4ee; color: var(--ink); }
.text-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; font-size: .875rem; font-weight: 500; text-decoration: underline; text-decoration-color: #b8afa0; text-underline-offset: 7px; transition: color .18s, text-decoration-color .18s; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; background: var(--ink); color: white; padding: 14px 20px; }
.skip-link:focus { top: 12px; }
/* Navigation discrète, action toujours visible. */
.header { position: sticky; top: 0; z-index: 20; background: var(--canvas); border-bottom: 1px solid var(--line); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.brand { display: inline-flex; align-items: center; gap: 15px; font-size: .9375rem; font-weight: 600; min-height: 44px; }
.brand-mark { font-family: var(--editorial); color: var(--accent); font-size: 2.2rem; font-weight: 400; letter-spacing: -.08em; line-height: 1; }
.navigation { display: flex; align-items: center; gap: 28px; }
.navigation > a:not(.button) { display: inline-flex; align-items: center; min-height: 44px; font-size: .8125rem; color: var(--muted); transition: color .18s; }
.navigation > a[aria-current="location"] { color: var(--accent); text-decoration: underline; text-underline-offset: 7px; }
.mobile-cta, .menu-toggle { display: none; }
/* Hero : la promesse et la personne partagent la première impression. */
.hero { padding-top: 62px; }
.hero-inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: 65px; align-items: center; }
.hero-copy { padding-block: 22px 35px; }
.hero .eyebrow { max-width: 420px; }
.hero h1 { font-size: clamp(2.75rem, 4.3vw, 4.1rem); line-height: 1.04; letter-spacing: -.055em; }
.hero h1 span { display: block; margin-top: 12px; color: var(--accent); font-family: var(--editorial); font-style: italic; font-weight: 400; letter-spacing: -.055em; }
.hero-description { max-width: 480px; margin-top: 28px; font-size: 1.0625rem; line-height: 1.75; }
.hero-actions { margin-top: 29px; }
.hero-assurance { font-size: .75rem; margin: 10px 0 13px; }
.hero-person { align-self: stretch; display: flex; flex-direction: column; justify-content: end; }
.hero-portrait { background: #e9e0d3; border-radius: 48% 48% 3px 3px; overflow: hidden; aspect-ratio: 1 / 1.04; display: flex; align-items: end; }
.hero-portrait img { display: block; width: 100%; height: auto; }
.person-caption { display: flex; justify-content: space-between; gap: 20px; padding: 19px 0 10px; }
.person-caption > span { font-size: 1rem; font-weight: 600; }
.person-caption p { font-size: .75rem; line-height: 1.6; }
.hero-foot { margin-top: 43px; padding-block: 22px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 20px; font-size: .75rem; color: var(--muted); }
.hero-foot a { display: inline-flex; align-items: center; gap: 25px; min-height: 44px; margin-block: -10px; }
/* Comprendre la valeur en regardant un parcours métier. */
.scroll-progress { position: absolute; bottom: -1px; left: 0; height: 2px; width: 100%; background: var(--accent); transform: scaleX(var(--scroll-progress,0)); transform-origin: left; pointer-events: none; }
.illustration-note { font-size: .75rem; margin-top: 20px; }
/* Méthode : toute la progression est visible, sans interaction nécessaire. */
.method { background: var(--surface); }
.method-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 30px; list-style: none; margin: 0; padding: 0; }
.method-step { border-top: 1px solid #bfb6a7; padding-top: 20px; }
.step-number { font-family: var(--editorial); color: var(--accent); font-size: 2.5rem; line-height: 1; }
.method-step h3 { font-size: 1.25rem; margin: 20px 0 10px; }
.method-step > p:last-child { font-size: .875rem; line-height: 1.7; }
/* Diagnostic : une offre lisible, sans accumulation de cartes. */
.diagnostic { padding-bottom: 0; }
.diagnostic h2 { font-size: clamp(2.1rem,3.5vw,3rem); }
/* Une approche personnelle, appuyée par le parcours existant. */
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; }
.about-description { margin-top: 27px; font-size: 1rem; line-height: 1.8; }
.about-context { margin-top:18px; line-height:1.8; }
.about-examples { margin:16px 0 20px; padding-left:20px; }
.about-examples li + li { margin-top:10px; }
.about-outcome { margin-bottom:18px; }
.about-contact { color:var(--muted); }
.about-intro .text-link { margin-top: 23px; }
.personal-statement { font-family: var(--editorial); font-size: 1.75rem; line-height: 1.35; font-style: italic; color: var(--accent); margin-bottom: 30px; }
.about-signature { align-self: center; padding-left: 35px; border-left: 1px solid var(--line); }
/* Le rendez-vous : rassurer avant de demander de choisir un créneau. */
.booking { background: var(--surface); }
.booking-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 90px; align-items: start; }
.booking-heading h2 { font-size: clamp(2.3rem,4.2vw,3.8rem); }
.booking-assurance { font-size: .75rem; margin: 18px 0; }
.calendar-fallback { font-size: .75rem; margin-top: 10px; }
.calendar-shell { background: white; border: 1px solid #d9d4c9; border-radius: 5px; overflow: hidden; }
.calendar-embed { width: 100%; height: 700px; }
.calendar-embed iframe { display: block; border: 0; width: 100%; }
.calendar-status { height: 100%; padding: 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; }
.calendar-status p:last-child { font-size: .875rem; max-width: 440px; }
.noscript-note { margin-top: 20px; }
/* Pied de page et mentions légales. */
.footer { padding: 35px 0 25px; }
.footer-top { display: flex; align-items: center; gap: 28px; }
.footer-top > p { font-size: .8125rem; }
.footer nav { display: flex; gap: 24px; margin-left: auto; font-size: .8125rem; color: var(--muted); }
.footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; font-size: .75rem; color: var(--muted); margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
dialog { border: 1px solid var(--line); border-radius: 5px; padding: 30px; width: min(560px,calc(100% - 40px)); max-height: 80vh; background: var(--canvas); color: var(--ink); }
dialog::backdrop { background: #29292399; }
.dialog-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 25px; }
.dialog-head h2 { font-size: 1.7rem; }
.dialog-head button { width: 44px; height: 44px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); font-size: 1.5rem; cursor: pointer; }
#legal-content p + p { margin-top: 15px; }
#legal-content a { overflow-wrap: anywhere; text-decoration: underline; }
.legal-nojs { display: none; padding-block: 35px; overflow-wrap:anywhere; }
.legal-nojs p + p { margin-top:15px; }
#legal-content { overflow-wrap:anywhere; }
.legal-nojs:target { display: block; }
.js .legal-nojs { display: none; }
/* État initial posé par JavaScript, uniquement sur les blocs hors écran. */
.reveal.is-pending { opacity: 0; }
.reveal.is-animating { animation: appear 1.1s cubic-bezier(.22,.61,.36,1) both; animation-delay: var(--reveal-delay,0ms); }
@keyframes appear { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width:760px) {
  .reveal.is-animating { animation-name: appear-mobile; animation-duration: 1.4s; animation-timing-function: ease-in-out; }
}
@keyframes appear-mobile { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: translateY(0); } }
@media (hover:hover) and (pointer:fine) {
  .button:hover { transform: translateY(-2px); background: #713929; border-color: #713929; }
  .button:hover > span { transform: translate(2px,-2px); }
  .button-light:hover { background: #e7e0d3; border-color: #e7e0d3; }
  .text-link:hover, .navigation > a:not(.button):hover, .footer a:hover { color: var(--accent); text-decoration-color: var(--accent); }
}
@media (max-width:1100px) {
  .container { width: calc(100% - 64px); }
  .navigation { gap: 19px; }
  .hero-inner { gap: 40px; }
  .hero h1 { font-size: 3.4rem; }
}
@media (max-width:900px) {
  .navigation { gap: 13px; }
  .navigation > a:not(.button) { font-size: .75rem; }
  .brand { gap: 10px; font-size: .8125rem; }
  .navigation .button { font-size: .75rem; padding-inline: 12px; gap: 10px; }
  .hero-inner { grid-template-columns: 1.2fr 1fr; gap: 30px; }
  .hero h1 { font-size: 2.7rem; }
  .hero-description { font-size: 1rem; }
  .person-caption { flex-direction: column; gap: 5px; }
  .method-steps { grid-template-columns: 1fr 1fr; gap: 35px; }
  .method-step h3 { min-height: 0; }
  .booking-heading { gap: 35px; }
  .footer-top { flex-wrap: wrap; gap: 10px 25px; }
}
@media (max-width:760px) {
  html { scroll-padding-top: 90px; }
  .container { width: calc(100% - 40px); }
  .section { padding-block: 58px; }
  .header-inner { min-height: 70px; flex-wrap: wrap; gap: 0; }
  .brand { font-size: .8125rem; gap: 9px; }
  .brand-mark { font-size: 1.8rem; }
  .header .brand { margin-right: auto; }
  .mobile-cta { display: inline-flex; min-height: 44px; padding: 10px 13px; font-size: .8125rem; margin-inline: 9px; }
  .js .menu-toggle { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 44px; height: 44px; border: 1px solid var(--line); background: transparent; border-radius: 4px; cursor: pointer; }
  .menu-toggle span { width: 17px; height: 1px; background: var(--ink); transition: transform .18s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .navigation { width: 100%; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding-block: 12px 20px; }
  .navigation > a:not(.button) { font-size: .9375rem; padding: 10px 0; }
  .navigation > .button { margin-top: 8px; font-size: .875rem; }
  .js .navigation { display: none; }
  .js .navigation.is-open { display: flex; }
  .hero { padding-top: 26px; }
  .hero-inner { grid-template-columns: 1fr; gap: 25px; }
  .hero-copy { padding: 0; }
  .hero .eyebrow { font-size: .625rem; max-width: 300px; margin-bottom: 20px; }
  .hero h1 { font-size: clamp(2.45rem,8.9vw,3.4rem); line-height: 1.06; }
  .hero h1 span { margin-top: 9px; }
  .hero-description { font-size: .9375rem; margin-top: 20px; line-height: 1.7; }
  .hero-actions { margin-top: 22px; }
  .hero-actions .button { width: 100%; justify-content: space-between; }
  .hero-assurance { margin-bottom: 3px; }
  .hero-person { display: grid; grid-template-columns: 150px 1fr; align-items: end; gap: 24px; }
  .hero-portrait { aspect-ratio: 1/1.05; }
  .person-caption { padding-bottom: 10px; gap: 7px; }
  .person-caption > span { font-size: .9375rem; }
  .person-caption p { font-size: .6875rem; }
  .hero-foot { margin-top: 25px; padding-block: 17px; }
  .hero-foot > span { display: none; }
  .hero-foot a { font-size: .75rem; justify-content: space-between; width: 100%; }
  h2 { font-size: clamp(2rem,7.8vw,2.8rem); }
  .eyebrow { margin-bottom: 18px; font-size: .6875rem; }
  .section-heading { margin-bottom: 30px; }
  .split-heading > p { max-width: none; }
  .method-steps { grid-template-columns: 1fr; gap: 0; }
  .method-step { position: relative; padding: 22px 0 24px 58px; }
  .step-number { position: absolute; top: 24px; left: 0; font-size: 2rem; }
  .method-step h3 { font-size: 1.125rem; margin-bottom: 9px; }
  .diagnostic h2 { font-size: 2rem; }
  .about-description { font-size: .9375rem; margin-top: 22px; }
  .personal-statement { font-size: 1.5rem; margin-bottom: 24px; }
  .booking-heading h2 { font-size: 2.4rem; }
  .booking-heading { gap: 22px; }
  .booking-heading > div > p:first-child { font-size: .9375rem; }
  .booking-heading .button { width: 100%; justify-content: space-between; }
  .booking-assurance { font-size: .6875rem; }
  .calendar-shell { margin-inline: -20px; border-radius: 0; border-inline: 0; }
  .footer-top { flex-direction: column; align-items: start; gap: 10px; }
  .footer nav { margin: 0; flex-wrap: wrap; gap: 22px; }
  .footer-bottom { flex-direction: column; gap: 6px; }
}
@media (max-width:360px) {
  .container { width: calc(100% - 32px); }
  .brand-mark { font-size: 1.5rem; }
  .brand { gap: 7px; font-size: .75rem; }
  .mobile-cta { margin-inline: 7px; padding-inline: 10px; }
  .hero-person { grid-template-columns: 130px 1fr; gap: 18px; }
  .person-caption > span { font-size: .8125rem; }
  .calendar-shell { margin-inline: -16px; }
}
/* Les schémas racontent leur fonctionnement en une séquence finie. */
.motion-paused *, .motion-paused *::before, .scene-paused *, .scene-paused *::before { animation-play-state: paused !important; }
.js .hero-copy { animation: hero-in .8s cubic-bezier(.16,1,.3,1) both; }
.js .hero-person { animation: hero-in 1s cubic-bezier(.16,1,.3,1) .1s both; }
@keyframes hero-in { from { opacity: .2; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes data-arrive { from { opacity: .2; } to { opacity: 1; } }
@keyframes bar-build { from { transform: scaleX(.15); } to { transform: scaleX(1); } }
@media (max-width:1100px) { .split-heading, .about-grid, .booking-heading { gap: 55px; } }
@media (max-width:760px) {
 .split-heading, .about-grid, .booking-heading { grid-template-columns: 1fr; gap: 27px; }
 .hero .eyebrow { font-size: .6875rem; }
 .hero-description { margin-top: 17px; }
 .hero-actions { margin-top: 20px; }
 .method-step { padding-block: 20px; }
 .method-step h3 { margin: 0 0 7px; }
 .about-signature { border-left: 0; border-top: 1px solid var(--line); padding: 25px 0 0; }
 .about-description { margin-top: 20px; }
 .personal-statement { margin-bottom: 18px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .reveal.is-pending { opacity: 1; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}/* Galerie compacte de workflows : réseau d’outils et résultat métier. */
.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; }
.workflows { position:relative; background:var(--surface); padding-block:65px; }
.anchor-alias { position:absolute; top:0; scroll-margin-top:105px; }
.workflows .section-heading { margin-bottom:25px; }
.workflows h2 { font-size:clamp(2rem,3.4vw,3rem); }
.workflow-selector { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:24px; }
.workflow-selector a { padding:12px 18px; border:1px solid #c8bfaf; border-radius:6px; min-height:64px; transition:background .18s,color .18s,border-color .18s; }
.workflow-selector small { display:block; font-size:.625rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); }
.workflow-selector span { font-size:.9375rem; font-weight:600; }
.workflow-selector a[aria-selected="true"] { background:var(--ink); color:var(--canvas); border-color:var(--ink); }
.workflow-selector a[aria-selected="true"] small { color:#e7b29a; }
.workflow-demo + .workflow-demo { margin-top:35px; }
.workflow-switchable .workflow-demo + .workflow-demo { margin-top:0; }
.workflow-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:15px; }
.workflow-heading h3 { font-size:1.3rem; line-height:1.3; }
.workflow-pause { min-height:44px; min-width:100px; padding:8px 12px; border:1px solid #b7ad9c; border-radius:4px; color:var(--ink); background:transparent; cursor:pointer; font-size:.8125rem; flex-shrink:0; }
.workflow-pause:hover { background:#e2dcd1; }
.workflow-canvas { display:grid; grid-template-columns:1.1fr 1fr; position:relative; border-radius:12px; background:#262824; color:#f6f3eb; overflow:hidden; }
.journey-network { position:relative; min-height:325px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; padding:25px 30px 35px; }
.network-lines { position:absolute; inset:0; height:100%; width:100%; fill:none; stroke-width:1.4; }
.line-base { stroke:#ffffff23; }
.line-draw { stroke:#e7b29a; }
.network-sources,.network-outputs { position:relative; display:flex; flex-direction:column; justify-content:center; gap:22px; z-index:1; }
.network-node { display:flex; flex-direction:column; align-items:center; text-align:center; gap:5px; position:relative; z-index:1; }
.network-orb { width:50px; height:50px; display:grid; place-items:center; border:1px solid #ffffff33; border-radius:50%; background:#fcfaf5; box-shadow:0 0 0 5px #ffffff05; transition:box-shadow .2s, border-color .2s; }
.network-orb img { width:29px; height:29px; object-fit:contain; }
.network-orb .icon { width:25px; height:25px; color:var(--accent); }
.network-node b { font-size:.75rem; font-weight:500; color:#f5f0e7; }
.network-node small { color:#b9b9ad; font-size:.625rem; line-height:1.4; }
.engine-node .network-orb { width:72px; height:72px; background:#493c31; border-color:#ac7c61; }
.engine-node .network-orb .icon { color:#edba9a; width:32px; height:32px; }
.network-caption { position:absolute; bottom:15px; left:0; width:100%; text-align:center; font-size:.625rem; color:#b9b9ad; }
.workflow-preview { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:25px; background:#333630; border-left:1px solid #ffffff0d; }
.workflow-stage { min-width:0; padding:16px; border:1px solid #ffffff19; border-radius:8px; background:#f6f1e7; color:var(--ink); }
.workflow-switchable .workflow-preview { display:block; position:relative; padding:0; }
.workflow-switchable .workflow-stage { display:none; position:absolute; inset:25px; padding:24px; border:0; background:#faf7ef; border-radius:8px; }
.workflow-switchable .workflow-stage.is-current { display:block; }
.preview-label { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:.75rem; margin-bottom:18px; }
.preview-label img { width:26px; height:26px; object-fit:contain; }
.preview-label .icon { width:23px; height:23px; color:var(--accent); }
.mail-subject { color:var(--ink); font-size:1.1rem; font-weight:600; margin-bottom:13px; }
.mail-body { font-size:.9375rem; color:var(--ink); line-height:1.7; }
.mail-signature { font-size:.8125rem; margin-top:16px; }
.workflow-stage mark { color:var(--ink); background:#ecd6c2; border-radius:3px; padding:2px 3px; }
.workflow-fields { margin:0; }
.workflow-fields > div { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); padding:12px 0; }
.workflow-fields dt { color:var(--muted); font-size:.75rem; }
.workflow-fields dd { font-size:.9375rem; font-weight:500; margin:0; }
.generated-document { border-left:3px solid #c99c7f; padding-left:17px; }
.generated-document small { font-size:.6875rem; color:var(--muted); display:block; }
.generated-document h4,.record-name { margin:10px 0; font-size:1.15rem; font-weight:600; }
.document-row { display:flex; justify-content:space-between; padding:15px 0; margin-bottom:13px; border-block:1px solid var(--line); font-size:.875rem; }
.status-pill { display:inline-block; color:#654a2c; background:#efdfc6; border:1px solid #c9b396; padding:4px 10px; border-radius:4px; font-size:.75rem; }
.attachment-row { display:flex; align-items:center; gap:10px; padding:15px 0; margin-bottom:15px; font-size:.8125rem; }
.attachment-row .icon { color:var(--accent); width:22px; }
.attachment-row > .icon:last-child { margin-left:auto; color:#4a6549; }
.attachment-row small { display:block; font-size:.6875rem; color:var(--muted); margin-top:5px; }
.workflow-markers { grid-column:1/-1; list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:15px 24px; gap:10px; margin:0; background:#1f211e; }
.workflow-markers li { display:flex; gap:8px; align-items:center; color:#b9b9ad; font-size:.6875rem; line-height:1.4; }
.workflow-markers li > span { border:1px solid #ffffff30; border-radius:50%; width:24px; height:24px; display:grid; place-items:center; flex-shrink:0; font-size:.625rem; }
.workflow-markers li.is-current { color:#efbf9d; }
.workflow-markers .is-current > span { background:#e7b29a; color:#262824; border-color:#e7b29a; }
.workflow-benefit { display:flex; align-items:center; gap:8px; margin-top:15px; color:var(--ink); font-size:.875rem; }
.workflow-benefit .icon { color:var(--accent); width:19px; height:19px; }
.workflow-demo[data-active-stage="0"] .source-node .network-orb,.workflow-demo[data-active-stage="1"] .engine-node .network-orb,.workflow-demo[data-active-stage="2"] .output-node:first-child .network-orb,.workflow-demo[data-active-stage="3"] .output-node:last-child .network-orb { box-shadow:0 0 0 5px #e7b29a22; border-color:#e7b29a; }
.approval-avatar { width:44px; height:44px; display:grid; place-items:center; background:#dce4d5; color:#486047; border-radius:50%; font-size:.875rem; }
.preview-copy { font-size:.8125rem; margin-bottom:18px; }
.source-lines p { display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--line); padding:12px 0; font-size:.8125rem; }
.source-lines img,.source-lines .icon { width:25px; height:25px; object-fit:contain; }
.source-lines b { margin-left:auto; font-weight:500; color:var(--ink); font-size:.8125rem; }
.merge-visual { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding-top:25px; font-size:.75rem; text-align:center; }
.merge-visual > span { border-bottom:2px solid #c79978; padding-bottom:25px; }
.merge-visual > b { grid-column:1/-1; display:flex; justify-content:center; gap:10px; margin-top:17px; font-weight:500; }
.merge-visual .icon { color:#496449; width:20px; }
.dashboard-metrics { display:flex; gap:30px; }
.dashboard-metrics span { font-size:.6875rem; color:var(--muted); }
.dashboard-metrics strong { display:block; font-size:1.65rem; color:var(--ink); line-height:1.5; }
.mini-chart { height:90px; display:flex; gap:13px; align-items:end; border-bottom:1px solid #c8c1b5; margin-top:15px; }
.mini-chart i { width:100%; height:var(--bar); background:#a47757; border-radius:3px 3px 0 0; }
.mini-chart i:nth-child(even) { background:#c9b79e; }
.alert-visual { display:flex; gap:13px; align-items:center; background:#ead6c4; border-left:3px solid #a76943; padding:17px 12px; margin:15px 0; }
.alert-visual .icon { color:var(--accent); }
.alert-visual strong { font-size:1rem; }
@media (max-width:760px) {
 .workflows { padding-block:40px; }
 .workflows h2 { font-size:2rem; }
 .workflow-selector { gap:6px; margin-bottom:18px; }
 .workflow-selector a { padding:9px 8px; min-height:58px; }
 .workflow-selector small { font-size:.5625rem; }
 .workflow-selector span { font-size:.75rem; line-height:1.3; display:block; }
 .workflow-heading { gap:12px; min-height:54px; }
 .workflow-heading h3 { font-size:1.1rem; }
 .workflow-pause { min-width:80px; padding:8px; font-size:.75rem; }
 .workflow-canvas { grid-template-columns:1fr; }
 .journey-network { min-height:165px; height:165px; padding:12px 15px 20px; }
 .network-sources,.network-outputs { gap:8px; }
 .network-orb { width:36px; height:36px; }
 .network-orb img,.network-orb .icon { width:22px; height:22px; }
 .engine-node .network-orb { width:53px; height:53px; }
 .engine-node .network-orb .icon { width:26px; height:26px; }
 .network-node { gap:3px; }
 .network-node b { font-size:.625rem; }
 .network-node small { font-size:.5625rem; }
 #workflow-pilotage .source-node { flex-direction:row; text-align:left; flex-wrap:wrap; gap:5px; }
 #workflow-pilotage .source-node small { display:none; }
 #workflow-pilotage .source-node .network-orb { width:28px; height:28px; }
 #workflow-pilotage .source-node img,#workflow-pilotage .source-node .icon { width:18px; height:18px; }
 .network-caption { display:none; }
 .workflow-preview { grid-template-columns:1fr; padding:15px; }
 .workflow-switchable .workflow-preview { height:270px; }
 .workflow-switchable .workflow-stage { inset:0 12px 12px; padding:20px; }
 .workflow-markers { padding:12px; gap:6px; }
 .workflow-markers li { flex-direction:column; align-items:flex-start; gap:5px; font-size:.625rem; }
 .workflow-benefit { font-size:.8125rem; align-items:flex-start; }
 .workflow-benefit .icon { margin-top:3px; }
 .mail-body { font-size:.8125rem; }
 .workflow-fields dd { font-size:.8125rem; }
 .dashboard-metrics strong { font-size:1.5rem; }
 .illustration-note { font-size:.6875rem; }
}
@media (prefers-reduced-motion:reduce) { .line-draw { opacity:0; } }
/* Trois sources compactes ; les points d’ancrage SVG suivent les pictogrammes. */
#workflow-pilotage .network-sources { gap:18px; }
#workflow-pilotage .source-node { flex-direction:row; text-align:left; gap:8px; }
#workflow-pilotage .source-node small { display:none; }
#workflow-pilotage .source-node .network-orb { width:42px; height:42px; flex-shrink:0; }
#workflow-pilotage .source-node img,#workflow-pilotage .source-node .icon { width:25px; height:25px; }
.workflows { padding-block:48px; }
.workflows .eyebrow { margin-bottom:12px; }
.workflows h2 { font-size:clamp(2rem,3vw,2.6rem); }
.mini-chart i { transform-origin:bottom; }
@media (max-width:760px) {
 .workflows { padding-block:35px; }
 #workflow-pilotage .network-sources { gap:8px; }
 #workflow-pilotage .source-node { gap:5px; }
 #workflow-pilotage .source-node .network-orb { width:28px; height:28px; }
 #workflow-pilotage .source-node img,#workflow-pilotage .source-node .icon { width:18px; height:18px; }
 .workflow-switchable .workflow-preview { height:250px; }
}
#workflow-pilotage .source-node b { background:#262824; padding:2px 3px; }
@media (max-width:760px) {
 .workflow-switchable .workflow-stage { padding:16px; }
 .preview-label { margin-bottom:12px; }
 .alert-visual { padding:10px; margin-block:12px; gap:9px; }
 .alert-visual strong { font-size:.875rem; line-height:1.3; }
 .preview-copy { font-size:.75rem; line-height:1.6; margin-bottom:12px; }
}

/* Une information saisie une fois, réutilisée dans les outils. */
.hero-value { display:grid; grid-template-columns:1fr 20px 1.2fr; align-items:center; gap:12px; max-width:560px; margin-top:24px; padding-block:18px; border-block:1px solid var(--line); }
.hero-value strong { display:block; font-size:.8125rem; line-height:1.4; margin-bottom:12px; }
.value-after strong,.value-bridge { color:var(--accent); }
.manual-actions { display:flex; gap:12px; }
.manual-actions > span { display:grid; gap:5px; font-size:.625rem; color:var(--muted); }
.manual-actions .icon { width:18px; height:18px; }
.reuse-flow { display:flex; align-items:center; gap:8px; font-size:.625rem; }
.reuse-tools { display:flex; align-items:center; gap:8px; }
.reuse-tools .icon { width:24px; height:24px; color:var(--accent); }
.scene-active .reuse-tools > * { animation:reuse-arrive 700ms ease-out both; }
.scene-active .reuse-tools > :nth-child(2) { animation-delay:300ms; }
.scene-active .reuse-tools > :nth-child(3) { animation-delay:600ms; }
@keyframes reuse-arrive { from { opacity:.35; transform:translateX(-8px); } to { opacity:1; transform:translateX(0); } }
.hero-actions { display:flex; align-items:flex-start; gap:26px; }
.hero-actions .text-link { margin-top:8px; min-height:44px; display:inline-flex; align-items:center; white-space:nowrap; font-size:.8125rem; }
.hero-actions .hero-assurance { margin-bottom:0; }
/* Consultation et lecture automatiques partagent un contrôle stable. */
.workflow-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:16px; font-size:.75rem; color:var(--muted); }
.workflow-heading { min-height:58px; }
.workflow-switchable .workflow-demo:not([hidden]) { animation:workflow-enter 200ms ease-out; }
@keyframes workflow-enter { from { opacity:.4; } to { opacity:1; } }
.workflow-markers li { display:block; }
.workflow-markers button { display:flex; align-items:center; gap:8px; width:100%; min-height:44px; padding:6px; text-align:left; font:inherit; color:inherit; background:transparent; border:0; border-radius:5px; cursor:pointer; }
.workflow-markers button > span { border:1px solid #ffffff50; border-radius:50%; width:24px; height:24px; display:grid; place-items:center; flex-shrink:0; font-size:.625rem; }
.workflow-markers .is-current button > span { background:#e7b29a; color:#262824; border-color:#e7b29a; }
.workflow-markers button:hover { background:#ffffff0d; }
.workflow-markers button:focus-visible { outline:2px solid #efbf9d; outline-offset:2px; }
.workflow-inspecting .line-draw { opacity:0; }
.workflow-inspecting .line-draw.path-reached { opacity:1; stroke-dasharray:none!important; stroke-dashoffset:0!important; }
@media (max-width:1100px) {
 .hero-actions { gap:16px; }
 .hero-actions .button { padding-inline:16px; }
 .hero-value { grid-template-columns:1fr 14px 1.1fr; gap:8px; }
 .reuse-flow { flex-wrap:wrap; }
 .diagnostic-layout { gap:40px; }
 .method-steps { grid-template-columns:repeat(2,1fr); }
 .method-step:nth-child(2)::after { display:none; }
}
@media (max-width:760px) {
 .hero-value { margin-top:18px; padding-block:14px; }
 .hero-value strong { font-size:.6875rem; min-height:30px; margin-bottom:8px; }
 .manual-actions { gap:9px; }
 .manual-actions > span { font-size:.5625rem; }
 .reuse-flow { gap:5px; }
 .reuse-tools { gap:6px; }
 .reuse-tools img,.reuse-tools .icon { width:21px; height:21px; }
 .hero-actions { display:grid; gap:4px; margin-top:20px; }
 .hero-actions .text-link { margin:0; width:max-content; }
 .workflow-toolbar { font-size:.625rem; gap:10px; }
 .workflow-heading { min-height:60px; margin-block:8px; }
 .workflow-markers button { flex-direction:column; align-items:flex-start; gap:5px; padding:4px 0; min-height:60px; }
 .method-steps { grid-template-columns:1fr; gap:0; }
 .method-step { padding:20px 0 24px 44px; border-top:0; border-left:1px solid #c6b5a3; margin-left:12px; }
 .method-step .step-number { position:absolute; left:-14px; top:20px; background:var(--surface); padding-block:3px; font-size:1.7rem; }
 .method-step:not(:last-child)::after { display:none; }
 .method-step h3 { margin:0 0 6px; }
 .method-step > p { min-height:0; margin-bottom:14px; }
 .method-visual { height:auto; min-height:170px; padding:16px; }
 .diagnostic-layout { grid-template-columns:1fr; gap:28px; }
 .diagnostic-copy .button { width:100%; }
 .diagnostic-report { padding:22px 18px 18px; box-shadow:4px 4px 0 #e9e3d8; }
 .report-header { font-size:.5rem; letter-spacing:.03em; }
}
@media (prefers-reduced-motion:reduce) {
 .workflow-switchable .workflow-demo:not([hidden]),.scene-active .reuse-tools > * { animation:none; }
}

.workflows:not(.workflow-switchable) .workflow-toolbar { display:none; }
/* Le contrôle reste au même endroit, à côté du titre de la démonstration. */
.workflow-toolbar { position:relative; z-index:1; justify-content:flex-end; margin:16px 0 -58px; pointer-events:none; }
.workflow-toolbar > span { display:none; }
.workflow-toolbar button { pointer-events:auto; }
.workflow-heading { padding-right:120px; }
@media (min-width:901px) { .method-steps { grid-template-columns:repeat(4,minmax(0,1fr)); } .method-step:nth-child(2)::after { display:block; } }
@media (min-width:761px) and (max-width:900px) { .hero-actions { gap:12px; } .hero-actions .button { padding:14px 12px; font-size:.75rem; gap:10px; } .hero-actions .text-link { font-size:.6875rem; white-space:normal; } }
@media (max-width:760px) { .workflow-toolbar { margin:16px 0 -68px; } .workflow-heading { min-height:68px; padding-right:90px; } }
.workflow-toolbar:has(button[hidden]) { display:none; }
@media (max-width:760px) {
 .workflow-markers { height:90px; }
 .workflow-benefit { min-height:44px; }
}
/* Sans script, le menu développé ne masque pas les ancres. */
html:not(.js) .header { position:static; }

@media (min-width:761px) and (max-width:900px) { .journey-network { padding-inline:10px; } .workflow-switchable .workflow-stage { inset:18px; padding:20px; } .network-node b { font-size:.6875rem; } }
/* Un dossier partagé du commercial à la préparation administrative. */
.case-reference { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:.75rem; margin:16px 0; }
.case-next { display:grid; gap:4px; border-top:1px solid var(--line); padding-top:14px; font-size:.8125rem; }
.case-next > span { color:var(--muted); font-size:.6875rem; }
.shared-case { display:grid; gap:12px; margin-top:18px; font-size:.8125rem; }
.shared-case span { display:flex; align-items:center; gap:8px; }
.shared-case .icon { width:20px; height:20px; color:var(--accent); flex-shrink:0; }
.case-owner { display:flex; gap:12px; align-items:center; margin:14px 0; }
.case-owner b { font-size:.875rem; }
.case-owner small { display:block; font-size:.6875rem; color:var(--muted); margin-top:3px; }
.case-task { border-left:3px solid var(--accent); padding:8px 12px; background:#ede2d4; display:grid; gap:5px; font-size:.8125rem; }
.case-task span { display:flex; gap:5px; align-items:center; font-size:.6875rem; color:var(--muted); }
.case-task .icon { width:15px; height:15px; }
.case-complete { display:flex; align-items:center; gap:8px; font-size:.8125rem; margin:18px 0; }
.case-complete .icon { width:20px; height:20px; color:#3c5133; }
.human-gate { font-size:.75rem; margin-top:12px; }
/* Une mission menée avec les équipes, et pas seulement une automatisation. */
.method .section-heading { margin-bottom:36px; }
.method-example { margin-top:20px; font-size:.875rem; max-width:620px; }
.method-steps { gap:20px; }
.method-step { position:relative; min-width:0; padding-top:18px; display:flex; flex-direction:column; }
.method-step:not(:last-child)::after { content:'→'; position:absolute; right:-14px; top:-15px; color:var(--accent); background:var(--surface); padding:0 5px; }
.method-step h3 { font-size:1.15rem; margin:14px 0 10px; line-height:1.25; min-height:48px; }
.method-step > p { font-size:.8125rem; min-height:52px; margin-bottom:18px; }
.method-step > .method-visual { margin-top:auto; flex-shrink:0; }
.method-visual { height:280px; padding:20px 16px; background:var(--canvas); border-radius:8px; display:flex; flex-direction:column; justify-content:space-between; gap:14px; font-size:.75rem; }
.method-visual small { font-size:.6875rem; color:var(--muted); line-height:1.5; }
.team-portrait { display:flex; justify-content:center; align-items:center; padding-top:6px; }
.team-portrait > span { width:44px; height:44px; border-radius:50%; background:#ddd8cc; border:3px solid var(--canvas); display:grid; place-items:center; color:#645c4f; }
.team-portrait > span + span { margin-left:-7px; }
.team-portrait > span:nth-child(2) { width:57px; height:57px; background:#ead5c4; color:var(--accent); z-index:1; }
.team-portrait .icon { width:22px; height:22px; }
.discovery-landscape { display:flex; justify-content:space-between; gap:5px; position:relative; align-items:center; }
.discovery-landscape::before { content:''; position:absolute; left:10px; right:10px; top:50%; height:1px; background:#bbae9c; }
.discovery-landscape > span { z-index:1; padding:8px 5px; background:var(--canvas); border:1px solid #cfc7b8; border-radius:4px; font-size:.625rem; }
.discovery-landscape .focus-process { position:relative; color:var(--accent); background:#eedccc; border-color:#a7684b; }
.focus-process i { display:block; position:absolute; inset:-5px; border:1px dashed #b88365; border-radius:6px; }
.observation-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }
.observation-tags span { font-size:.625rem; border-bottom:1px solid var(--line); padding:3px 0; }
.restitution-sheet { background:#fffdf7; border:1px solid #ddd4c6; padding:13px; box-shadow:3px 3px 0 #e7dfd2; }
.restitution-sheet > span { display:flex; align-items:center; gap:7px; font-weight:600; }
.restitution-sheet .icon { width:20px; height:20px; color:var(--accent); }
.restitution-sheet > i { display:block; height:3px; background:#dbd3c7; margin-top:12px; width:100%; }
.restitution-sheet > i:nth-of-type(2) { width:75%; }
.restitution-sheet > i:nth-of-type(3) { width:90%; }
.restitution-sheet > div { display:flex; justify-content:space-between; gap:6px; border-top:1px solid var(--line); padding-top:10px; margin-top:14px; font-size:.625rem; color:var(--accent); }
.scope-choice { display:flex; align-items:center; gap:7px; font-size:.6875rem; font-weight:500; }
.scope-choice .icon { width:18px; height:18px; color:var(--accent); flex-shrink:0; }
.tool-architecture { display:flex; justify-content:space-between; align-items:center; gap:4px; padding-top:10px; }
.tool-architecture span { background:#e7e1d6; border-radius:4px; padding:12px 6px; font-size:.625rem; text-align:center; }
.tool-architecture i { font-style:normal; color:var(--accent); }
.validation-label { display:flex; align-items:center; gap:8px; background:#e4e9dc; padding:10px 8px; color:#3c5133; font-size:.6875rem; }
.validation-label .icon { width:18px; height:18px; flex-shrink:0; }
.adoption-steps { display:flex; justify-content:space-between; gap:5px; }
.adoption-steps span { display:grid; gap:5px; justify-items:center; font-size:.625rem; }
.adoption-steps .icon { width:20px; height:20px; color:var(--accent); }
.simulation-label { display:block; font-size:.625rem; color:var(--accent); }
.roi-visual { gap:10px; }
.time-comparison { display:grid; gap:9px; }
.time-comparison > div { display:grid; grid-template-columns:36px 1fr 40px; gap:7px; align-items:center; font-size:.625rem; }
.time-bar { height:8px; display:block; background:#baaa95; transform-origin:left; border-radius:2px; }
.after-bar { width:33.333%; background:var(--accent); }
.capacity-result { display:grid; gap:3px; }
.capacity-result strong { font-family:var(--editorial); font-size:2rem; font-weight:400; color:var(--accent); line-height:1; }
.capacity-result > span { font-size:.625rem; color:var(--muted); }
.roi-result { display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid var(--line); padding-top:8px; font-size:.625rem; }
.roi-result b { font-size:1.2rem; color:var(--ink); }
.roi-open { display:flex; align-items:center; justify-content:space-between; min-height:44px; font-size:.6875rem; color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
.roi-open:hover { color:#623123; }
.scene-active .time-bar { animation:bar-build 1200ms ease-out both; }
.scene-active .after-bar { animation-delay:250ms; }
.scene-active .tool-architecture > span { animation:data-arrive 1000ms ease-out both; }
.scene-active .tool-architecture > span:nth-of-type(2) { animation-delay:250ms; }
.scene-active .tool-architecture > span:nth-of-type(3) { animation-delay:500ms; }
/* Une restitution qui mène à des choix de périmètre. */
.diagnostic-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:center; }
.diagnostic-copy > p:not(.eyebrow):not(.hero-assurance) { max-width:390px; margin:24px 0; }
.diagnostic-copy .diagnostic-principle { font-size:.8125rem; padding-left:16px; border-left:2px solid var(--accent); }
.diagnostic-copy .implementation-note { font-size:.8125rem; }
.audit-deliverables { display:grid; gap:10px; margin:24px 0; font-size:.8125rem; }
.audit-deliverables span { display:flex; align-items:center; gap:10px; }
.audit-deliverables .icon { width:20px; height:20px; color:var(--accent); flex-shrink:0; }
.diagnostic-report { background:#fffcf6; padding:26px 28px 22px; border:1px solid #d9d4c9; box-shadow:7px 7px 0 #e9e3d8; }
.report-header { display:flex; justify-content:space-between; gap:15px; font-size:.5625rem; letter-spacing:.035em; color:var(--muted); padding-bottom:16px; border-bottom:1px solid var(--line); }
.diagnostic-report h3 { font-size:1.65rem; line-height:1.15; margin:20px 0; }
.diagnostic-report h3 em { font-family:var(--editorial); font-weight:400; color:var(--accent); }
.report-part { padding:16px 0; border-top:1px solid var(--line); }
.report-part h4 { font-size:.75rem; margin:0 0 14px; }
.report-part h4 > span { color:var(--accent); margin-right:8px; font-family:var(--editorial); font-size:1rem; }
.company-map { display:grid; grid-template-columns:1fr 20px 1.2fr 20px 1fr; align-items:center; gap:4px; }
.company-map > div { position:relative; display:flex; flex-direction:column; align-items:center; gap:5px; background:var(--surface); border-radius:5px; padding:14px 6px; min-height:93px; text-align:center; }
.company-map .icon { width:23px; height:23px; color:#766a59; }
.company-map b { font-size:.6875rem; font-weight:500; }
.company-map small { font-size:.5625rem; color:var(--muted); }
.company-map .priority-department { background:#eedccc; border:1px solid #bb8b6e; padding-bottom:22px; }
.priority-department .icon { color:var(--accent); }
.priority-flag { position:absolute; bottom:-8px; background:var(--accent); color:#fffaf1; border-radius:3px; padding:3px 7px; font-size:.5rem; white-space:nowrap; }
.map-handoff { color:var(--accent); text-align:center; font-size:1rem; }
.report-annotation { display:flex; align-items:center; justify-content:center; gap:6px; font-size:.5625rem; color:var(--accent); margin:17px 0 0; }
.friction-dot { width:6px; height:6px; display:inline-block; border-radius:50%; background:var(--accent); flex-shrink:0; }
.opportunity-table,.scope-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:.6875rem; }
.opportunity-table th,.opportunity-table td { padding:9px 4px; border-bottom:1px solid #e9e1d4; text-align:left; font-weight:400; vertical-align:middle; }
.opportunity-table th:first-child { width:32%; padding-left:0; }
.opportunity-table thead { color:var(--muted); font-size:.5625rem; }
.opportunity-table tbody th { font-weight:500; }
.rating { display:inline-flex; gap:5px; align-items:center; }
.rating::before { content:''; display:block; width:5px; height:15px; border-radius:2px; background:#baac95; }
.rating-forte::before { background:var(--accent); }
.rating-modérée::before { height:9px; }
.cost-separation { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding-top:12px; font-size:.5625rem; color:var(--muted); }
.cost-separation span { display:flex; align-items:center; gap:5px; }
.cost-separation .icon { width:14px; height:14px; color:var(--accent); }
.cost-separation i { font-style:normal; color:var(--accent); padding:0 2px; }
.scope-table caption { font-size:.5625rem; color:var(--muted); text-align:left; margin-bottom:12px; }
.scope-table th,.scope-table td { padding:9px 4px; text-align:center; border-bottom:1px solid #e9e1d4; vertical-align:middle; font-weight:400; }
.scope-table th:first-child { width:30%; padding-left:0; text-align:left; }
.scope-table thead th { font-size:.625rem; line-height:1.35; }
.scope-table thead th:first-child { font-size:.5625rem; color:var(--muted); }
.scope-table tbody th { font-size:.625rem; }
.scope-number { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; border:1px solid #c9bca7; color:var(--accent); margin:0 auto 7px; font-family:var(--editorial); font-size:.875rem; }
.scope-table thead th:last-child .scope-number { background:var(--accent); color:var(--canvas); border-color:var(--accent); }
.scope-table td:last-child { background:#f0e7da; }
.scope-check { display:inline-flex; align-items:center; justify-content:center; width:21px; height:21px; border-radius:50%; background:#e4e9dc; color:#3c5133; }
.scope-check .icon { width:15px; height:15px; }
.scope-empty { color:#817969; }
.scope-footnote { font-size:.5625rem; margin:12px 0 0; color:var(--muted); }
.report-footer { font-family:var(--editorial); font-style:italic; font-size:.9375rem; margin:7px 0 0; color:var(--accent); }
/* Le calcul est disponible sans JS ; le dialogue natif gère le focus avec JS. */
.roi-fallback { padding-block:30px; }
.roi-fallback summary { cursor:pointer; min-height:44px; color:var(--accent); }
.roi-fallback:target details { outline:2px solid var(--accent); outline-offset:8px; }
#roi-dialog { max-width:650px; width:calc(100% - 32px); max-height:calc(100dvh - 40px); padding:26px; }
#roi-dialog .dialog-head p { color:var(--accent); font-size:.8125rem; }
#roi-content h2 { font-size:1.7rem; margin:18px 0 12px; }
#roi-content > p:not(.simulation-label) { font-size:.875rem; margin:18px 0; }
.roi-assumptions { margin:20px 0; }
.roi-assumptions > div { display:grid; grid-template-columns:.85fr 1.15fr; gap:20px; border-top:1px solid var(--line); padding:12px 0; font-size:.8125rem; }
.roi-assumptions dt { color:var(--muted); }
.roi-assumptions dd { margin:0; color:var(--ink); }
.roi-caveat { padding:14px; background:var(--surface); border-left:2px solid var(--accent); }
.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; }
@media (max-width:1100px) {
 .diagnostic-layout { grid-template-columns:.75fr 1.25fr; gap:35px; }
 .diagnostic-report { padding:24px 20px; }
 .method-step h3 { font-size:1.05rem; }
 .method-visual { padding:18px 12px; }
}
@media (min-width:761px) and (max-width:900px) {
 .diagnostic-layout { grid-template-columns:1fr; gap:30px; }
 .diagnostic-copy { max-width:620px; }
 .diagnostic-copy > p:not(.eyebrow):not(.hero-assurance) { max-width:none; }
 .method-step h3 { font-size:1.15rem; }
 .method-visual { height:280px; padding:20px; }
}
@media (max-width:760px) {
 .workflow-switchable #workflow-dossiers .workflow-stage { padding:16px; }
 #workflow-dossiers .record-name { font-size:1rem; line-height:1.25; margin:8px 0; }
 #workflow-dossiers .preview-label { margin-bottom:12px; font-size:.6875rem; }
 .shared-case { font-size:.75rem; gap:11px; margin-top:14px; }
 .case-owner { margin:10px 0; }
 .case-owner .approval-avatar { width:34px; height:34px; }
 .case-task { font-size:.75rem; }
 .human-gate { font-size:.6875rem; }
 .about .personal-statement { font-size:clamp(1.2rem,6vw,1.75rem); }
 .method-step h3 { min-height:0; font-size:1.125rem; margin:0 0 8px; }
 .method-step > p { min-height:0; margin-bottom:16px; }
 .method-visual { height:auto; min-height:230px; padding:20px; }
 .roi-visual { min-height:270px; }
 .discovery-landscape > span,.tool-architecture span { font-size:.6875rem; }
 .diagnostic-layout { grid-template-columns:1fr; gap:32px; }
 .diagnostic-report { padding:22px 14px 20px; box-shadow:4px 4px 0 #e9e3d8; }
 .report-header { font-size:.5rem; gap:8px; letter-spacing:0; }
 .company-map { grid-template-columns:1fr 12px 1.15fr 12px 1fr; gap:3px; }
 .company-map > div { padding:11px 3px 20px; min-height:98px; }
 .company-map b { font-size:.5625rem; }
 .company-map small { display:none; }
 .priority-flag { font-size:.5rem; padding:3px 4px; }
 .report-annotation { font-size:.5rem; }
 .opportunity-table { font-size:.625rem; }
 .opportunity-table th,.opportunity-table td { padding:9px 3px; overflow-wrap:anywhere; }
 .opportunity-table th:first-child { width:31%; }
 .opportunity-table th:last-child { width:26%; }
 .opportunity-table thead { font-size:.5rem; }
 .scope-table thead th { font-size:.5625rem; }
 .scope-table tbody th { font-size:.5625rem; }
 .scope-table th:first-child { width:31%; }
 .scope-table th,.scope-table td { padding:8px 2px; }
 .cost-separation { gap:8px; font-size:.5625rem; }
 #roi-dialog { padding:20px; }
 .roi-assumptions > div { grid-template-columns:1fr; gap:5px; padding:10px 0; }
}
/* Restitution compacte : les trois décisions restent visibles sur ordinateur. */
.diagnostic-report { padding:22px 24px 20px; line-height:1.4; }
.report-header { padding-bottom:12px; }
.diagnostic-report h3 { font-size:1.5rem; margin:16px 0; }
.report-part { padding:13px 0; }
.report-part h4 { margin-bottom:12px; line-height:1.4; }
.company-map > div { min-height:78px; padding:10px 5px; }
.company-map .priority-department { padding-bottom:17px; }
.report-annotation { margin-top:14px; line-height:1.4; }
.opportunity-table th,.opportunity-table td { padding-block:7px; line-height:1.4; }
.scope-table th,.scope-table td { padding-block:6px; line-height:1.4; }
.scope-table caption { margin-bottom:8px; }
.scope-footnote { margin-top:9px; line-height:1.4; }
.report-footer { font-size:.875rem; line-height:1.4; }
@media (max-width:760px) {
 .diagnostic-report { padding:20px 14px; }
 .company-map > div { min-height:82px; padding:10px 3px 18px; }
 .company-map b { font-size:.625rem; }
 .scope-table th,.scope-table td { padding-block:7px; }
}
@media (max-width:760px) {
 .opportunity-table th:nth-child(2) { width:24%; }
 .opportunity-table .rating { gap:3px; white-space:nowrap; }
 .opportunity-table .rating::before { width:4px; flex-shrink:0; }
}

/* Les icônes et leurs légendes donnent accès aux mêmes étapes que les repères. */
button.network-step { appearance:none; border:0; padding:0; background:transparent; color:inherit; font:inherit; cursor:pointer; min-height:44px; }
.network-step:focus-visible { outline:none; }
.network-step:focus-visible .network-orb { outline:2px solid #efbf9d; outline-offset:5px; }
@media (hover:hover) { .network-step:hover .network-orb { border-color:#e7b29a; box-shadow:0 0 0 5px #e7b29a22; } }
@media (max-width:760px) { #workflow-pilotage .network-sources { gap:0; } }
@media (max-width:760px) {
 #workflow-pilotage .journey-network { grid-template-columns:1.3fr 1fr 1fr; }
 #workflow-pilotage .network-step.source-node { flex-wrap:nowrap; }
}
