/* Design retenu : Encre (sombre, lumineux). Se charge apres les autres feuilles, ne les modifie pas. */

/* ---------- Socle commun : plus de contraste d'echelle ---------- */
html.encre h1 { font-size:clamp(50px,7vw,108px); line-height:1; letter-spacing:-.05em; }
html.encre .hero { grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr); column-gap:56px; }
html.encre .section-heading h2,
html.encre h2 { font-size:clamp(42px,5.4vw,80px); line-height:1.02; }
html.encre .section { padding-block:clamp(72px,9vw,130px); }
html.encre .contact-section h2 { font-size:clamp(44px,6vw,92px); }
html.encre .contact-section { padding-block:clamp(72px,9vw,130px); }
html.encre .project-detail > strong { font-size:clamp(54px,6vw,84px); white-space:nowrap; }
html.encre .project-detail-text > strong { font-size:clamp(33px,3.6vw,52px); white-space:normal; }
html.encre .timeline-meta > img,
html.encre .project-company img { box-sizing:content-box; padding:5px 7px; border-radius:6px; background:#fff; mix-blend-mode:normal; }
html.encre .timeline-meta > img.wide-logo { width:110px; height:24px; }
html.encre .certification-logo { box-sizing:border-box; padding:6px; border-radius:6px; background:#fff; }

/* ---------- Encre ---------- */
html.encre { --paper:#0b0f1c; --ink:#f2f4fb; --muted:#a3acc2; --blue:#8c9bff; --blue-light:#1b2245; --line:#262e47; --soft:#10152a; --cyan:#62e0ff; --card:#141a35; }
html.encre ::selection { background:#3b4bd0; color:#fff; }
html.encre .site-header { background:rgba(11,15,28,.82); }
html.encre .nav-contact { background:var(--blue); color:#0b0f1c; border-radius:999px; }
html.encre .nav-contact:hover { background:#fff; color:#0b0f1c; }
html.encre main { background:radial-gradient(ellipse 900px 680px at 72% 60px,rgba(84,104,255,.34),transparent 70%),radial-gradient(ellipse 620px 480px at 12% 420px,rgba(98,224,255,.12),transparent 70%); background-repeat:no-repeat; }
html.encre h1 { color:#fff; }
html.encre h1 em,
html.encre h2 em { padding-right:.08em; background:linear-gradient(95deg,#a9b5ff,var(--cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
html.encre .contact-section h2 em { background:none; color:#fff; }
html.encre .hero-role > .hero-experience { color:var(--cyan); }
html.encre .button-primary { border-radius:999px; background:linear-gradient(95deg,#8c9bff,var(--cyan)); color:#0b0f1c; font-weight:600; }
html.encre .button-primary:hover { background:#fff; color:#0b0f1c; }
html.encre .text-link { border-color:#566080; }
html.encre .profile { border:1px solid #39446e; border-radius:18px; background:linear-gradient(160deg,#1a2147,#0f1430); color:#fff; box-shadow:0 30px 80px rgba(60,80,255,.25); }
html.encre .profile-words .word-outline,
html.encre .profile-words .profile-and { color:var(--cyan); }
html.encre .profile-line span { background:#fff; }
html.encre .expertise-section,
html.encre .career-section { background:var(--soft); }
html.encre .expertise-diagram { border-color:var(--line); background:radial-gradient(ellipse 620px 520px at 30% 45%,rgba(84,104,255,.16),transparent 72%),var(--paper); }
html.encre .diagram-motion { border-color:#3a4366; background:var(--card); color:var(--ink); }
html.encre .hub-ring { stroke:#2d3556; }
html.encre .hub-spoke { stroke:#3b4570; }
html.encre .hub-spoke.is-active { stroke:var(--cyan); }
html.encre .hub-pulse { fill:var(--cyan); filter:drop-shadow(0 0 7px var(--cyan)); }
html.encre .hub-trail,
html.encre .hub-ripple { stroke:var(--cyan); }
html.encre .hub-center img { box-shadow:0 0 0 3px var(--paper),0 0 0 4px #4c5ab0,0 0 50px rgba(120,140,255,.6); }
html.encre .hub-center-label { background:var(--blue); color:#0b0f1c; box-shadow:0 0 0 3px var(--paper); }
html.encre .hub-node { border-color:#39426b; background:var(--card); color:#fff; box-shadow:0 10px 30px #0008; }
html.encre .hub-node-plus { color:var(--cyan); }
html.encre .hub-node.is-hot { border-color:var(--cyan); box-shadow:0 0 0 4px rgba(98,224,255,.2); }
html.encre .hub-node.is-selected { border-color:var(--cyan); background:var(--cyan); color:#0b0f1c; }
html.encre .hub-node.is-selected .hub-node-plus { color:#0b0f1c; }
html.encre .hub-stage.has-selection .hub-node:not(.is-selected) { color:#8d96ad; }
html.encre .hub-stage.has-selection .hub-node:not(.is-selected):not(.is-hot) .hub-node-plus { color:#8d96ad; }
html.encre .hub-toggle > span:not(.hub-toggle-plus),
html.encre .hub-team-body li span,
html.encre .hub-hint { color:var(--muted); }
html.encre .hub-toggle-plus { border-color:#3f4970; color:var(--cyan); }
html.encre .hub-team.is-open .hub-toggle-plus { border-color:var(--cyan); background:var(--cyan); color:#0b0f1c; }
html.encre .hub-sat-ring { stroke:#55649f; }
html.encre .hub-sat { fill:var(--cyan); }
html.encre .hub-diagram .orbit-context { color:var(--muted); }
html.encre .expertise-section .expertise-item { border:1px solid var(--line); background:var(--card); }
html.encre .expertise-section .expertise-item p,
html.encre .working-style dd,
html.encre .projects-section .project-main > p,
html.encre .projects-section .project-detail > p,
html.encre .projects-section .project-index > span:last-child,
html.encre .certifications .certification-copy > span { color:var(--muted); }
html.encre .expertise-section .tags li,
html.encre .projects-section .project-detail .tags li { border:1px solid #333c60; background:transparent; color:#c6cde0; }
html.encre .working-style,
html.encre .working-style-list > div,
html.encre .expertise-section .tags,
html.encre .projects-section .project-index,
html.encre .projects-section .project-main .project-role:not(.project-result) { border-color:var(--line); }
html.encre .working-style-heading .eyebrow { color:var(--blue); }
html.encre .projects-section .project { border-color:var(--line); background:linear-gradient(135deg,var(--card),#0e1329); }
html.encre .projects-section .project-index > span:first-child { background:var(--blue); color:#0b0f1c; }
html.encre .projects-section .project-detail { border-color:#39446e; background:#0b0f1c; }
html.encre .projects-section .project-detail > strong,
html.encre .project-detail > strong > span { color:var(--cyan); }
html.encre .projects-section .project-role.project-result > strong { color:var(--cyan); }
html.encre .timeline::before { background:#333c60; }
html.encre .timeline::after { background:var(--cyan); }
html.encre .timeline-item + .timeline-item,
html.encre .career-fact,
html.encre .career-extras .product-note,
html.encre .certifications { border-color:var(--line); }
html.encre .timeline-dot { border-color:var(--soft); background:var(--cyan); outline-color:var(--cyan); }
html.encre .mission-detail { background:var(--card); }
html.encre .certifications li { border-color:var(--line); background:var(--card); }
html.encre .contact-section { background:linear-gradient(115deg,#2b3ce0,#5b34d6 65%,#0f7fb8); color:#fff; }
html.encre .contact-section .eyebrow { color:#fff; }
html.encre .contact-section p:not(.eyebrow) { color:#e6e9ff; }
html.encre .contact-email { border-color:#ffffff80; color:#fff; }

/* ---------- Finitions propres au fond sombre ---------- */
html.encre { color-scheme:dark; }
html.encre .skip-link { background:#fff; color:#0b0f1c; }
html.encre .section-heading .eyebrow,
html.encre .career-intro .eyebrow,
html.encre .product-note .eyebrow,
html.encre .expertise-diagram figcaption .eyebrow { color:var(--cyan); }
html.encre .hero .eyebrow { color:#dfe4ff; }
html.encre .small-square { background:var(--cyan); }
html.encre .expertise-section .expertise-number { background:var(--blue-light); color:var(--cyan); }
html.encre .career-fact > strong { color:#fff; }
html.encre .timeline summary > span { color:var(--cyan); }
html.encre .timeline-meta > span,
html.encre .timeline-meta > time,
html.encre .certification-copy > time { color:var(--cyan); }
html.encre .contact-section { background:linear-gradient(115deg,#2535c8,#4a2bb8 62%,#0b5f92); }
html.encre .contact-section a:focus-visible,
html.encre .contact-copy:focus-visible { outline-color:#fff; }
html.encre .contact-email:hover { color:#fff; opacity:.85; }
html.encre .contact-copy { border-color:#ffffffb0; color:#fff; }
html.encre .contact-copy:hover { border-color:#fff; background:#fff; color:#2535c8; }
html.encre .contact-copy-status { color:#fff; }
html.encre .site-footer { background:var(--paper); }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 html.encre .expertise-section .expertise-item,
 html.encre .projects-section .project,
 html.encre .certifications li { transition:border-color .25s,box-shadow .25s; }
 html.encre .expertise-section .expertise-item:hover,
 html.encre .projects-section .project:hover,
 html.encre .certifications li:hover { border-color:#566199; box-shadow:0 18px 50px rgba(70,90,255,.2); }
}
@media (max-width:620px) {
 html.encre h1 { font-size:clamp(46px,13.2vw,72px); }
 html.encre .section-heading h2,
 html.encre h2,
 html.encre .contact-section h2 { font-size:clamp(40px,11.5vw,56px); }
}
