@font-face{font-family:Manrope;src:url('../fonts/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('../fonts/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('../fonts/manrope-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--paper:#f3f0e8;--ink:#20211f;--soft:#dedbd2;--muted:#62635e;--line:#c9c7bf;--white:#fbf9f3;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ac6736;outline-offset:5px}img{display:block;max-width:100%;height:auto}svg{display:block}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.08;letter-spacing:-.055em}h1{font-size:clamp(42px,6.6vw,100px)}h2{font-size:clamp(32px,4.4vw,66px)}h3{font-size:clamp(24px,2.2vw,34px)}p+p{margin-top:1em}.wrap{width:min(calc(100% - 100px),var(--max));margin:auto}.skip{position:absolute;left:16px;top:-100px;padding:12px;background:var(--paper);z-index:100}.skip:focus{top:10px}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.nav{height:96px;display:flex;align-items:center;gap:30px}.brand{width:128px;flex-shrink:0}.brand svg{width:100%;height:auto}.nav-links{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:13px;font-weight:600}.nav-links a:not(.button){padding:12px 0;border-bottom:1px solid transparent}.nav-links a:hover,.nav-links a[aria-current=page]{border-color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 23px;border:1px solid currentColor;border-radius:2px;font-size:13px;font-weight:600;line-height:1.4;background:transparent;transition:background .2s,color .2s}.button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.button.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.button.solid:hover{background:#3c3d38}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.light:hover{background:var(--soft)}.arrow{font-size:22px;line-height:1}.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);padding:9px 14px}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:600;text-transform:uppercase;line-height:1.8}.hero{position:relative;min-height:710px;background:var(--ink);color:var(--white);overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,11,.8),rgba(8,12,11,.38) 52%,rgba(8,12,11,.12)),linear-gradient(0deg,rgba(8,12,11,.8),transparent 45%)}.hero-content{position:relative;z-index:1;padding:74px 0 112px;width:100%}.hero h1{max-width:950px;margin:30px 0 30px;font-weight:600;font-size:clamp(48px,7.9vw,116px);line-height:.99;letter-spacing:-.065em}.hero p.lead{max-width:460px;font-size:16px;color:#e8e6df}.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.hero-actions .button:not(.light):hover{background:var(--paper);color:var(--ink)}.hero-caption{position:absolute;bottom:30px;right:50px;left:50px;z-index:2;display:flex;justify-content:space-between;align-items:end;font-size:11px;gap:20px}.hero-caption span{display:block}.hero-caption a{display:flex;gap:18px;align-items:center}.play-circle{border:1px solid #fff9;border-radius:50%;width:46px;height:46px;display:grid!important;place-items:center;font-size:13px}.intro-strip{display:grid;grid-template-columns:1fr 1.8fr;gap:70px;padding-top:80px;padding-bottom:80px;border-bottom:1px solid var(--line)}.intro-strip p{font-size:clamp(24px,2.6vw,38px);line-height:1.4;letter-spacing:-.035em}.section{padding:95px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-head .eyebrow{margin-bottom:18px}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:13px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:8px}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 28px}.project-card .frame{overflow:hidden;background:#171816;position:relative;aspect-ratio:16/9}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card:hover img{transform:scale(1.025)}.project-card .frame:after{content:"↗";position:absolute;right:15px;bottom:15px;width:39px;height:39px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center}.project-meta{display:flex;justify-content:space-between;gap:22px;margin-top:18px}.project-meta h3{font-size:20px;letter-spacing:-.035em;line-height:1.3}.project-meta p{font-size:10px;text-transform:uppercase;letter-spacing:.1em;max-width:160px;text-align:right;flex-shrink:0;padding-top:4px}.two-worlds{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.world{padding:65px 55px;display:flex;flex-direction:column;align-items:start;gap:25px}.world+.world{border-left:1px solid var(--line);background:#e9e5db}.world p{max-width:460px;color:var(--muted)}.world h2{font-size:clamp(38px,4vw,58px)}.world .text-link{margin-top:auto}.dark{background:var(--ink);color:var(--paper)}.dark .text-link{border-color:var(--paper)}.portrait-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.portrait-grid>img{width:100%;max-height:650px;object-fit:cover}.portrait-grid h2{margin:24px 0 30px}.portrait-grid p{color:#c5c6bd;max-width:510px}.portrait-grid .text-link{margin-top:30px}.service-list{margin-top:40px;border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:60px 1fr 1fr 28px;gap:20px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.service-row .num{font-size:11px;color:var(--muted)}.service-row h3{font-size:27px}.service-row p{font-size:14px;color:var(--muted)}.service-row:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.cta-band{border-top:1px solid var(--line);padding:85px 0}.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:45px}.cta-band h2{max-width:800px}.cta-band .eyebrow{margin-bottom:20px}.footer{background:var(--ink);color:var(--paper);padding:65px 0 25px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px;margin-bottom:70px}.footer .eyebrow{color:#a8aaa0;margin-bottom:18px}.footer a{display:block;width:fit-content;font-size:13px;margin:8px 0}.footer a:hover{text-decoration:underline}.footer p{font-size:13px;max-width:240px;color:#c4c5bc}.footer .footer-logo{width:100%;height:auto;max-height:280px;margin:0 auto 40px}.footer-bottom{border-top:1px solid #4a4c44;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#b4b6ad}.footer-bottom a{font-size:10px;display:inline;margin:0 0 0 15px}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted);padding:28px 0}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.page-intro{padding:45px 0 75px}.page-intro h1{max-width:1100px;margin:24px 0 32px}.page-intro .lead{font-size:19px;max-width:750px;line-height:1.65;color:var(--muted)}.page-intro .button{margin-top:30px}.wide-image{width:100%;aspect-ratio:2.5/1;object-fit:cover;background:var(--ink)}.editorial-grid{display:grid;grid-template-columns:280px 1fr;gap:100px}.editorial-aside{font-size:13px;color:var(--muted)}.editorial-aside .eyebrow{margin-bottom:20px;color:var(--ink)}.editorial-aside a{display:block;margin:10px 0;text-decoration:underline;text-underline-offset:3px}.article-body{max-width:780px}.article-body h2{font-size:32px;letter-spacing:-.04em;margin:0 0 22px}.article-body section+section{margin-top:45px}.article-body p{color:#53564f;font-size:17px;line-height:1.85}.article-body a{text-decoration:underline;text-underline-offset:4px}.faq{border-top:1px solid var(--line);padding:85px 0}.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.faq h2{font-size:44px}.faq details{padding:20px 0;border-bottom:1px solid var(--line)}.faq summary{font-size:17px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:"+";font-size:22px}.faq details[open] summary:after{content:"−"}.faq details p{margin:15px 28px 0 0;color:var(--muted);font-size:15px}.wedding-intro{padding:85px 0 110px;text-align:center;background:#e9e4d8}.wedding-intro h1{max-width:1050px;margin:30px auto;font-size:clamp(48px,6.6vw,94px)}.wedding-intro .lead{margin:0 auto;max-width:650px;font-size:18px;color:#5e5e55}.wedding-intro .button{margin-top:35px}.wedding-signature{margin:45px auto 0;width:90px;border-top:1px solid #777970;padding-top:20px;font-size:11px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px}.filters button{border:1px solid var(--line);border-radius:0;background:transparent;padding:11px 18px;font-size:12px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}[hidden]{display:none!important}.filter-count{font-size:12px;color:var(--muted);margin-bottom:25px}.project-hero{position:relative;background:#111}.project-hero img{width:100%;max-height:680px;object-fit:contain}.project-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.project-play .button{background:var(--paper);box-shadow:0 3px 30px #0004}.project-info{display:grid;grid-template-columns:1fr 2fr;gap:100px}.facts{margin:0}.facts div{border-top:1px solid var(--line);padding:17px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:20px;font-size:13px}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600}.project-info h2{font-size:35px;margin-bottom:25px}.project-info p{color:var(--muted)}.project-info .text-link{margin-top:28px}.journal-list{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.journal-item{border-top:1px solid var(--ink);padding:25px 0}.journal-item .eyebrow{margin-bottom:25px}.journal-item h3{font-size:29px;line-height:1.2;margin-bottom:20px}.journal-item p{font-size:14px;color:var(--muted);margin-bottom:25px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;padding-bottom:90px}.contact-intro h1{font-size:clamp(48px,5.5vw,78px);margin:20px 0 30px}.contact-intro p{max-width:400px;color:var(--muted)}.contact-intro .email{display:block;font-size:24px;letter-spacing:-.04em;margin:35px 0 15px;text-decoration:underline;text-underline-offset:6px}.contact-form{display:grid;gap:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{font-size:12px;font-weight:600;display:block}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;background:transparent;border:1px solid #b8bab0;color:var(--ink);padding:14px;margin-top:8px;border-radius:0}.contact-form textarea{resize:vertical;min-height:150px}.form-note{font-size:12px!important;color:var(--muted)}.form-note a{text-decoration:underline}.contact-form .button{justify-self:start}.brief-result{border:1px solid var(--line);padding:20px}.brief-result textarea{font-size:13px;height:240px}.inline-note{border-left:2px solid var(--line);padding-left:20px;color:var(--muted);font-size:13px;margin:30px 0}.gear-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.gear-grid article{border-top:1px solid var(--ink);padding-top:25px}.gear-grid h2{font-size:30px;margin-bottom:20px}.gear-grid p{font-size:15px;color:var(--muted)}.sitemap-list{columns:3;column-gap:35px}.sitemap-list a{display:block;padding:8px 0;font-size:14px}.sitemap-list a:hover{text-decoration:underline}
@media(min-width:1600px){.hero{min-height:800px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.nav-links{gap:20px}.nav{gap:20px}.hero-caption{left:28px;right:28px}.portrait-grid{gap:45px}.editorial-grid{grid-template-columns:220px 1fr;gap:45px}.contact-grid{gap:45px}.world{padding:50px 35px}.footer-top{grid-template-columns:1.2fr 1fr 1fr}.footer-top>div:last-child{grid-column:2}.nav-links .button{padding:12px 16px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav{height:78px;flex-wrap:wrap;position:relative}.brand{width:105px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:-20px;right:-20px;top:78px;background:var(--paper);padding:20px;z-index:20;border-bottom:1px solid var(--line)}.nav-links.open{display:flex;flex-direction:column;align-items:stretch;gap:5px}.nav-links a{padding:14px!important}.hero{min-height:690px}.hero-content{padding:75px 0 135px}.hero h1{font-size:57px}.hero-image{object-position:60% 50%}.hero:after{background:linear-gradient(90deg,#0b1210d9,#0b121057),linear-gradient(0deg,#0b1210e0,transparent 60%)}.hero-caption{left:20px;right:20px;bottom:25px}.hero-caption>span{max-width:160px}.hero-caption a{gap:10px}.hero-actions{gap:12px}.hero-actions .button{padding:13px 16px;gap:16px}.intro-strip{grid-template-columns:1fr;gap:25px;padding:50px 0}.section{padding:60px 0}.section-head{align-items:start;flex-direction:column;gap:25px;margin-bottom:30px}.projects-grid{grid-template-columns:1fr;gap:35px}.project-meta h3{font-size:19px}.project-meta p{font-size:9px;max-width:120px}.two-worlds{grid-template-columns:1fr}.world{padding:45px 22px}.world+.world{border-left:0;border-top:1px solid var(--line)}.portrait-grid{grid-template-columns:1fr;gap:40px}.portrait-grid>img{max-height:510px;object-position:center 40%}.service-row{grid-template-columns:32px 1fr 20px;gap:10px}.service-row h3{font-size:24px}.service-row p{display:none}.service-row .arrow{grid-column:3}.cta-band{padding:55px 0}.cta-band .wrap{align-items:start;flex-direction:column;gap:30px}.footer{padding-top:50px}.footer-top{grid-template-columns:1fr 1fr;gap:35px 25px;margin-bottom:45px}.footer-top>div:last-child{grid-column:auto}.footer-logo{margin-bottom:30px!important}.footer-bottom{flex-direction:column;gap:10px}.footer-bottom a{margin:0 13px 0 0}.page-intro{padding:25px 0 50px}.page-intro h1{font-size:46px}.page-intro .lead{font-size:17px}.editorial-grid{grid-template-columns:1fr;gap:35px}.editorial-aside{border-bottom:1px solid var(--line);padding-bottom:25px}.editorial-aside a{display:inline-block;margin-right:20px}.article-body h2{font-size:29px}.article-body p{font-size:16px}.wide-image{aspect-ratio:16/10}.faq{padding:55px 0}.faq-grid{grid-template-columns:1fr;gap:25px}.faq h2{font-size:36px}.wedding-intro{padding:65px 0 75px}.wedding-intro h1{font-size:49px}.wedding-intro .lead{font-size:16px}.project-info{grid-template-columns:1fr;gap:35px}.project-play .button{font-size:12px}.journal-list{grid-template-columns:1fr;gap:15px}.contact-grid{grid-template-columns:1fr;gap:50px;padding-bottom:60px}.contact-intro h1{font-size:52px}.field-row{grid-template-columns:1fr}.gear-grid{grid-template-columns:1fr}.sitemap-list{columns:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Embedded films keep the visitor on the project page. */
.video-frame{position:relative;aspect-ratio:16/9;background:#101110;width:100%;overflow:hidden}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.project-hero>.form-note{position:static;color:var(--ink,#20211f);padding:12px 0}
.language-switch{font-size:12px;letter-spacing:.08em;border:1px solid currentColor;padding:8px 10px;white-space:nowrap}
.nav-links{gap:clamp(10px,1.6vw,28px)}
@media(min-width:901px) and (max-width:1100px){.nav-links .button{font-size:11px;padding:14px}.nav-links{gap:12px}.brand{max-width:110px}}

/* ===== corrections 28/10/2026 ===== */
.hero .hero-content.wrap{width:min(calc(100% - 100px),var(--max));margin-inline:auto}
@media(max-width:1100px){.hero .hero-content.wrap{width:calc(100% - 56px)}}
@media(max-width:760px){.hero .hero-content.wrap{width:calc(100% - 40px)}}
.nav-links a.language-switch{padding:9px 11px;min-width:44px;text-align:center;border-bottom-width:1px}
.hero-slide{opacity:0;animation:heroFade 25s infinite;z-index:0}
.hero>.hero-image:first-of-type{z-index:0}
@keyframes heroFade{0%{opacity:0;transform:scale(1.04)}4%{opacity:1}20%{opacity:1}24%{opacity:0;transform:scale(1)}100%{opacity:0}}
.hero:after{z-index:0}.hero-content,.hero-caption{z-index:2}
@media(prefers-reduced-motion:reduce){.hero-slide{display:none}}
.music-band{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;border-top:1px solid var(--line)}
.music-band h2{margin-top:18px}.music-band p{color:var(--muted);max-width:520px;margin-bottom:28px}
@media(max-width:760px){.music-band{grid-template-columns:1fr;gap:25px}}
.section>h2+.gear-grid{margin-top:40px}
.africa-band{position:relative;overflow:hidden;background:var(--ink);color:var(--white);padding:120px 0}
.africa-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.africa-band .wrap{position:relative;max-width:var(--max)}.africa-band h2{margin:22px 0 24px;max-width:760px}.africa-band p{max-width:520px;color:#e8e6df;margin-bottom:30px}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.offer-grid article{border-top:1px solid var(--ink);padding-top:22px}
.offer-grid h3{margin:22px 0 12px;font-size:28px}.offer-grid p{color:var(--muted);font-size:15px}
.slot{aspect-ratio:16/9;border:1px dashed #a39f93;background:repeating-linear-gradient(135deg,#ebe7dd 0 14px,#e4e0d5 14px 28px);display:grid;place-items:center;text-align:center;padding:16px}
.slot span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6c6a62;line-height:1.7}
.project-card .frame.slot:after{display:none}
@media(max-width:760px){.offer-grid{grid-template-columns:1fr}}
.todo-note{margin-top:16px!important;border:1px dashed #b08a2e;background:#fbf2d9;padding:12px 14px;font-size:13px!important;color:#6b5414!important;line-height:1.6!important}
.project-hero{background:transparent!important}.project-hero .video-fallback{position:static;color:var(--ink);font-size:14px!important;padding:14px 0 0}
.video-fallback a{text-decoration:underline;text-underline-offset:3px;font-weight:600}
.clocks{display:flex;flex-direction:column;gap:6px;font-variant-numeric:tabular-nums}

/* ===== design pass 31/10/2026 : accent ocre, pages films en noir, titres condensés, showreel ===== */
:root{--accent:#D9A21B;--on-accent:#151513}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:var(--accent)}
h1{font-family:'Archivo',Manrope,Arial,sans-serif;font-stretch:72%;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:.93;text-wrap:balance}
.hero h1{font-size:clamp(54px,8.6vw,132px);letter-spacing:-.005em;line-height:.9}
.page-intro h1,.contact-intro h1,.wedding-intro h1{line-height:.95}
.cta-band h2{font-family:'Archivo',Manrope,Arial,sans-serif;font-stretch:72%;font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:.95}
h1 mark{background:linear-gradient(transparent 58%,var(--accent) 58%,var(--accent) 90%,transparent 90%);color:inherit;padding:0 .04em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero h1 mark{background:linear-gradient(transparent 62%,rgba(217,162,27,.85) 62%,rgba(217,162,27,.85) 90%,transparent 90%)}
.button.solid{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.button.solid:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.hero .button.solid:hover{background:var(--white);border-color:var(--white);color:var(--on-accent)}
.nav-links a:not(.button):hover,.nav-links a[aria-current=page]{border-color:var(--accent);border-bottom-width:2px}
.text-link{border-bottom:2px solid var(--accent)}
.filters button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.hero-video{object-fit:cover}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}
.reel-dialog{width:min(1200px,94vw);max-width:94vw;padding:0;border:0;background:#0b0b0a;color:#eeebe3}
.reel-dialog::backdrop{background:rgba(5,5,4,.88)}
.reel-top{display:flex;justify-content:space-between;align-items:center;padding:10px 14px}
.reel-close{background:none;border:1px solid #eeebe3;color:#eeebe3;min-height:40px;padding:0 14px;font:600 13px Manrope,sans-serif}
.reel-dialog video{display:block;width:100%;aspect-ratio:16/9;background:#000}
/* pages films : salle de projection */
.theme-dark{--paper:#111110;--ink:#EEEBE3;--muted:#9C998F;--line:#2F2F2B;--soft:#262623;--white:#FBF9F3;background:#111110;color:#EEEBE3}
.theme-dark .site-header{background:#111110}
.theme-dark .article-body p,.theme-dark .project-info p{color:#BDBAB1}
.theme-dark .footer{background:#0A0A09;color:#EEEBE3}
.theme-dark .project-card .frame{background:#1b1b19}
.theme-dark .button:not(.solid):hover{background:#EEEBE3;color:#111110}
.theme-dark .nav-links.open{background:#111110}
.theme-dark .todo-note{background:#2a2414;border-color:#8a6a1c;color:#E9D49A!important}
.theme-dark .video-fallback{color:#EEEBE3}
.theme-dark .filters button{color:#EEEBE3}
