:root{--ink:#071014;--paper:#f4f2ed;--blue:#42c8ff;--muted:#91a0a6;--line:rgba(255,255,255,.13);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#10191d;font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit}.nav{position:fixed;z-index:20;top:0;left:0;right:0;height:72px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:rgba(3,9,12,.78);backdrop-filter:blur(14px);color:#fff;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:800;letter-spacing:.16em;font-size:15px;line-height:1}.brand small{display:block;font-size:7px;letter-spacing:.28em;margin-top:6px;color:#b8c4c9}.nav nav{display:flex;gap:26px}.nav nav a{text-decoration:none;font-size:13px;color:#d8e0e3}.menu{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{height:min(900px,100vh);min-height:680px;position:relative;color:#fff;display:grid;place-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('assets/hero.jpg') center/cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,7,10,.82),rgba(1,7,10,.3) 60%,rgba(1,7,10,.5)),linear-gradient(0deg,rgba(1,7,10,.8),transparent 55%)}.hero-inner{position:relative;width:min(var(--max),calc(100% - 48px));padding-top:55px}.hero-logo{display:block;width:min(760px,78vw);margin-left:-7%;mix-blend-mode:screen}.signature{font-size:clamp(20px,2.4vw,34px);margin:8px 0 10px;font-weight:600}.sub{color:#d4dde0;font-size:15px}.actions{display:flex;gap:12px;margin-top:28px}.btn{display:inline-block;padding:13px 18px;border:1px solid rgba(255,255,255,.4);color:#fff;text-decoration:none;background:rgba(0,0,0,.16);font:inherit;cursor:pointer}.btn.primary{background:#fff;color:#071014;border-color:#fff}.proofbar{background:#081115;color:#fff;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proofbar span{padding:24px;text-align:center;color:#aebbc0;font-size:13px;border-right:1px solid var(--line)}.proofbar b{display:block;color:#fff;font-size:16px}.section{padding:100px max(24px,calc((100vw - var(--max))/2))}.kicker{font-size:11px;letter-spacing:.24em;font-weight:800;color:#19769d;margin:0 0 15px}.kicker.light{color:#63cfff}h2{font-size:clamp(36px,5vw,68px);line-height:1.02;letter-spacing:-.045em;margin:0 0 28px}h3{font-size:24px;margin:8px 0}.showreel{background:#0a1216;color:#fff;padding-top:64px;padding-bottom:64px}.showreel-card{min-height:310px;border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at 70% 50%,rgba(40,184,244,.17),transparent 30%),#071014;display:flex;align-items:center;justify-content:space-between;padding:50px}.showreel-card h2{max-width:760px}.showreel-card p{color:#aab7bc}.coming{border:1px solid #4acaff;color:#4acaff;padding:16px 20px;letter-spacing:.2em;font-size:11px}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.portrait{min-height:590px;background:url('assets/portrait.jpg') center/cover}.about p{max-width:650px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.chips span{border:1px solid #cbd2d4;padding:8px 11px;font-size:12px}.dark{background:#071014;color:#fff}.section-title{display:grid;grid-template-columns:1fr minmax(260px,420px);column-gap:40px;margin-bottom:42px}.section-title .kicker,.section-title h2{grid-column:1}.section-title>p:last-child{grid-column:2;grid-row:1/3;color:#8fa0a6;align-self:end}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.grid .hero-film{grid-column:1/-1;display:grid;grid-template-columns:1.45fr 1fr}.film{background:#0d181d;border:1px solid rgba(255,255,255,.1)}.lightcard{background:#fff;border-color:#dfe3e4}.poster,.still{width:100%;aspect-ratio:16/9;border:0;background:linear-gradient(rgba(2,8,11,.15),rgba(2,8,11,.35)),var(--poster) center/cover;position:relative;display:grid;place-items:center;cursor:pointer}.poster span{width:64px;height:64px;border-radius:50%;background:rgba(0,0,0,.58);border:1px solid rgba(255,255,255,.65);color:#fff;display:grid;place-items:center;padding-left:4px;font-size:20px;transition:.2s}.poster:hover span{transform:scale(1.08);background:#fff;color:#071014}.filmcopy{padding:24px}.hero-film .filmcopy{display:flex;flex-direction:column;justify-content:center;padding:42px}.hero-film h3{font-size:38px}.tag{font-size:10px;letter-spacing:.17em;color:#50c7f8;font-weight:800}.credit{font-size:13px;color:#a8b6bb}.lightcard .credit{color:#526167}.honors{color:#d4e0e4}.collaborations .section-title>p:last-child{color:#5d6b70}.pub{background:#0c171c}.expert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.expert-grid article{height:280px;padding:24px;display:flex;align-items:end;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.08)),var(--poster) center/cover}.expert-grid h3{font-size:20px}.awards{background:#061014;color:#fff}.award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.award-grid article{padding:34px;border:1px solid rgba(255,255,255,.13);min-height:300px}.award-grid strong{font-size:64px;color:#55cbfa;line-height:1}.award-grid p{color:#aebbc0}.award-grid .bnf{background:radial-gradient(circle at 85% 20%,rgba(65,196,247,.16),transparent 38%)}.note{font-size:11px;color:#6f8188;margin-top:20px}.timeline{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #bfc7c9}.timeline div{padding:24px 20px 20px 0;border-right:1px solid #d4d9da}.timeline b,.timeline span{display:block}.timeline b{font-size:13px;margin-bottom:14px}.timeline span{font-size:13px;color:#556469}footer{background:#02080b;color:#fff;padding:90px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1.4fr 1fr;gap:60px}footer p{color:#9cabb0}.contact{display:flex;flex-direction:column;gap:12px;justify-content:center}.contact>a{font-size:18px;text-decoration:none}.legal{display:flex;gap:18px;margin-top:24px;font-size:12px;color:#819198}.consent,.modal{position:fixed;z-index:50;inset:0;background:rgba(0,0,0,.88);display:none;place-items:center;padding:24px}.consent.show,.modal.show{display:grid}.consent>div{max-width:540px;background:#0b171c;color:#fff;padding:34px;border:1px solid #334249}.consent p{color:#a8b5ba}.video-wrap{width:min(1100px,94vw);aspect-ratio:16/9}.video-wrap iframe{width:100%;height:100%;border:0}.close{position:absolute;top:24px;right:30px;color:#fff;background:none;border:0;font-size:42px;cursor:pointer}@media(max-width:850px){.nav nav{display:none;position:absolute;top:72px;left:0;right:0;background:#071014;padding:22px;flex-direction:column}.nav nav.open{display:flex}.menu{display:block}.hero-logo{width:100%;margin-left:0}.proofbar{grid-template-columns:1fr 1fr}.about,.section-title,.grid .hero-film,footer{grid-template-columns:1fr}.section-title>p:last-child{grid-column:1;grid-row:auto}.grid,.expert-grid,.award-grid{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr}.timeline div{border-right:0;border-bottom:1px solid #d4d9da}.portrait{min-height:460px}.showreel-card{padding:28px;align-items:flex-start;flex-direction:column}.section{padding-top:72px;padding-bottom:72px}}@media(max-width:560px){.grid,.expert-grid,.award-grid,.proofbar{grid-template-columns:1fr}.proofbar span{border-bottom:1px solid var(--line)}.hero{min-height:720px}.signature{font-size:22px}.actions{flex-direction:column;align-items:flex-start}.section{padding-left:18px;padding-right:18px}.expert-grid article{height:230px}}
/* V3 — corrections ciblées sur la première V2 */
body{font-family:Pier,Arial,Helvetica,sans-serif}
.external-poster{text-decoration:none}
.collab-extra{background:#eef0ed}.collab-card{display:grid;grid-template-columns:.75fr 1.25fr;max-width:980px;border:1px solid #d8ddde;background:#fff}.collab-mark{min-height:330px;background:radial-gradient(circle at 60% 35%,rgba(66,200,255,.22),transparent 35%),#071014;color:#fff;display:grid;place-items:center;text-align:center;font-size:34px;font-weight:800;letter-spacing:.13em;line-height:1.05}.collab-mark small{font-size:11px;letter-spacing:.28em;color:#75d7ff}.collab-card>div:last-child{padding:42px;align-self:center}.btn-dark{border:1px solid #172328;background:#071014;color:#fff;padding:12px 16px;cursor:pointer;font:inherit}.career-intro{max-width:720px;color:#556469;margin-top:-10px;margin-bottom:36px}.career-visuals{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin:0 0 56px}.career-visuals img{width:100%;height:420px;object-fit:cover;display:block}.career-visuals img:first-child{object-position:center}.career-visuals img:last-child{object-position:center}
@media(max-width:850px){.collab-card,.career-visuals{grid-template-columns:1fr}.career-visuals img{height:auto}.collab-mark{min-height:240px}}
/* V4 — corrections ciblées sur la V2 validée */
.title-poster{background:radial-gradient(circle at 50% 35%,rgba(66,200,255,.16),transparent 32%),linear-gradient(135deg,#0d1a20,#03090c);display:flex;flex-direction:column;gap:18px;color:#fff}.title-poster>b{font-size:clamp(18px,2.4vw,32px);letter-spacing:.13em;line-height:1.15;text-align:center}.career-visuals{align-items:start}.career-visuals img:first-child{height:auto;object-fit:contain;object-position:center top}.photogrammetry-dev{background:#e9eceb}.photogrammetry-dev .section-title{margin-bottom:28px}.photo-dev-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:12px}.photo-dev-grid img{width:100%;height:100%;object-fit:cover;display:block}.photo-dev-grid .photo-dev-main{grid-row:1/3;grid-column:1}.photo-dev-label{margin:18px 0 0;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#526167}@media(max-width:850px){.photo-dev-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.photo-dev-grid img,.photo-dev-grid .photo-dev-main{height:auto;grid-column:auto;grid-row:auto}.photo-dev-grid .photo-dev-main{grid-column:1/-1}}

.blue-sadness-image{background:linear-gradient(rgba(2,8,11,.08),rgba(2,8,11,.22)),url('assets/blue-sadness.png') center/cover no-repeat;position:relative}.collab-play{width:64px;height:64px;border-radius:50%;background:rgba(0,0,0,.58);border:1px solid rgba(255,255,255,.65);color:#fff;display:grid;place-items:center;padding-left:4px;font-size:20px}
/* Références clients — logos originaux, proportions préservées */
.clients{background:#f4f2ed}.clients-head{max-width:760px;margin-bottom:42px}.clients-head>p:last-child{color:#607076;margin-top:-10px}.clients-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.client-logo{height:150px;background:#fff;border:1px solid #dce1e2;padding:24px;display:flex;align-items:center;justify-content:center;overflow:hidden}.client-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center}.client-logo:nth-child(4){background:#050505}.client-logo:nth-child(4) img{max-width:88%;max-height:78%}@media(max-width:900px){.clients-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.clients-grid{grid-template-columns:repeat(2,1fr)}.client-logo{height:120px;padding:18px}}

/* V5 — détails ciblés. Aucun changement des couleurs, des photos ni des grilles existantes. */
.showreel .coming.watch{background:transparent;cursor:pointer;font-family:inherit;white-space:nowrap}
.showreel .coming.watch:hover,.showreel .coming.watch:focus-visible{background:rgba(74,202,255,.12)}
.cannes-laurels{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-top:20px}
.cannes-laurels img{display:block;width:calc(50% - 6px);max-width:160px;height:auto;background:#fff;object-fit:contain;border:1px solid rgba(255,255,255,.2)}
.spot-laurel{display:block;width:100%;max-width:325px;height:auto;object-fit:contain;background:#fff;margin-top:20px;border:1px solid rgba(255,255,255,.2)}
@media(max-width:560px){.showreel .coming.watch{white-space:normal}}

/* V5 — photo officielle de remise du Gold Award, insertion discrète ; autres styles inchangés. */
.cannes-photo{max-width:370px;margin:26px 0 0}
.cannes-photo img{display:block;width:100%;height:auto;border:1px solid rgba(255,255,255,.13)}
.cannes-photo figcaption{margin-top:8px;color:#93a4aa;font-size:11px;line-height:1.4}

/* Portrait n°2, photo réelle en bord de mer : préserver le visage dans le cadrage existant. */
.about .portrait{background-position:center 22%}

/* V6: compact FR / EN language switch. */
.language-switch{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;color:inherit;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.04em;padding:8px 3px;white-space:nowrap}.language-track{display:block;width:30px;height:17px;border:1px solid currentColor;border-radius:20px;padding:2px}.language-track>span{display:block;width:11px;height:11px;border-radius:50%;background:currentColor;transition:transform .15s}.is-en .language-track>span{transform:translateX(13px)}.language-switch:focus-visible{outline:2px solid #42c8ff;outline-offset:4px}.legal-language{display:flex;justify-content:flex-end;max-width:900px;margin:20px auto 0;padding:0 24px}@media(max-width:900px){.nav{gap:12px}.nav nav{gap:14px}.language-switch{font-size:10px}}@media(max-width:760px){.nav .brand{margin-right:auto}.nav .language-switch{order:1}.nav .menu{order:2}}

/* V6.3 — compact feature text and matching image areas. */
.grid .hero-film{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;height:auto;overflow:hidden}
.grid .hero-film>.poster{min-width:0;width:100%;height:auto;aspect-ratio:16/9;align-self:center;margin:0}
.hero-film .filmcopy{min-width:0;padding:24px 28px;justify-content:center}
.hero-film .tag{font-size:9px;line-height:1.5;margin:0 0 10px}
.hero-film h3{font-size:clamp(24px,2.3vw,30px);line-height:1.15;letter-spacing:-.025em;margin:0 0 12px}
.hero-film .filmcopy>p:not(.tag):not(.credit){font-size:13px;line-height:1.5;margin:0 0 16px}
.hero-film .filmcopy .credit{font-size:11px;line-height:1.55;margin:14px 0 0}
.film-awards{padding:14px 0 0;border-top:1px solid var(--line);font-size:12px;line-height:1.5}
.film-awards-intro{margin:0 0 12px}
.film-awards .film-awards-heading{font-size:13px;font-weight:700;line-height:1.45;color:#fff;margin:0 0 4px}
.film-awards .film-awards-title{font-size:12px;color:#aebbc0;margin:0}
.film-awards-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.film-awards .film-award{margin:0;padding-left:10px;border-left:2px solid #c7ad75;font-size:12px;line-height:1.45}
.film-awards .film-award.silver{border-left-color:#a8b6bb}
.film-award b{color:#fff;margin-right:5px}.film-award span{color:#c1cdd1}
.film-awards .film-finalist{font-size:11px;color:#91a0a6;margin:12px 0 0;line-height:1.45}
.films .poster-armendu,.films .poster-kerbi{width:100%;height:auto;aspect-ratio:16/9;min-width:0;background-repeat:no-repeat}
/* Fill the same frame despite the baked-in letterboxing in Kerbi's source. */
.films .poster-kerbi{background-size:100% 100%,134% auto;background-position:center,center}
@media(max-width:900px){.grid .hero-film{grid-template-columns:minmax(0,1fr)}.grid .hero-film>.poster{align-self:start}.hero-film .filmcopy{padding:24px}.hero-film h3{font-size:28px}.film-awards .film-award{font-size:13px}.film-awards .film-awards-heading{font-size:14px}}
