.vx{background:var(--bg);color:var(--paper);overflow:clip}.vx-wrap{width:min(1240px,88%);margin:auto}.vx-back{display:inline-block;color:#95aab7;font-size:12px;padding:12px 0}.vx-wrap>.vx-back{margin-top:25px}.vx-hero{display:grid;grid-template-columns:1.6fr 1fr;align-items:center;position:relative;min-height:500px;padding:60px 0 70px;gap:30px}.vx-hero-copy{position:relative;z-index:2}.vx .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:25px}.vx-award{display:inline-flex;gap:10px;align-items:center;font-size:9px;letter-spacing:1.2px;color:#b4d6df;border:1px solid color-mix(in srgb, var(--cyan) 23.92%, transparent);border-radius:30px;padding:10px 15px;margin:0 0 25px}.vx-award>span{color:var(--cyan);font-size:16px}.vx h1{font-size:clamp(76px,12vw,170px);letter-spacing:-.075em;line-height:.95;font-weight:500;margin:0 0 25px}.vx-tagline{color:#b1c3cd;font-size:clamp(20px,2.5vw,32px);letter-spacing:-.03em;margin:0 0 35px}.vx-text-link{font-size:11px;display:inline-flex;gap:35px;border-bottom:1px solid color-mix(in srgb, var(--cyan) 40.00%, transparent);padding:10px 0}.vx-text-link span{color:var(--cyan)}.vx-emblem{height:360px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;color:#effcff;transform:translateY(var(--vx-y,0px))}.vx-emblem:before{content:'';position:absolute;inset:10% -10%;z-index:-1;background:radial-gradient(ellipse,#1796c33b,transparent 65%);filter:blur(20px)}.vx-emblem svg{width:80%;max-width:300px;filter:drop-shadow(0 15px 35px #33bdea40);transform:rotate(-9deg)}.vx-emblem>span{position:absolute;bottom:15px;font-size:8px;letter-spacing:3px;color:#7f9ba9}.vx-orbit{position:absolute;width:96%;height:38%;border:1px solid color-mix(in srgb, var(--cyan) 14.90%, transparent);border-radius:50%;bottom:5px;transform:rotate(-12deg)}.vx-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;padding:32px 0;gap:30px}.vx-facts p{margin:0;display:flex;gap:20px;align-items:center}.vx-facts strong{font-size:42px;font-weight:400;letter-spacing:-.06em;color:var(--cyan)}.vx-facts span{font-size:12px;color:#9eb1bd}.vx-context{padding:95px 0;display:grid;grid-template-columns:1fr 2fr;gap:60px;scroll-margin-top:110px}.vx-context h2{font-size:clamp(38px,4.6vw,66px);margin:0 0 30px;line-height:1.12}.vx-context h2 span{color:var(--cyan)}.vx-context>div>p{max-width:720px;font-size:20px;line-height:1.85;color:#adbec8;margin:0}.vx-chapter{display:grid;grid-template-columns:1fr 1fr;gap:40px 90px;padding:70px 0;border-top:1px solid #ffffff20;scroll-margin-top:110px}.vx-chapter h2{font-size:clamp(32px,3.7vw,50px);line-height:1.15;max-width:470px}.vx-chapter-body>p{font-size:15px;line-height:1.9;color:#9cafbb;margin:0 0 20px}.vx-chapter-body>.vx-intro{font-size:23px;color:var(--paper);line-height:1.55;letter-spacing:-.025em}.vx-chapter-body .pill{margin-top:15px;font-size:12px;padding:16px 23px}.vx-process{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:35px 0 5px}.vx-process span{font-size:clamp(20px,3vw,39px);letter-spacing:-.04em}.vx-process i{font-size:25px;color:var(--cyan);font-style:normal}.vx-brand-display{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;margin-top:20px;min-height:280px;background:radial-gradient(ellipse at 25% 40%,#14374766,transparent 70%);border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15}.vx-brand-display>div:first-child{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 30px}.vx-brand-display img{width:75%;max-width:340px;height:100px;object-fit:contain}.vx-brand-display p{font-size:12px;color:#8da3b0}.vx-colors{display:flex;gap:15px;align-items:center;padding:30px}.vx-colors>div{flex:1}.vx-colors i{display:block;height:100px;border-radius:50% 50% 3px 3px;border:1px solid #ffffff20}.vx-colors span{display:block;font-size:9px;color:#8da3b0;text-align:center;margin-top:14px}.vx-result{padding:85px 0;background:radial-gradient(ellipse at 85% 90%,#0e394f55,transparent 70%)}.vx-result h2{color:var(--cyan)}.vx-note{font-size:11px;color:#7d95a4;margin:20px 0 60px}.vx-footer-cta{padding:60px 0 80px;border-top:1px solid #ffffff20}.vx-footer-cta>a:not(.vx-back){font-size:clamp(30px,4vw,54px);letter-spacing:-.05em;display:block;margin-bottom:28px}.vx-footer-cta>a>span{color:var(--cyan)}.vx-section-image{grid-column:1/-1;border:0;background:none;padding:0;color:white;position:relative;cursor:zoom-in}.vx-section-image img{max-width:100%;max-height:550px;object-fit:contain;mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}.vx-section-image span{display:block;font-size:11px;padding:12px}.vx .dossier-enter{transition:opacity .8s,transform .8s}
@media(max-width:760px){.vx-hero{grid-template-columns:1fr;min-height:0;padding:40px 0}.vx h1{font-size:19vw}.vx-hero-copy{z-index:2}.vx-emblem{position:absolute;right:-14%;top:65px;width:50%;height:250px;opacity:.17;z-index:0}.vx-emblem>span{display:none}.vx-award{font-size:8px;letter-spacing:.5px;padding:8px 10px}.vx .eyebrow{font-size:9px}.vx-tagline{font-size:21px}.vx-facts{gap:15px;padding:25px 0}.vx-facts p{display:block}.vx-facts strong{display:block;font-size:35px}.vx-facts span{display:block;font-size:10px;line-height:1.5}.vx-context,.vx-chapter{grid-template-columns:1fr;gap:20px;padding:45px 0}.vx-context h2{font-size:39px}.vx-context>div>p{font-size:17px;line-height:1.85}.vx-chapter h2{font-size:34px;margin-bottom:0}.vx-chapter-body>.vx-intro{font-size:21px}.vx-process{gap:12px}.vx-process span{font-size:17px}.vx-process i{font-size:17px}.vx-brand-display{grid-template-columns:1fr}.vx-colors{padding:15px 25px 35px}.vx-colors i{height:80px}.vx-footer-cta{padding:40px 0 60px}.vx-note{margin-bottom:35px}}
@media(prefers-reduced-motion:reduce){.vx-emblem{transform:none!important}.vx .dossier-enter{transition:none;opacity:1;transform:none}}

[data-vx-parallax]{transform:translate3d(0,var(--parallax-y,0px),0);will-change:transform}
@media(max-width:760px),(prefers-reduced-motion:reduce){[data-vx-parallax]{transform:none!important;will-change:auto}}
/* En-tête commun, fidèle à la direction artistique de la maquette. */
.vx-hero{min-height:530px;grid-template-columns:1fr;padding:95px 0 65px;isolation:isolate;gap:0}.vx-hero-copy{width:78%;pointer-events:none}.vx-hero-copy a{pointer-events:auto}.vx-hero h1{font-weight:650;font-size:clamp(80px,12.6vw,175px);letter-spacing:-.075em;margin-bottom:9px}.vx-hero .eyebrow{color:#b7c6ce;letter-spacing:3px;font-size:9px;margin-bottom:30px}.vx-tagline{font-size:clamp(23px,3vw,39px);font-weight:300;margin-bottom:17px;line-height:1.25}.vx-categories{color:var(--cyan);font-size:9px;letter-spacing:3px;font-weight:600;line-height:1.8;margin:0}.vx-hero .vx-award{position:absolute;bottom:0;left:0;transform:translateY(55px);font-size:8px;padding:8px 12px;opacity:.8}.vx-emblem{position:absolute;right:-6.5%;top:-5%;width:62%;height:110%;z-index:0;opacity:1;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 24%,#000 88%,transparent)}.vx-emblem:before{display:none}.vx-emblem img{display:block;width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(transparent,#000 15%,#000 84%,transparent)}.vx-text-link{position:relative;display:flex;width:1px;height:78px;margin:15px 0 0 3px;background:color-mix(in srgb, var(--cyan) 50.20%, transparent);border:0;padding:0}.vx-text-link>span{display:flex;align-items:center;justify-content:center;position:absolute;bottom:-5px;left:-15px;width:31px;height:31px;border:1px solid var(--cyan);border-radius:50%;background:var(--bg);font-size:17px}.vx-facts{margin-top:30px}.vx-wrap>.vx-back{margin-top:15px;font-size:10px}.vx-hero-copy:has(.vx-award){padding-bottom:20px}
@media(max-width:760px){.vx-hero{padding:65px 0 55px;min-height:440px}.vx-hero h1{font-size:18vw}.vx-hero-copy{width:100%}.vx-tagline{font-size:25px;max-width:85%}.vx-categories{font-size:8px;letter-spacing:1.7px;max-width:85%}.vx-emblem{top:20px;right:-35%;width:110%;height:110%;opacity:.35}.vx-hero .vx-award{font-size:7px;transform:translateY(45px)}.vx-hero .eyebrow{font-size:8px;letter-spacing:2px}.vx-text-link{height:60px}.vx-facts{margin-top:15px}}

.vx-emblem--logo{width:36%;right:0;mask-image:none;background:radial-gradient(ellipse,#153c4f55,transparent 65%)}.vx-emblem--logo img{height:auto;max-height:180px;mask-image:none;width:88%}.vx-hero h1{overflow-wrap:anywhere}.vx-hero-copy{max-width:100%}
@media(max-width:760px){.vx-emblem--logo{right:-20%;width:75%;opacity:.12}.vx-emblem--logo img{max-height:140px}}

.vx-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:25px 0 15px;pointer-events:auto}.vx-hero-actions .pill{font-size:12px;padding:15px 23px;gap:27px}.vx-hero-actions .pill span{font-size:19px}.vx-hero:has(.vx-hero-actions){padding-bottom:95px}.vx-hero .vx-award{transform:translateY(60px)}
@media(max-width:760px){.vx-hero-actions{gap:10px;margin-top:22px}.vx-hero-actions .pill{font-size:11px;padding:13px 17px;gap:18px}.vx-hero:has(.vx-hero-actions){padding-bottom:75px}.vx-hero .vx-award{transform:translateY(53px)}}

/* Project section lead lines share the portfolio accent. */
.vx .vx-chapter-body>.vx-intro{color:var(--cyan,#66dcf5)}

/* Project disciplines: retain the shared navy/cyan identity. */
.categories,.vx-categories{display:flex;flex-wrap:wrap;gap:8px;letter-spacing:normal!important;line-height:1.4!important}
.project-skill-tag{display:inline-flex;align-items:center;max-width:100%;padding:7px 13px;border:1px solid rgba(102,220,245,.38);border-radius:100px;background:rgba(102,220,245,.065);color:var(--accent,#66dcf5);font-size:12px;font-weight:600;letter-spacing:.04em;overflow-wrap:anywhere}
@media(max-width:600px){.project-skill-tag{padding:6px 11px;font-size:11px}.categories,.vx-categories{gap:6px}}
