/* V99: editorial-industrial refinements grounded in the uploaded V98. */
:root {--v99-ink:#102c32;--v99-teal:#24796e;--v99-lime:#c8db88;--v99-paper:#f2efe6;--v99-cream:#fffdf8}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body{overflow-wrap:normal}
button,a{touch-action:manipulation}
#home .hero-position-title{display:block;font:700 clamp(10px,1.05vw,13px)/1.4 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#c8db88;margin-bottom:18px}
#home .hero-display-slogan{display:block}
#home .hero h1{margin-block:17px 24px}
.v99-experience,.v99-featured{padding:clamp(48px,6.2vw,80px) 0;background:#f2efe6;color:#102c32}
.v99-featured{background:#e8eee7;border-block:1px solid #cfdacf}
.v99-section-heading{max-width:790px;margin-bottom:27px}
.v99-section-heading h2,.v99-detail-intro h2{font:500 clamp(34px,4.3vw,54px)/1.1 Georgia,serif;letter-spacing:-.045em;margin:12px 0;color:#102c32}
.v99-section-heading>p{font:400 15px/1.8 Arial,sans-serif;color:#47625c;margin:0;max-width:67ch}
.timeline-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.timeline-item{position:relative;padding:26px 24px 23px;background:#fffdf8;border:1px solid #ccd8d1;border-radius:16px;min-width:0}
.timeline-dot{width:9px;height:9px;background:var(--v99-teal);border-radius:50%;box-shadow:0 0 0 5px #24796e1c;margin-bottom:19px}
.timeline-head{display:flex;flex-direction:column;gap:9px;min-width:0}
.timeline-head h3{font:500 clamp(19px,1.9vw,25px)/1.23 Georgia,serif;letter-spacing:-.02em;margin:0;color:#102c32;overflow-wrap:break-word}
.timeline-head>span{font:700 12px/1.5 Arial,sans-serif;color:#24796e}
.timeline-role{font:700 13px/1.5 Arial,sans-serif;color:#143f44;margin:18px 0 9px}
.timeline-scope{font:400 13px/1.6 Arial,sans-serif;color:#4b625d;margin:0 0 19px}
.timeline-item a,.v99-inline-cta{font:700 13px/1.5 Arial,sans-serif;letter-spacing:.01em;color:#21695e;text-decoration:underline;text-decoration-color:#c8db88;text-underline-offset:5px}
.v99-inline-cta{display:inline-flex;margin-top:20px;font-size:14px}
.v99-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.v99-project-preview{display:block;background:#fffdf8;border:1px solid #c5d4cb;border-radius:16px;overflow:hidden;color:#102c32;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.v99-project-preview:hover{transform:translateY(-4px);box-shadow:0 13px 30px #102c321a}
.v99-project-preview:focus-visible{outline:3px solid #24796e;outline-offset:4px}
.v99-project-media{height:180px;overflow:hidden;background:#123c40}
.v99-project-media img{display:block;width:100%;height:100%;object-fit:cover}
.v99-project-body{padding:23px}
.v99-project-number{font:700 11px/1 Arial,sans-serif;letter-spacing:.18em;color:#28796f}
.v99-project-body h3{font:500 26px/1.14 Georgia,serif;letter-spacing:-.025em;margin:14px 0 10px;color:#102c32}
.v99-project-body p{font:400 13px/1.7 Arial,sans-serif;color:#4c6560;margin:0 0 16px}
.v99-card-link{font:700 12px/1.4 Arial,sans-serif;color:#21695e}
.v99-project-graphic{height:100%;display:flex;align-items:center;justify-content:center;gap:5px;padding:12px;background:radial-gradient(circle at 70% 10%,#2c6e64,#123d41 75%);}
.v99-project-graphic span{display:grid;place-items:center;text-align:center;border:1px solid #c8db8899;border-radius:5px;min-width:0;padding:8px 5px;color:#fffdf8;font:700 10px/1.3 Arial,sans-serif;flex:1}
.v99-project-graphic span:not(:last-child):after{content:'→';position:absolute;transform:translateX(38px);color:#c8db88}
/* Preserve every original reflection but don't put a five-part essay in the first scan. */
#home #travail{padding-block:28px!important}
#home #travail .v99-more-story{margin:0;border:1px solid #b9cec0;border-radius:15px;padding:0 24px;background:#fffdf8}
#home #travail .v99-more-story>summary{display:flex;justify-content:space-between;gap:15px;align-items:center;min-height:64px;font:700 14px/1.4 Arial,sans-serif;color:#164f4d;cursor:pointer;list-style:none}
#home #travail .v99-more-story>summary::-webkit-details-marker{display:none}
#home #travail .v99-more-story[open]>summary{border-bottom:1px solid #d4ded5}
#home #travail .v99-detail-intro{margin-bottom:16px}
#home #travail .v99-detail-intro h2{font-size:clamp(28px,3vw,40px)}
#home #travail .v99-more-story .section-title{margin-top:25px}
#home #travail .v99-more-story .stories{margin-bottom:25px}
/* Compact the ten training records without hiding their existence. */
#apprendre .certificate-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.v99-certificate-more{margin-top:15px;border:1px solid #c4d4c8;border-radius:14px;background:#f8f8f2;padding:4px 20px}
.v99-certificate-more>summary,.v99-interests-more>summary{list-style:none;cursor:pointer;min-height:52px;display:flex;align-items:center;justify-content:space-between;font:700 14px/1.4 Arial,sans-serif;color:#18564d}
.v99-certificate-more>summary::-webkit-details-marker,.v99-interests-more>summary::-webkit-details-marker{display:none}
.v99-cert-extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:10px 0 20px}
.v99-cert-extras .certificate-preview{display:none}
.v99-cert-extras .certificate-card{display:block;min-width:0;padding:16px}
.v99-cert-extras .certificate-info{padding:0!important}
.v99-cert-extras .certificate-info h3{font-size:17px!important}
.v99-cert-extras .certificate-info p{font-size:12px!important}
/* Refined personal section: one concise lead and optional details. */
#ailleurs .personal-showcase{align-items:stretch}
#ailleurs .personal-photo img{max-height:580px;object-fit:cover}
#ailleurs .personal-panel{justify-content:center}
#ailleurs .personal-lead{font-size:15px;line-height:1.8}
.v99-interests-more{margin-top:22px;border-top:1px solid #b9c9bc}
.v99-interests-more[open] .personal-interests{margin-top:14px}
/* Evidence cards: do not confuse facility scale with personal impact. */
#projets .v99-case-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:16px 0 4px;border:1px solid #cad7c9;border-radius:10px;background:#eff3eb;overflow:hidden}
#projets .v99-case-summary>div{padding:12px 14px;min-width:0}
#projets .v99-case-summary>div+div{border-left:1px solid #cad7c9}
#projets .v99-case-summary span{display:block;font:700 10px/1.5 Arial,sans-serif;letter-spacing:.075em;text-transform:uppercase;color:#1b6156;margin-bottom:5px}
#projets .v99-case-summary p{font:400 13px/1.5 Arial,sans-serif;color:#2c4d46;margin:0}
#projets .v99-metrics-disclaimer{font:italic 12px/1.55 Arial,sans-serif;color:#5a7168;margin:9px 0}
#projets .v99-schematic{min-width:0;margin:12px 0 20px;padding:20px;background:linear-gradient(135deg,#123e42,#24685f);border:1px solid #4e8d7d;border-radius:12px;color:#fffdf8}
#projets .v99-schematic-flow{display:flex;align-items:center;justify-content:space-between;gap:9px}
#projets .v99-schematic-step{flex:1;min-width:0;display:grid;place-items:center;text-align:center;min-height:67px;border:1px solid #c8db8870;border-radius:7px;font:700 clamp(10px,1.3vw,13px)/1.4 Arial,sans-serif;padding:10px 6px;background:#ffffff10}
#projets .v99-schematic-arrow{flex:none;color:#c8db88;font-size:24px}
#projets .v99-schematic figcaption{font:400 11px/1.4 Arial,sans-serif;color:#dae6e0;margin-top:12px}
#projets .p-card summary:focus-visible,#projets .case-filters button:focus-visible{outline:3px solid #24796e;outline-offset:4px}
#projets .p-meta,#projets .p-tags{font-size:max(12px,.8rem)}
#projets .case-category{font-size:max(11px,.75rem)}
/* Contact & privacy */
.v99-contact-address{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:18px;color:#fffdf8;font:400 13px/1.6 Arial,sans-serif}
.v99-contact-address>span:first-child{font-weight:700;color:#c8db88}
.v99-contact-address a{color:#fffdf8;text-decoration:underline;text-decoration-color:#c8db88;text-underline-offset:4px;overflow-wrap:anywhere}
.v99-copy-email{padding:8px 14px;min-height:44px;background:transparent;color:#fffdf8;border:1px solid #c8db88;border-radius:40px;font:700 12px Arial,sans-serif;cursor:pointer}
.v99-copy-email:hover{background:#c8db88;color:#102c32}
.v99-privacy-link{color:inherit;text-decoration:underline;text-underline-offset:4px;font:600 12px Arial,sans-serif}
.v99-nojs-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:15px;background:#fffdf8;border-bottom:1px solid #cbd8c9}
.v99-nojs-nav a{display:inline-flex;padding:10px;font:700 13px Arial,sans-serif;color:#102c32}
/* Readable standalone policy page */
.v99-policy{margin:0;background:#f2efe6;color:#102c32;font-family:Arial,sans-serif}
.v99-policy-bar{padding:16px max(20px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;background:#102c32;color:#fffdf8}
.v99-policy-bar a{color:#fffdf8;text-decoration:none}
.v99-policy-logo{font:bold 20px Georgia,serif}.v99-policy-logo span{font:700 12px Arial,sans-serif;letter-spacing:.12em;padding-left:10px}
.v99-policy-bar nav{display:flex;gap:22px;font:700 13px Arial,sans-serif}
.v99-policy-main{max-width:820px;padding:72px 24px 84px;margin:auto}
.v99-policy-main h1{font:500 clamp(38px,6vw,65px)/1.08 Georgia,serif;letter-spacing:-.04em;margin:16px 0 23px}
.v99-policy-main .v99-policy-intro{font:400 18px/1.65 Arial,sans-serif;color:#38564e;max-width:65ch}
.v99-policy-main section{padding:23px 0;border-bottom:1px solid #bdcec4}
.v99-policy-main section h2{font:500 27px/1.15 Georgia,serif;color:#102c32;margin:0 0 12px}
.v99-policy-main section p{font:400 15px/1.8 Arial,sans-serif;color:#39554e;margin:0}
.v99-policy-main a,.v99-policy-footer a{color:#176f64;text-decoration:underline;text-underline-offset:3px}
.v99-policy-date{color:#527169;font-size:12px;margin-top:40px}
.v99-policy-footer{text-align:center;padding:20px;background:#e4ebe1}
/* Resilience and 320-pixel phones */
@media(max-width:900px){.timeline-list{grid-template-columns:1fr}.v99-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#apprendre .certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.v99-preview-grid,.v99-cert-extras,#apprendre .certificate-grid{grid-template-columns:1fr}.v99-project-media{height:190px}#projets .v99-case-summary{grid-template-columns:1fr}#projets .v99-case-summary>div+div{border-left:0;border-top:1px solid #cad7c9}.timeline-item{padding:22px}#ailleurs .personal-photo img{max-height:380px}.v99-policy-main{padding-block:48px}#home .hero-position-title{max-width:32ch;line-height:1.6}}
@media(max-width:375px){
 .site-header-shell .nav{width:calc(100% - 22px);gap:5px!important}
 .site-header-shell .nav .logo{min-width:0;gap:5px}
 .site-header-shell .nav .logo .logo-text{font-size:11px!important;letter-spacing:.035em!important}
 .site-header-shell .nav .logo .logo-mark{width:28px;height:28px;flex:0 0 28px}
 .site-header-shell .nav .header-controls{gap:4px}
 .language-switch{padding:2px;gap:0}
 .language-switch a{min-width:27px;min-height:34px;padding:0 4px;font-size:11px}
 .nav .mobile-menu-trigger{min-width:40px;min-height:42px;padding:0 9px!important;justify-content:center;border-width:1px}
 #home .hero-links .btn{max-width:100%;white-space:normal;text-align:center}
 .v99-project-graphic span{font-size:9px;word-break:break-word}
 .v99-policy-logo span{display:none}
}
@media(prefers-reduced-motion:reduce){.v99-project-preview{transition:none}.v99-project-preview:hover{transform:none}}
