:root{--night:#090a0a;--anthracite:#111313;--panel:#171919;--beige:#d8c4a7;--beige-soft:#a9957b;--paper:#ece6dc;--text:#f1ede6;--muted:#a8a39b;--line:rgba(216,196,167,.18);--radius:22px;--header:72px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--text);font:400 15px/1.65 "DM Sans",sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;left:15px;top:-100px;z-index:1000;background:var(--beige);color:#111;padding:10px 14px}.skip-link:focus{top:15px}.intro{position:fixed;inset:0;z-index:999;background:#050606;display:grid;place-items:center;overflow:hidden;transition:opacity .9s ease,visibility .9s}.intro.is-hidden{opacity:0;visibility:hidden}.intro-architecture{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.95%,rgba(216,196,167,.08) 50%,transparent 50.05%),linear-gradient(0deg,transparent 49.95%,rgba(216,196,167,.05) 50%,transparent 50.05%);background-size:180px 180px;opacity:.35;mask-image:radial-gradient(circle,#000 0%,transparent 72%)}.intro-logo{position:relative;width:min(390px,55vw);filter:drop-shadow(0 24px 60px rgba(216,196,167,.08));animation:introLogo 1.4s cubic-bezier(.2,.8,.2,1) both}.intro-copy{position:absolute;bottom:13vh;text-align:center;animation:introText 1s 1s both}.intro-copy p{margin:0 0 8px;font:500 clamp(1.25rem,2.3vw,2rem) "Playfair Display",serif;letter-spacing:.02em}.intro-copy span{display:block;color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.intro-skip{position:absolute;right:28px;bottom:26px;background:none;border:0;color:#8f8b85;cursor:pointer;font-size:.75rem}.intro-skip:hover{color:var(--beige)}@keyframes introLogo{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes introText{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.site-header{height:var(--header);position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);background:rgba(9,10,10,.78);border-bottom:1px solid rgba(216,196,167,.1);backdrop-filter:blur(20px)}.brand img{width:52px;height:52px;object-fit:contain}.desktop-nav{display:flex;gap:28px;color:#aaa69f;font-size:.82rem}.desktop-nav a:hover{color:var(--beige)}.header-cta{border:1px solid var(--line);padding:9px 16px;border-radius:100px;font-size:.8rem;transition:.25s}.header-cta:hover{background:var(--beige);color:#111}
.section{padding:76px clamp(22px,6vw,96px);max-width:1500px;margin:0 auto}.presentation{padding-top:54px}.presentation-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,78px);align-items:center}.video-card{min-height:470px;background:var(--anthracite);border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden}.architectural-lines{position:absolute;inset:0;background:linear-gradient(135deg,rgba(216,196,167,.08),transparent 48%),repeating-linear-gradient(90deg,transparent 0 79px,rgba(216,196,167,.035) 80px),repeating-linear-gradient(0deg,transparent 0 79px,rgba(216,196,167,.035) 80px)}.video-card:after{content:"";position:absolute;inset:16px;border:1px solid rgba(216,196,167,.12);border-radius:15px}.video-content{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:32px}.video-tag{position:absolute;top:30px;left:30px;color:var(--beige);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}.play-button{width:78px;height:78px;border-radius:50%;border:1px solid rgba(216,196,167,.35);background:rgba(216,196,167,.06);display:grid;place-items:center}.play-button span{width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:14px solid var(--paper);margin-left:4px}.video-content p{font:500 1.45rem "Playfair Display",serif;margin:22px 0 3px}.video-content small{color:var(--muted)}.eyebrow{margin:0 0 10px;color:var(--beige);font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.presentation h1,.section h2,.contact h2{font:500 clamp(2.15rem,4.2vw,4.4rem)/1.05 "Playfair Display",serif;letter-spacing:-.03em;margin:0 0 20px}.presentation-copy .lead{font-size:1.05rem;color:#ddd7ce}.presentation-copy>p:not(.eyebrow){max-width:650px}.quick-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}.quick-facts div{border-top:1px solid var(--line);padding-top:12px}.quick-facts span,.contact-links span{display:block;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.quick-facts strong{font-size:.86rem}.linkedin-link,.text-button{display:inline-flex;align-items:center;gap:8px;color:var(--beige);font-weight:600;font-size:.86rem}.linkedin-link:hover,.text-button:hover{color:var(--paper)}
.cv-strip{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:center;margin-top:50px;padding:26px;background:var(--anthracite);border:1px solid var(--line);border-radius:var(--radius)}.cv-preview{height:285px;padding:0;border:0;border-radius:12px;overflow:hidden;position:relative;cursor:pointer;background:#000}.cv-preview img{width:100%;height:100%;object-fit:cover;object-position:top;filter:brightness(.48) grayscale(.25);transition:.45s}.cv-preview:hover img{filter:brightness(.82) grayscale(0);transform:scale(1.035)}.cv-overlay{position:absolute;inset:0;display:flex;justify-content:flex-end;align-items:flex-start;flex-direction:column;text-align:left;padding:18px;background:linear-gradient(transparent 45%,rgba(0,0,0,.82))}.cv-overlay strong{font-size:.95rem}.cv-overlay small{color:#c7c1b8}.cv-copy h2{font-size:clamp(1.9rem,3vw,3.1rem);margin-bottom:10px}.cv-copy p{max-width:600px;color:var(--muted)}.text-button{border:0;background:none;padding:0;cursor:pointer}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:44px;margin-bottom:34px}.section-heading>div{max-width:820px}.section-heading h2{font-size:clamp(2rem,3.7vw,3.8rem);margin-bottom:0}.section-heading>p{max-width:420px;margin:0;color:var(--muted)}.project-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.project-cards article{background:var(--anthracite);border:1px solid var(--line);padding:25px;border-radius:18px;min-height:230px;transition:.3s}.project-cards article:hover{transform:translateY(-4px);border-color:rgba(216,196,167,.4)}.project-cards span,.strength-grid strong,.progress-grid span{color:var(--beige);font-size:.68rem}.project-cards h3{font:500 1.45rem "Playfair Display",serif;margin:38px 0 10px}.project-cards p{margin:0;color:var(--muted)}.dark-section{max-width:none;background:var(--anthracite);border-top:1px solid rgba(216,196,167,.08);border-bottom:1px solid rgba(216,196,167,.08)}.dark-section>.section-heading,.dark-section>.strength-grid,.dark-section>.progress-grid{max-width:1308px;margin-left:auto;margin-right:auto}.strength-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.strength-grid div{min-height:145px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;flex-direction:column}.strength-grid span{font:500 1rem "Playfair Display",serif}.compact-two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px}.compact-two-col h2{font-size:clamp(2rem,3vw,3rem)}.skill-list{border-top:1px solid var(--line)}.skill-list p{display:flex;justify-content:space-between;gap:22px;margin:0;padding:14px 0;border-bottom:1px solid var(--line)}.skill-list em{font-style:normal;color:var(--muted);font-size:.8rem}.tag-cloud{display:flex;flex-wrap:wrap;gap:10px}.tag-cloud span{padding:11px 14px;border:1px solid var(--line);border-radius:100px;color:#d7d1c8;font-size:.82rem}.progress-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}.progress-grid article{padding:22px;border-right:1px solid var(--line)}.progress-grid article:last-child{border-right:0}.progress-grid h3{font:500 1.35rem "Playfair Display",serif;margin:26px 0 5px}.progress-grid p{margin:0;color:var(--muted)}.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.achievement-grid article{background:var(--anthracite);border:1px solid var(--line);border-radius:18px;padding:30px}.big-number{font:600 clamp(3.7rem,7vw,6.6rem)/1 "Playfair Display",serif;color:var(--beige);letter-spacing:-.05em}.big-number span{font-size:.32em}.achievement-grid h3{font:500 1.55rem "Playfair Display",serif;margin:18px 0 8px}.achievement-grid p{color:var(--muted)}.achievement-grid ul{display:flex;gap:7px;flex-wrap:wrap;list-style:none;padding:0;margin:20px 0 0}.achievement-grid li{border:1px solid var(--line);border-radius:100px;padding:7px 11px;font-size:.72rem}.contact{background:linear-gradient(135deg,#171919,#0d0e0e);max-width:none}.contact-content{max-width:1308px;margin:auto}.contact h2{max-width:900px}.contact-content>p{max-width:650px;color:var(--muted)}.contact-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.contact-links a{border:1px solid var(--line);border-radius:14px;padding:18px;transition:.25s}.contact-links a:hover{background:rgba(216,196,167,.06);transform:translateY(-3px)}.contact-links strong{display:block;margin-top:5px;font-size:.88rem}footer{padding:24px clamp(22px,6vw,96px);display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);color:var(--muted);font-size:.72rem}footer img{width:38px;height:38px;object-fit:contain}footer p{flex:1}.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}
.modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:26px;opacity:0;visibility:hidden;transition:.28s}.modal.is-open{opacity:1;visibility:visible}.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.84);backdrop-filter:blur(9px);cursor:default}.modal-window{position:relative;width:min(1040px,94vw);height:min(88vh,950px);background:#151717;border:1px solid rgba(216,196,167,.24);border-radius:18px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.55);transform:scale(.96) translateY(14px);transition:.28s}.modal.is-open .modal-window{transform:none}.modal-header{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line)}.modal-header div{display:flex;gap:10px;align-items:center}.modal-header span{color:var(--beige);font-size:.65rem;letter-spacing:.15em}.modal-header strong{font-size:.86rem}.modal-close{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);font-size:1.45rem;cursor:pointer;line-height:1}.modal-close:hover{background:var(--beige);color:#111}.modal iframe{display:block;width:100%;height:calc(100% - 58px);border:0;background:#333}
@media(max-width:1050px){.desktop-nav{display:none}.presentation-grid{grid-template-columns:1fr}.video-card{min-height:420px}.project-cards{grid-template-columns:repeat(2,1fr)}.strength-grid{grid-template-columns:repeat(4,1fr)}.progress-grid{grid-template-columns:repeat(3,1fr)}.progress-grid article{border-bottom:1px solid var(--line)}.compact-two-col{gap:36px}.section-heading{display:block}.section-heading>p{margin-top:16px}}
@media(max-width:680px){:root{--header:66px}.site-header{padding:0 16px}.brand img{width:45px;height:45px}.section{padding:56px 18px}.presentation{padding-top:35px}.presentation-grid{gap:28px}.video-card{min-height:340px}.video-content p{font-size:1.2rem}.presentation h1,.section h2,.contact h2{font-size:2.25rem}.quick-facts{grid-template-columns:1fr 1fr}.cv-strip{grid-template-columns:105px 1fr;gap:18px;padding:16px}.cv-preview{height:150px}.cv-overlay{padding:10px}.cv-overlay small{display:none}.cv-copy h2{font-size:1.45rem}.cv-copy p{font-size:.82rem;margin:6px 0}.project-cards{grid-template-columns:1fr}.project-cards article{min-height:auto}.project-cards h3{margin-top:22px}.strength-grid{grid-template-columns:repeat(2,1fr)}.strength-grid div{min-height:120px}.compact-two-col{grid-template-columns:1fr;gap:48px}.skill-list p{display:block}.skill-list em{display:block;margin-top:2px}.progress-grid{grid-template-columns:1fr 1fr}.progress-grid article{border-right:1px solid var(--line)}.achievement-grid{grid-template-columns:1fr}.contact-links{grid-template-columns:1fr}footer{flex-wrap:wrap}.intro-logo{width:78vw}.intro-copy{left:20px;right:20px}.intro-copy span{font-size:.64rem}.modal{padding:8px}.modal-window{width:100%;height:94vh;border-radius:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.intro{display:none}.reveal{opacity:1;transform:none}}

/* Ajustements de structure — version réorganisée */
.section-compact{padding-top:48px;padding-bottom:48px}.presentation-links{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.muted-link{color:var(--muted);font-weight:500}.profile-band{display:grid;grid-template-columns:1.1fr 1.6fr 1fr 1fr;margin-top:38px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.018)}.profile-band div{padding:17px 18px;border-right:1px solid var(--line)}.profile-band div:last-child{border-right:0}.profile-band span{display:block;color:var(--beige);font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;margin-bottom:6px}.profile-band strong{display:block;font-size:.78rem;line-height:1.35}.skills-modern{max-width:1308px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.skills-modern article{min-height:190px;padding:22px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018);transition:.3s}.skills-modern article:hover{transform:translateY(-4px);border-color:rgba(216,196,167,.38)}.skills-modern article>span{color:var(--beige);font-size:.64rem;text-transform:uppercase;letter-spacing:.12em}.skills-modern h3{font:500 1.28rem "Playfair Display",serif;margin:30px 0 9px}.skills-modern p{margin:0;color:var(--muted);font-size:.84rem}.domains-cloud{max-width:1000px}.domains-cloud span{padding:13px 17px;font-size:.86rem}.project-cards-three{grid-template-columns:repeat(3,1fr)}.achievement-grid-three{grid-template-columns:repeat(3,1fr)}.achievement-grid-three article{padding:25px}.achievement-grid-three .big-number{font-size:clamp(3.2rem,5vw,5.4rem)}.modal-actions{display:flex!important;gap:9px!important}.modal-fullscreen{height:38px;padding:0 14px;border:1px solid var(--line);border-radius:100px;background:transparent;color:var(--text);font-size:.72rem;cursor:pointer}.modal-fullscreen:hover{background:rgba(216,196,167,.1)}.modal-window.is-fullscreen{width:100vw;height:100vh;max-width:none;border-radius:0;border:0}.modal-window.is-fullscreen iframe{height:calc(100vh - 58px)}footer strong{color:#d8d2c9;font-weight:500}
@media(max-width:1050px){.profile-band{grid-template-columns:1fr 1fr}.profile-band div:nth-child(2){border-right:0}.profile-band div:nth-child(-n+2){border-bottom:1px solid var(--line)}.skills-modern{grid-template-columns:repeat(2,1fr)}.achievement-grid-three{grid-template-columns:1fr 1fr}.achievement-grid-three article:last-child{grid-column:1/-1}.project-cards-three{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.section-compact{padding-top:34px;padding-bottom:34px}.profile-band{grid-template-columns:1fr}.profile-band div{border-right:0;border-bottom:1px solid var(--line)!important;padding:14px 15px}.profile-band div:last-child{border-bottom:0!important}.skills-modern{grid-template-columns:1fr}.skills-modern article{min-height:auto}.project-cards-three{grid-template-columns:1fr}.achievement-grid-three{grid-template-columns:1fr}.achievement-grid-three article:last-child{grid-column:auto}.modal-fullscreen{font-size:0;width:38px;padding:0}.modal-fullscreen:after{content:'↗';font-size:1rem}}
.achievement-grid-five{grid-template-columns:repeat(6,1fr)}
.achievement-grid-five article{grid-column:span 2}
.achievement-grid-five article:nth-child(4),.achievement-grid-five article:nth-child(5){grid-column:span 3}
.achievement-note{max-width:900px;margin:22px auto 0;color:var(--muted);font-size:.84rem;line-height:1.7;text-align:center}
@media(max-width:1050px){.achievement-grid-five{grid-template-columns:1fr 1fr}.achievement-grid-five article,.achievement-grid-five article:nth-child(4),.achievement-grid-five article:nth-child(5){grid-column:auto}.achievement-grid-five article:last-child{grid-column:1/-1}}
@media(max-width:680px){.achievement-grid-five{grid-template-columns:1fr}.achievement-grid-five article:last-child{grid-column:auto}.achievement-note{text-align:left;margin-top:18px}} 
.presentation-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: inherit;
    background: #000;
}
.video-card::after {
    pointer-events: none;
}
.presentation-video:fullscreen,
.presentation-video:-webkit-full-screen {
    object-fit: contain;
    background: #000;
}
.presentation-grid .video-card {
    width: min(100%, 390px);
    min-height: 0;
    aspect-ratio: 9 / 16;
    justify-self: center;
}
@media(max-width:680px) {
    .video-card {
        width: 100%;
        max-width: none;
        min-height: 0;
        aspect-ratio: 9 / 16;
    }
}
:focus-visible {
    outline: 2px solid var(--beige);
    outline-offset: 4px;
}
.intro-architecture {
    -webkit-mask-image: radial-gradient(circle, #000 0%, transparent 72%);
}
.intro-logo {
    height: auto;
}
.site-header {
    -webkit-backdrop-filter: blur(20px);
}
.modal-backdrop {
    -webkit-backdrop-filter: blur(9px);
}
