/* v4: a compact type scale and one continuous photographic opening. */
html{scrollbar-gutter:stable}body{font-size:15px}h1{font-size:clamp(34px,4vw,50px);line-height:1.12}h2{font-size:clamp(24px,2.7vw,32px);line-height:1.2}h3{font-size:22px;line-height:1.25}.eyebrow{font-size:11px;letter-spacing:.13em;line-height:1.5}.header{height:100px}.header nav{font-size:14px}.intro-heading{padding:30px 0 33px;align-items:center}.intro-heading h1{font-size:clamp(38px,4.5vw,54px);line-height:1.09;max-width:760px;letter-spacing:-.045em}.intro-aside{font-size:14px;max-width:260px}.quiet-button{font-size:12px}.hero-card{min-height:510px}.hero-image{object-position:50% 50%;filter:saturate(.68) brightness(.95)}.hero-card:after,.cinema-shade{background:linear-gradient(180deg,rgba(17,17,20,.03) 10%,rgba(17,17,20,.25) 50%,rgba(17,17,20,.91) 100%)}.hero-bottom h2{font-size:clamp(30px,3.3vw,42px);max-width:480px;line-height:1.1;margin:15px 0 17px}.hero-bottom p{font-size:14px}.hero-bottom .link-line,.link-line{font-size:13px}.profile-card h2{font-size:26px}.profile-card p,.project-card p{font-size:14px}.project-card h2{font-size:26px}.profile-card,.project-card{padding:27px;min-height:245px}.profile-top{margin-bottom:18px}.project-heading{margin-bottom:18px}.image-card h2{font-size:27px}.image-card p,.contact-card p{font-size:13px}.contact-card h2{font-size:30px;max-width:270px}.bottom-note{font-size:12px}.footer{font-size:11px}.page-heading{padding:38px 0 32px;max-width:900px}.page-heading h1{font-size:clamp(34px,4.2vw,50px);max-width:800px}.page-heading p{font-size:16px}.page-heading .breadcrumb{margin-bottom:19px}.panel h2{font-size:28px;line-height:1.18}.panel p,.panel li{font-size:15px}.photo-caption{font-size:12px}.section-lead p{font-size:14px}.full-photo{object-position:center}.copy-status{font-size:13px;margin-top:16px}.contact-address{font-size:clamp(23px,3vw,34px);line-height:1.35;margin:20px 0 25px}.reveal-contact{margin:20px 0}.contact-revealed .contact-address{display:block}.contact-revealed[hidden]{display:none}.text-link{text-decoration:underline;text-underline-offset:4px}
#intro{background:transparent;isolation:isolate}#intro .intro-backdrop{position:absolute;inset:0;background:#111113;z-index:0}.intro-frame{position:absolute;left:12px;top:12px;width:calc(100% - 24px);height:calc(100% - 24px);overflow:hidden;border-radius:var(--radius);isolation:isolate;z-index:1}.intro-frame .hero-image{z-index:0;pointer-events:none;will-change:transform}.cinema-shade{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;z-index:1}.intro-caption{z-index:2;pointer-events:none}.intro-caption p{font-size:clamp(36px,5vw,66px);line-height:1.1;letter-spacing:-.045em;margin:20px 0}.intro-caption>span:last-child{font-size:12px}#skip-intro{z-index:3}body.intro-active .hero-top,body.intro-active .hero-bottom{opacity:0}body.intro-docking .hero-top,body.intro-docking .hero-bottom{opacity:1;transition:opacity .55s ease .9s}body.intro-active .hero-card,body.intro-active .hero-card:hover{transform:none!important}body.intro-docking .card:not(.hero-card){animation:card-in .7s both;animation-delay:.75s}body.intro-docking .card:nth-child(3){animation-delay:.83s}body.intro-docking .card:nth-child(4){animation-delay:.91s}body.intro-docking .card:nth-child(5){animation-delay:.99s}body.intro-docking .card:nth-child(6){animation-delay:1.07s}
.motion-ready .scroll-reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.65,.25,1) var(--reveal-delay,0ms)}.motion-ready .scroll-reveal.is-revealed{opacity:1;transform:translate3d(0,0,0)}.career-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:45px;position:relative}.career-rail{position:sticky;top:30px;align-self:start;padding:25px 20px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,#2d2632,#1b1b20)}.career-current{font-size:19px;color:#e1d8e7;margin:24px 0 8px;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}.career-period{font-size:12px;color:var(--accent)}.career-steps{display:flex;flex-direction:column;gap:4px;margin:25px 0}.career-step{background:transparent;border:0;border-left:2px solid #4c4354;color:#b7afbf;padding:9px 0 9px 11px;text-align:left;font-size:11px;transition:color .3s,border-color .3s}.career-step[aria-current]{color:#f2e9fa;border-color:#c6b4d6}.career-rail>.quiet-button{font-size:11px}.timeline{padding-left:25px;--career-progress:0}.timeline:before,.timeline:after{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:#38313f;border-radius:2px}.timeline:after{background:linear-gradient(#b6a3c7,#e1d3ed);transform:scaleY(var(--career-progress));transform-origin:top;will-change:transform}.timeline article{position:relative;border:1px solid var(--border);border-radius:20px;margin:0 0 17px;padding:26px;display:block;background:#1b1b1f;transition:border-color .45s,background .45s,box-shadow .45s}.timeline article:before{content:"";position:absolute;width:10px;height:10px;border:2px solid #65556f;border-radius:50%;background:#17151b;left:-32px;top:34px;z-index:1;transition:background .4s,box-shadow .4s}.timeline article.is-current{border-color:#8f799e;background:#25212b;box-shadow:0 12px 50px #0002}.timeline article.is-current:before{background:#ccb8dc;box-shadow:0 0 0 5px #ae92c222,0 0 17px #ad8ac66b}.timeline .date{font-size:12px;margin:0 0 15px;color:#c6b5d0}.timeline h3{font-size:23px;margin:0 0 14px}.timeline p,.timeline ul{font-size:15px}.timeline .company{font-size:11px;letter-spacing:.05em;margin-bottom:8px}.certification-badge{display:inline-block;border:1px solid #6a5b75;background:#3c3146;border-radius:30px;padding:7px 12px;color:#e7d9f0;font-size:12px;margin-bottom:24px}.certification-panel{background:radial-gradient(ellipse at top right,#42334966,transparent 75%),#1c1c20;scroll-margin-top:35px}#formations{scroll-margin-top:35px}
.places-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}.place-card{border:1px solid var(--border);border-radius:25px;position:relative;display:block;text-align:left;min-height:335px;padding:0;background:var(--surface);isolation:isolate;transition:transform .45s,border-color .45s}.place-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.78);transition:transform .8s ease}.place-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#10101400 15%,#10101433 40%,#101014ee 100%)}.place-card:hover>img{transform:scale(1.035)}.place-card:hover{border-color:#887397}.place-lez,.place-marche-lez{grid-column:span 7}.place-charpak,.place-republique{grid-column:span 5}.place-odysseum,.place-bassin{grid-column:span 6}.place-label{position:absolute;bottom:25px;left:27px;right:27px}.place-label h2{font-size:29px;margin:12px 0}.place-label p{font-size:14px;color:#e2dce5;margin:0 45px 10px 0;max-width:390px}.place-label small{font-size:10px;color:#c3b8cb}.place-label .circle-arrow{position:absolute;bottom:0;right:0}.place-republique img{object-position:57% 50%}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 25px}.gallery-filters button{border:1px solid #51465d;border-radius:50px;padding:9px 17px;background:#201c25;color:#cfc5d7;font-size:12px}.gallery-filters button[aria-pressed=true]{background:#b7abc9;color:#17141b;border-color:#b7abc9}.expanded-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.expanded-gallery .gallery-photo:first-child{grid-column:span 2}.expanded-gallery .gallery-photo[hidden]{display:none}.expanded-gallery button img{height:285px}.expanded-gallery button span{font-size:16px;padding:17px 20px}.expanded-gallery button small{font-size:11px;line-height:1.5;margin-top:7px}.lightbox-navigation{display:flex;align-items:center;gap:20px;justify-content:center;margin:15px 0}.lightbox-navigation button{padding:8px 17px;min-height:40px}#photo-count{font-size:12px;color:var(--muted)}#lightbox-image{max-height:58vh}#lightbox-caption a{color:#d2bedf;text-decoration:underline}.gallery-photo img{filter:saturate(.88)}
@media(min-width:1500px){.hero-card{min-height:510px}}
@media(max-width:1000px){.career-layout{grid-template-columns:170px minmax(0,1fr);gap:28px}.career-rail{padding:22px 15px}.profile-card,.project-card{padding:24px}.hero-card{min-height:530px}.hero-bottom h2{font-size:36px}.intro-aside{max-width:225px}}
@media(max-width:760px){.header{height:85px}.header nav{font-size:14px}.intro-heading{padding:24px 0 30px;display:block}.intro-heading h1{font-size:clamp(34px,6vw,44px);margin-bottom:22px}.intro-aside{max-width:none;gap:18px}.intro-aside p{font-size:14px;max-width:260px}.quiet-button{font-size:11px}.hero-card{min-height:425px}.hero-bottom h2{font-size:36px}.hero-bottom p{font-size:14px}.profile-card,.project-card{min-height:265px}.profile-card h2,.project-card h2{font-size:24px}.profile-card p,.project-card p{font-size:14px}.image-card h2{font-size:26px}.contact-card h2{font-size:29px}.page-heading h1{font-size:38px}.page-heading p{font-size:15px}.panel h2{font-size:26px}.page-heading{padding:28px 0}.career-layout{grid-template-columns:1fr;gap:22px}.career-rail{position:static;padding:20px}.career-current{margin-top:15px;font-size:18px}.career-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 15px;margin:18px 0}.career-step{font-size:11px}.timeline article{padding:23px}.timeline h3{font-size:21px}.places-grid{gap:15px}.place-card{grid-column:span 6;min-height:320px}.place-label{left:21px;right:21px;bottom:22px}.place-label h2{font-size:25px}.place-label p{font-size:13px;margin-right:0}.place-label .circle-arrow{display:none}.expanded-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.expanded-gallery .gallery-photo:first-child{grid-column:span 2}.expanded-gallery button img{height:260px}.intro-caption p{font-size:44px}.bottom-note{font-size:11px}}
@media(max-width:480px){.intro-heading h1{font-size:35px;line-height:1.13}.intro-aside{display:block}.intro-aside p{max-width:290px;margin-bottom:15px}.quiet-button{font-size:12px}.hero-card{min-height:420px}.hero-bottom{left:23px;right:23px;bottom:25px}.hero-bottom h2{font-size:34px;line-height:1.12}.hero-bottom p{max-width:255px}.hero-top{left:23px;right:23px;gap:12px}.hero-top>.eyebrow{font-size:9px;max-width:82px;text-align:right}.chip{font-size:9px;letter-spacing:.07em;max-width:170px}.profile-card,.project-card{min-height:245px}.profile-card p,.project-card p{max-width:none}.contact-card h2{font-size:29px;max-width:260px}.contact-card>div{padding-top:27px}.image-card h2{font-size:27px}.page-heading h1{font-size:34px}.panel h2{font-size:25px}.section-lead h2{font-size:27px}.career-steps{grid-template-columns:1fr 1fr}.timeline{padding-left:20px}.timeline article{padding:22px 19px}.timeline article:before{left:-27px}.timeline h3{font-size:20px}.timeline p,.timeline ul{font-size:14px}.place-card{grid-column:1/-1;min-height:330px}.place-label h2{font-size:27px}.place-label p{max-width:260px}.place-label .circle-arrow{display:grid}.place-label small{max-width:240px;display:block}.expanded-gallery{grid-template-columns:1fr}.expanded-gallery .gallery-photo:first-child{grid-column:auto}.expanded-gallery button img{height:275px}.intro-caption p{font-size:36px}.intro-caption{bottom:22%;left:25px}.intro-caption .eyebrow{font-size:10px}.contact-address{font-size:24px}.footer{font-size:10px}.reveal-contact{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.motion-ready .scroll-reveal{opacity:1!important;transform:none!important;transition:none!important}.timeline:after{will-change:auto}.place-card:hover>img{transform:none}.hero-image,.intro-frame,.cinema-shade{will-change:auto}}

.profile-card{min-height:285px}.profile-portrait{position:absolute;right:0;top:0;width:46%;height:100%;object-fit:cover;object-position:58% 35%;z-index:0;mask-image:linear-gradient(to left,#000 60%,transparent 100%)}.profile-card>.profile-top,.profile-card>h2,.profile-card>p,.profile-card>.link-line{position:relative;z-index:1}.profile-card .profile-top{display:block;max-width:60%;margin-bottom:28px}.profile-card>h2,.profile-card>p{max-width:61%}.profile-card>.link-line{max-width:100%;margin-top:24px}.profile-card>.link-line .circle-arrow{background:#201b25;color:var(--text);border-color:#9a8ba6;flex-shrink:0}.profile-card:hover>.link-line .circle-arrow,.profile-card:focus-visible>.link-line .circle-arrow{background:var(--accent);color:#17141c;border-color:var(--accent);transform:rotate(45deg)}.cv-heading{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:55px;align-items:center;max-width:none}.cv-portrait{width:240px;height:270px;object-fit:cover;object-position:center;border-radius:25px;border:1px solid #54445e;box-shadow:0 20px 70px #0003}.cv-heading h1{max-width:700px}.cv-heading p{max-width:700px}@media(max-width:1000px){.cv-heading{grid-template-columns:minmax(0,1fr) 200px;gap:30px}.cv-portrait{width:200px;height:240px}.profile-portrait{width:43%}.profile-card>h2,.profile-card>p{max-width:65%}}@media(max-width:760px){.cv-heading{grid-template-columns:1fr 150px;gap:25px}.cv-portrait{width:150px;height:200px}.profile-card{min-height:285px}.profile-card .profile-top{max-width:100%;margin-bottom:20px}.profile-card>h2,.profile-card>p{max-width:72%}.profile-portrait{width:40%;opacity:.72}.profile-card>.link-line{font-size:12px}}@media(max-width:480px){.cv-heading{grid-template-columns:1fr;gap:22px}.cv-portrait{width:150px;height:165px;grid-row:1}.profile-card{min-height:265px}.profile-card .profile-top{margin-bottom:24px}.profile-portrait{width:44%;opacity:1}.profile-card>h2,.profile-card>p{max-width:62%}.profile-card>.link-line{font-size:12px;gap:12px}.profile-card>.link-line .circle-arrow{flex-shrink:0}}

.motion-toggle{font-size:10px;border:0;margin-left:auto;white-space:nowrap}.footer .motion-toggle:disabled{opacity:.8}body.motion-reduced *,body.motion-reduced *:before,body.motion-reduced *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.motion-reduced .scroll-reveal{opacity:1!important;transform:none!important}@media(max-width:760px){.motion-toggle{margin-left:0}.footer a:nth-last-child(2){margin-left:0}}
