:root{--ink:#10171e;--paper:#f6f4f0;--orange:#ed783b;--muted:#676a6d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #e97838;outline-offset:5px}button{border:0}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(28px,3vw,45px);line-height:1.1;letter-spacing:-1.4px;margin-bottom:22px}h3{line-height:1.35}.nav{position:absolute;top:0;left:0;width:100%;z-index:5;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff1c}.brand{display:flex;align-items:center;gap:18px}.brand>span{font-size:40px;line-height:1;font-weight:400;letter-spacing:-7px;padding-right:7px}.brand b{color:var(--orange)}.brand strong{font-size:13px;letter-spacing:2.8px;font-weight:500}.nav nav{display:flex;align-items:center;gap:28px}.nav nav a,.nav nav button{font-size:13px;color:white;background:none;position:relative}.nav nav a:after{content:'';display:block;height:2px;background:var(--orange);width:0;position:absolute;bottom:-10px;transition:width .2s}.nav nav a:hover:after{width:100%}.hero{height:min(800px,95vh);min-height:650px;position:relative;overflow:hidden;background:#0c131b;color:white}.slides,.slide,.hero-shade{position:absolute;inset:0}.slide{opacity:0;transition:opacity 1s ease;overflow:hidden}.slide.active{opacity:1}.studio{background:url('assets/hero-studio-v22.webp') center/cover}.hero-shade{background:linear-gradient(90deg,#080e17e8 0%,#0c111ab8 39%,#08111d28 72%),linear-gradient(0deg,#0b111bc9,transparent 35%);pointer-events:none}.hero-copy{position:relative;z-index:2;padding:145px 5% 85px;max-width:790px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:var(--orange);line-height:1.7;margin-bottom:22px}h1{font-size:clamp(50px,5.3vw,78px);letter-spacing:-3px;line-height:1.03;margin-bottom:25px}h1 span{color:#fff}.role{font-size:17px;line-height:1.55;max-width:540px}.lead{max-width:530px;color:#c7cbd0;font-size:15px;line-height:1.7;margin-top:26px}.actions{display:flex;gap:14px;margin-top:32px}.primary,.outline{padding:17px 22px;display:inline-flex;align-items:center;justify-content:center;gap:30px;font-size:13px;font-weight:600;border-radius:3px}.primary{background:var(--orange);color:white;transition:background .2s}.primary:hover{background:#d76225}.outline{border:1px solid #b9bcc2;background:#10171e3b;color:white}.outline:hover{background:#ffffff16}.hero-controls{position:absolute;bottom:28px;left:5%;right:5%;z-index:3;display:flex;align-items:center;gap:25px;font-size:12px}.slide-label{color:#b9bfc8;letter-spacing:1px}.slide-label span{color:#fff}.slide-label b{margin-left:18px;color:#fff;font-weight:400}.dots{display:flex;gap:8px;margin-left:auto}.dots button{width:33px;height:4px;padding:0;background:#ffffff50;border-radius:2px}.dots button.active{background:var(--orange)}.pause{background:transparent;border:1px solid #ffffff45;border-radius:50%;width:32px;height:32px;color:white}.graphic{background:linear-gradient(135deg,#192131,#565751)}.graphic-collage{position:absolute;width:72%;right:-5%;height:100%;transform:rotate(-8deg);display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:5%}.graphic-collage img{width:100%;height:100%;min-height:0;object-fit:cover;box-shadow:0 12px 40px #0006;border-radius:5px}.graphic-collage img:first-child{grid-row:span 2}.web-slide img{width:100%;height:100%;object-fit:cover}.section{padding:76px 5%}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.filters{display:flex;gap:6px}.filters button{background:transparent;padding:11px 16px;font-size:13px;border-radius:3px}.filters button.active{background:var(--orange);color:white}.work-intro{font-size:15px;color:var(--muted);line-height:1.7;max-width:720px;margin-bottom:30px}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}.project{background:none;min-width:0}.project button{padding:0;text-align:left;background:none;width:100%;color:var(--ink)}.project .visual{position:relative;overflow:hidden;aspect-ratio:1.5;background:#dedbd6}.visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.project button:hover img{transform:scale(1.04)}.project .category{display:block;color:#82766c;font-size:10px;letter-spacing:1.4px;margin:18px 0 8px;text-transform:uppercase}.project h3{font-size:18px;letter-spacing:-.3px;margin:0 0 9px}.project .desc{font-size:13px;line-height:1.65;color:#68696b}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:59px;height:59px;border:1px solid white;background:#0b11194a;color:white;display:grid;place-items:center;border-radius:50%;font-size:20px;backdrop-filter:blur(4px)}.enlarge{position:absolute;bottom:12px;right:12px;color:white;background:#1119;padding:7px 10px;font-size:11px}.result-note{font-size:12px;color:#888;margin:30px 0 0}.web-section{display:grid;grid-template-columns:1fr 1fr;background:#eae7e1;overflow:hidden}.web-art img{width:100%;height:100%;object-fit:cover;min-height:400px}.web-copy{padding:60px 10%;align-self:center}.web-copy p:not(.eyebrow){font-size:15px;line-height:1.7;color:#616367}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{font-size:12px;padding:9px 13px;border:1px solid #d5d1ca;background:#ffffff38;border-radius:3px}.text-link{display:inline-block;background:none;padding:0;color:var(--orange);font-size:13px;border-bottom:1px solid var(--orange);padding-bottom:5px;margin-top:25px}.profile{display:grid;grid-template-columns:42% 58%;background:#101820;color:white}.profile-photo img{width:100%;height:100%;object-fit:cover;min-height:480px}.profile-copy{padding:65px 9%}.profile h3{color:var(--orange);font-size:17px;font-weight:400;margin-bottom:26px}.profile-copy>p:not(.eyebrow){font-size:14px;color:#c6cbd0;line-height:1.85}.skills{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:40px}.skills article{border-left:1px solid #dcd8d1;padding-left:22px}.skills span{color:var(--orange);font-size:12px}.skills h3{font-size:17px;margin-top:19px}.skills p{font-size:13px;line-height:1.75;color:#666}.toolbox{border-top:1px solid #dcd8d1;margin-top:40px;padding-top:30px}.contact{text-align:center;padding:70px 5%;background:#eae7e155}.contact>a{display:block;margin:20px 0;font-size:18px}.contact>a.phone{font-size:14px;color:#68696b}footer{display:flex;align-items:center;justify-content:space-between;padding:32px 5%;gap:20px;background:#0f161d;color:white}footer p,footer small{font-size:10px;letter-spacing:1.4px;color:#a1a7ae;margin:0}dialog{border:0;border-radius:7px;padding:24px;max-width:1100px;width:94vw;max-height:92dvh;overflow:auto;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#050a10e0;backdrop-filter:blur(9px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.dialog-head .eyebrow{margin:0 0 6px}.dialog-head h2{font-size:24px;letter-spacing:-.5px;margin:0}.close{width:38px;height:38px;background:#e5e1db;font-size:27px;border-radius:50%;flex-shrink:0}.media-video{aspect-ratio:16/9;width:100%;background:#000;display:block;border:0}.media-image{display:block;max-width:100%;max-height:65dvh;width:auto;margin:auto;object-fit:contain}#media-description{font-size:14px;line-height:1.7;margin:18px 0 0;color:#666}.cv-actions{display:flex;align-items:center;gap:25px;font-size:13px;margin-bottom:20px}#cv-frame{width:100%;height:68dvh;border:0;background:white}.mobile-break{display:none}[hidden]{display:none!important}body.modal-open{overflow:hidden}@media(min-width:1600px){.hero-copy{padding-top:160px}.hero{height:800px}}@media(max-width:900px){.nav{padding:22px 5%}.nav nav{gap:13px}.nav nav a,.nav nav button{font-size:11px}.brand strong{font-size:10px;letter-spacing:1.5px}.hero{min-height:650px}.hero-copy{padding-top:140px;max-width:680px}.hero-shade{background:linear-gradient(90deg,#080e17ed,#0a101ac2 55%,#08111d45)}.projects{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:flex-start;flex-direction:column}.skills{grid-template-columns:repeat(2,1fr)}.profile-copy{padding:40px 8%}.web-copy{padding:40px 8%}footer .brand strong{display:none}}@media(max-width:600px){.nav{align-items:flex-start}.brand strong{max-width:80px;line-height:1.5}.nav nav{gap:13px;justify-content:flex-end;max-width:240px;flex-wrap:wrap}.nav nav a,.nav nav button{font-size:11px}.hero{height:780px;min-height:0}.hero-copy{padding-top:145px}.hero h1{font-size:57px;letter-spacing:-2px}.role{font-size:15px;max-width:290px}.lead{font-size:14px;max-width:340px}.actions{gap:10px}.primary,.outline{font-size:11px;padding:15px 14px;gap:14px}.hero-controls{gap:10px}.slide-label b{margin-left:8px}.dots button{width:24px}.graphic-collage{width:115%;right:-35%;opacity:.7}.section{padding:50px 5%}.projects{grid-template-columns:1fr;gap:30px}.visual{aspect-ratio:1.5}.filters{gap:0;flex-wrap:wrap}.filters button{padding:10px 15px}.web-section,.profile{grid-template-columns:1fr}.web-art{height:240px}.web-art img{min-height:0}.web-copy{padding:36px 6%}.profile-photo{height:320px}.profile-photo img{min-height:0;object-position:center 35%}.profile-copy{padding:38px 6%}.skills{gap:25px 15px}.skills article{padding-left:13px}.skills h3{font-size:15px}.skills p{font-size:12px}.contact{padding:50px 5%}footer{flex-wrap:wrap}.mobile-break{display:block}dialog{padding:18px}.dialog-head h2{font-size:19px}.cv-actions{gap:15px}.cv-actions>a{font-size:11px}.media-image{max-height:60dvh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide,.visual img{transition:none}}
/* Version 2 : bandes de réalisations, progression et marques. */
.icon-heading{display:flex;gap:18px;align-items:center}.icon-heading h2{margin:0}.section-icon{height:54px;width:54px;display:grid;place-items:center;border:1px solid #ddc9b9;background:#ef783b0a;color:#dc6b30;border-radius:14px;flex-shrink:0}.section-icon svg{width:30px;height:30px}.portfolio-band{margin-top:44px}.band-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;border-bottom:1px solid #ddd8d0;margin-bottom:24px}.band-heading h2{font-size:30px;letter-spacing:-.8px}.rail-controls{display:flex;gap:10px}.rail-controls button{border:1px solid #c7c2ba;background:transparent;border-radius:50%;width:43px;height:43px;font-size:21px;color:var(--ink);transition:background .2s}.rail-controls button:hover:not(:disabled){background:#ead8cb}.rail-controls button:disabled{opacity:.3;cursor:default}.projects.carousel-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 24px;scrollbar-width:thin;scrollbar-color:var(--orange) #e4dfd7}.carousel-track::-webkit-scrollbar{height:5px}.carousel-track::-webkit-scrollbar-thumb{background:var(--orange);border-radius:8px}.carousel-track::-webkit-scrollbar-track{background:#e4dfd7}.carousel-track .project{flex:0 0 330px;scroll-snap-align:start;border:1px solid #dfdbd4;border-radius:7px;overflow:hidden;background:#fcfbf8}.carousel-track .project .visual{aspect-ratio:1.5}.carousel-track .project .category,.carousel-track .project h3,.carousel-track .project .desc{margin-left:18px;margin-right:18px}.carousel-track .project .desc{min-height:86px;margin-bottom:20px}.carousel-track .project button{height:100%;display:flex;flex-direction:column}.carousel-track .project .visual{width:100%}.skills-section{padding:0;background:var(--paper)}.progress-panel{padding:65px 5%;background:linear-gradient(90deg,#0a1019f2,#0a121ade 56%,#0b14258a),url('assets/progression-studio.webp') center/cover;color:#fff;position:relative}.progress-panel>.eyebrow{color:#f39a67}.progress-panel .section-icon{color:#f39359;background:#ffffff05;border-color:#ffffff3b}.progress-panel>.work-intro{color:#cbd0d6;margin-top:22px}.progress-panel .skills{position:relative;gap:0;margin-top:55px}.progress-panel .skills:before{content:'';position:absolute;top:35px;left:12px;right:24%;height:1px;background:#bfc7d86b}.progress-panel .skills article{border:0;padding:0 30px 0 0;position:relative}.progress-panel .skills article>span{display:block;font-size:14px;color:#f19a6d;height:60px}.progress-panel .skills article>span:after{content:'';position:absolute;top:29px;left:0;width:12px;height:12px;border:1px solid #cbd1d8;border-radius:50%;background:#101c28;box-shadow:0 0 0 4px #101c2880}.progress-panel .skills h3{font-size:18px;margin:0 0 15px;color:white}.progress-panel .skills p{color:#d0d4db;font-size:13px;line-height:1.8}.toolbox{margin:0;padding:35px 0 40px;border:0;overflow:hidden}.toolbox>.eyebrow{margin-left:5%}.brand-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.brand-track{display:flex;width:max-content;animation:brands-scroll 38s linear infinite;gap:0}.brand-set{display:flex;gap:34px;padding-right:34px}.brand-item{min-width:140px;height:98px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px}.brand-item img{width:90px;height:38px;object-fit:contain}.brand-item span{font-size:10px;letter-spacing:.4px;color:#626569;text-align:center}.brand-item.square img{width:35px;height:35px}.brand-item.light img{filter:brightness(0)}.brand-marquee:hover .brand-track,.brand-marquee:focus-within .brand-track{animation-play-state:paused}@keyframes brands-scroll{to{transform:translateX(-50%)}}.version-picker{position:relative;font-size:11px;color:#bec4cc}.version-picker summary{cursor:pointer;padding:9px 14px;border:1px solid #46515c;border-radius:4px}.version-picker>div{position:absolute;bottom:calc(100% + 10px);right:0;min-width:270px;padding:10px;background:#1b2632;border:1px solid #49525c;border-radius:5px;box-shadow:0 10px 30px #0005}.version-picker a{display:block;padding:12px;line-height:1.5}.version-picker a:hover{background:#ffffff10}.version-picker a[aria-current]{color:var(--orange)}@media(max-width:900px){.progress-panel .skills{grid-template-columns:repeat(4,1fr)}.progress-panel .skills article{padding-right:18px}.progress-panel .skills h3{font-size:15px}.progress-panel .skills p{font-size:12px}}@media(max-width:600px){.section-icon{height:43px;width:43px;border-radius:11px}.section-icon svg{width:25px;height:25px}.icon-heading{gap:12px}.work .section-heading h2{font-size:29px}.portfolio-band{margin-top:32px}.band-heading h2{font-size:25px}.rail-controls button{width:36px;height:36px}.projects.carousel-track{gap:15px}.carousel-track .project{flex-basis:85vw;max-width:340px}.progress-panel{padding:45px 6%;background-position:70% center}.progress-panel .skills{grid-template-columns:1fr;margin-top:32px;gap:0}.progress-panel .skills:before{top:6px;bottom:40px;left:6px;width:1px;height:auto;background:#bfc7d86b}.progress-panel .skills article{padding:0 0 22px 34px}.progress-panel .skills article>span{height:28px}.progress-panel .skills article>span:after{top:2px;left:0}.progress-panel .skills h3{font-size:17px}.progress-panel .skills p{font-size:13px;max-width:380px}.brand-set{gap:15px;padding-right:15px}.brand-item{min-width:120px}.brand-track{animation-duration:42s}.toolbox{padding-top:28px}}@media(prefers-reduced-motion:reduce){.brand-track{animation:none}.brand-marquee{overflow-x:auto}.brand-set[aria-hidden]{display:none}}
.brand-wordmark{font-size:22px;font-style:italic;letter-spacing:-1px;font-weight:700;line-height:38px;color:#20272c}

/* Version 3 : visuels IA et présentation compacte de NEO. */
.hero-art-image{width:100%;height:100%;object-fit:cover}.neo-section{padding:34px 5%;background:var(--paper)}.neo-banner{max-width:1120px;margin:0 auto;display:flex;gap:35px;align-items:center;padding:28px 35px;background:radial-gradient(ellipse at 85% 0%,#21447e70,transparent 60%),#0b1521;color:#fff;border-radius:8px;border:1px solid #25374b;overflow:hidden}.neo-brand{font-size:48px;font-weight:800;letter-spacing:-2px;line-height:1;color:#fff;flex-shrink:0}.neo-brand:after{content:'';display:block;width:30px;height:3px;background:var(--orange);margin-top:12px}.neo-brand span{display:block;font-size:9px;letter-spacing:2px;margin-top:8px;font-weight:400}.neo-copy{flex:1}.neo-copy .eyebrow{font-size:9px;margin-bottom:8px}.neo-copy h2{font-size:24px;letter-spacing:-.6px;margin-bottom:10px}.neo-copy>p:last-child{font-size:11px;color:#a7b5c5;margin:0;line-height:1.7}.neo-button{font-size:12px;padding:12px 16px;border:1px solid #e97838;color:#f29662;border-radius:3px;white-space:nowrap;transition:background .2s}.neo-banner:hover .neo-button{background:#ed783b;color:white}@media(max-width:700px){.neo-banner{flex-wrap:wrap;padding:24px;gap:20px}.neo-brand{font-size:38px}.neo-copy{min-width:180px}.neo-copy h2{font-size:21px}.neo-button{margin-left:auto}.neo-section{padding:25px 5%}}

/* Portfolio refinements: requested controls, monogram and live NEO backdrop. */
.brand>.brand-monogram{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#f6a623;color:#0c1748;font-size:11px;font-weight:700;letter-spacing:0;padding:0;flex-shrink:0}
.scroll-cue{position:absolute;z-index:4;left:50%;bottom:18px;transform:translateX(-50%);width:48px;height:64px;display:grid;place-items:center;color:#fff;border-radius:24px;background:#10182066;transition:background .2s}
.scroll-cue svg{width:28px;height:48px}.scroll-cue:hover{background:#ed783b99}.scroll-wheel{animation:scroll-hint 1.8s ease-in-out infinite}@keyframes scroll-hint{0%,100%{transform:translateY(0);opacity:1}65%{transform:translateY(6px);opacity:.4}}
.rail-controls{gap:12px}.rail-controls button{width:56px;height:56px;border-radius:8px;background:#10171e;color:#fff;border:1px solid #263646;font-size:30px;font-weight:700;box-shadow:0 4px 12px #0003;transition:background .2s,transform .2s}.rail-controls button:hover:not(:disabled){background:#d76225;transform:scale(1.05)}.rail-controls button:disabled{opacity:.45}
.neo-banner{position:relative;isolation:isolate}.neo-live-background{position:absolute;inset:0;z-index:-2;pointer-events:none;background:#0b1521}.neo-live-background img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;opacity:0;transition:opacity 1s ease}.neo-live-background img.active{opacity:1}.neo-banner:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#07111fe8,#07111fcc 45%,#07111f9e);pointer-events:none}
@media(max-width:600px){.rail-controls button{width:48px;height:48px;font-size:27px}.scroll-cue{bottom:65px;width:42px;height:56px}}
@media(prefers-reduced-motion:reduce){.scroll-wheel{animation:none}.neo-live-background img{transition:none}.rail-controls button{transition:none}}

.linkedin-profile{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:40px;height:40px;margin-left:15px;color:#74b8ff;border-radius:6px;transition:background .2s,color .2s}.linkedin-profile svg{width:23px;height:23px}.linkedin-profile:hover{background:#ffffff12;color:#fff}

/* Logo conforme à la référence : cadre blanc et nom sur deux lignes. */
.brand>.brand-monogram-square{width:40px;height:40px;border:1px solid #fff;border-radius:0;background:transparent;color:#fff;font-size:17px;font-weight:700;letter-spacing:-2px;padding-right:2px}.brand .brand-name-stacked{display:block;color:#fff;font-size:12px;line-height:1.25;letter-spacing:2px;font-weight:500;max-width:none}footer .brand .brand-name-stacked{display:block}@media(max-width:600px){.brand .brand-name-stacked{font-size:10px;letter-spacing:1.5px}}

/* Adobe tools: scoped to the Infographie introduction. */
.creation-tools{margin:0 0 24px;padding:20px 22px;border:1px solid #dfdbd4;border-radius:7px;background:#fcfbf8}
.creation-tools-label{margin:0 0 16px;font-size:10px;font-weight:600;letter-spacing:1.4px;color:#82766c}
.creation-tools-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.creation-tool{display:flex;align-items:flex-start;gap:12px;min-width:0}
.creation-tool+.creation-tool{border-left:1px solid #e5e1da;padding-left:22px}
.creation-tool img,.creation-tool-id{width:40px;height:40px;flex-shrink:0}
.creation-tool-id{display:grid;place-items:center;background:#49021f;color:#ff3366;border-radius:7px;font-size:24px;font-weight:600;letter-spacing:-1px}
.creation-tool h3{margin:0 0 5px;font-size:14px;font-weight:600;line-height:1.35}
.creation-tool p{margin:0 0 6px;font-size:12px;line-height:1.5;color:#55585b}
.creation-tool small{display:block;font-size:11px;line-height:1.6;color:#68696b}
@media(min-width:601px) and (max-width:900px){.creation-tools{padding:18px 16px}.creation-tools-list{gap:12px}.creation-tool{gap:9px}.creation-tool+.creation-tool{padding-left:12px}.creation-tool img,.creation-tool-id{width:32px;height:32px}.creation-tool-id{font-size:20px}.creation-tool h3{font-size:12px}}
@media(max-width:600px){.creation-tools{display:none}}
