:root{--bg:#090a0d;--fg:#f4f2ef;--muted:#aaaab4;--accent:#d0b39a;--line:#33343a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,'Helvetica Neue',Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{max-width:1250px;margin:auto;padding:0 32px}header{position:sticky;top:0;z-index:5;background:#090a0de8;backdrop-filter:blur(18px);border-bottom:1px solid #25262a}.nav{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:24px}.logo{font-size:18px;font-weight:800;letter-spacing:.18em}.logo span{display:block;font-size:10px;font-weight:500;letter-spacing:.33em;color:var(--accent);margin-top:5px}nav{display:flex;gap:24px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}nav a:hover{color:var(--accent)}.button{display:inline-block;border:1px solid #bbb;padding:13px 21px;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.button.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.hero{min-height:690px;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(ellipse 65% 70% at 80% 40%,#3c2a30 0%,transparent 70%),linear-gradient(130deg,#15151d,#090a0d 70%)}.hero:before{content:'';position:absolute;inset:8% 7% 8% 50%;border:1px solid #ffffff25;transform:skew(-12deg);background:linear-gradient(140deg,#dfc7a112,#343b511a,#0000)}.hero .wrap{position:relative;width:100%}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.24em;color:var(--accent);text-transform:uppercase}h1{font-size:clamp(54px,8vw,118px);font-weight:500;letter-spacing:-.07em;line-height:.98;max-width:1000px;margin:27px 0}h1 em{font-family:Georgia,serif;font-weight:400}.lead{font-size:clamp(18px,2vw,23px);line-height:1.5;color:#cccbd0;max-width:640px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:37px}.smallnote{font-size:12px;color:var(--muted);margin-top:34px}.section{padding:105px 0;border-top:1px solid var(--line)}.section-title{font-weight:500;font-size:clamp(34px,5vw,62px);letter-spacing:-.045em;margin:15px 0 26px}.intro{max-width:720px;color:#b9b9c2;font-size:19px;line-height:1.65}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:44px}.film{min-height:325px;background:linear-gradient(145deg,#493536,#141a24);border:1px solid #36333a;display:flex;align-items:end;padding:24px;position:relative;overflow:hidden}.film:nth-child(2){background:linear-gradient(145deg,#403c31,#151a1b)}.film:nth-child(3){background:linear-gradient(145deg,#363b48,#15131c)}.film:after{content:'▶';position:absolute;top:45%;left:48%;color:#ffffff80;font-size:30px}.film strong{display:block;font-size:22px}.film small{display:block;color:#c2c1c6;margin-top:7px}.film .placeholder{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}.servicegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:35px}.service{padding:36px;border:1px solid var(--line);min-height:195px}.service h3{font-size:25px;font-weight:500;margin:8px 0 14px}.service p{color:var(--muted);line-height:1.6;margin:0}.statement{padding:110px 0;background:#141319}.statement blockquote{font-family:Georgia,serif;font-size:clamp(30px,5vw,64px);max-width:1050px;line-height:1.2;margin:0}.statement p{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:12px;margin-top:30px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}.step{border-top:1px solid #69636a;padding-top:22px}.step span{color:var(--accent);font-size:12px}.step h3{font-size:23px;font-weight:500}.step p{color:var(--muted);line-height:1.6}.contact{background:linear-gradient(120deg,#251c25,#0b0c10);text-align:center}.contact p{color:var(--muted)}.contact .button{margin-top:18px}footer{padding:35px 0;color:#9999a2;border-top:1px solid var(--line);font-size:12px}.footerflex{display:flex;justify-content:space-between;gap:20px}.disclaimer{font-size:12px;color:#999;line-height:1.5;max-width:720px;margin-top:25px}@media(max-width:800px){nav{display:none}.grid,.steps{grid-template-columns:1fr}.servicegrid{grid-template-columns:1fr}.hero{min-height:660px}.hero:before{inset:25% -45% 2% 30%}.section{padding:72px 0}.footerflex{display:block}.wrap{padding:0 22px}}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.button{transition:background .2s,color .2s}.button:hover{background:var(--accent);color:#090a0d;border-color:var(--accent)}.film:after{content:none}.film{min-height:290px}.film:before{content:'';position:absolute;width:180px;height:180px;border:1px solid #d0b39a45;border-radius:50%;top:32px;right:-30px;box-shadow:0 0 70px #d0b39a12}.film>div{position:relative;z-index:1}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:42px}.portfolio-film{border-top:1px solid var(--line);padding-top:15px}.poster{position:relative;overflow:hidden;background:#16161c;aspect-ratio:16/10}.poster img{width:100%;height:100%;object-fit:cover;transition:transform .45s;display:block}.portfolio-film:hover img{transform:scale(1.04)}.play{position:absolute;bottom:16px;right:16px;display:grid;place-items:center;border:1px solid #ffffff80;width:44px;height:44px;border-radius:50%;background:#090a0da0}.film-caption h3{font-size:22px;font-weight:500;margin:22px 0 9px}.film-caption span,.film-caption p{font-size:12px;color:var(--muted)}.film-caption p{color:var(--accent);margin-top:20px}.studio-story{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:95px}.studio-story img{display:block;width:100%;height:auto;filter:saturate(.6)}.studio-story h3{font-size:34px;line-height:1.2;font-weight:500;letter-spacing:-.03em}.studio-story p{color:var(--muted);line-height:1.7}.text-link{display:inline-block;color:var(--accent);font-size:13px;margin-top:15px}.contact-details{display:flex;flex-direction:column;gap:12px;line-height:1.7;margin-top:30px}.contact-details a{color:var(--fg)}.contact-details span{font-size:12px}.legal{padding-top:28px;padding-bottom:28px;color:var(--muted);font-size:12px}.legal summary{cursor:pointer}.legal p{max-width:850px;line-height:1.7}.menu-toggle{display:none;background:none;color:var(--fg);border:1px solid var(--line);padding:12px;font:inherit;font-size:12px}#mobile-nav{padding:10px 22px 25px;flex-direction:column;gap:0}#mobile-nav a{padding:14px 0;border-top:1px solid var(--line)}[hidden]{display:none!important}@media(max-width:800px){.nav-contact{display:none}.menu-toggle{display:block}.portfolio-grid,.studio-story{grid-template-columns:1fr}.studio-story{gap:26px;margin-top:60px}.nav{min-height:76px}.hero{min-height:630px}.eyebrow{font-size:10px;line-height:1.7}.hero h1{font-size:clamp(48px,11vw,85px)}.statement{padding:75px 0}#mobile-nav:not([hidden]){display:flex}.portfolio-grid{gap:36px}.studio-story h3{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
button.button{font-family:inherit;cursor:pointer}.contact-dialog{background:#141319;color:var(--fg);border:1px solid #5e5359;padding:32px;width:min(520px,calc(100vw - 32px));max-height:90vh;overflow:auto}.contact-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.contact-dialog h2{font-size:34px;letter-spacing:-.03em;font-weight:500;margin:12px 0 18px}.contact-dialog p{color:var(--muted);line-height:1.6}.contact-dialog .button{display:block;text-align:center;margin:12px 0}.contact-dialog .close-dialog{float:right;background:transparent;color:var(--fg);border:0;font-size:25px;cursor:pointer;padding:0 5px}.contact-dialog input{display:block;width:100%;padding:14px;margin:18px 0 8px;background:#090a0d;color:var(--fg);border:1px solid var(--line);font:inherit;font-size:16px}.contact-dialog .copy-status{min-height:24px;margin-bottom:0;font-size:13px}
.page-hero{padding:95px 0 65px}.page-hero h1{font-size:clamp(42px,6vw,78px);max-width:1000px}.reading{max-width:800px}.reading p,.reading li{color:#bbbcc5;font-size:18px;line-height:1.8}.reading h2{font-size:32px;font-weight:500;margin-top:55px}.reading h3{font-size:23px;font-weight:500}.reading a{color:var(--accent);text-decoration:underline}.reading details{border-top:1px solid var(--line);padding:22px 0}.reading summary{font-size:20px;cursor:pointer}.breadcrumb{color:var(--muted);font-size:13px;margin-bottom:35px}.service a.text-link{line-height:1.7}.service:hover{border-color:var(--accent)}.journal-card{display:block;border:1px solid var(--line);padding:32px;max-width:800px;margin-top:35px}.journal-card h3{font-size:28px;font-weight:500}.journal-card p{color:var(--muted);line-height:1.7}nav{gap:16px;font-size:11px}@media(min-width:801px) and (max-width:1100px){.nav-contact{display:none}}

.film{isolation:isolate;aspect-ratio:16/10;min-height:290px;background:#15151b!important}.film .concept-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.film:before{content:none}.film:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 25%,rgba(4,5,8,.32) 50%,rgba(4,5,8,.96) 100%)}.film .placeholder{color:#ead7c5;font-size:10px;line-height:1.6}.film strong{color:#fff}.film small{color:#dedce1}@media(max-width:800px){.film{aspect-ratio:16/10;min-height:260px}}

.film{width:100%;min-width:0;aspect-ratio:auto}.section[id]{scroll-margin-top:85px}

.wil-portrait{margin:0;width:100%;max-width:460px}.studio-story .wil-portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;filter:none}.wil-portrait figcaption{color:var(--accent);font-size:12px;line-height:1.6;letter-spacing:.04em;margin-top:14px}.reading .studio-story{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:35px}.reading .studio-story h3{font-size:28px}@media(max-width:800px){.reading .studio-story{grid-template-columns:1fr}.wil-portrait{max-width:460px;margin:auto}}

.hero h1{font-size:clamp(48px,7.2vw,104px);max-width:1100px}.hero{min-height:730px}.director .studio-story{margin-top:0}.director .wil-portrait{max-width:390px}.concept-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:32px}.concept-notes article{border-top:1px solid var(--line);padding-top:24px}.concept-notes h3{font-size:23px;line-height:1.25;font-weight:500}.concept-notes p{color:var(--muted);line-height:1.75;font-size:15px}.faq-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:70px}.faq-items details{border-top:1px solid var(--line);padding:23px 0}.faq-items summary{cursor:pointer;font-size:19px;line-height:1.5}.faq-items p{color:var(--muted);line-height:1.75}.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:35px 0}.visual-card{padding:0;margin:0;overflow:hidden;max-width:none}.visual-card>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.card-copy{padding:28px}.card-copy h3{margin:16px 0;font-size:27px;line-height:1.2}.editorial-image{margin:32px 0}.editorial-image img{display:block;width:100%;height:auto}.editorial-image figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:12px}.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:65px;margin:50px 0 20px;text-align:left}.contact-intro h3{font-size:40px;font-weight:500;letter-spacing:-.04em;line-height:1.15}.contact-intro p{line-height:1.8}.project-form{border:1px solid var(--line);padding:30px;background:#0b0c1080}.project-form label{display:block;font-size:13px;color:var(--fg);line-height:1.6;margin-bottom:20px}.project-form input,.project-form textarea,.project-form select{display:block;width:100%;margin-top:8px;padding:13px 14px;color:var(--fg);background:#111217;border:1px solid #55515b;border-radius:0;font:inherit;font-size:16px;line-height:1.5}.project-form textarea{resize:vertical;min-height:130px}.project-form input:focus,.project-form textarea:focus,.project-form select:focus{outline:2px solid var(--accent);outline-offset:2px}.project-form select{color-scheme:dark}.project-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-form .button{margin-top:0}.project-form .button:disabled{opacity:.6;cursor:wait}.form-trap{position:absolute;left:-9999px;overflow:hidden;width:1px;height:1px}.form-privacy{font-size:12px;line-height:1.6}.form-privacy a{text-decoration:underline}.form-status{min-height:24px;font-size:14px;line-height:1.6}.form-status.success{color:#c9dfc1}.form-status.error{color:#f1bbab}.contact-details{margin-top:24px}.reading .journal-grid{grid-template-columns:1fr}
@media(max-width:800px){.concept-notes,.faq-layout,.contact-layout,.journal-grid{grid-template-columns:1fr}.faq-layout,.contact-layout{gap:30px}.project-form{padding:22px}.project-form .form-row{grid-template-columns:1fr;gap:0}.hero{min-height:700px}.hero h1{font-size:clamp(42px,10.5vw,76px)}.director .wil-portrait{max-width:390px}.concept-notes{gap:12px}.card-copy{padding:23px}.contact-intro h3{font-size:34px}}

.director-title{font-size:34px;line-height:1.2;font-weight:500;letter-spacing:-.03em}@media(max-width:800px){.director-title{font-size:30px}}

/* Sage palette trial — warm ivory on soft charcoal. */
:root{--bg:#121513;--fg:#f2ede4;--muted:#b8c0b6;--accent:#a8b8a0;--line:#39433c}
body{background:var(--bg);color:var(--fg)}
header{background:#121513ed;border-bottom-color:#39433c}
.hero{background:radial-gradient(ellipse 70% 85% at 82% 38%,#405044 0%,#26332a75 40%,transparent 76%),linear-gradient(130deg,#1b231d,#121513 75%)}
.hero:before{border-color:#a8b8a038;background:linear-gradient(140deg,#a8b8a016,#7c98761a,#0000)}
.lead,.intro{color:#d0d5cb}
.button{border-color:#8d9e87;color:var(--fg)}
.button.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.button:hover{background:#bdcbb6;border-color:#bdcbb6;color:var(--bg)}
.button.primary:hover{background:#c8d4c1;border-color:#c8d4c1}
.statement{background:#202a23}
.statement blockquote{color:var(--fg)}
.section,.service,.portfolio-film,.journal-card,footer{border-color:var(--line)}
.service{background:#18201a55}
.service:hover,.journal-card:hover{border-color:#7d9275}
.film{border-color:#56614f}
.film .placeholder{color:#d6e3cf}.film strong{color:var(--fg)}.film small{color:#dedfd7}
.step{border-top-color:#7d9275}
.contact{background:radial-gradient(ellipse at 12% 18%,#40544355,transparent 65%),linear-gradient(120deg,#253329,#121513)}
.project-form{background:#111812b3;border-color:#53624f}
.project-form input,.project-form textarea,.project-form select{background:#18211b;border-color:#697a63;color:var(--fg)}
.project-form input::placeholder,.project-form textarea::placeholder{color:#aab5a5}
.contact-dialog{background:#1b251e;border-color:#7d9275}.contact-dialog input{background:var(--bg);color:var(--fg);border-color:var(--line)}
.poster,.play{background:#121513a0}
footer,.legal,.disclaimer,.smallnote{color:var(--muted)}

/* Références historiques : logos originaux conservés */
.reference-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:38px 0 22px}.reference-logo{position:relative;aspect-ratio:300/190;overflow:hidden;background:#fff;border-radius:3px}.reference-logo img{position:absolute;width:400%;max-width:none;height:auto}.reference-note{font-size:13px;color:var(--muted);line-height:1.7;max-width:760px}.reference-names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:35px 0;gap:0 32px}.reference-names li{padding:19px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.5}.references+.section{border-top:1px solid var(--line)}@media(min-width:801px) and (max-width:1250px){.nav-contact{display:none}}@media(max-width:800px){.reference-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reference-names{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.reference-names li{font-size:14px}}

/* Portrait compact à gauche du texte, y compris sur mobile. */
.director .studio-story,.reading .studio-story{display:grid;grid-template-columns:230px minmax(0,1fr);gap:42px;align-items:start}.director .wil-portrait,.reading .wil-portrait{width:100%;max-width:230px;margin:0}.studio-story>div{min-width:0}.director .studio-story>div{max-width:710px}@media(max-width:800px){.director .studio-story,.reading .studio-story{grid-template-columns:105px minmax(0,1fr);gap:20px}.director .wil-portrait,.reading .wil-portrait{max-width:105px;margin:0}.wil-portrait figcaption{font-size:10px;line-height:1.5;letter-spacing:0}.director-title{font-size:27px}.director .eyebrow{font-size:10px;letter-spacing:.12em}.director .studio-story p{font-size:15px;line-height:1.65}.reading .studio-story h3{font-size:23px}}
