/* Ajouts uniquement : la feuille historique style.css reste la référence visuelle. */
.editorial-nav{background:var(--lime);color:var(--ink);padding:32px 0 16px}
.editorial-domains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.editorial-domain{position:relative;padding:8px 24px 20px 0;border-bottom:1px solid #11131555;transition:border-color .25s}
.editorial-domain>span:first-child{font-size:10px;font-weight:850;letter-spacing:.1em}
.editorial-domain p{font-size:13px;line-height:1.6;margin-top:12px;max-width:280px}
.editorial-domain>span:last-child{position:absolute;right:0;top:7px;font-size:22px;transition:transform .3s var(--ease)}
.editorial-domain:hover>span:last-child,.editorial-domain:focus-visible>span:last-child{transform:translate(3px,-3px)}
.editorial-domain:hover{border-color:var(--ink)}
.editorial-shortcuts{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap;margin-top:15px}
.editorial-shortcuts>span{font-size:8px;letter-spacing:.12em;font-weight:850;margin-right:auto}
.editorial-shortcuts a{display:inline-flex;gap:10px;align-items:center;min-height:44px;font-size:11px;font-weight:750}
.editorial-shortcuts a:hover{text-decoration:underline;text-underline-offset:5px}
.now-details{display:grid;grid-template-columns:1fr .56fr;gap:8%;border-top:1px solid #11131555;margin-top:55px;padding-top:28px}
.now-details>div>span,.section-overline{display:block;font-size:10px;letter-spacing:.12em;font-weight:850;line-height:1.6}
.now-details h3{font-size:22px;line-height:1.25;margin:10px 0;letter-spacing:-.04em}
.now-details p,.now-details a{font-size:13px;line-height:1.6}.now-details a{display:inline-flex;gap:20px;min-height:44px;align-items:center;border-bottom:1px solid #11131566}
.mission-section{margin-top:60px;scroll-margin-top:100px}.mission-heading{margin-bottom:28px}
.mission-heading h3{margin:18px 0!important;font-size:clamp(34px,4vw,55px)!important;line-height:1.05!important}
.mission-heading>p{font-size:15px;line-height:1.7;color:#535b53;max-width:650px}
.mission-card{border-top:1px solid var(--line-dark)}.mission-card:last-child{border-bottom:1px solid var(--line-dark)}
.mission-card summary{display:grid;grid-template-columns:30px minmax(0,1fr) 36px;gap:16px;align-items:center;cursor:pointer;padding:26px 0;list-style:none;min-height:96px}
summary::-webkit-details-marker{display:none}summary::marker{content:''}
.mission-number{font-size:10px;font-weight:850;align-self:start;margin-top:5px}
.mission-card summary strong{display:block;font-size:clamp(19px,2vw,27px);line-height:1.2;letter-spacing:-.04em}
.mission-card summary small{display:block;color:#596159;font-size:11px;line-height:1.7;margin-top:8px}
.expand-mark{width:34px;height:34px;display:grid;place-items:center;align-self:center;border:1px solid currentColor;border-radius:50%;font-size:23px;font-weight:400;transition:transform .26s var(--ease)}
details[open]>summary .expand-mark{transform:rotate(45deg)}
.mission-body{padding:5px 0 35px}.mission-body>p{font-size:16px;line-height:1.75;color:#454d46}
.mission-body>h4{font-size:16px;margin-top:28px}.mission-body ol{padding-left:22px;margin:18px 0 25px}.experience-main .mission-body li{padding:6px 0;border:0;font-size:14px;line-height:1.7}.experience-main .mission-body li::before{content:none}
.mission-body .mission-boundary{font-size:12px;line-height:1.75;padding:16px 18px;border-left:2px solid #737e63;background:#11131506;margin-bottom:28px}
.mission-badge{display:inline-block;margin:18px 0 0;border:1px solid #11131555;border-radius:30px;font-size:11px;padding:8px 12px}
/* Démonstrations locales. Leur décor ne dépend d'aucune capture ou donnée interne. */
.interactive-demo{background:var(--ink2);color:var(--paper);border:1px solid #ffffff26;border-radius:4px;padding:24px;min-width:0}
.demo-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px;font-size:9px;letter-spacing:.09em;font-weight:800}
.demo-top .tiny-square{width:6px;height:6px;flex:none;background:var(--lime);transform:rotate(45deg)}
.demo-top small{margin-left:auto;font-size:8px;color:#b4bdb6;line-height:1.7}
.demo-choices{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.demo-choices button,.demo-action,.demo-step-controls button{border:1px solid #778178;background:transparent;color:var(--paper);font-size:12px;line-height:1.5;padding:11px 13px;min-height:44px;border-radius:4px;transition:background .2s,color .2s}
.demo-choices button[aria-pressed=true],.demo-choices button:hover,.demo-action:hover,.demo-step-controls button:hover:enabled{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.demo-answer{border-left:2px solid var(--lime);padding:5px 0 5px 18px;min-height:150px}
.demo-speaker,.demo-kicker{font-size:9px;letter-spacing:.12em;color:var(--lime);font-weight:800;line-height:1.8}
.interactive-demo p{font-size:14px!important;line-height:1.75!important;color:#c4ccc5!important;max-width:760px}
.demo-answer p{margin-top:13px}.interactive-demo h4{font-size:21px;line-height:1.2;letter-spacing:-.035em;margin:12px 0}
.demo-readout{min-height:165px;padding-top:5px}.demo-readout .demo-secondary{color:#a9b4ab!important;margin-top:16px;font-size:12px!important}
.demo-dashboard{display:flex;justify-content:space-between;align-items:start;gap:20px;margin:28px 0 20px}.demo-state{padding:9px 12px;border:1px solid #ddfa8c66;border-radius:30px;color:var(--lime);font-size:10px;white-space:nowrap;line-height:1.7}.demo-state.has-alert{border-color:var(--orange);color:var(--orange)}
.demo-log{border-top:1px solid var(--line);padding-top:18px;min-height:104px;margin-bottom:20px}.demo-log p+p{margin-top:10px}
.demo-flow{border:1px solid var(--line);padding:20px 14px;display:flex;gap:12px;align-items:center;justify-content:space-between;color:#c4cdc1;font-size:9px;letter-spacing:.06em}.demo-flow span{color:var(--lime);font-size:22px}
.demo-architecture{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:30px 0}.demo-architecture>span{flex:1;min-height:100px;padding:15px;border:1px solid var(--line);font-size:10px;color:#adbaac;transition:color .2s,border-color .2s}.demo-architecture b{display:block;font-size:15px;margin-top:20px;color:var(--paper);font-weight:650}.demo-architecture i{font-style:normal;color:var(--lime)}.demo-architecture .is-selected{border-color:var(--lime);color:var(--lime)}
.demo-journey{padding:10px 0}.demo-step-count{font-size:11px;letter-spacing:.14em;color:var(--lime)}.demo-step-controls{display:flex;justify-content:space-between;gap:14px}.demo-step-controls button:disabled{opacity:.45;cursor:default}
/* Frise : ouverture native au clavier, défilement naturel. */
.journey-heading{max-width:900px}.journey-heading h2{font-size:clamp(48px,6vw,88px);line-height:1;margin:38px 0 28px;letter-spacing:-.075em}.journey-heading h2 em{font:italic .85em var(--serif);color:var(--lime)}
.journey-heading>p{font-size:16px;line-height:1.8;color:#adb8af;max-width:650px}
.journey-list{list-style:none;padding:0 0 0 40px;margin:65px 0;position:relative}.journey-list::before{content:'';position:absolute;top:0;left:5px;bottom:0;width:1px;background:#ffffff33}
.journey-item{position:relative;border-top:1px solid var(--line)}.journey-item:last-child{border-bottom:1px solid var(--line)}
.journey-dot{position:absolute;width:11px;height:11px;background:var(--ink);border:1px solid #7d8b79;border-radius:50%;left:-40px;top:39px;transition:background .4s,box-shadow .4s}.journey-reached .journey-dot{background:var(--lime);border-color:var(--lime);box-shadow:0 0 0 5px #ddfa8c12}
.journey-item summary{list-style:none;display:grid;grid-template-columns:190px minmax(0,1fr) 100px 34px;gap:24px;padding:30px 0;align-items:center;cursor:pointer;min-height:90px}
.journey-period{font-size:9px;letter-spacing:.1em;font-weight:800;color:var(--lime)}.journey-title{font-size:26px;letter-spacing:-.045em;line-height:1.2}.journey-category{font-size:11px;color:#afb6ae}
.journey-body{padding:0 58px 30px 214px}.journey-body>p{font-size:15px;line-height:1.8;color:#afbcb0;max-width:650px}.journey-body .text-link{margin-top:15px;color:var(--lime)}
.journey-end{display:flex;gap:24px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:30px}.journey-end>p{font-size:14px;color:#adb8af;margin-right:auto}
/* Compléments des études de cas, sans modifier le héros ni les cartes existantes. */
.case-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.case-logo{width:72px;height:72px;object-fit:contain;border-radius:4px;background:#fff}
.case-contribution{margin-top:65px;max-width:900px}.case-enrichment h2{font-size:clamp(37px,4.3vw,64px);line-height:1.05;margin:22px 0 25px;letter-spacing:-.065em}
.case-contribution>p,.case-explore>div>p,.case-results p{font-size:17px;line-height:1.8;color:#adb8af}
.case-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:60px 0 100px}.case-process article{border-top:1px solid var(--line);padding-top:25px}.case-process article>span{font-size:11px;color:var(--lime)}.case-process h3{font-size:28px;letter-spacing:-.04em;margin:35px 0 15px}.case-process p{font-size:14px;line-height:1.8;color:#acb5ad}
.case-explore{display:grid;grid-template-columns:.6fr 1fr;align-items:start;gap:6%}.case-explore>*{min-width:0}.case-explore .demo-architecture{gap:6px}.case-explore .demo-architecture>span{padding:12px 8px}.case-explore .demo-architecture b{font-size:12px}
.browser-preview{margin:85px 0 0;border:1px solid var(--line);border-radius:5px;overflow:hidden}.browser-bar{display:flex;gap:24px;padding:17px 20px;align-items:center;font-size:10px;color:#a9b4ac;background:#252a27}.browser-bar>span:first-child{letter-spacing:.25em;color:var(--lime)}.browser-preview img{width:100%;height:auto}.browser-preview figcaption{font-size:11px;line-height:1.6;color:#b7c0b6;padding:16px 20px}
.case-results{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:100px;padding-top:50px;border-top:1px solid var(--line)}.case-results ul{padding-left:20px;color:#b7c2b9;font-size:16px;line-height:1.9}.case-results li{margin:12px 0}.case-results .case-limits{font-size:13px;border-left:2px solid var(--lime);padding-left:18px;margin-top:24px}
.case-evidence{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:70px;padding-top:28px}.case-evidence p{font-size:11px;line-height:1.8;max-width:650px;color:#a1afa4}
/* Vue CV indépendante : filtres accessibles et données partagées. */
.cv-toolbar{border-bottom:1px solid var(--line-dark);padding-bottom:26px}.cv-filters{display:flex;flex-wrap:wrap;gap:9px}.cv-filters button{padding:12px 18px;min-height:44px;border:1px solid #11131555;background:transparent;color:var(--ink);border-radius:30px;font-size:12px;font-weight:750}.cv-filters button[aria-pressed=true],.cv-filters button:hover{background:var(--ink);color:var(--lime)}.cv-feedback{margin-top:20px;color:#535d51;font-size:12px}
.cv-layout{display:grid;grid-template-columns:.45fr 1fr;gap:10%;padding-top:60px}.cv-identity{align-self:start;position:sticky;top:110px}.cv-identity h2{font-size:clamp(40px,4vw,64px);line-height:1;margin:25px 0}.cv-identity p{font-size:14px;line-height:1.9;color:#535d51}.cv-identity a{display:block;width:fit-content;padding:12px 0;font-size:12px;font-weight:800;min-height:44px}
.cv-entries>section[hidden]{display:none}.cv-entries>section{margin-bottom:55px}.cv-entries>section>h2{font-size:14px;letter-spacing:.04em;text-transform:uppercase;padding-bottom:18px;border-bottom:1px solid var(--line-dark)}.cv-entries article{padding:25px 0;border-bottom:1px solid var(--line-dark)}.cv-entries article>span{font-size:10px;letter-spacing:.08em;color:#535b52;line-height:1.8}.cv-entries h3{font-size:28px;line-height:1.15;margin:14px 0}.cv-entries p{font-size:15px;color:#535d51;line-height:1.8}.cv-entries .tag-row{margin-top:18px}.cv-entries .tag-row span{color:#3d493b;border-color:#11131555}.cv-entries .text-link{margin-top:15px}
/* Corrections fonctionnelles : focus des nouveaux contrôles et menu mobile. */
summary:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.interactive-demo button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.interactive-demo button:disabled{cursor:default}
[id^=exp-],#frise{scroll-margin-top:110px}
@keyframes case-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
::view-transition-old(root){animation:180ms ease-out both reverse case-enter}::view-transition-new(root){animation:260ms var(--ease) both case-enter}
::view-transition-group(project-image){animation-duration:380ms;animation-timing-function:var(--ease)}
::view-transition-old(project-image),::view-transition-new(project-image){height:100%;object-fit:cover}
.motion-off::view-transition-group(*),.motion-off::view-transition-old(*),.motion-off::view-transition-new(*){animation:none!important}
@media(max-width:1000px){.editorial-domains{gap:18px}.editorial-domain>span:first-child{font-size:9px;letter-spacing:.02em}.editorial-domain p{font-size:12px}.journey-item summary{grid-template-columns:140px minmax(0,1fr) 34px;gap:20px}.journey-category{display:none}.journey-body{padding-left:160px}.case-explore{grid-template-columns:1fr;gap:30px}.case-process{gap:20px}.case-results{gap:6%}.demo-answer{min-height:120px}}
@media(max-width:760px){.editorial-nav{padding:22px 0 14px}.editorial-domains{grid-template-columns:1fr;gap:0}.editorial-domain{padding:17px 28px 17px 0;min-height:88px}.editorial-domain>span:first-child{font-size:10px;letter-spacing:.06em}.editorial-domain>span:last-child{top:17px}.editorial-domain p{font-size:12px;margin-top:9px}.editorial-shortcuts{gap:0 22px;margin-top:16px}.editorial-shortcuts>span{flex-basis:100%;margin:4px 0 8px}.editorial-shortcuts a{font-size:11px}.now-details{grid-template-columns:1fr;gap:24px;margin-top:40px;padding-top:24px}.now-details h3{font-size:21px}.mission-section{margin-top:45px}.mission-card summary{grid-template-columns:20px minmax(0,1fr) 32px;gap:10px;padding:22px 0}.mission-card summary strong{font-size:20px}.mission-card summary small{font-size:10px}.mission-heading h3{font-size:34px!important}.mission-heading>p{font-size:14px}.mission-body>p{font-size:15px}.mission-body .mission-boundary{font-size:12px}.interactive-demo{padding:18px 14px}.demo-top{font-size:8px;gap:8px}.demo-top small{margin-left:14px;flex-basis:100%}.demo-choices{gap:7px}.demo-choices button{font-size:11px;padding:10px}.demo-answer{min-height:205px;padding-left:13px}.demo-dashboard{flex-direction:column;gap:16px;margin-top:20px}.demo-flow{font-size:8px;letter-spacing:0;padding:15px 8px;gap:6px}.demo-flow span{font-size:18px}.demo-readout{min-height:230px}.demo-log{min-height:160px}.journey-heading h2{font-size:47px;margin:30px 0 24px}.journey-heading>p{font-size:14px}.journey-list{padding-left:28px;margin:45px 0}.journey-dot{left:-28px;top:35px}.journey-item summary{grid-template-columns:minmax(0,1fr) 32px;gap:12px;padding:25px 0}.journey-period{grid-column:1;font-size:8px}.journey-title{grid-column:1;font-size:23px}.journey-item .expand-mark{grid-column:2;grid-row:1/3}.journey-body{padding:0 0 26px}.journey-body>p{font-size:14px}.journey-end{align-items:start;flex-direction:column;gap:20px}.journey-end>p{font-size:13px}.case-contribution{margin-top:45px}.case-enrichment h2{font-size:37px}.case-contribution>p,.case-explore>div>p,.case-results p{font-size:15px}.case-process{grid-template-columns:1fr 1fr;gap:28px 20px;margin:45px 0 65px}.case-process h3{font-size:24px;margin:24px 0 12px}.case-process p{font-size:12px}.case-results{grid-template-columns:1fr;gap:45px;margin-top:65px;padding-top:40px}.case-results ul{font-size:14px}.case-evidence{margin-top:45px}.browser-preview{margin:50px 0 0}.browser-bar{padding:14px;font-size:8px;gap:15px}.browser-preview figcaption{font-size:10px;padding:14px}.case-logo{width:52px;height:52px}.case-heading{align-items:start}.case-heading .eyebrow{white-space:normal;line-height:1.8;flex-wrap:wrap}.case-heading .eyebrow i{display:none}.demo-architecture{display:grid;grid-template-columns:1fr 1fr;gap:10px!important}.demo-architecture>i{display:none}.demo-architecture>span{min-height:95px}.demo-architecture b{font-size:13px!important}.demo-step-controls button{font-size:11px;padding:10px 12px}.cv-layout{grid-template-columns:1fr;gap:45px;padding-top:40px}.cv-identity{position:static}.cv-identity h2{font-size:46px}.cv-identity a{display:inline-flex;margin-right:20px;align-items:center}.cv-entries h3{font-size:25px}.cv-entries p{font-size:14px}.cv-filters button{font-size:11px;padding:11px 14px}}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

/* Invitation discrète, visible uniquement lors d'une interaction. */
.project-explore{position:absolute;z-index:3;left:20px;bottom:18px;font-size:9px;letter-spacing:.12em;font-weight:850;color:var(--paper);background:#111315d9;border:1px solid #ffffff33;border-radius:30px;padding:11px 15px;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .3s var(--ease)}
.project-card:hover .project-explore,.project-card:focus-visible .project-explore{opacity:1;transform:translateY(0)}
.project-card:focus-visible .project-media-arrow{background:var(--lime);transform:rotate(45deg)}

@media(max-width:760px){.timeline-intro h1{font-size:clamp(54px,11.5vw,100px)}}
/* Débordement avéré du lien de projet suivant à 320 px. */
@media(max-width:350px){.next-case a{gap:16px}.next-case strong{font-size:38px;min-width:0;overflow-wrap:anywhere}}
/* Contrastes insuffisants mesurés par axe : corrections localisées, mêmes familles de tons. */
.statement span{color:#858c83}
.stripe-top>span{color:#676d66}
.footer-meta small{color:#7c857b}
.exp-note{color:#666e65}
.contact-page .eyebrow{color:#555b57}

.motion-control .motion-symbol{font-size:inherit}
.editorial-nav a:focus-visible,.light-section summary:focus-visible,.cv-filters button:focus-visible{outline-color:var(--ink)}

/* Laisser le contenu du héros respirer avant le bandeau, même sur un écran peu haut. */
@media(min-width:1001px){
  .hero-home{height:auto;min-height:max(830px,min(930px,100svh))}
}
