/*
Theme Name: Julie Reilles
Description: Thème sur mesure multisite — accueil, cinéma, intérieurs. L'univers est déduit du sous-domaine.
Version: 0.8.1
Author: Getclother
Text Domain: julie-reilles
Requires PHP: 8.0
*/

/* ---------- Tokens ---------- */
:root{
  --anthracite:#2B2D2F; --anthracite-2:#383A3C; --anthracite-line:#4A4C4E;
  --paper:#F4F0E9; --beige:#EAE3D7; --beige-2:#E6DED1; --beige-ph:#DDD5C8;
  --ink:#2B2D2F; --ink-2:#4E4C49; --muted:#6B6762; --line:#D8D0C3; --field:#B9AE9E;
  --serif:'Bodoni Moda',Georgia,serif; --sans:'Jost',system-ui,sans-serif;
  --bg:var(--paper); --fg:var(--ink); --fg-2:var(--ink-2); --fg-muted:var(--muted); --rule:var(--line); --ph:var(--beige-ph); --alt:var(--beige);
  --wrap:1360px; --gut:48px;
}
body.u-cinema{
  --bg:var(--anthracite); --fg:#EFEAE2; --fg-2:#D9D2C7; --fg-muted:#B5AEA4; --rule:var(--anthracite-line); --ph:var(--anthracite-2); --alt:#333537; --field:#7D7A75;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.75}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{opacity:.75}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1.1}
em{font-style:italic}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:1120px;margin:0 auto;padding:0 var(--gut)}
.lbl{font-family:var(--sans);font-weight:400;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--fg-muted)}
.serif{font-family:var(--serif)}
.prose{color:var(--fg-2);max-width:620px}
.prose p{margin:0 0 1.2em}
.ph{background:var(--ph);position:relative;overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}
.zoom img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
a:hover .zoom img{transform:scale(1.03)}
.go{display:inline-flex;align-items:center;gap:14px}
.go::before{content:"";display:block;width:32px;height:1px;background:currentColor;transition:width .5s ease}
.go:hover::before{width:56px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:99;background:var(--bg);padding:8px 12px}
:focus-visible{outline:1px solid currentColor;outline-offset:4px}

/* ---------- Header ---------- */
.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;padding:36px var(--gut);max-width:var(--wrap);margin:0 auto}
.site-header nav{display:flex;flex-wrap:nowrap;gap:24px;align-items:center;white-space:nowrap}
.site-header nav a{flex:0 0 auto}
.site-header nav.end{justify-content:flex-end}
.brand{text-align:center}
.brand .name{font-family:var(--serif);font-size:22px;letter-spacing:.24em}
.brand .lbl{display:block;margin-top:6px;font-size:10px}
.btn-line{padding:12px 22px;border:1px solid currentColor}

