/* ============================================================
   LUDWIG PORTFOLIO V19.0.0 — MÉTHODE, EXPERTISE & QUALITÉ
   Couche de finition : hiérarchie, outils métier, Control Center.
   ============================================================ */
:root{
  --v19-space-1:8px;--v19-space-2:16px;--v19-space-3:24px;--v19-space-4:32px;--v19-space-5:48px;--v19-space-6:64px;
  --v19-fast:160ms;--v19-normal:280ms;--v19-slow:520ms;
}
html[data-v19] :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--accent-2,var(--accent,#A66BF0));outline-offset:3px}
html[data-v19] #v6-main-nav a[aria-current="page"]{color:var(--ink);font-weight:700}

/* Méthode V19 : mêmes étapes, vocabulaire plus professionnel. */
html[data-v19] #processus .process-card{min-height:190px}
html[data-v19] #processus .process-card p{max-width:34ch}

/* Outils : 3 outils principaux + chaîne secondaire, sans jauges artificielles. */
html[data-v19] #outils .v19-tools-intro{max-width:850px;margin:0 0 28px;color:var(--grey);font-size:15px;line-height:1.7}
html[data-v19] #outils .v19-tools-primary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
html[data-v19] #outils .v19-tool-primary{position:relative;min-height:230px;padding:28px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(var(--v9-surface-26-20-34,26,20,34),.88),rgba(var(--v9-surface-17-13-24,17,13,24),.94));overflow:hidden}
html[data-v19] #outils .v19-tool-primary::before{content:attr(data-index);display:block;margin-bottom:38px;color:var(--accent-2);font:600 10px/1 'IBM Plex Mono',monospace;letter-spacing:.1em}
html[data-v19] #outils .v19-tool-primary h3{margin:0 0 8px;font:800 34px/.95 'Big Shoulders Display',sans-serif;text-transform:uppercase}
html[data-v19] #outils .v19-tool-role{display:block;margin-bottom:16px;color:var(--accent);font:700 12px/1.3 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em}
html[data-v19] #outils .v19-tool-primary p{margin:0;color:var(--grey);font-size:13px;line-height:1.65}
html[data-v19] #outils .v19-tool-primary:hover{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));transform:translateY(-3px)}
html[data-v19] #outils .v19-tools-secondary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}
html[data-v19] #outils .v19-tool-secondary{min-height:88px;padding:16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--paper2) 88%,transparent)}
html[data-v19] #outils .v19-tool-secondary b{display:block;margin-bottom:6px;color:var(--ink);font:700 16px/1 'Big Shoulders Display',sans-serif;text-transform:uppercase}
html[data-v19] #outils .v19-tool-secondary span{color:var(--grey);font-size:11px;line-height:1.45}
html[data-v19] #outils .v19-workflow-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;color:var(--grey);font:600 9px/1.4 'IBM Plex Mono',monospace;letter-spacing:.07em;text-transform:uppercase}
html[data-v19] #outils .v19-workflow-line i{width:24px;height:1px;background:var(--line)}

/* Control Center V19 : publication et contrôle qualité compréhensibles en un regard. */
.v19-control .v182-control-title b{color:var(--accent-2)}
.v19-publish-state{position:relative;min-height:44px;padding-right:48px!important}
.v19-publish-state [data-v19-publish-dot]{position:absolute;right:20px;top:50%;width:10px;height:10px;border-radius:50%;transform:translateY(-50%);background:var(--grey);box-shadow:0 0 0 4px color-mix(in srgb,var(--grey) 12%,transparent)}
.v19-publish-state.is-synced{background:color-mix(in srgb,#4fd1a5 8%,var(--paper))!important}
.v19-publish-state.is-synced strong{color:#4fd1a5}.v19-publish-state.is-synced [data-v19-publish-dot]{background:#4fd1a5}
.v19-publish-state.is-pending{background:color-mix(in srgb,#ffd166 10%,var(--paper))!important}
.v19-publish-state.is-pending strong{color:#ffd166}.v19-publish-state.is-pending [data-v19-publish-dot]{background:#ffd166}
.v19-quality{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--paper2) 91%,transparent);padding:14px;margin:0 0 14px}
.v19-quality-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.v19-quality-head>div{display:grid;gap:3px}.v19-quality-head strong{color:var(--ink);font-size:12px}.v19-eyebrow{color:var(--accent-2);font:700 8px/1 'IBM Plex Mono',monospace;letter-spacing:.12em}
.v19-quality-head button{min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--grey);font:700 8px/1 'IBM Plex Mono',monospace;text-transform:uppercase;cursor:pointer}
.v19-quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.v19-quality-grid>div{display:flex;align-items:baseline;gap:7px;padding:10px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:10px}.v19-quality-grid b{color:var(--ink);font-size:15px}.v19-quality-grid span{color:var(--grey);font:600 8px/1.3 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em}
.v19-quality-list{display:grid;gap:6px}.v19-quality-list span{padding:7px 9px;border-radius:8px;background:color-mix(in srgb,#ffd166 7%,transparent);color:var(--grey);font:600 8px/1.45 'IBM Plex Mono',monospace}.v19-quality-list span.is-ok{background:color-mix(in srgb,#4fd1a5 7%,transparent)}


/* Galerie V19 : les projets structurés en étude de cas sont identifiables sans surcharger la carte. */
html[data-v19] .v19-case-badge{display:inline-flex;width:max-content;margin:0 0 8px;padding:5px 7px;border:1px solid color-mix(in srgb,var(--accent-2) 45%,var(--line));border-radius:999px;color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 7%,transparent);font-size:8px;letter-spacing:.08em}

@media(max-width:980px){html[data-v19] #outils .v19-tools-primary-grid{grid-template-columns:1fr}html[data-v19] #outils .v19-tools-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){html[data-v19] #outils .v19-tool-primary{min-height:auto;padding:22px}html[data-v19] #outils .v19-tool-primary::before{margin-bottom:24px}html[data-v19] #outils .v19-tools-secondary{grid-template-columns:1fr}.v19-quality-grid{grid-template-columns:1fr}.v19-publish-state{padding-right:14px!important}.v19-publish-state [data-v19-publish-dot]{display:none}}
@media(hover:none){html[data-v19] #outils .v19-tool-primary:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html[data-v19] #outils .v19-tool-primary{transition:none!important}}
