.theme-toggle{background:transparent;border:1px solid var(--line);border-radius:20px;padding:7px 12px;font-size:11px;white-space:nowrap;margin-left:auto}.header{gap:20px}.header nav{gap:20px}.header .theme-toggle+ .menu-button{margin-left:0}html[data-theme="dark"]{color-scheme:dark;--bg:#0c1423;--paper:#142137;--ink:#e6edf8;--muted:#b0bfd3;--line:#33445e;--sage:#182a43}html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}html[data-theme="dark"] .header{background:rgba(12,20,35,.96)}html[data-theme="dark"] :is(.path,.study-jump,.journal-note,.study-course,.case-facts,dialog){background:#142137;color:var(--ink);border-color:var(--line)}html[data-theme="dark"] :is(.paths,.personal-london,.accounting-map,.ticker-grid,.credentials,.portrait-frame){background:#182a43;color:var(--ink)}html[data-theme="dark"] :is(.path p,.study-jump p,.study-jump>span,.study-course p,.case-facts dt,.accounting-map p,.journal-note p,.credentials-inner,.ticker-grid p){color:var(--muted)}html[data-theme="dark"] :is(.path:hover,.study-jump:hover,.ticker-grid>div:hover){background:#203552}html[data-theme="dark"] :is(.hero h1 em,.studies-hero h1 em,.text-link,.study-jump strong,.personal-cards article>span){color:#8dbdff}html[data-theme="dark"] :is(.path h3,.case-facts dd,.ticker-grid strong,.credentials-inner strong){color:var(--ink)}html[data-theme="dark"] .course-details{border-color:#617c9c}html[data-theme="dark"] .school-logo,html[data-theme="dark"] .studies-school-logo{background:#fff;color:#101f3b}.study-jump,.personal-cards article,.learning-grid>div{transition:transform .25s ease,box-shadow .25s ease}.study-jump:hover,.personal-cards article:hover,.learning-grid>div:hover{transform:translateY(-4px)}.button:active{transform:translateY(1px)}.motion-arrived{animation:reveal-gentle .65s ease both}@keyframes reveal-gentle{from{opacity:.6;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:1100px) and (min-width:901px){.header{gap:12px;padding-inline:22px}.header nav{gap:12px}.theme-toggle{padding:6px 9px}}@media(max-width:900px){.header{gap:12px}.header nav{gap:0}.theme-toggle{font-size:10px;padding:6px 9px}.header .brand{margin-right:auto}}@media(max-width:370px){.header{padding-inline:14px;gap:8px}.brand{gap:7px}.theme-toggle{padding:5px 7px}.menu-button{padding:5px 7px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.theme-toggle{display:none}html[data-theme]{color-scheme:light;--bg:white;--paper:white;--ink:#111;--muted:#333;--line:#bbb}html[data-theme="dark"] body,html[data-theme="dark"] :is(.paths,.path,.personal-london,.accounting-map,.study-jump,.journal-note,.case-facts){background:white;color:#111}}

/* Contraste explicite du bouton de contact, indépendant des variables du thème. */
html[data-theme="dark"] .contact .button.light{background:#e8f1ff;color:#10213b;border:1px solid #e8f1ff}html[data-theme="dark"] .contact .button.light:hover{background:#cfe2ff;color:#10213b;border-color:#cfe2ff}html[data-theme="dark"] .contact .button.light:focus-visible{outline:3px solid #91c5ff;outline-offset:5px}

.page-directory{padding-block:70px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.directory-grid>a{border:1px solid var(--line);background:var(--paper);padding:28px;border-radius:5px;transition:transform .2s}.directory-grid>a:hover{transform:translateY(-4px)}.directory-grid h3{font-size:24px}.directory-grid p{color:var(--muted);margin-bottom:0}.page-cta{padding-block:55px;display:flex;align-items:center;justify-content:space-between;gap:25px}.page-cta h2{font-size:30px;margin:0}.education h1{font-size:clamp(36px,4.5vw,60px)}.contact h1{font-size:clamp(36px,4.5vw,60px)}@media(max-width:900px){.directory-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.directory-grid{grid-template-columns:1fr}.page-cta{align-items:flex-start;flex-direction:column}.about h1{font-size:40px}}

/* Formation : titre lisible et campus intégré sans texte sur la photographie. */
.education h1{color:#162641}html[data-theme="dark"] .education h1{color:#edf3ff}html[data-theme="dark"] .education h1 em{color:#a8cdff}.campus-figure{margin:36px 0 40px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);border:1px solid #597494;border-radius:6px;overflow:hidden;background:#152a47}.campus-figure img{width:100%;height:330px;object-fit:cover;object-position:50% 58%;display:block}.campus-figure figcaption{padding:35px;display:flex;flex-direction:column;justify-content:center;color:#edf3ff}.campus-figure figcaption span{font-size:10px;letter-spacing:1.7px;color:#a8cdff;margin-bottom:17px}.campus-figure figcaption strong{font-size:25px;line-height:1.35;font-weight:500}.campus-figure figcaption p{color:#c7d6ea;font-size:14px;margin:18px 0 0}@media(max-width:760px){.campus-figure{grid-template-columns:1fr}.campus-figure img{height:240px}.campus-figure figcaption{padding:25px}.campus-figure figcaption strong{font-size:23px}}@media print{.campus-figure img{height:180px}.campus-figure figcaption{background:white;color:#111}.campus-figure figcaption p,.campus-figure figcaption span{color:#333}html[data-theme="dark"] .education h1,html[data-theme="dark"] .education h1 em{color:#111}}

html[data-theme="dark"] .education :is(h2,h3,.other-education strong){color:#edf3ff}html[data-theme="dark"] .education .course-details summary{color:#cce0ff}

.linkedin-section{padding-block:45px 65px}.linkedin-card{display:flex;align-items:center;gap:25px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-top:5px solid #0a66c2;border-radius:7px;padding:30px;transition:transform .2s,box-shadow .2s}.linkedin-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0a66c222}.linkedin-card img{width:80px;height:80px;object-fit:cover;object-position:top;border-radius:50%}.linkedin-card h2{font-size:27px;margin-bottom:12px}.linkedin-card p{color:var(--muted);font-size:14px}.linkedin-card .eyebrow{font-size:10px;margin-bottom:12px}.linkedin-mark{background:#0a66c2;color:white;font:bold 25px/34px Arial,sans-serif;text-align:center;width:34px;border-radius:4px}.linkedin-action{display:inline-block;background:#0a66c2;color:white;border-radius:24px;padding:9px 18px;font-size:13px}.linkedin-footer{font-size:11px}@media(max-width:640px){.linkedin-card{flex-wrap:wrap;gap:18px;padding:24px}.linkedin-card>div{width:100%}.footer{flex-wrap:wrap}.footer>div{flex-wrap:wrap}.linkedin-footer{font-size:10px}}

.bachelor-card{display:flex;align-items:flex-start;gap:22px;min-width:0}.bachelor-photo{width:125px;height:175px;flex:0 0 125px;object-fit:cover;border-radius:5px;border:1px solid #597494}.bachelor-card>div{min-width:0}.bachelor-card .text-link{font-size:12px;color:#a8cdff}.bachelor-distinction{font-weight:600;color:#cce0ff!important;font-size:13px!important;letter-spacing:0!important}.education .bachelor-card strong{display:block}@media(max-width:640px){.bachelor-photo{width:95px;height:140px;flex-basis:95px}.bachelor-card{gap:16px}.bachelor-card .text-link{font-size:11px}}@media(max-width:370px){.bachelor-card{flex-direction:column}.bachelor-photo{width:120px;height:155px;flex-basis:auto}}

/* Carte de coordonnées structurée. */
.contact-details.contact-card{padding:28px;background:#172d4b;border:1px solid #4e6c91;border-radius:8px;align-self:start;min-width:0}.contact-card-heading{display:flex;align-items:center;gap:15px;padding-bottom:23px;border-bottom:1px solid #496181}.contact-card-monogram{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;background:#243e61;border:1px solid #607ea3;border-radius:8px;font:25px Georgia,serif;color:#eaf2ff}.contact-card-heading p{margin:0 0 5px;font-size:10px;letter-spacing:1.8px;color:#aacdf7}.contact-card-heading strong{font-size:19px;font-weight:600;color:#f1f6ff}.contact-rows{margin:0}.contact-rows>div{padding:17px 0;border-bottom:1px solid #3d5575}.contact-rows dt{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#aacdf7;margin-bottom:6px}.contact-rows dd{margin:0;font-size:15px;font-weight:500;line-height:1.65;color:#f1f6ff;overflow-wrap:anywhere}.contact-rows dd>a{font-size:15px;color:#f1f6ff;display:inline-block;max-width:100%}.contact-rows dd>a:hover{color:#aed3ff;text-decoration:underline;text-underline-offset:4px}.contact-rows dd>span{font-size:13px;color:#c6d7ed;font-weight:400}.contact-card .contact-save{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:23px 0 0;padding:12px 16px;background:#e8f1ff;color:#142742;border:1px solid #e8f1ff;border-radius:4px;font-size:12px;font-weight:600}.contact-card .contact-save:hover{background:#cfe2ff;border-color:#cfe2ff}.contact-card .contact-save span{font-size:20px;line-height:1}@media(max-width:640px){.contact-details.contact-card{padding:23px;width:100%}.contact-rows dd,.contact-rows dd>a{font-size:14px}}

.recruiting-section{padding-block:60px;border-bottom:1px solid var(--line)}.recruiting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.recruiting-card{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:32px}.recruiting-card h3{font-size:29px;line-height:1.2;margin-top:22px}.recruiting-card p,.route-columns p,.route-evidence p{color:var(--muted)}.recruiting-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.recruiting-actions .text-link{font-size:12px}.proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.proof-grid>a{border-top:2px solid #4482d1;padding-top:20px}.proof-grid strong{display:block;font-size:18px;margin-bottom:8px}.proof-grid span{color:var(--muted);font-size:13px}.route-hero{padding-block:60px}.route-hero h1{font-size:clamp(38px,5vw,62px);max-width:800px}.route-hero .intro{max-width:750px;color:var(--muted);font-size:19px}.route-roles{margin-block:25px}.route-location{font-size:12px;color:var(--muted);margin-top:25px}.route-columns,.route-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.route-columns h2{font-size:26px}.route-evidence article{border-top:1px solid var(--line);padding-top:25px}.route-evidence h3{font-size:25px}.route-evidence .text-link{font-size:12px}@media(max-width:900px){.proof-grid{grid-template-columns:1fr 1fr}.route-columns,.route-evidence{grid-template-columns:1fr}.route-columns{gap:15px}}@media(max-width:640px){.recruiting-grid{grid-template-columns:1fr}.recruiting-card{padding:25px}.proof-grid{gap:25px 18px}.recruiting-section{padding-block:42px}.route-hero{padding-block:40px}.route-hero .intro{font-size:17px}}

.experience-meta .experience-dates{font-size:12px!important;line-height:1.8}.experience-dates time{display:block}.experience-meta .experience-dates>span{display:none}@media(max-width:900px){.experience-dates time{display:inline}.experience-meta .experience-dates>span{display:inline;font-size:inherit}}

.experience-image{margin:18px 0 25px;width:min(100%,540px);border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#06486c}.experience-image img{display:block;width:100%;height:auto;aspect-ratio:665/366;object-fit:cover}.experience-image-brand{width:min(100%,330px)}.experience-image-brand img{aspect-ratio:1060/707;object-fit:contain}@media(max-width:640px){.experience-image{margin-block:16px 22px}.experience-image-brand{width:min(100%,280px)}}

.presentation-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);border:1px solid var(--line);border-radius:7px;overflow:hidden;margin:30px 0;background:var(--paper)}.presentation-preview{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;padding:35px;background:#12294a;color:#f0f5ff;min-height:290px}.presentation-preview .eyebrow{margin:0;color:#a8cdff}.presentation-preview strong{font:38px/1.12 Georgia,serif}.presentation-tickers{font-size:11px;letter-spacing:2px;color:#b9d5fc}.presentation-open{position:absolute;right:25px;top:22px;font-size:26px}.presentation-copy{padding:35px;align-self:center}.presentation-copy h3{font-size:27px}.presentation-copy>p{color:var(--muted);font-size:14px}.presentation-copy .presentation-context{font-size:11px;line-height:1.65;margin:20px 0 0}.presentation-preview:hover{background:#1c3b62}@media(max-width:640px){.presentation-card{grid-template-columns:1fr}.presentation-preview{min-height:230px;padding:27px}.presentation-preview strong{font-size:33px}.presentation-copy{padding:27px}}