/* ---------- Home ---------- */
/* Toujours 2 colonnes, plein écran, texte centré verticalement (visible sans scroller). */
.split{display:flex;flex-wrap:nowrap;height:100vh;height:100svh;min-height:520px;max-height:1000px;position:relative}
.split .brand-float{position:absolute;top:32px;left:50%;transform:translateX(-50%);z-index:3;background:var(--paper);color:var(--ink);padding:14px 32px;text-align:center;white-space:nowrap}
.half{flex:1 1 0;min-width:0;position:relative;overflow:hidden;display:flex;align-items:center;transition:flex-grow .9s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.split:hover .half{flex-grow:.8}.split .half:hover{flex-grow:1.3;opacity:1}}
.half .bg{position:absolute;inset:0}
.half .bg img{width:100%;height:100%;object-fit:cover}
.half .txt{position:relative;padding:80px var(--gut) 0;display:flex;flex-direction:column;gap:14px}
.half h2{font-style:italic;font-size:clamp(26px,3.2vw,48px);line-height:1}
.half--cinema{background:var(--anthracite);color:#EFEAE2}
.half--cinema .lbl{color:#C9C2B8}
.half--interieurs{background:var(--beige-2);color:var(--ink);justify-content:flex-end;text-align:right}
.half--interieurs .txt{align-items:flex-end}
.half .bg::after{content:"";position:absolute;inset:0}
.half--cinema .bg::after{background:rgba(43,45,47,.45)}
.half--interieurs .bg::after{background:rgba(230,222,209,.55)}
.mot{display:grid;grid-template-columns:360px 1fr;gap:88px;align-items:center;padding:128px var(--gut);max-width:1120px;margin:0 auto}
.mot .ph{aspect-ratio:4/5}
.sign{font-family:var(--serif);font-style:italic;font-size:22px;margin-top:28px}

/* ---------- Contact ---------- */
.contact{background:var(--alt)}
.contact .inner{display:grid;grid-template-columns:1fr 1.2fr;gap:88px;padding:112px var(--gut);max-width:1120px;margin:0 auto}
.contact .lead{font-family:var(--serif);font-size:30px;line-height:1.3;margin:0}
.contact .coords{margin-top:36px;display:flex;flex-direction:column;gap:10px;color:var(--fg-2)}
.form{display:flex;flex-direction:column;gap:26px}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.form label{display:flex;flex-direction:column;gap:8px}
.form input,.form select,.form textarea{font:inherit;font-size:16px;padding:10px 0;background:transparent;border:0;border-bottom:1px solid var(--field);color:var(--fg);border-radius:0}
.form textarea{resize:vertical}
.form .hp{position:absolute;left:-9999px}
.btn{font:inherit;font-weight:400;font-size:11px;letter-spacing:.3em;text-transform:uppercase;align-self:flex-start;padding:16px 32px;min-height:48px;border:0;background:var(--fg);color:var(--bg);cursor:pointer}
.notice{padding:14px 18px;border:1px solid var(--rule);font-size:15px}

/* ---------- Sections ---------- */
.sec{padding:120px 0}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:64px}
.sec-head h2{font-size:37px}
.intro{text-align:center;padding:120px var(--gut) 40px}
.intro h1{font-size:56px;line-height:1.05}
.intro p{margin:40px auto 0;max-width:620px;color:var(--fg-2)}

/* ---------- Cinéma ---------- */
.films{display:grid;grid-template-columns:repeat(3,1fr);gap:72px 28px}
.film{display:flex;flex-direction:column;gap:18px}
.film .ph{aspect-ratio:3/2}
.film .t{font-family:var(--serif);font-size:30px;line-height:1.1}
.filmo{border-top:1px solid var(--rule)}
.filmo a{display:grid;grid-template-columns:2fr 1.5fr 120px;gap:24px;padding:22px 8px;border-bottom:1px solid var(--rule);align-items:baseline}
.filmo a:hover{background:var(--alt);opacity:1}
.filmo .t{font-family:var(--serif);font-size:22px}
.filmo .y{text-align:right}
.scenos{background:var(--alt);text-align:center}
.scenos p{font-family:var(--serif);font-size:26px;line-height:1.6;max-width:1100px;margin:0 auto}
.scenos .sep{color:var(--fg-muted);padding:0 .3em}

/* ---------- Intérieurs ---------- */
.hero-int .ph{height:760px}
.hero-int .title{max-width:1100px;margin:0 auto;padding:72px var(--gut) 0;text-align:center}
.hero-int h1{font-size:56px;line-height:1.05}
.int-content{padding:88px 0 40px}
.int-content .wp-block-columns{gap:96px}
.int-content h2{font-size:37px;margin-bottom:24px}
.int-content h3{font-size:24px;margin:0 0 10px}
.int-content p{color:var(--fg-2)}
.phare{background:var(--alt)}
.phare h2{font-size:74px;line-height:.95}
.phare .main{aspect-ratio:21/9}
.phare-head{display:grid;grid-template-columns:1.5fr 1fr;gap:72px;align-items:end;margin-bottom:56px}
.phare-dl{margin:72px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid var(--rule);padding-top:36px}
.phare-dl dd{font-family:var(--serif);margin:12px 0 0;font-size:36px;line-height:1}
.phare .thumbs{margin-top:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.phare .thumbs .ph{aspect-ratio:3/4}
.filters{display:flex;flex-wrap:wrap;gap:28px}
.filters button{font:inherit;font-weight:400;font-size:11px;letter-spacing:.3em;text-transform:uppercase;background:none;border:0;border-bottom:1px solid transparent;padding:12px 0;min-height:44px;color:var(--fg-muted);cursor:pointer}
.filters button[aria-pressed="true"]{color:var(--fg);border-bottom-color:var(--fg)}
.projets{display:grid;grid-template-columns:repeat(3,1fr);gap:72px 28px}
.projet{display:flex;flex-direction:column;gap:16px}
.projet:nth-child(3n+2){margin-top:96px}
.projet .ph{aspect-ratio:4/5}
.projet .nom{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--fg-2);margin-top:-8px}
.projet[hidden]{display:none}

/* ---------- Single ---------- */
.single-head{text-align:center;padding:100px var(--gut) 56px}
.single-head h1{font-size:56px}
.single-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:28px;margin-top:24px}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.gallery .ph:first-child{grid-column:1/-1}
.single-body{max-width:720px;margin:72px auto 0;padding:0 var(--gut)}
.back{display:block;text-align:center;margin:96px 0 120px}



/* ---------- Cinéma : frise + filtres ---------- */
html{scroll-behavior:smooth}
.cine-stats{margin-top:40px}
.cine-bar{position:sticky;top:0;z-index:20;background:var(--bg);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.cine-bar-in{display:grid;grid-template-columns:1fr auto;gap:14px 32px;align-items:center;padding-top:18px;padding-bottom:18px}
.cine-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cine-filters .lbl{margin-right:6px}
.cine-filters button{font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;min-height:38px;padding:8px 16px;border:1px solid var(--rule);background:transparent;color:var(--fg-2);cursor:pointer;border-radius:999px;transition:all .25s ease}
.cine-filters button:hover{border-color:var(--fg)}
.cine-filters button[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.cine-postes button{font-size:11px;min-height:34px;padding:6px 13px}
.cine-search input{font:inherit;font-size:15px;width:280px;max-width:100%;padding:10px 0;background:transparent;border:0;border-bottom:1px solid var(--field);color:var(--fg)}
.cine-search input::placeholder{color:var(--fg-muted)}
.cine-count{margin:0;text-align:right}
.cine-layout{display:grid;grid-template-columns:150px 1fr;gap:56px;padding-top:56px;padding-bottom:96px}
.frise{position:sticky;top:150px;align-self:start;max-height:calc(100vh - 180px);overflow:auto;scrollbar-width:none}
.frise ol{list-style:none;margin:0;padding:0 0 0 18px;border-left:1px solid var(--rule)}
.frise li{position:relative}
.frise li::before{content:"";position:absolute;left:-22px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--bg);border:1px solid var(--fg-muted);transform:translateY(-50%);transition:all .3s ease}
.frise a{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:7px 0;color:var(--fg-muted);transition:color .3s ease}
.frise .y{font-family:var(--serif);font-size:20px;line-height:1.1;transition:font-size .3s ease}
.frise .n{font-size:11px;letter-spacing:.1em}
.frise li.on a{color:var(--fg);opacity:1}
.frise li.on .y{font-size:28px;font-style:italic}
.frise li.on::before{background:var(--fg);border-color:var(--fg);width:11px;height:11px;left:-24px}
.frise li.off{opacity:.3}
.annee{padding-bottom:64px;scroll-margin-top:140px}
.annee[hidden]{display:none}
.annee-t{font-size:64px;font-style:italic;line-height:1;margin:0 0 28px;color:var(--fg-muted);opacity:.55}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:48px 24px}
.card{display:flex;flex-direction:column;gap:12px}
.card[hidden]{display:none}
.card .ph{aspect-ratio:3/2}
.card .badge,.card .nb{position:absolute;top:12px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;background:rgba(43,45,47,.78);color:#EFEAE2;padding:5px 10px}
.card .badge{left:12px}
.card .nb{right:12px;letter-spacing:.06em}
.card .nb::before{content:"▦ ";opacity:.8}
.card-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;font-family:var(--serif);font-style:italic;font-size:24px;color:var(--fg-muted)}
.card .t{font-size:26px;line-height:1.15;margin-top:4px}
.card .r{margin:-4px 0 0;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--fg-2)}
.card .p{margin:0;font-size:10px;letter-spacing:.2em}
.card:hover{opacity:1}
.card:hover .t{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.cine-empty{padding:48px 0;color:var(--fg-2)}
.cine-empty button{background:none;border:0;color:var(--fg);cursor:pointer;margin-left:12px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:900px){
  .cine-bar-in{grid-template-columns:1fr;gap:12px}
  .cine-search input{width:100%}
  .cine-count{text-align:left}
  .cine-postes{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .cine-postes button{flex:0 0 auto}
  .cine-layout{grid-template-columns:1fr;gap:24px;padding-top:24px}
  .frise{position:sticky;top:var(--bar-h,190px);z-index:15;max-height:none;overflow-x:auto;background:var(--bg);margin:0 calc(-1 * var(--gut));padding:6px var(--gut);border-bottom:1px solid var(--rule)}
  .frise ol{display:flex;gap:22px;border-left:0;padding:0}
  .frise li::before{display:none}
  .frise a{white-space:nowrap}
  .frise li.on .y{font-size:22px}
  .annee-t{font-size:44px}
}
@media (max-width:600px){
  .cine-filters:not(.cine-postes){flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .cine-filters button{flex:0 0 auto}
  .cards{grid-template-columns:1fr 1fr;gap:28px 12px}
  .card .t{font-size:19px}
  .card .r{font-size:14px}
  .card .badge{font-size:8px;padding:4px 6px;top:8px;left:8px}
  .card .nb{display:none}
}


/* ---------- Intérieurs (v0.6) ---------- */
.int-hero{padding:24px 0 48px}
.int-hero-in{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:end}
.int-hero-txt{padding-bottom:12px}
.int-hero-txt h1{font-size:52px;line-height:1.05}
.int-intro{margin:28px 0 0;font-size:19px;line-height:1.7;color:var(--fg-2);max-width:460px}
.int-hero-img{aspect-ratio:4/3;max-height:62vh;width:100%}
.int-content{padding:80px 0 96px}
.int-teaser{background:var(--alt);padding:64px;margin-top:32px;display:grid;grid-template-columns:1fr 1fr;column-gap:64px;align-items:end}
.int-teaser .lbl{grid-column:1/-1}
.int-teaser h2{font-size:38px;line-height:1.1;font-style:italic;grid-row:2;grid-column:1}
.int-teaser p:not(.lbl){grid-column:2;color:var(--fg-2);margin:0 0 20px}
.int-teaser .wp-block-buttons{grid-column:2}
.wp-block-button__link{font:inherit;font-size:11px;letter-spacing:.28em;text-transform:uppercase;padding:16px 28px;border-radius:0;background:var(--fg);color:var(--bg)}
.is-style-outline .wp-block-button__link{background:transparent;color:var(--fg);border:1px solid var(--fg)}
.acc .int-content{padding-top:24px}
.int-content .lbl{margin:0 0 20px}
.int-content [id]{scroll-margin-top:80px}
.int-approche{gap:80px!important;align-items:center!important;margin-bottom:112px}
.int-approche h2{font-size:40px;line-height:1.1;margin-bottom:24px}
.int-approche p:not(.lbl){font-size:18px;line-height:1.8;color:var(--fg-2)}
.int-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover}
.int-projets{margin:0 0 112px}
.int-sec-head{display:flex;justify-content:space-between;border-top:1px solid var(--rule);padding:20px 0 40px}
.int-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 32px}
.int-card{display:flex;flex-direction:column;gap:18px}
.int-card .ph{display:block;aspect-ratio:3/2}
.int-card.is-first{grid-column:1/-1;display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:end}
.int-card.is-first .ph{aspect-ratio:16/10}
.int-card-txt{display:flex;flex-direction:column;gap:10px}
.int-card-t{font-family:var(--serif);font-style:italic;font-size:32px;line-height:1.1}
.int-card.is-first .int-card-t{font-size:44px}
.int-card-ex{color:var(--fg-2);font-size:16px;line-height:1.7;max-width:460px}
.int-card .go{color:var(--fg);margin-top:6px}
.int-card:hover{opacity:1}
.int-presta{margin-bottom:112px}
.int-presta-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--rule)}
.int-presta-list li{padding:24px 24px 0 0;font-size:15px;line-height:1.6;color:var(--fg-2)}
.int-presta-list li+li{padding-left:24px;border-left:1px solid var(--rule)}
.int-presta-list strong{display:block;font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.2;color:var(--fg);margin-bottom:10px}
.int-methode{margin:0 0 112px}
.int-methode details{border-top:1px solid var(--rule)}
.int-methode details:last-child{border-bottom:1px solid var(--rule)}
.int-methode summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:24px;padding:22px 0;font-family:var(--serif);font-size:26px}
.int-methode summary::-webkit-details-marker{display:none}
.int-methode summary span{font-family:var(--sans);font-size:11px;letter-spacing:.2em;color:var(--fg-muted);min-width:24px}
.int-methode summary::after{content:"+";margin-left:auto;font-family:var(--sans);font-weight:300;font-size:22px;transition:transform .3s ease}
.int-methode details[open] summary::after{transform:rotate(45deg)}
.int-step{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding:0 0 32px 48px}
.int-step:not(:has(figure)){grid-template-columns:1fr;max-width:680px}
.int-step p{margin:0;color:var(--fg-2);font-size:17px;line-height:1.8}
.int-step figure{margin:0}
.int-step img{width:100%;aspect-ratio:4/3;object-fit:cover}
.int-infos{background:var(--alt);padding:48px;gap:48px!important;margin:0!important}
.int-big{font-family:var(--serif);font-style:italic;font-size:40px;line-height:1;margin:0 0 12px!important}
.int-infos p:not(.lbl):not(.int-big){font-size:15px;color:var(--fg-2);margin:0}
/* Fiche projet */
.pj-head{text-align:center;padding-top:88px;padding-bottom:48px}
.pj-head h1{font-size:56px;font-style:italic;margin-top:18px}
.pj-ex{max-width:620px;margin:24px auto 0;font-size:18px;color:var(--fg-2)}
.pj-hero .ph{display:block;aspect-ratio:16/9}
.pj-body{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;padding-top:72px;padding-bottom:72px}
.pj-infos{margin:0;display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.pj-infos>div{padding:16px 0;border-bottom:1px solid var(--rule)}
.pj-infos dd{margin:6px 0 0;font-size:17px}
.pj-chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:32px;padding-bottom:72px}
.pj-chiffres dd{margin:0 0 8px;font-family:var(--serif);font-size:48px;line-height:1}
.pj-gal{columns:2;column-gap:20px;padding-bottom:72px}
.pj-gal .ph{display:block;margin-bottom:20px;break-inside:avoid}
.pj-gal img{height:auto}
.pj-nav{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--rule);padding-top:40px;padding-bottom:96px}
.pj-next{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.pj-next .t{font-family:var(--serif);font-style:italic;font-size:26px}
@media (max-width:900px){
  .int-hero-in{grid-template-columns:1fr;gap:28px}
  .int-hero-txt h1{font-size:38px}
  .int-hero-img{order:-1;max-height:none}
  .int-approche{gap:24px!important;margin-bottom:72px}
  .int-grid{grid-template-columns:1fr;gap:48px}
  .int-teaser{grid-template-columns:1fr;padding:36px 24px}
  .int-teaser h2,.int-teaser p:not(.lbl),.int-teaser .wp-block-buttons{grid-column:1;grid-row:auto}
  .int-card.is-first{grid-template-columns:1fr;gap:18px}
  .int-card.is-first .int-card-t{font-size:34px}
  .int-step{grid-template-columns:1fr;gap:20px;padding-left:0}
  .int-presta-list{grid-template-columns:1fr 1fr}
  .int-presta-list li,.int-presta-list li+li{padding:20px 16px 20px 0;border-left:0;border-bottom:1px solid var(--rule)}
  .int-infos{padding:32px 24px}
  .pj-head h1{font-size:38px}
  .pj-body{grid-template-columns:1fr;gap:40px}
}
@media (max-width:600px){
  .int-hero-img{height:56vh;min-height:320px}
  .int-presta-list{grid-template-columns:1fr}
  .int-methode summary{font-size:20px;gap:14px}
  .int-methode details p{margin-left:0}
  .pj-gal{columns:1}
}

/* ---------- Fiche film ---------- */
.fs-head{text-align:center;padding-top:96px;padding-bottom:48px}
.fs-head h1{font-size:56px;margin-top:20px}
.fs-real{margin:16px 0 0;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--fg-2)}
.fs-poste{display:inline-flex;flex-direction:column;gap:6px;margin:32px 0 0;padding:16px 28px;border:1px solid var(--rule)}
.fs-poste span:last-child{font-size:17px}
.fs-hero .ph{display:block;aspect-ratio:16/9}
.fs-fiche{display:grid;grid-template-columns:1.4fr 1fr;gap:72px;padding-top:72px;padding-bottom:72px}
.fs-dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:28px 40px;align-content:start}
.fs-dl dd{margin:8px 0 0;font-size:18px}
.fs-casting h2,.fs-equipe h2,.fs-galerie h2{margin:0 0 20px}
.fs-casting ul{list-style:none;margin:0;padding:0;font-family:var(--serif);font-size:20px;line-height:1.7}
.fs-texte{padding-bottom:56px}
.fs-equipe{padding-bottom:72px}
.eq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:48px 56px;border-top:1px solid var(--rule);padding-top:36px}
.eq-t{font-family:var(--serif);font-style:italic;font-size:24px;margin:0 0 18px}
.eq-dept dl{margin:0}
.eq-row{padding:10px 0;border-bottom:1px solid var(--rule)}
.eq-row:last-child{border-bottom:0}
.eq-row dt{font-size:10px;letter-spacing:.2em;margin-bottom:6px}
.eq-row dd{margin:0;display:flex;flex-direction:column;gap:2px;font-size:16px}
.eq-row .me{font-weight:400;border-bottom:1px solid currentColor;align-self:flex-start}
.me{font-weight:400;border-bottom:1px solid currentColor}
.fs-galerie{padding-bottom:72px}
.fs-grid{columns:3;column-gap:16px}
.fs-grid .ph{display:block;margin-bottom:16px;break-inside:avoid}
.fs-grid .ph img{height:auto}
.fs-liens{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;padding-bottom:72px;color:var(--fg)}
.fs-credit{margin:0;width:100%;font-size:13px;color:var(--fg-muted)}
.fs-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;padding-top:40px;padding-bottom:96px;border-top:1px solid var(--rule)}
.fs-nav a{display:flex;flex-direction:column;gap:6px}
.fs-nav span[style] a{align-items:flex-end}
.fs-nav .t{font-family:var(--serif);font-size:22px}
/* Visionneuse */
.lb{position:fixed;inset:0;z-index:100;background:rgba(20,21,22,.94);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb img{max-width:88vw;max-height:88vh;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:#EFEAE2;font-size:40px;line-height:1;width:56px;height:56px;cursor:pointer}
.lb-x{top:16px;right:16px}.lb-p{left:12px;top:50%;transform:translateY(-50%)}.lb-n{right:12px;top:50%;transform:translateY(-50%)}


/* ---------- À propos ---------- */
.apropos-in{max-width:1120px;margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:380px 1fr;gap:88px;align-items:start}
.apropos-ph{aspect-ratio:4/5;position:sticky;top:40px}
.apropos-txt{max-width:640px;font-size:18px}
.apropos-txt p:first-child{font-family:var(--serif);font-size:24px;line-height:1.45;color:var(--fg)}
@media (max-width:900px){.apropos-in{grid-template-columns:1fr;gap:40px}.apropos-ph{position:static;max-width:340px}}

/* ---------- Footer ---------- */
.site-footer{max-width:var(--wrap);margin:0 auto;padding:36px var(--gut);display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center}
.site-footer .name{font-family:var(--serif);font-size:15px;letter-spacing:.24em}
.site-footer nav{display:flex;gap:28px}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  :root{--gut:32px}
  .mot{grid-template-columns:280px 1fr;gap:56px}
  .contact .inner{gap:56px}
}
@media (max-width:900px){
  :root{--gut:24px}
  body{font-size:16px}
  .site-header{grid-template-columns:1fr auto;padding:20px var(--gut);gap:12px}
  .site-header nav:first-child{display:none}
  .brand{text-align:left}
  .brand .name{font-size:17px}
  .site-header nav.end{gap:16px}
  .btn-line{padding:10px 14px}
  .sec{padding:80px 0}
  .sec-head{margin-bottom:40px}
  .sec-head h2,.int-content h2{font-size:30px}
  .mot,.contact .inner{grid-template-columns:1fr;gap:40px}
  .mot{padding:80px var(--gut)}
  .mot .ph{max-width:320px}
  .contact .inner{padding:80px var(--gut)}
  .films,.projets{grid-template-columns:1fr 1fr;gap:48px 16px}
  .projet:nth-child(3n+2){margin-top:0}
  .film .t{font-size:24px}
  .filmo a{grid-template-columns:1fr auto;gap:16px;padding:18px 4px}
  .filmo a .r{display:none}
  .filmo .t{font-size:19px}
  .scenos p{font-size:21px}
  .intro{padding:72px var(--gut) 24px}
  .intro h1,.hero-int h1,.single-head h1{font-size:38px}
  .hero-int .ph{height:56vh}
  .hero-int .title{padding-top:48px}
  .int-content{padding:56px 0 24px}
  .phare-head{grid-template-columns:1fr;gap:24px}
  .phare h2{font-size:48px}
  .phare-dl{grid-template-columns:1fr 1fr;row-gap:28px}
  .phare .thumbs{grid-template-columns:1fr 1fr;gap:12px}
  .single-head{padding:64px var(--gut) 40px}
  .fs-head{padding-top:56px}
  .fs-head h1{font-size:38px}
  .fs-fiche{grid-template-columns:1fr;gap:40px;padding-top:48px;padding-bottom:48px}
  .fs-grid{columns:2}
  .gallery{gap:12px}
}
@media (max-width:600px){
  .split .brand-float{top:20px;padding:10px 16px}
  .split .brand-float h1{font-size:14px!important;letter-spacing:.2em!important}
  .half .txt{padding:64px 16px 0;gap:10px}
  .half .lbl{font-size:9px;letter-spacing:.16em}
  .films,.projets,.form .row2{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .fs-dl{grid-template-columns:1fr}
  .fs-grid{columns:1}
  .fs-nav{grid-template-columns:1fr 1fr}
  .fs-nav>a{display:none}
  .phare h2{font-size:40px}
  .phare .main{aspect-ratio:4/3}
  .phare-dl dd{font-size:30px}
  .contact .lead{font-size:24px}
  .site-footer{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
