/* ==========================================================
   Laura Baudelet / Minuit Opéra — feuille de style commune
   Piste « Clair-obscur »
   ========================================================== */
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2");font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url(fonts/jost-latin-300-normal.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Jost";src:url(fonts/jost-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}

:root{
  --bg:#0b0a09; --bg2:#13110f; --bg3:#1b1815;
  --ink:#efe6d6; --soft:#cbbfab; --muted:#9a8f7e;
  --gold:#c9a46a; --gold2:#e2c48e; --line:rgba(201,164,106,.22);
  --accent:#c9a46a; --on-accent:#0b0a09;
  --serif:"Cormorant",Garamond,Georgia,serif; --sans:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1180px; --gut:clamp(16px,4vw,48px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
/* Minuit Opéra : bleu nuit & ivoire */
.site-minuit{--bg:#0b1020;--bg2:#10172b;--bg3:#172038;--ink:#f6ead6;--soft:#cfc6b6;--muted:#8f97ab;--gold:#d8b98a;--gold2:#f0d9b0;--line:rgba(216,185,138,.22);--accent:#f6ead6;--on-accent:#0b1020}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:300 17px/1.7 var(--sans);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.05;margin:0}
p{margin:0 0 1em}
::selection{background:var(--gold);color:var(--bg)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--bg);padding:8px 14px;z-index:999}
.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.kicker{display:block;font:400 11.5px/1.4 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.lead{font-family:var(--serif);font-size:clamp(21px,2.2vw,27px);line-height:1.45;color:var(--soft)}
.it{font-family:var(--serif);font-style:italic}
.muted{color:var(--muted)}
.gold{color:var(--gold)}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border:1px solid var(--gold);color:var(--ink);text-decoration:none;font:400 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;transition:background .35s,color .35s,border-color .35s;cursor:pointer;background:transparent}
.btn:hover{background:var(--gold);color:var(--bg)}
.btn.solid{background:var(--gold);color:var(--bg)}
.btn.solid:hover{background:var(--gold2);border-color:var(--gold2)}
.btns{display:flex;flex-wrap:wrap;gap:14px}
.link{color:var(--gold);text-decoration:none;font:400 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:6px;transition:border-color .3s}
.link:hover{border-color:var(--gold)}

/* ---------- En-tête ---------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
.hdr.solid{background:rgba(11,10,9,.86);backdrop-filter:blur(10px);border-color:var(--line)}
.site-minuit .hdr.solid{background:rgba(11,16,32,.88)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;max-width:none}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:400 13px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold2)}
.brand img{height:46px;width:auto}
.nav{display:flex;gap:clamp(14px,1.8vw,28px);align-items:center}
.nav a{text-decoration:none;font:400 11.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--soft);padding:8px 0;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.nav a:hover,.nav a[aria-current=page]{color:var(--gold2);border-color:var(--gold)}
.nav a.cross{color:var(--gold)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:1px;background:var(--ink);transition:transform .35s,top .35s}
.burger span:first-child{top:17px}.burger span:last-child{top:26px}
.menu-open .burger span:first-child{top:21px;transform:rotate(45deg)}
.menu-open .burger span:last-child{top:21px;transform:rotate(-45deg)}
.mmenu{position:fixed;inset:0;z-index:40;background:var(--bg);display:flex;flex-direction:column;justify-content:center;gap:6px;padding:90px var(--gut) 40px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.menu-open .mmenu{opacity:1;visibility:visible}
.mmenu a{font-family:var(--serif);font-size:clamp(30px,8vw,44px);text-decoration:none;color:var(--ink);line-height:1.25}
.mmenu a[aria-current=page]{color:var(--gold)}
.mmenu .small{margin-top:26px;font:400 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
@media (max-width:980px){.nav{display:none}.burger{display:block}}

/* ---------- Héros d'accueil ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--bg)}
.hero .ph{position:absolute;inset:0 0 0 auto;width:60%;overflow:hidden}
.hero .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.hero .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(11,10,9,.3) 16%,rgba(11,10,9,0) 36%),linear-gradient(0deg,var(--bg) 0%,rgba(11,10,9,0) 26%)}
.site-minuit .hero .ph::after{background:linear-gradient(90deg,var(--bg) 0%,rgba(11,16,32,.35) 18%,rgba(11,16,32,0) 40%),linear-gradient(0deg,var(--bg) 0%,rgba(11,16,32,0) 30%)}
.hero .txt{position:relative;z-index:2;padding:120px var(--gut) clamp(56px,11vh,120px);max-width:780px}
.hero h1{font-size:clamp(60px,10.5vw,150px);line-height:.86;margin:20px 0 24px;letter-spacing:-.01em}
.hero h1 .l{display:block}
.hero .motto{font-family:var(--serif);font-style:italic;font-size:clamp(21px,2.4vw,30px);color:var(--soft);margin-bottom:34px}
.hero .scroll{position:absolute;right:var(--gut);bottom:34px;z-index:2;font:400 10.5px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl;display:flex;align-items:center;gap:12px}
.hero .scroll::after{content:"";width:1px;height:56px;background:linear-gradient(var(--gold),transparent);animation:drip 2.4s ease-in-out infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.curtain{position:absolute;inset:0;background:var(--bg);z-index:3;pointer-events:none}
@media (max-width:820px){
  .hero .ph{width:100%}
  .hero .ph::after{background:linear-gradient(0deg,var(--bg) 0%,rgba(11,10,9,.55) 42%,rgba(11,10,9,.05) 75%)}
  .site-minuit .hero .ph::after{background:linear-gradient(0deg,var(--bg) 0%,rgba(11,16,32,.6) 45%,rgba(11,16,32,.1) 78%)}
  .hero .scroll{display:none}
}

/* Animations d'entrée */
.js .ch{display:inline-block;opacity:0;transform:translateY(.35em);filter:blur(6px)}
.js .play .ch{animation:ch .9s var(--ease) forwards}
@keyframes ch{to{opacity:1;transform:none;filter:none}}
.js .play .curtain{animation:lift 1.6s cubic-bezier(.7,0,.2,1) .15s forwards}
@keyframes lift{to{transform:translateY(-100%)}}
.js .play .ph img{animation:zoom 10s ease-out forwards}
@keyframes zoom{from{transform:scale(1.1)}to{transform:none}}
.js .late{opacity:0}
.hero.quick .curtain{display:none}
.js .hero.quick.play .late{animation-delay:.3s!important}
.js .play .late{animation:fade 1.1s ease forwards}
@keyframes fade{to{opacity:1}}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .rv.d1{transition-delay:.12s}.js .rv.d2{transition-delay:.24s}.js .rv.d3{transition-delay:.36s}

/* ---------- En-tête de page intérieure ---------- */
.phead{position:relative;padding:170px 0 70px;overflow:hidden;border-bottom:1px solid var(--line)}
.phead h1{font-size:clamp(48px,7vw,96px);margin:18px 0 18px}
.phead .lead{max-width:640px;margin:0}
.phead.photo{min-height:68vh;display:flex;align-items:flex-end}
.phead.photo .bgimg{position:absolute;inset:0}
.phead.photo .bgimg img{width:100%;height:100%;object-fit:cover}
.phead.photo .bgimg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 4%,rgba(11,10,9,.55) 45%,rgba(11,10,9,.25) 100%)}
.site-minuit .phead.photo .bgimg::after{background:linear-gradient(0deg,var(--bg) 4%,rgba(11,16,32,.6) 45%,rgba(11,16,32,.3) 100%)}
.phead.photo .wrap{position:relative;width:100%}

/* ---------- Sections ---------- */
.sec{padding:clamp(80px,11vw,140px) 0}
.sec.alt{background:var(--bg2)}
.sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,60px)}
.sec-h h2{font-size:clamp(38px,5vw,64px);margin-top:14px}
.rule{width:80px;height:1px;background:var(--gold);margin:28px 0;border:0}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
.cols.top{align-items:start}
.cols.wide-l{grid-template-columns:1.2fr .8fr}
.cols.wide-r{grid-template-columns:.85fr 1.15fr}
@media (max-width:860px){.cols,.cols.wide-l,.cols.wide-r{grid-template-columns:1fr}}
.prose p{color:var(--soft)}
.prose p:first-of-type::first-letter{font-family:var(--serif);float:left;font-size:4.3em;line-height:.8;padding:6px 10px 0 0;color:var(--gold)}
.prose.plain p:first-of-type::first-letter{all:unset}
.frame{position:relative}
.frame img{width:100%;aspect-ratio:4/5;object-fit:cover}
.frame::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--line);z-index:-1}
.frame figcaption,.credit{font:400 11px var(--sans);letter-spacing:.12em;color:var(--muted);margin-top:10px}

/* Chiffres */
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}
.stats div{padding:34px 20px;text-align:center;border-right:1px solid var(--line)}
.stats div:last-child{border:0}
.stats b{display:block;font:400 clamp(44px,5vw,64px)/1 var(--serif);color:var(--gold2)}
.stats span{font:400 11.5px/1.5 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
@media (max-width:640px){.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid var(--line)}}

/* Piliers */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.pillars article{padding:44px clamp(18px,3vw,40px) 10px;border-right:1px solid var(--line)}
.pillars article:last-child{border:0}
.pillars em{font:italic 400 22px var(--serif);color:var(--gold)}
.pillars h3{font-size:34px;margin:10px 0 14px}
.pillars p{color:var(--soft);font-size:16px}
@media (max-width:860px){.pillars{grid-template-columns:1fr}.pillars article{border-right:0;border-bottom:1px solid var(--line);padding-bottom:30px}}

/* Citation */
.quote{text-align:center;max-width:980px;margin:0 auto}
.quote blockquote{margin:0;font:italic 400 clamp(27px,3.6vw,46px)/1.25 var(--serif)}
.quote blockquote::before{content:"“";display:block;font-size:2.2em;line-height:.6;color:var(--gold);margin-bottom:18px}
.quote cite{display:block;margin-top:26px;font:400 11.5px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-style:normal}

/* Cartes */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:22px}
.card{position:relative;display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--line);text-decoration:none;transition:border-color .4s,transform .4s var(--ease);overflow:hidden}
.card:hover{border-color:var(--gold);transform:translateY(-4px)}
.card .im{aspect-ratio:4/3;overflow:hidden;background:var(--bg3)}
.card .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.card:hover .im img{transform:scale(1.05)}
.card .im.type{display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;background:radial-gradient(120% 90% at 50% 0%,var(--bg3),var(--bg2))}
.card .im.type span{font:italic 400 clamp(30px,3vw,40px)/1.05 var(--serif);color:var(--gold2)}
.card .bd{padding:24px 24px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font-size:30px}
.card p{color:var(--soft);font-size:15.5px;margin:0}
.card .tag{font:400 10.5px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.card .more{margin-top:auto;padding-top:10px;font:400 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold2)}
.badge{display:inline-block;font:400 10px var(--sans);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);padding:5px 9px}

/* Prochainement */
.soon{display:grid;gap:0;border-top:1px solid var(--line)}
.soon article{display:grid;grid-template-columns:180px 1fr auto;gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.soon .when{font:italic 400 22px var(--serif);color:var(--gold)}
.soon h3{font-size:30px}
.soon p{margin:6px 0 0;color:var(--soft);font-size:15.5px}
@media (max-width:760px){.soon article{grid-template-columns:1fr;gap:6px}}

/* Agenda passé */
.season{margin-bottom:56px}
.season h3{font-size:30px;color:var(--gold2);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:6px}
.ev{display:grid;grid-template-columns:150px 1.2fr 1fr;gap:20px;padding:16px 0;border-bottom:1px solid rgba(201,164,106,.1);font-size:15.5px}
.ev .d{color:var(--gold);font-family:var(--serif);font-style:italic;font-size:19px}
.ev b{font-weight:400;color:var(--ink)}
.ev span{color:var(--soft)}
@media (max-width:720px){.ev{grid-template-columns:1fr;gap:2px}}

/* Répertoire */
.rep{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.rep div{padding:22px 22px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s}
.rep div:hover{background:var(--bg2)}
.rep b{display:block;font:400 26px/1.1 var(--serif);color:var(--ink)}
.rep i{display:block;font:italic 400 18px var(--serif);color:var(--gold);margin-top:4px}
.rep small{display:block;font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5}
.rep-h{font-size:clamp(30px,3.4vw,42px);margin:70px 0 22px}
.rep-h:first-child{margin-top:0}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{border:1px solid var(--line);padding:10px 16px;font:400 20px var(--serif)}
.chips span i{color:var(--gold);font-size:16px}

/* Presse */
.press-top{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.press-top article{border:1px solid var(--line);padding:34px 30px;background:var(--bg2)}
.press-top blockquote{margin:0 0 18px;font:italic 400 24px/1.35 var(--serif)}
.press-top cite{font:400 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-style:normal}
.press-top small{display:block;color:var(--muted);margin-top:6px;font-size:13px}
@media (max-width:900px){.press-top{grid-template-columns:1fr}}
.press-list article{padding:34px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 260px;gap:30px}
.press-list blockquote{margin:0;font:400 21px/1.55 var(--serif);color:var(--soft)}
.press-list blockquote strong{color:var(--ink);font-weight:500}
.press-list .src{font-size:14px;color:var(--muted)}
.press-list .src b{display:block;font:400 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
@media (max-width:760px){.press-list article{grid-template-columns:1fr;gap:10px}}

/* Vidéos */
.vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:26px}
.vid .yt{position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat;cursor:pointer;border:1px solid var(--line);overflow:hidden}
.vid .yt::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),rgba(0,0,0,.05));transition:opacity .4s}
.vid .yt:hover::before{opacity:.4}
.vid .yt button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;border:1px solid var(--gold2);background:rgba(11,10,9,.45);cursor:pointer;transition:transform .3s,background .3s}
.vid .yt button::after{content:"";position:absolute;left:30px;top:24px;border-left:20px solid var(--gold2);border-top:13px solid transparent;border-bottom:13px solid transparent}
.vid .yt:hover button{transform:translate(-50%,-50%) scale(1.08);background:rgba(201,164,106,.25)}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid h3{font-size:25px;margin-top:16px}
.vid p{color:var(--muted);font-size:14.5px;margin:4px 0 0}
.vid.big{grid-column:1/-1}
.vid.big h3{font-size:34px}

/* Galerie */
.gal{columns:3 280px;column-gap:16px}
.gal figure{margin:0 0 16px;break-inside:avoid;cursor:zoom-in;position:relative;overflow:hidden}
.gal img{width:100%;transition:transform 1s var(--ease)}
.gal figure:hover img{transform:scale(1.03)}
.gal figcaption{position:absolute;inset:auto 0 0 0;padding:30px 16px 12px;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent);font:italic 400 18px var(--serif);opacity:0;transition:opacity .4s}
.gal figure:hover figcaption,.gal figure:focus figcaption{opacity:1}
.lb{position:fixed;inset:0;z-index:100;background:rgba(5,5,5,.95);display:none;align-items:center;justify-content:center;flex-direction:column;padding:20px}
.lb.open{display:flex}
.lb img{max-height:84vh;max-width:92vw;object-fit:contain}
.lb p{margin:14px 0 0;font:italic 400 19px var(--serif);color:var(--soft);text-align:center}
.lb .x{position:absolute;top:16px;right:16px;width:48px;height:48px;background:none;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:24px;cursor:pointer}
.lb p{color:#e8dfd0}

/* Press kit */
.kit{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:22px}
.kit a{display:block;border:1px solid var(--line);padding:28px;text-decoration:none;background:var(--bg2);transition:border-color .3s}
.kit a:hover{border-color:var(--gold)}
.kit b{display:block;font:400 26px var(--serif);margin:8px 0}
.kit span{color:var(--muted);font-size:14.5px}
.copybox{position:relative;border:1px solid var(--line);padding:30px;background:var(--bg2);margin-bottom:22px}
.copybox p{color:var(--soft);margin:0 0 .8em}
.copybox .cp{position:absolute;top:14px;right:14px;font:400 10.5px var(--sans);letter-spacing:.18em;text-transform:uppercase;background:none;border:1px solid var(--line);color:var(--gold);padding:8px 12px;cursor:pointer}
.photos-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:16px}
.photos-dl a{text-decoration:none}
.photos-dl img{aspect-ratio:4/5;object-fit:cover;width:100%}
.photos-dl span{display:block;font-size:13px;color:var(--muted);margin-top:8px}

/* Spectacle */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));border-block:1px solid var(--line)}
.facts div{padding:24px 20px;border-right:1px solid var(--line)}
.facts div:last-child{border:0}
.facts b{display:block;font:400 10.5px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.facts span{font:400 21px/1.3 var(--serif)}
@media (max-width:640px){.facts div{border-right:0;border-bottom:1px solid var(--line)}}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:0;border-top:1px solid var(--line)}
.team article{padding:28px 24px 26px 0;border-bottom:1px solid var(--line)}
.team h4{font-size:27px}
.team .role{font:400 10.5px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:6px 0 12px;display:block}
.team p{font-size:15px;color:var(--soft);margin:0}
.prog{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.prog li{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid rgba(201,164,106,.12)}
.prog li b{font-weight:400;color:var(--gold);font-family:var(--serif);font-style:italic;font-size:19px}
@media (max-width:640px){.prog li{grid-template-columns:1fr;gap:0}}
.tech{columns:2 300px;column-gap:50px}
.tech p{break-inside:avoid;color:var(--soft);font-size:15.5px}
.tech b{color:var(--ink);font-weight:400}

/* Bandeau d'appel */
.cta{position:relative;padding:clamp(90px,12vw,150px) 0;text-align:center;overflow:hidden;border-top:1px solid var(--line)}
.cta h2{font-size:clamp(40px,6vw,78px);margin:16px 0 22px}
.cta p{max-width:620px;margin:0 auto 34px;color:var(--soft)}
.cta .btns{justify-content:center}
.cta.img .bgimg{position:absolute;inset:0;z-index:0}
.cta.img .bgimg img{width:100%;height:100%;object-fit:cover;opacity:.32}
.cta.img .wrap{position:relative;z-index:1}

/* Passerelle entre les deux sites */
.bridge{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border:1px solid var(--line);background:var(--bg2)}
.bridge .im{min-height:380px;position:relative;overflow:hidden}
.bridge .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bridge .bd{padding:clamp(30px,5vw,64px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.bridge .logo{width:130px}
.bridge h2{font-size:clamp(34px,4vw,52px)}
@media (max-width:860px){.bridge{grid-template-columns:1fr}.bridge .im{min-height:280px}}

/* Formulaire */
.form{display:grid;gap:18px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:600px){.form .row{grid-template-columns:1fr}}
.form label{display:block;font:400 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.form input,.form select,.form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:300 17px var(--sans);padding:10px 0;border-radius:0;transition:border-color .3s}
.form select option{background:var(--bg);color:var(--ink)}
.form textarea{min-height:150px;resize:vertical;border:1px solid var(--line);padding:14px}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--gold)}
.form .consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--muted)}
.form .consent input{width:auto;margin-top:6px}
.hp{position:absolute;left:-5000px}
.direct{display:grid;gap:26px}
.direct div b{display:block;font:400 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.direct a{font-family:var(--serif);font-size:24px;text-decoration:none;word-break:break-word}
.direct a:hover{color:var(--gold2)}

/* Réseaux */
.socials{display:flex;gap:12px;flex-wrap:wrap}
.socials a{width:46px;height:46px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:border-color .3s,background .3s}
.socials a:hover{border-color:var(--gold);background:rgba(201,164,106,.12)}
.socials svg{width:19px;height:19px;fill:var(--gold2)}

/* Pied de page */
.ftr{border-top:1px solid var(--line);padding:70px 0 34px;background:var(--bg)}
.ftr .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.ftr .nm{font:400 34px var(--serif)}
.ftr p,.ftr a{font-size:15px;color:var(--soft);text-decoration:none}
.ftr a:hover{color:var(--gold2)}
.ftr h4{font:400 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ftr .base{margin-top:54px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.ftr .base a{font-size:13px;color:var(--muted)}
@media (max-width:820px){.ftr .grid{grid-template-columns:1fr}}

/* Divers */
.note-box{border-left:2px solid var(--gold);padding:6px 0 6px 22px;color:var(--soft);font-style:italic;font-family:var(--serif);font-size:20px}
.legal h2{font-size:32px;margin:48px 0 14px}
.legal p,.legal li{color:var(--soft)}
.center{text-align:center}
.mt{margin-top:40px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .ch,.js .late,.js .rv{opacity:1;transform:none;filter:none}
  .curtain{display:none}
}

/* ==========================================================
   Site Laura : version « mixte » (ouverture sombre, pages ivoire)
   ========================================================== */
.site-laura{--bg:#f6f0e6;--bg2:#efe6d8;--bg3:#e5d8c4;--ink:#231b16;--soft:#46392f;--muted:#7a6a5c;--gold:#8a6536;--gold2:#6f4f27;--line:rgba(122,90,47,.24)}
.site-laura .hero,.site-laura .hdr,.site-laura .mmenu,.site-laura .ftr,.site-laura .cta.img,.site-laura .phead.photo,.site-laura .dark{--bg:#0b0a09;--bg2:#13110f;--bg3:#1b1815;--ink:#efe6d6;--soft:#cbbfab;--muted:#9a8f7e;--gold:#c9a46a;--gold2:#e2c48e;--line:rgba(201,164,106,.22);background:var(--bg);color:var(--ink)}
.site-laura .hdr{background:transparent}
.site-laura .hdr.solid{background:rgba(11,10,9,.92)}
.site-laura .cta.img .bgimg img{opacity:.38}
.site-laura .phead{background:var(--bg2)}
.site-laura .btn.solid{color:#f6f0e6}
.site-laura .dark .btn.solid,.site-laura .hero .btn.solid,.site-laura .cta .btn.solid{color:#0b0a09}
.site-laura .btn:hover{color:#f6f0e6}
.site-laura .dark .btn:hover,.site-laura .hero .btn:hover,.site-laura .cta .btn:hover{color:#0b0a09}
.site-laura .frame img{aspect-ratio:auto}
.site-laura .card{background:#fbf7f0}
.site-laura .press-top article,.site-laura .copybox,.site-laura .kit a{background:#fbf7f0}
.prose p,.press-list blockquote,.copybox p,.just{text-align:justify;-webkit-hyphens:auto;hyphens:auto}

/* Tuiles d'accueil */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tile{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;text-decoration:none;color:#f6f0e6;background:#1b1815}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,8,6,.82) 0%,rgba(10,8,6,.1) 55%,rgba(10,8,6,0) 100%)}
.tile span{position:absolute;left:18px;right:18px;bottom:18px;z-index:1}
.tile b{display:block;font:400 clamp(24px,2.2vw,32px)/1.05 var(--serif)}
.tile small{display:block;margin-top:6px;font:400 10.5px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#e2c48e}
.tile:hover img{transform:scale(1.05)}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,1fr)}}

/* Galerie sans recadrage */
.masonry{columns:3 260px;column-gap:16px}
.masonry figure{margin:0 0 16px;break-inside:avoid;cursor:zoom-in;background:var(--bg2)}
.masonry img{width:100%;height:auto;display:block}
.masonry figcaption{padding:10px 4px 2px;font:italic 400 17px/1.3 var(--serif);color:var(--ink)}
.masonry figcaption small{display:block;font:400 11px/1.5 var(--sans);font-style:normal;letter-spacing:.06em;color:var(--muted);margin-top:2px}
.lb .nav-lb{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.3);color:#fff;font-size:26px;cursor:pointer}
.lb .prev{left:14px}.lb .next{right:14px}
.lb button.x{top:16px;right:16px}

/* Vidéos verticales (Shorts) */
.vid.short .yt{aspect-ratio:9/16;max-width:360px}
.vid .yt button{border-color:#e2c48e!important}.vid .yt button::after{border-left-color:#e2c48e!important}
.vid-feature{display:grid;grid-template-columns:360px 1fr;gap:clamp(24px,5vw,60px);align-items:center}
@media (max-width:760px){.vid-feature{grid-template-columns:1fr}}

/* Portfolio (pages Canva) */
.pf{display:grid;gap:26px}
.pf img{width:100%;height:auto;box-shadow:0 20px 50px -30px rgba(40,25,10,.5);border:1px solid var(--line)}

/* Press kit */
.pk-id{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,70px);align-items:center}
@media (max-width:860px){.pk-id{grid-template-columns:1fr}}
.pk-roles{display:flex;flex-wrap:wrap;gap:10px}
.pk-roles span{border:1px solid var(--line);padding:8px 14px;font:400 19px var(--serif);background:#fbf7f0}
.photos-dl img{aspect-ratio:auto;height:auto}

/* Impression / PDF du press kit */
@media print{
  .hdr,.mmenu,.ftr,.cta,.btns,.copybox .cp,.skip,.noprint,.socials,.photos-dl span br{display:none!important}
  .sec,.phead,.press-top article{break-inside:avoid}
  .js .rv{opacity:1!important;transform:none!important}
  .sec{padding:28px 0!important;break-inside:avoid}
  .phead{padding:30px 0!important}
  body{font-size:13px}
  .photos-dl{grid-template-columns:repeat(4,1fr)}
  a{text-decoration:none}
}

/* Bandeau « Travaillons ensemble » : photo entière, non recadrée */
.cta-split{padding:clamp(70px,9vw,120px) 0;border-top:1px solid var(--line)}
.cta-split h2{font-size:clamp(40px,5.5vw,72px);margin:16px 0 22px}
.cta-split p{color:var(--soft);margin-bottom:30px}
.site-laura .cta-split{--bg:#0b0a09;--ink:#efe6d6;--soft:#cbbfab;--muted:#9a8f7e;--gold:#c9a46a;--gold2:#e2c48e;--line:rgba(201,164,106,.22);background:#0b0a09;color:#efe6d6}
.site-laura .cta-split .btn.solid,.site-laura .cta-split .btn:hover{color:#0b0a09}
@media print{.cta-split{display:none!important}}

/* En-têtes avec photo entière + bandes de deux photos */
.hwrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,70px);align-items:center}
.hside{margin:0;justify-self:end}
.hside img{max-height:560px;width:auto;max-width:100%;height:auto;display:block}
@media (max-width:860px){.hwrap{grid-template-columns:1fr}.hside{justify-self:start}.hside img{max-height:480px}}
.duo-sec{padding-top:0}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.duo figure{margin:0}.duo img{width:100%;height:auto;display:block}
@media (max-width:700px){.duo{grid-template-columns:1fr}}

/* Textes justifiés partout */
p,.lead,.motto,.card p,.team p,.tech p,.note-box,.soon p,.rep small,.pillars p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.center p,.cta p,.cta-split .center p{text-align:justify;text-align-last:center}
.dl-btns{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin-top:6px}
.direct .dl-btns a.btn{font:400 12px/1 var(--sans);letter-spacing:.22em;word-break:normal}

/* Ouverture : la fente de lumière */
.curtain.slit{background:none;z-index:6}
.curtain.slit .cl,.curtain.slit .cr{position:absolute;top:0;bottom:0;width:50.2%;background:#050505}
.curtain.slit .cl{left:0}.curtain.slit .cr{right:0}
.curtain.slit .seam{position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:#e2c48e;box-shadow:0 0 28px 8px rgba(226,196,142,.55);opacity:0}
.js .play .curtain.slit{animation:gone 0s linear 3.6s forwards}
.js .play .curtain.slit .cl{animation:slitL 2.4s cubic-bezier(.75,0,.2,1) .9s forwards}
.js .play .curtain.slit .cr{animation:slitR 2.4s cubic-bezier(.75,0,.2,1) .9s forwards}
.js .play .curtain.slit .seam{animation:seam 3.3s ease forwards}
@keyframes slitL{to{transform:translateX(-100%)}}@keyframes slitR{to{transform:translateX(100%)}}
@keyframes seam{0%{opacity:0}25%{opacity:1}60%{opacity:.6}100%{opacity:0}}
@keyframes gone{to{visibility:hidden}}
.hero.quick .curtain.slit{display:block}
.js .hero.quick.play .curtain.slit .cl,.js .hero.quick.play .curtain.slit .cr{animation-duration:1.3s;animation-delay:.3s}
.js .hero.quick.play .curtain.slit .seam{animation-duration:1.6s}
.js .hero.quick.play .curtain.slit{animation-delay:1.7s}
@media (prefers-reduced-motion:reduce){.curtain.slit{display:none!important}}
/* Coupures de presse */
.clips{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;align-items:start}
.clips figure{margin:0;background:#fbf7f0;border:1px solid var(--line);padding:12px}
.clips img{width:100%;height:auto;display:block}
.clips figcaption{font-size:14px;color:var(--muted);margin-top:10px}.clips b{color:var(--ink);font-weight:400}
@media (max-width:760px){.clips{grid-template-columns:1fr}}

.vid-feature.mimi{grid-template-columns:1.4fr 1fr}
@media (max-width:760px){.vid-feature.mimi{grid-template-columns:1fr}}

/* ==========================================================
   V3 — lumineux, vivant, artistique (nov. 2026)
   ========================================================== */

/* --- Plus aucun mot coupé --- */
p,.lead,.motto,.card p,.team p,.tech p,.note-box,.soon p,.rep small,.pillars p,.prose p,.press-list blockquote,.copybox p,.just,li,h1,h2,h3,h4,figcaption,small,span{-webkit-hyphens:manual!important;hyphens:manual!important;overflow-wrap:normal;word-break:normal}
.nobr{white-space:nowrap}

/* --- Site Laura : palette lumineuse --- */
.site-laura{--bg:#faf5ec;--bg2:#f3eadb;--bg3:#ead9bf;--ink:#22180f;--soft:#45372b;--muted:#7d6a58;--gold:#9a6b2a;--gold2:#7a4f1c;--line:rgba(154,107,42,.25);--rose:#b23a48;--coral:#e0785c;--champ:#f6e3bd}
.site-laura .hdr{background:transparent}
.site-laura .hdr.solid{background:rgba(250,245,236,.93);border-color:var(--line)}
.site-laura .hdr.solid,.site-laura .hdr.solid .nav a{color:#3a2c20}
.site-laura .hdr{--ink:#22180f}
.site-laura .hdr.solid .brand{color:#7a4f1c}
.site-laura .hdr.solid .burger span{background:#22180f}
.site-laura .hdr:not(.solid) .nav a,.site-laura .hdr:not(.solid) .brand{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.site-laura .hdr:not(.solid) .burger span{background:#fff}
.site-laura .nav a.me{border:1px solid currentColor;padding:9px 16px;border-radius:30px}
.site-laura .hdr.solid .nav a.me{background:var(--rose);border-color:var(--rose);color:#fff}
.site-laura .mmenu{--bg:#faf5ec;--ink:#22180f;--gold:#9a6b2a;background:#faf5ec}
.site-laura .phead{background:radial-gradient(120% 120% at 85% 0%,#fbe9c9 0%,#faf5ec 55%);border-bottom:0}
.site-laura .ftr{--bg:#f1e5d0;--ink:#22180f;--soft:#45372b;--muted:#7d6a58;--gold:#9a6b2a;--gold2:#7a4f1c;--line:rgba(154,107,42,.25);background:linear-gradient(180deg,#f3e7d2,#ead7b7);color:#22180f}
.site-laura .ftr .socials svg{fill:#7a4f1c}
.site-laura .btn{border-radius:40px}
.site-laura .btn.solid{background:linear-gradient(90deg,#9a6b2a,#c99a4b);border-color:transparent;color:#fff;box-shadow:0 10px 26px -10px rgba(154,107,42,.7)}
.site-laura .btn.solid:hover{background:linear-gradient(90deg,#b23a48,#e0785c);color:#fff}
.site-laura .btn.rose{background:var(--rose);border-color:var(--rose);color:#fff}
.site-laura .btn.rose:hover{background:#8e2533}

/* --- Révélations plus riches --- */
.js .rv.mask{opacity:1;transform:none;clip-path:inset(0 0 100% 0);transition:clip-path 1.3s cubic-bezier(.7,0,.2,1)}
.js .rv.mask.in{clip-path:inset(0 0 0 0)}
.js .rv.left{transform:translateX(-50px)}.js .rv.right{transform:translateX(50px)}
.js .rv.left.in,.js .rv.right.in{transform:none}
.js .rv.zoom{transform:scale(.92)}.js .rv.zoom.in{transform:none}
.js .words .w{display:inline-block;opacity:0;transform:translateY(.6em) rotate(2deg);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .words.in .w{opacity:1;transform:none}
mark.hl{background:linear-gradient(transparent 62%,rgba(224,120,92,.35) 62%) no-repeat 0 0/0% 100%;color:inherit;transition:background-size 1.4s .3s var(--ease);padding:0 .1em}
.in mark.hl,mark.hl.in{background-size:100% 100%}
.rv .shine,.shine{position:relative;overflow:hidden}
.shine::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-130%);pointer-events:none}
.shine:hover::after,.in .shine::after,.shine.in::after{animation:sheen 1.6s ease}
@keyframes sheen{to{transform:translateX(130%)}}
.ornament{display:block;width:120px;height:16px;margin:18px 0;background:linear-gradient(var(--gold),var(--gold)) center/0% 1px no-repeat;transition:background-size 1.2s .2s var(--ease);position:relative}
.ornament::after{content:"✦";position:absolute;left:50%;top:50%;transform:translate(-50%,-55%) scale(0);color:var(--gold);font-size:13px;transition:transform .6s .9s}
.in .ornament,.ornament.in{background-size:100% 1px}
.in .ornament::after,.ornament.in::after{transform:translate(-50%,-55%) scale(1)}
.center .ornament{margin-inline:auto}

/* --- Accueil Laura : le projecteur --- */
.spot{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:#120806;cursor:crosshair}
.spot .bw,.spot .col{position:absolute;inset:0;background-position:var(--pos,50% 40%);background-size:cover;background-repeat:no-repeat}
.spot .bw{filter:grayscale(1) sepia(.5) brightness(.66) contrast(1.05)}
.spot .col{--r:0px;-webkit-mask:radial-gradient(circle var(--r) at var(--x,50%) var(--y,45%),#000 45%,rgba(0,0,0,.6) 70%,transparent 100%);mask:radial-gradient(circle var(--r) at var(--x,50%) var(--y,45%),#000 45%,rgba(0,0,0,.6) 70%,transparent 100%);filter:saturate(1.2) brightness(1.06)}
.spot .glow{position:absolute;inset:0;background:radial-gradient(circle calc(var(--r) * 1.6) at var(--x,50%) var(--y,45%),rgba(255,226,170,.22),transparent 70%);pointer-events:none;mix-blend-mode:screen}
.spot .beam{position:absolute;inset:0;pointer-events:none;background:conic-gradient(from 180deg at 85% -10%,transparent 0deg,rgba(255,236,200,.07) 8deg,transparent 18deg);opacity:0;transition:opacity 2s}
.spot.on .beam{opacity:1}
.spot .shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,5,3,.86) 0%,rgba(10,5,3,.35) 38%,rgba(10,5,3,0) 60%),linear-gradient(90deg,rgba(10,5,3,.7) 0%,rgba(10,5,3,0) 50%);pointer-events:none}
.spot .txt{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 var(--gut) clamp(50px,10vh,100px);color:#fff;max-width:900px}
.spot .kicker{color:#f3d9a6}
.spot h1{font-size:clamp(58px,10vw,148px);line-height:.88;margin:18px 0 18px;color:#fff;text-shadow:0 6px 40px rgba(0,0,0,.65)}
.spot h1 .l{display:block}
.spot .motto{font:italic 400 clamp(21px,2.4vw,30px) var(--serif);color:#f6e7cc;margin:0 0 30px;text-align:left!important;text-shadow:0 2px 16px rgba(0,0,0,.7)}
.spot .btn.solid{font-size:13px;padding:18px 34px}
.spot .hint{position:absolute;right:var(--gut);bottom:34px;z-index:3;color:#f3d9a6;font:italic 400 18px var(--serif);opacity:.85}
.spot .credit{position:absolute;right:var(--gut);top:96px;z-index:3;color:rgba(255,255,255,.6);writing-mode:vertical-rl}
@media (max-width:760px){.spot .hint{display:none}.spot{--pos:40% 40%}}

/* Ruban défilant */
.ribbon{background:linear-gradient(90deg,#8e2533,#b23a48,#8e2533);color:#fbe7c4;overflow:hidden;white-space:nowrap;padding:16px 0;border-block:1px solid rgba(255,220,170,.35)}
.ribbon .tr{display:inline-flex;gap:38px;animation:marq 38s linear infinite;padding-left:38px}
.ribbon span{font:italic 400 26px var(--serif)}
.ribbon i{font-style:normal;color:#f0c98a}
@keyframes marq{to{transform:translateX(-50%)}}
.ribbon:hover .tr{animation-play-state:paused}

/* Le talent (accueil) */
.talent{position:relative;overflow:hidden;background:radial-gradient(90% 80% at 100% 0%,#fde8c8 0%,#faf5ec 60%)}
.talent .cycle{display:inline-grid;vertical-align:bottom;height:1.1em;overflow:hidden;color:var(--rose);font-style:italic}
.talent .cycle b{grid-area:1/1;font-weight:400;animation:cyc 9s infinite;opacity:0}
.talent .cycle b:nth-child(2){animation-delay:3s}.talent .cycle b:nth-child(3){animation-delay:6s}
@keyframes cyc{0%{opacity:0;transform:translateY(60%)}5%,30%{opacity:1;transform:none}36%,100%{opacity:0;transform:translateY(-60%)}}
.collage{position:relative;height:clamp(460px,52vw,640px)}
.collage figure{position:absolute;margin:0;overflow:hidden;box-shadow:0 30px 70px -30px rgba(60,30,10,.55);border:8px solid #fff;background:#fff}
.collage img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.collage figure:hover img{transform:scale(1.06)}
.collage figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 8px;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent);color:#fff;font:italic 400 16px/1.25 var(--serif)}
.collage figcaption small{display:block;font:400 10px var(--sans);letter-spacing:.12em;color:#f3d9a6;font-style:normal}
.collage .c1{left:0;top:6%;width:46%;height:70%;transform:rotate(-3deg)}
.collage .c2{right:2%;top:0;width:44%;height:52%;transform:rotate(2.5deg)}
.collage .c3{right:10%;bottom:0;width:48%;height:42%;transform:rotate(-1.5deg)}
.collage figure.rv.in{transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
@media (max-width:860px){.collage{height:auto;display:grid;gap:14px}.collage figure{position:relative;inset:auto!important;width:100%!important;height:300px!important;transform:none!important}}

/* Tuiles : effets */
.tile{border-radius:4px}
.tile::before{content:"";position:absolute;inset:10px;border:1px solid rgba(243,217,166,.0);z-index:2;transition:border-color .6s,inset .6s;pointer-events:none}
.tile:hover::before{border-color:rgba(243,217,166,.85);inset:14px}
.tile span{transition:transform .6s var(--ease)}
.tile:hover span{transform:translateY(-8px)}
.tile:hover img{transform:scale(1.08) rotate(.5deg)}

/* Bandeau « Contactez-moi » (accueil seulement) */
.contact-me{position:relative;overflow:hidden;padding:clamp(80px,10vw,130px) 0;background:radial-gradient(80% 120% at 0% 100%,#f8d9cf 0%,transparent 60%),radial-gradient(80% 120% at 100% 0%,#fde3b5 0%,transparent 60%),#faf3e6}
.contact-me .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,90px);align-items:center}
.contact-me .arch{border-radius:260px 260px 6px 6px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 40px 80px -40px rgba(120,60,20,.6);position:relative}
.contact-me .arch img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.contact-me h2{font-size:clamp(46px,6vw,84px);margin:14px 0 18px;color:#22180f}
.contact-me h2 em{color:var(--rose)}
.contact-me p{color:var(--soft);max-width:520px}
.contact-me .credit{margin-top:10px}
@media (max-width:820px){.contact-me .wrap{grid-template-columns:1fr}.contact-me .arch{max-width:360px}}

/* --- Biographie : portrait pop --- */
.bio-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px);align-items:center;padding:130px 0 40px}
.bio-head h1{font-size:clamp(50px,7vw,100px);margin:16px 0 18px}
.bio-head h1 em{color:var(--rose)}
.pop{position:relative;aspect-ratio:4/5;max-width:520px;justify-self:center;width:100%}
.pop .sun{position:absolute;left:8%;right:8%;top:10%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 200deg,#e0785c,#f2b45f,#f6d68e,#e0785c);animation:spin 40s linear infinite;box-shadow:0 30px 80px -20px rgba(224,120,92,.6)}
.pop .sun::after{content:"";position:absolute;inset:10%;border-radius:50%;border:1px dashed rgba(255,255,255,.7)}
@keyframes spin{to{transform:rotate(360deg)}}
.pop img{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:100%;width:auto;max-width:none;filter:contrast(1.08) drop-shadow(0 20px 30px rgba(60,20,10,.35))}
.pop .wd{position:absolute;z-index:2;font:italic 400 clamp(20px,2.2vw,30px) var(--serif);color:#22180f;background:#fff;padding:6px 16px;border-radius:30px;box-shadow:0 10px 30px -10px rgba(0,0,0,.3);white-space:nowrap;animation:bob 6s ease-in-out infinite alternate}
.pop .wd:nth-of-type(2){animation-delay:-2s}.pop .wd:nth-of-type(3){animation-delay:-4s}.pop .wd:nth-of-type(4){animation-delay:-1s}.pop .wd:nth-of-type(5){animation-delay:-3s}
.pop .wd.r{background:var(--rose);color:#fff}.pop .wd.g{background:#2a6f6a;color:#fff}.pop .wd.y{background:#f6d68e}
@keyframes bob{to{transform:translateY(-14px) rotate(-2deg)}}
.js .pop .wd{opacity:0;scale:.6;transition:opacity .7s,scale .7s cubic-bezier(.3,1.6,.5,1)}
.js .pop.in .wd{opacity:1;scale:1}
.js .pop.in .wd:nth-of-type(2){transition-delay:.25s}.js .pop.in .wd:nth-of-type(3){transition-delay:.5s}.js .pop.in .wd:nth-of-type(4){transition-delay:.75s}.js .pop.in .wd:nth-of-type(5){transition-delay:1s}
@media (max-width:860px){.bio-head{grid-template-columns:1fr;padding-top:110px}}
.facts-list{list-style:none;margin:10px 0 0;padding:0}
.facts-list li{padding:8px 0;border-bottom:1px dashed var(--line);color:var(--soft);font-size:15.5px;line-height:1.45}
.facts-list li b{font-weight:400;color:var(--ink)}
.timeline{position:relative;list-style:none;margin:14px 0 0;padding:0 0 0 30px}
.timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--coral),var(--gold));transform-origin:top;transform:scaleY(0);transition:transform 1.6s var(--ease)}
.timeline.in::before{transform:scaleY(1)}
.timeline li{position:relative;padding:0 0 18px;line-height:1.45;color:var(--soft);font-size:15.5px}
.timeline li::before{content:"";position:absolute;left:-28px;top:4px;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--coral);box-shadow:0 0 0 4px rgba(224,120,92,.15)}
.timeline .y{display:block;font:italic 400 22px/1 var(--serif);color:var(--rose);margin-bottom:3px}
.timeline b{font-weight:400;color:var(--ink)}
.side-box{background:#fffaf2;border:1px solid var(--line);padding:26px 26px 14px;border-radius:4px;box-shadow:0 20px 50px -35px rgba(80,40,10,.5)}
.side-box+.side-box{margin-top:22px}

/* --- Répertoire : cartes de personnages --- */
.rep-intro{display:flex;gap:clamp(20px,5vw,70px);flex-wrap:wrap;margin-top:30px}
.rep-intro div b{display:block;font:400 clamp(44px,5vw,70px)/1 var(--serif);color:var(--rose)}
.rep-intro div span{font:400 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.rep-cat{display:flex;align-items:baseline;gap:18px;margin:80px 0 26px}
.rep-cat:first-child{margin-top:0}
.rep-cat h2{font-size:clamp(32px,3.6vw,48px)}
.rep-cat em{font:italic 400 18px var(--serif);color:var(--muted)}
.roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:20px}
.role{perspective:1200px;height:340px;cursor:pointer}
.role .in-c{position:relative;width:100%;height:100%;transition:transform 1s cubic-bezier(.3,.8,.2,1);transform-style:preserve-3d}
.role:hover .in-c,.role.flip .in-c,.role:focus-within .in-c{transform:rotateY(180deg)}
.role .f,.role .b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:6px;overflow:hidden}
.role .f{background:#2a1a12;color:#fff;box-shadow:0 24px 50px -30px rgba(60,30,10,.7)}
.role .f img{width:100%;height:100%;object-fit:cover}
.role .f::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,10,5,.85) 0%,rgba(20,10,5,0) 55%)}
.role .f .t{position:absolute;left:18px;right:18px;bottom:16px;z-index:1}
.role .f .t b{display:block;font:400 30px/1.05 var(--serif)}
.role .f .t i{font:italic 400 17px var(--serif);color:#f3d9a6}
.role .f.typo{display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;background:var(--cbg,linear-gradient(150deg,#b23a48,#e0785c))}
.role .f.typo::after{display:none}
.role .f.typo .t{position:static}
.role .f.typo .t b{font-size:36px}
.role .f.typo .big{position:absolute;font:italic 400 220px/1 var(--serif);opacity:.13;right:-10px;bottom:-40px}
.role .b{transform:rotateY(180deg);background:#fffaf2;border:1px solid var(--line);padding:26px 22px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.role .b b{font:400 28px/1.1 var(--serif);color:var(--ink)}
.role .b i{font:italic 400 19px var(--serif);color:var(--rose)}
.role .b small{font-size:14px;color:var(--soft);line-height:1.5}
.role .b .badge{align-self:flex-start;margin-top:8px}
.role .tag-s{position:absolute;top:12px;left:12px;z-index:2;background:#f6d68e;color:#3a2410;font:400 10px var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:6px 10px;border-radius:20px}
.chips.glow span{border-radius:40px;background:#fffaf2;transition:transform .4s,box-shadow .4s}
.chips.glow span:hover{transform:translateY(-3px);box-shadow:0 12px 30px -14px rgba(178,58,72,.6)}
.chips.glow span::before{content:"✦ ";color:var(--coral)}

/* --- Agenda : billets --- */
.tickets{display:grid;gap:22px}
.ticket{display:grid;grid-template-columns:200px 1fr 170px;background:#fffaf2;border:1px solid var(--line);border-radius:8px;overflow:hidden;position:relative;box-shadow:0 20px 40px -30px rgba(80,40,10,.6);transition:transform .5s var(--ease),box-shadow .5s}
.ticket:hover{transform:translateY(-4px) rotate(-.3deg);box-shadow:0 30px 60px -30px rgba(178,58,72,.55)}
.ticket .ph{position:relative;min-height:170px}
.ticket .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ticket .ph.typo{background:linear-gradient(150deg,#26305e,#7a4f8a,#e0785c);display:flex;align-items:center;justify-content:center;color:#fff;font:italic 400 30px var(--serif)}
.ticket .bd{padding:24px 28px}
.ticket .bd h3{font-size:30px;margin:6px 0 8px}
.ticket .bd p{margin:0;color:var(--soft);font-size:15.5px;text-align:left!important}
.ticket .stub{border-left:2px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;text-align:center}
.ticket .stub .when{font:italic 400 24px/1.1 var(--serif);color:var(--rose)}
.ticket::before,.ticket::after{content:"";position:absolute;right:161px;width:18px;height:18px;border-radius:50%;background:var(--bg);border:1px solid var(--line)}
.ticket::before{top:-10px}.ticket::after{bottom:-10px}
@media (max-width:760px){.ticket{grid-template-columns:1fr}.ticket .ph{min-height:200px}.ticket .stub{border-left:0;border-top:2px dashed var(--line);flex-direction:row;justify-content:space-between}.ticket::before,.ticket::after{display:none}}
.past{display:grid;gap:0}
.past .season h3{display:flex;align-items:center;gap:14px}
.past .season h3::after{content:"";flex:1;height:1px;background:var(--line)}
.ev2{display:grid;grid-template-columns:64px 140px 1fr 1fr;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(154,107,42,.12)}
.ev2 .th{width:64px;height:64px;border-radius:50%;overflow:hidden;background:linear-gradient(150deg,#f6d68e,#e0785c);display:flex;align-items:center;justify-content:center;color:#fff;font:italic 400 24px var(--serif);transition:transform .5s}
.ev2:hover .th{transform:scale(1.15)}
.ev2 .th img{width:100%;height:100%;object-fit:cover}
.ev2 .d{color:var(--rose);font:italic 400 19px var(--serif)}
.ev2 b{font-weight:400;color:var(--ink);font-family:var(--serif);font-size:21px}
.ev2 span{color:var(--soft);font-size:15px;line-height:1.45}
@media (max-width:760px){.ev2{grid-template-columns:56px 1fr;gap:4px 14px}.ev2 .th{grid-row:span 3;width:56px;height:56px}}

/* --- Photos --- */
.flash{position:fixed;inset:0;background:#fff;z-index:200;pointer-events:none;opacity:0}
.js .flash.go{animation:flash 1.1s ease-out forwards}
@keyframes flash{0%{opacity:0}6%{opacity:1}100%{opacity:0}}
.ptitle{white-space:nowrap}
@media (max-width:560px){.ptitle{white-space:normal}}
.jg{display:flex;flex-wrap:wrap;gap:10px}
.jg figure{margin:0;position:relative;overflow:hidden;cursor:zoom-in;background:var(--bg2);flex:0 0 auto}
.jg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease),filter 1.1s}
.jg figure:hover img{transform:scale(1.05)}
.jg figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 10px;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent);color:#fff;font:italic 400 17px/1.25 var(--serif);opacity:0;transform:translateY(8px);transition:.45s}
.jg figcaption small{display:block;font:400 10.5px var(--sans);letter-spacing:.08em;color:#f3d9a6;font-style:normal}
.jg figure:hover figcaption,.jg figure:focus figcaption{opacity:1;transform:none}
.js .jg figure{opacity:0;transform:scale(.96);transition:opacity .8s,transform .8s}
.js .jg figure.in{opacity:1;transform:none}
.dl-hd{display:inline-flex;align-items:center;gap:14px;padding:18px 30px;border-radius:50px;background:linear-gradient(90deg,#b23a48,#e0785c);color:#fff;text-decoration:none;font:400 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;box-shadow:0 16px 36px -16px rgba(178,58,72,.8);transition:transform .3s}
.dl-hd:hover{transform:translateY(-3px)}
.dl-hd svg{width:20px;height:20px;fill:#fff;animation:nudge 1.6s ease-in-out infinite}
@keyframes nudge{50%{transform:translateY(3px)}}
.ph-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 26px}
.ph-tabs button{background:none;border:1px solid var(--line);border-radius:30px;padding:10px 18px;font:400 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--soft);cursor:pointer}
.ph-tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* --- Vidéos --- */
.vgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:26px}
.vgrid>.vid{flex:0 1 calc(50% - 13px)}
@media (max-width:760px){.vgrid>.vid{flex-basis:100%}}
.vid.short .yt{max-width:300px;margin:0 auto}
.vid-feature{grid-template-columns:300px 1fr}
.vid .yt{border-radius:6px}
.vid .yt.cover::after{content:attr(data-label);position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent);color:#fff;font:italic 400 22px var(--serif)}
.cinema{background:radial-gradient(70% 90% at 50% 0%,#3a1d16 0%,#140b08 70%);color:#f3e7d3;--ink:#f3e7d3;--soft:#d8c8b0;--muted:#a8957d;--gold:#e2c48e;--line:rgba(226,196,142,.25)}
.cinema .lead{color:#e8d8bf}

/* --- Presse --- */
.headline{font:italic 400 clamp(34px,5vw,64px)/1.15 var(--serif);text-align:center;max-width:1050px;margin:0 auto;color:var(--ink)}
.headline strong{font-weight:400;color:var(--rose)}
.headline-src{display:block;text-align:center;margin-top:20px;font:400 12px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.media-marq{overflow:hidden;white-space:nowrap;border-block:1px solid var(--line);padding:22px 0;margin-top:60px}
.media-marq .tr{display:inline-flex;gap:60px;animation:marq 40s linear infinite;padding-left:60px}
.media-marq span{font:400 30px var(--serif);color:var(--muted);letter-spacing:.02em}
.press-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.press-feat article{position:relative;border-radius:8px;overflow:hidden;min-height:440px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;box-shadow:0 30px 60px -36px rgba(60,20,10,.7)}
.press-feat article img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform 1.6s var(--ease)}
.press-feat article:hover img{transform:scale(1.06)}
.press-feat article::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,8,6,.92) 0%,rgba(25,8,6,.45) 55%,rgba(25,8,6,.15) 100%);z-index:0}
.press-feat article>*{position:relative;z-index:1}
.press-feat blockquote{margin:0 0 16px;font:italic 400 27px/1.3 var(--serif);text-align:left}
.press-feat cite{font:400 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#f3d9a6;font-style:normal}
.press-feat small{display:block;color:#e8d8bf;margin-top:4px;font-size:13px}
@media (max-width:900px){.press-feat{grid-template-columns:1fr}}
.press-list article{grid-template-columns:200px 1fr;border-radius:0}
.press-list .src{order:-1}
.press-list .src b{font:400 26px/1.1 var(--serif);letter-spacing:0;text-transform:none;color:var(--rose);margin-bottom:6px}
.press-list blockquote strong{background:linear-gradient(transparent 60%,rgba(246,214,142,.6) 60%)}
@media (max-width:760px){.press-list article{grid-template-columns:1fr}}

/* --- Contact Laura --- */
.c-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:110px}
.c-photos figure{margin:0;aspect-ratio:3/4;overflow:hidden;border-radius:4px;position:relative}
.c-photos img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;transition:transform 1.4s var(--ease)}
.c-photos figure:hover img{transform:scale(1.05)}
.c-photos figcaption{position:absolute;right:8px;bottom:6px;color:rgba(255,255,255,.85);font-size:10px;letter-spacing:.1em}
.c-photos figure:nth-child(2){transform:translateY(24px)}
@media (max-width:640px){.c-photos{grid-template-columns:repeat(3,1fr);gap:8px}.c-photos figure:nth-child(2){transform:none}}

/* ==========================================================
   Minuit Opéra V3 : ciel étoilé
   ========================================================== */
.site-minuit{--bg:#070b1d;--bg2:#0c1330;--bg3:#141c40}
.site-minuit body,body.site-minuit{background:#070b1d}
.sky{position:fixed;inset:0;z-index:-1;background:radial-gradient(120% 70% at 70% -10%,#1b2a66 0%,#0d1638 40%,#070b1d 75%)}
.sky canvas{width:100%;height:100%;display:block}
.sky::after{content:"";position:absolute;inset:0;background:radial-gradient(40% 25% at 25% 35%,rgba(140,150,220,.10),transparent 70%),radial-gradient(50% 18% at 65% 55%,rgba(200,170,220,.07),transparent 70%);pointer-events:none}
.site-minuit .sec,.site-minuit .phead,.site-minuit .hero{background:transparent}
.site-minuit .sec.alt{background:rgba(12,19,48,.55);backdrop-filter:blur(2px)}
.site-minuit .ftr{background:rgba(5,8,22,.85)}
.site-minuit .hero{background:transparent}
.site-minuit .hero .ph::after{background:linear-gradient(90deg,#070b1d 0%,rgba(7,11,29,.4) 18%,rgba(7,11,29,0) 40%),linear-gradient(0deg,#070b1d 0%,rgba(7,11,29,0) 30%)}
.site-minuit .hero .ph{-webkit-mask:linear-gradient(90deg,transparent 0%,#000 30%);mask:linear-gradient(90deg,transparent 0%,#000 30%)}
.motto-2 span{display:block}
.card .tag{line-height:1.6}
.card .tag .f2{display:block;color:var(--soft);letter-spacing:.16em}
.site-minuit .card{background:rgba(12,19,48,.7);backdrop-filter:blur(3px)}
.card .im{position:relative}
.card .im::before,.card .im::after{content:"";position:absolute;top:0;bottom:0;width:50%;z-index:2;background:linear-gradient(90deg,#4a0f1c,#7a1c2c 60%,#4a0f1c);transition:transform 1.1s cubic-bezier(.7,0,.2,1)}
.card .im::before{left:0;transform:translateX(0)}
.card .im::after{right:0}
.card .im::before,.card .im::after{box-shadow:inset 0 -20px 30px rgba(0,0,0,.4)}
.js .card.rv.in .im::before{transform:translateX(-101%);transition-delay:.3s}
.js .card.rv.in .im::after{transform:translateX(101%);transition-delay:.3s}
html:not(.js) .card .im::before,html:not(.js) .card .im::after{display:none}
.card .im.type{background:radial-gradient(120% 90% at 50% 0%,#2a2f6e,#0c1330)}
.card .im.type span{position:relative;z-index:1}
.da-full{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}
.da-full img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform:scale(1.08);transition:transform 2s var(--ease)}
.da-full.in img.bg{transform:none}
.da-full::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,11,29,.95) 0%,rgba(7,11,29,.55) 35%,rgba(7,11,29,0) 65%)}
.da-full .wrap{position:relative;z-index:1;padding-bottom:clamp(60px,10vh,110px);width:100%}
.da-full h2{font-size:clamp(50px,8vw,110px);margin:14px 0 18px}
.da-full p{max-width:620px;color:var(--soft);font-size:18px}
.da-full .credit{position:absolute;right:var(--gut);top:20px;z-index:1}
.pillars.img article{padding:0;border:0}
.pillars.img{gap:22px;border:0;grid-template-columns:repeat(3,1fr)}
.med{position:relative;border-radius:8px;overflow:hidden;min-height:440px;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;color:#fff;border:1px solid var(--line)}
.med img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.med:hover img{transform:scale(1.07)}
.med::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,11,29,.95) 0%,rgba(7,11,29,.35) 60%,rgba(7,11,29,.1) 100%)}
.med>*:not(img){position:relative;z-index:1}
.med em{font:italic 400 22px var(--serif);color:var(--gold)}
.med h3{font-size:38px;margin:6px 0 10px}
.med p{color:#e3dccf;font-size:15.5px;margin:0}
.med .sparks{position:absolute;inset:0;z-index:1;pointer-events:none}
@media (max-width:900px){.pillars.img{grid-template-columns:1fr}}
.constel{position:relative;height:520px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:radial-gradient(80% 80% at 50% 50%,rgba(40,50,110,.35),transparent 70%)}
.constel svg{position:absolute;inset:0;width:100%;height:100%}
.constel svg line{stroke:rgba(216,185,138,.35);stroke-width:1;stroke-dasharray:4 5}
.constel .st{position:absolute;transform:translate(-50%,-50%);text-align:center;text-decoration:none;color:var(--ink);width:180px}
.constel .st i{display:block;width:12px;height:12px;margin:0 auto 8px;border-radius:50%;background:#fff6dc;box-shadow:0 0 14px 4px rgba(255,236,190,.7);animation:tw 3s ease-in-out infinite alternate}
.constel .st:nth-child(odd) i{animation-delay:-1.5s}
.constel .st span{font:400 18px/1.2 var(--serif)}
.constel .st small{display:block;font:400 10px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.constel a.st:hover span{color:var(--gold2)}
.constel a.st span::after{content:" ↗";font-size:.7em;color:var(--gold)}
@keyframes tw{to{opacity:.55;transform:scale(.8)}}
@media (max-width:760px){.constel{height:auto;padding:30px 10px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.constel svg{display:none}.constel .st{position:static;transform:none;width:auto}}
/* Formulaire-billet */
.tk-form{position:relative;background:#f6ecd6;color:#14183a;border-radius:10px;padding:0;display:grid;grid-template-columns:1fr 150px;box-shadow:0 40px 80px -40px rgba(0,0,0,.9);overflow:hidden}
.tk-form .main{padding:36px 36px 30px}
.tk-form .stubf{border-left:2px dashed rgba(20,24,58,.35);display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#efe2c6 0 10px,#f6ecd6 10px 20px)}
.tk-form .stubf span{writing-mode:vertical-rl;transform:rotate(180deg);font:400 12px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:#14183a}
.tk-form .stubf b{display:block;font:italic 400 24px var(--serif);letter-spacing:0;text-transform:none}
.tk-form::before,.tk-form::after{content:"";position:absolute;right:140px;width:22px;height:22px;border-radius:50%;background:#070b1d}
.tk-form::before{top:-11px}.tk-form::after{bottom:-11px}
.tk-form .head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(20,24,58,.2);padding-bottom:14px;margin-bottom:22px}
.tk-form .head b{font:400 30px var(--serif)}
.tk-form .head small{font:400 10px var(--sans);letter-spacing:.24em;text-transform:uppercase}
.tk-form .form{--ink:#14183a;--gold:#6b4e1f;--line:rgba(20,24,58,.3);--muted:#4a4f6e;--bg:#f6ecd6}
.tk-form .form input,.tk-form .form select,.tk-form .form textarea{color:#14183a}
.tk-form .btn.solid{background:#14183a;color:#f6ecd6;border-color:#14183a}
.tk-form.sent{animation:tear .9s forwards}
@keyframes tear{to{transform:translateY(-30px) rotate(-4deg);opacity:0}}
@media (max-width:700px){.tk-form{grid-template-columns:1fr}.tk-form .stubf{display:none}.tk-form::before,.tk-form::after{display:none}.tk-form .main{padding:26px 20px}}
.site-minuit .frame figcaption{position:static;max-width:100%}
.site-minuit .frame::before{inset:-14px 14px 40px -14px}
.home-cta{text-align:center}
.home-cta .btns{justify-content:center}
@media (prefers-reduced-motion:reduce){.sky canvas{display:none}.ribbon .tr,.media-marq .tr{animation:none}}
.faq{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;list-style:none;font:400 24px/1.3 var(--serif);padding:16px 40px 16px 0;position:relative;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:10px;font-size:30px;color:var(--rose);transition:transform .4s}
.faq[open] summary::after{transform:rotate(45deg)}
.faq p{color:var(--soft);margin:0 0 18px}
.motto-2{font-size:clamp(22px,2.1vw,30px)!important}
.motto-2 span{white-space:nowrap}
@media (max-width:860px){.motto-2 span{white-space:normal}}
.bio-head .pop{margin-top:20px}
.bio-head{overflow:clip}
@media (max-width:860px){.pop{width:80%}.pop .wd{font-size:17px;padding:5px 12px}}
@media (max-width:860px){.motto-2 span{white-space:nowrap}.motto-2{font-size:20px!important}}
@media (max-width:560px){.roles{grid-template-columns:1fr 1fr;gap:12px}.role{height:250px}.role .f .t b{font-size:22px}.role .f.typo .t b{font-size:24px}.role .b{padding:14px 12px}.role .b b{font-size:20px}.role .b i{font-size:15px}.role .b small{font-size:12.5px}.rep-cat{flex-direction:column;gap:2px}}
@media (max-width:760px){.vid-feature,.vid-feature.mimi{grid-template-columns:1fr}}

/* sous-titres plus larges : pas de retour à la ligne inutile */
.phead .lead,.bio-head .lead{max-width:1000px!important}
.contact-me p{max-width:640px}
.phead .lead[style*="max-width"]{max-width:1000px!important}

/* coupure de presse */
.clip-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px;align-items:center}
.clip{display:block;margin:0;transform:rotate(-2.5deg);box-shadow:0 30px 60px -30px rgba(60,20,10,.6);border-radius:3px;overflow:hidden;cursor:zoom-in;transition:transform .8s var(--ease)}
.clip:hover{transform:rotate(0) scale(1.02)}
.clip img{display:block;width:100%;height:auto}
.clip-txt h2{font:italic 400 clamp(30px,4vw,48px)/1.15 var(--serif);margin:12px 0 18px}
@media (max-width:860px){.clip-row{grid-template-columns:1fr;gap:34px}.clip{transform:rotate(-1.5deg)}}

/* dos des cartes : air, presse, vidéo */
.role .b .air{font:italic 400 15px/1.35 var(--serif);color:var(--ink);opacity:.85}
.role .b q{font:italic 400 15px/1.4 var(--serif);color:var(--soft);quotes:"« " " »";margin-top:2px}
.role .b cite{font:400 10px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--rose);font-style:normal}
.role .b .play{align-self:flex-start;margin-top:6px;font:500 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--rose);padding:7px 12px;border-radius:30px;text-decoration:none;transition:transform .3s}
.role .b .play:hover{transform:scale(1.05)}
.role .b{gap:6px}
[id^="v-"]{scroll-margin-top:110px}
@media (max-width:560px){.role{height:290px}.role .b .air,.role .b q{font-size:12.5px}.role .b .play{font-size:9.5px;padding:5px 9px}.role .b{gap:4px}}

/* inscription aux nouvelles */
.nl{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;padding:46px 48px;border-radius:10px;background:linear-gradient(135deg,rgba(178,58,72,.08),rgba(242,180,95,.12));border:1px solid var(--line)}
.site-minuit .nl{background:linear-gradient(135deg,rgba(212,173,95,.10),rgba(120,90,200,.10));border-color:rgba(212,173,95,.3)}
.nl h2{font:400 clamp(28px,3.4vw,40px)/1.15 var(--serif);margin:10px 0 12px}
.nl form{display:flex;flex-wrap:wrap;gap:12px}
.nl input[type=email]{flex:1 1 220px;padding:15px 18px;border:1px solid var(--line);border-radius:40px;font:inherit;background:#fff}
.nl small{flex-basis:100%;color:var(--soft);font-size:12.5px}
.nl .hp{display:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:860px){.nl{grid-template-columns:1fr;padding:30px 22px;gap:22px}}
h1.kicker{font-size:inherit;font-weight:inherit;margin:0}
.wrap.narrow{max-width:900px}

/* vidéo de présentation (accueil) */
.vid-reel{max-width:1100px;margin:0 auto;border-radius:10px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(60,20,10,.7)}
.vid-reel .yt{aspect-ratio:16/9}
.showreel{padding-bottom:20px}

/* ---- bio : colonne de droite alignée ---- */
/* ---- répertoire : rangées équilibrées ---- */
.roles-w{container-type:inline-size}
.roles,.roles.c3{display:flex!important;flex-wrap:wrap;justify-content:center;gap:22px}
.roles .role{flex:0 0 calc((100cqw - 66px)/4)}
.roles.c3{max-width:calc((100cqw - 66px)*3/4 + 44px);margin:0 auto}
@media (max-width:860px){.roles .role{flex-basis:calc((100cqw - 44px)/3)}.roles.c3{max-width:none}}
@media (max-width:560px){.roles,.roles.c3{gap:12px}.roles .role{flex-basis:calc((100cqw - 12px)/2)}}
.nl h2{text-wrap:balance}
/* ---- billet de programmation, plus lisible ---- */
.tk-form{grid-template-columns:1fr 170px;grid-template-rows:auto 1fr;background:#fbf4e4;border:1px solid #d4ad5f}
.tk-form .tk-top{grid-column:1/-1;background:linear-gradient(120deg,#14183a,#232b63);color:#f6ecd6;padding:30px 36px 26px;border-bottom:2px solid #d4ad5f}
.tk-form .tk-top .tk-k{font:500 10.5px var(--sans);letter-spacing:.28em;text-transform:uppercase;color:#d4ad5f}
.tk-form .tk-top b{display:block;font:400 clamp(30px,3.4vw,42px)/1.1 var(--serif);margin:8px 0 10px;color:#fff}
.tk-form .tk-top p{margin:0;font-size:15px;line-height:1.55;color:#e8dcc2;max-width:520px}
.tk-form .main{padding:30px 36px}
.tk-form .form label{color:#2a2f55!important;font-weight:500}
.tk-form .stubf{background:#f3e6c8!important;border-left:2px dashed rgba(20,24,58,.45);flex-direction:column;gap:10px;text-align:center;padding:20px 10px}
.tk-form .stubf b{font:italic 400 26px var(--serif)!important;color:#14183a}
.tk-form .stubf small{font:400 13px/1.4 var(--sans);color:#4a4f6e}
.tk-form .stubf .tk-star{font-size:30px;color:#b8892f}
.tk-form .stubf .tk-n{font:500 11px var(--sans);letter-spacing:.24em;color:#6b4e1f;border:1px solid #b8892f;border-radius:30px;padding:6px 12px;margin-top:6px}
.tk-form::before,.tk-form::after{right:159px;top:auto;bottom:auto}
.tk-form::before{top:-11px}.tk-form::after{bottom:-11px}
@media (max-width:700px){.tk-form .tk-top{padding:24px 20px}}
/* ---- magie Minuit ---- */
.site-minuit .phead h1:not([data-split]):not([data-words]){background:linear-gradient(100deg,#f6ecd6 0%,#f6ecd6 40%,#ffe9b0 48%,#d4ad5f 50%,#ffe9b0 52%,#f6ecd6 60%,#f6ecd6 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shim 7s ease-in-out infinite}
@keyframes shim{0%,30%{background-position:120% 0}70%,100%{background-position:-20% 0}}
.spark{position:fixed;pointer-events:none;z-index:60;width:8px;height:8px;margin:-4px 0 0 -4px;background:radial-gradient(circle,#fff6d8 0%,#f2c96b 35%,rgba(242,201,107,0) 70%);border-radius:50%;animation:spk .9s ease-out forwards}
@keyframes spk{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2)}}
.site-minuit .card,.site-minuit .tk-form{position:relative}
.glint{position:absolute;pointer-events:none;width:14px;height:14px;z-index:5;animation:gl 1.4s ease-out forwards}
.glint::before,.glint::after{content:"";position:absolute;left:50%;top:50%;background:#fff3cf;border-radius:2px;box-shadow:0 0 8px #f2c96b}
.glint::before{width:2px;height:14px;margin:-7px 0 0 -1px}.glint::after{width:14px;height:2px;margin:-1px 0 0 -7px}
@keyframes gl{0%{opacity:0;transform:scale(.2) rotate(0)}40%{opacity:1;transform:scale(1) rotate(45deg)}100%{opacity:0;transform:scale(.3) rotate(90deg)}}
@media (prefers-reduced-motion:reduce){.site-minuit h1,.site-minuit .sec-h h2{animation:none;color:#f6ecd6;background:none}}
.tk-form .stubf span{writing-mode:horizontal-tb!important;transform:none!important}

/* ===== accueil : vidéo dans « Contactez-moi » ===== */
.contact-me .wrap{grid-template-columns:1.15fr .85fr}
.cm-reel{border-radius:12px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(120,60,20,.6);border:1px solid rgba(178,58,72,.25)}
.cm-reel .yt{aspect-ratio:16/9}
@media (max-width:820px){.contact-me .wrap{grid-template-columns:1fr}}
/* ===== bio : moins de blanc ===== */
.bio-sec{padding-bottom:50px!important}
/* ===== bandeau citation en couleurs ===== */
.quote-band{position:relative;overflow:hidden;padding:clamp(70px,9vw,110px) 0!important;color:#fff;background:linear-gradient(115deg,#7a1c2c,#b23a48 30%,#e0785c 60%,#f2b45f 85%,#b23a48);background-size:250% 250%;animation:qbg 18s ease-in-out infinite}
@keyframes qbg{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.quote-band blockquote{color:#fff;text-shadow:0 2px 30px rgba(80,10,20,.35)}
.quote-band blockquote::before{color:#ffe3a8}
.quote-band cite{color:#ffe9c2}
.qb-notes{position:absolute;inset:0;pointer-events:none}
.qb-notes i{position:absolute;bottom:-40px;font-style:normal;color:rgba(255,236,200,.55);font-size:28px;animation:note 14s linear infinite}
.qb-notes i:nth-child(1){left:6%;animation-delay:0s}.qb-notes i:nth-child(2){left:18%;animation-delay:-5s;font-size:22px}.qb-notes i:nth-child(3){left:31%;animation-delay:-9s}
.qb-notes i:nth-child(4){left:62%;animation-delay:-2s;font-size:34px}.qb-notes i:nth-child(5){left:74%;animation-delay:-7s}.qb-notes i:nth-child(6){left:86%;animation-delay:-11s;font-size:20px}.qb-notes i:nth-child(7){left:94%;animation-delay:-4s}
@keyframes note{0%{transform:translateY(0) rotate(-10deg);opacity:0}10%{opacity:1}90%{opacity:.8}100%{transform:translateY(-480px) rotate(14deg);opacity:0}}
/* ===== « Avec orchestre » vivant ===== */
.orch{position:relative;overflow:hidden;background:radial-gradient(70% 90% at 85% 10%,rgba(242,180,95,.35),transparent 60%),linear-gradient(135deg,#2a0c14,#5e1726 50%,#3a0f1a);color:#f6e7d4}
.orch .kicker{color:#f2c96b}.orch h2{color:#fff}
.orch .prog{border-top-color:rgba(242,201,107,.35)}
.orch .prog li{border-bottom-color:rgba(242,201,107,.18);transition:background .4s,padding .4s;border-radius:4px}
.orch .prog li:hover{background:rgba(255,255,255,.06);padding-left:12px}
.orch .prog li b{color:#f2c96b}.orch .prog li span{color:#f1dcc4}
.orch-staff{position:absolute;left:0;right:0;top:46px;height:44px;background:repeating-linear-gradient(180deg,rgba(242,201,107,.22) 0 1px,transparent 1px 11px);pointer-events:none}
.orch-eq{position:absolute;right:6%;top:40px;display:flex;align-items:flex-end;gap:5px;height:70px;opacity:.55}
.orch-eq i{width:5px;background:linear-gradient(0deg,#f2c96b,#e0785c);border-radius:3px;animation:eq 1.6s ease-in-out infinite}
.orch-eq i:nth-child(odd){animation-duration:1.15s}.orch-eq i:nth-child(3n){animation-duration:1.9s}.orch-eq i:nth-child(4n){animation-delay:-.6s}
@keyframes eq{0%,100%{height:12%}50%{height:100%}}
@media (max-width:640px){.orch-eq{display:none}}
/* ===== Minuit : final de page plus artistique ===== */
.duo.art{display:block;position:relative;max-width:980px;margin:0 auto;height:clamp(360px,44vw,540px)}
.duo.art figure{position:absolute;padding:10px 10px 34px;background:#0f1533;border:1px solid rgba(212,173,95,.55);box-shadow:0 40px 70px -30px rgba(0,0,0,.9);transition:transform .8s var(--ease)}
.duo.art figure:first-child{left:2%;top:0;width:54%;transform:rotate(-3.5deg)}
.duo.art figure:last-child{right:2%;top:16%;width:50%;transform:rotate(4deg);z-index:2}
.duo.art figure:hover{transform:rotate(0) scale(1.03);z-index:3}
.duo.art figure figcaption{position:absolute;left:12px;bottom:9px}
.duo.art img{aspect-ratio:3/2;object-fit:cover}
@media (max-width:700px){.duo.art{height:auto}.duo.art figure{position:relative;width:92%!important;left:auto!important;right:auto!important;top:auto!important;margin:0 auto 24px}}
/* ===== moins de blanc avant le pied de page + transition artistique ===== */
main>section:last-child{padding-bottom:clamp(40px,5vw,70px)!important}
.duo-sec{padding-bottom:20px!important}
.ftr{position:relative;border-top:0!important;padding-top:90px!important}
.ftr::before{content:"";position:absolute;left:0;right:0;top:0;height:60px;background:no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C 240 0, 480 60, 720 30 S 1200 0, 1440 30' fill='none' stroke='%23c9a46a' stroke-width='1.2'/%3E%3Cpath d='M0 38 C 240 8, 480 68, 720 38 S 1200 8, 1440 38' fill='none' stroke='%23c9a46a' stroke-opacity='.45' stroke-width='1'/%3E%3C/svg%3E")}
.ftr::after{content:"✦";position:absolute;left:50%;top:18px;transform:translateX(-50%);color:#c9a46a;font-size:20px;background:var(--bg);padding:0 14px;line-height:1}
.site-minuit .ftr::after{color:#d4ad5f;text-shadow:0 0 14px rgba(242,201,107,.8);animation:tw 3s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.6}50%{opacity:1}}

/* mariages & événements : étapes */
.ev-steps{list-style:none;counter-reset:st;padding:0;margin:18px 0 28px;display:grid;gap:18px}
.ev-steps li{counter-increment:st;position:relative;padding-left:58px;color:var(--soft);line-height:1.55}
.ev-steps li::before{content:counter(st);position:absolute;left:0;top:-2px;width:40px;height:40px;border-radius:50%;border:1px solid #d4ad5f;color:#d4ad5f;display:flex;align-items:center;justify-content:center;font:italic 400 20px var(--serif);box-shadow:0 0 18px rgba(242,201,107,.25)}
.ev-steps b{display:block;font:400 22px var(--serif);color:var(--ink)}
.med p{text-align:left!important}

/* titres animés Minuit : lisibles, sans chevauchement */
.site-minuit .hero h1{line-height:.95;color:#f6ecd6;text-shadow:0 0 30px rgba(242,201,107,.25)}
.site-minuit .hero h1 .l{padding-bottom:.04em}
.site-minuit [data-words] .w{background:none!important;-webkit-text-fill-color:currentColor}
/* bouton contact */
.site-minuit .nav a.me{border:1px solid #d4ad5f;color:#0b1020!important;background:linear-gradient(100deg,#c9a45c,#f3dfa8 50%,#c9a45c);padding:9px 18px;border-radius:30px}
.site-minuit .nav a.me:hover{filter:brightness(1.08)}
/* logo dans une pleine lune */
.moon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;
 background:radial-gradient(circle at 38% 32%,#fffdf6 0%,#f6edd6 38%,#e3d2a8 72%,#c7b07c 100%);
 box-shadow:0 0 18px 2px rgba(255,240,200,.45),0 0 60px 8px rgba(255,230,180,.18),inset -6px -8px 14px rgba(120,95,50,.35);animation:moonglow 6s ease-in-out infinite}
.moon::before{content:"";position:absolute;inset:0;border-radius:50%;background:
 radial-gradient(circle at 70% 64%,rgba(150,125,80,.22) 0 9%,transparent 10%),
 radial-gradient(circle at 26% 70%,rgba(150,125,80,.16) 0 6%,transparent 7%),
 radial-gradient(circle at 62% 24%,rgba(150,125,80,.14) 0 5%,transparent 6%)}
.moon img{position:relative;width:78%!important;height:auto!important;filter:brightness(0) saturate(0);opacity:.82}
.moon.big{width:132px;height:132px}
@keyframes moonglow{0%,100%{box-shadow:0 0 18px 2px rgba(255,240,200,.45),0 0 60px 8px rgba(255,230,180,.18),inset -6px -8px 14px rgba(120,95,50,.35)}50%{box-shadow:0 0 26px 5px rgba(255,240,200,.6),0 0 90px 16px rgba(255,230,180,.24),inset -6px -8px 14px rgba(120,95,50,.35)}}
/* constellation harmonisée */
.constel .st span{color:#f3e9d6}
.constel a.st span::after{content:none}
.constel .st small{color:#d4ad5f;margin-top:4px}
.constel a.st:hover span{color:#f3dfa8;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
/* photos de tête fondues dans le ciel */
.site-minuit .hside img{-webkit-mask-image:radial-gradient(75% 70% at 50% 45%,#000 50%,transparent 100%);mask-image:radial-gradient(75% 70% at 50% 45%,#000 50%,transparent 100%)}
.site-minuit .hside figcaption{margin-top:-10px}
/* fondus plus doux dans le ciel */
.site-minuit .hside img{-webkit-mask-image:radial-gradient(62% 58% at 52% 52%,#000 28%,transparent 92%)!important;mask-image:radial-gradient(62% 58% at 52% 52%,#000 28%,transparent 92%)!important}
.site-minuit .hero .ph img{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%),linear-gradient(180deg,transparent 0%,#000 22%,#000 80%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,#000 30%),linear-gradient(180deg,transparent 0%,#000 22%,#000 80%,transparent 100%);mask-composite:intersect}
/* menu : jamais de retour à la ligne */
.nav a,.brand,.brand span{white-space:nowrap}
.hdr .wrap{gap:24px}
@media (max-width:1360px){.nav{gap:16px}.nav a{letter-spacing:.13em;font-size:11px}.brand{letter-spacing:.2em}}
@media (max-width:1220px){.nav{display:none}.burger{display:block}}

/* badge « En création » */
.card{position:relative}
.crea{position:absolute;top:16px;left:16px;z-index:3;font:600 11px/1 var(--sans,Jost,sans-serif);letter-spacing:.22em;text-transform:uppercase;color:#0b1020;background:linear-gradient(110deg,#c9a24a,#f5dd9a 45%,#c9a24a);background-size:220% 100%;padding:9px 14px 8px;border-radius:40px;box-shadow:0 0 0 1px rgba(245,221,154,.5),0 0 22px rgba(232,196,110,.45);animation:creaGlow 3.2s ease-in-out infinite}
.crea.in{position:static;display:inline-block;margin-bottom:14px}
@keyframes creaGlow{0%,100%{background-position:0 0;box-shadow:0 0 0 1px rgba(245,221,154,.5),0 0 14px rgba(232,196,110,.3)}50%{background-position:100% 0;box-shadow:0 0 0 1px rgba(245,221,154,.8),0 0 30px rgba(232,196,110,.6)}}
@media (prefers-reduced-motion:reduce){.crea{animation:none}}

/* Minuit : bandeau du haut toujours visible, sur toutes les pages */
.site-minuit .hdr,.site-minuit .hdr.solid{background:rgba(11,16,32,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:var(--line)}
/* Smartphone : marges plus larges, texte aligné à gauche (pas de grands trous) */
@media (max-width:600px){
 :root{--gut:26px}
 p,li,.lead,blockquote,figcaption,dd{text-align:left!important}
}

/* Minuit : le menu reste toujours visible, quelle que soit la largeur */
@media (max-width:1220px){
 .site-minuit .nav{display:flex;gap:12px}
 .site-minuit .burger{display:none!important}
 .site-minuit .nav a{font-size:10.5px;letter-spacing:.08em}
 .site-minuit .nav a.me{padding:8px 13px}
}
@media (max-width:1060px){.site-minuit .brand span:last-child{display:none}}
@media (max-width:880px){
 .site-minuit .hdr .wrap{flex-direction:column;height:auto;padding-top:8px;padding-bottom:6px;gap:2px}
 .site-minuit .brand span:last-child{display:inline}
 .site-minuit .brand .moon{width:40px;height:40px}
 .site-minuit .nav{width:100%;justify-content:safe center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 4px 4px;gap:14px;mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
 .site-minuit .nav::-webkit-scrollbar{display:none}
 .site-minuit .nav a{flex:0 0 auto}
 .site-minuit .mmenu{display:none}
 .site-minuit main{scroll-margin-top:120px}
}
@media (max-width:600px){
 .site-minuit .nav{flex-wrap:wrap;justify-content:center;overflow:visible;mask-image:none;gap:2px 16px;padding:0 0 4px}
 .site-minuit .nav a{font-size:10px;letter-spacing:.1em;padding:6px 0}
 .site-minuit .nav a.me{padding:6px 12px;margin:2px 0}
 .site-minuit .phead{padding-top:190px}
}
.bio-head{padding-left:var(--gut);padding-right:var(--gut)}
/* Minuit smartphone : retour au menu ☰ */
@media (max-width:600px){
 .site-minuit .hdr .wrap{flex-direction:row;height:76px;padding-top:0;padding-bottom:0}
 .site-minuit .nav{display:none}
 .site-minuit .burger{display:block!important}
 .site-minuit .mmenu{display:flex}
 .site-minuit .phead{padding-top:170px}
}
@media (max-width:700px){.tk-form{grid-template-columns:1fr}.tk-form .stubf{display:none}.tk-form::before,.tk-form::after{display:none}.tk-form .main{padding:26px 22px}}
.tk-form .form .check label,.tk-form .form label.check,.tk-form .consent{text-transform:none!important;letter-spacing:.02em!important;font-size:13px!important}
/* Minuit accueil, smartphone : texte en haut dans le ciel, photo en dessous, jamais sur la silhouette */
@media (max-width:700px){
 .site-minuit .hero{flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0}
 .site-minuit .hero .txt{order:1;padding:118px var(--gut) 8px}
 .site-minuit .hero .ph{order:2;position:relative;inset:auto;width:100%;aspect-ratio:4/5;-webkit-mask:none;mask:none;margin-top:-30px}
 .site-minuit .hero .ph img{object-position:55% 100%!important;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 88%,transparent 100%)}
 .site-minuit .hero .ph::after{background:none}
 .site-minuit .hero .scroll{display:none}
}
/* Minuit, smartphone : grande photo « Direction artistique » au-dessus du texte */
@media (max-width:700px){
 .da-full{flex-direction:column;align-items:stretch;min-height:0}
 .da-full img.bg{position:relative;inset:auto;height:auto;aspect-ratio:4/5;object-position:45% 22%!important;transform:none}
 .da-full::after{inset:auto 0 0 0;height:100%;background:linear-gradient(0deg,#070b1d 0%,rgba(7,11,29,.7) 38%,rgba(7,11,29,0) 52%)}
 .da-full .wrap{margin-top:-90px;padding-bottom:60px}
 .da-full .credit{top:12px}
}
@media (max-width:700px){.site-minuit .hero .ph{margin-top:-50vw}}
/* textes centrés : bien centrés, partout */
.center p,.center .lead,.cta p,.cta-split .center p,[style*="text-align:center"] p,p[style*="text-align:center"]{text-align:center!important;text-align-last:auto}
/* Site perso : menu ouvert sur fond beige, en-tête toujours lisible */
.site-laura.menu-open .hdr .brand{color:#7a4f1c!important;text-shadow:none!important}
.site-laura.menu-open .hdr .burger span{background:#22180f!important}

/* ===== Page Vidéos : salle de projection ===== */
.cine{position:relative;overflow:hidden;background:radial-gradient(80% 60% at 50% 0%,#4a1f19 0%,#1a0c09 45%,#0b0706 100%);color:#f3e7d3;--ink:#f3e7d3;--soft:#d8c8b0;--muted:#a8957d;--gold:#e2c48e;--gold2:#e2c48e;--line:rgba(226,196,142,.25);padding-bottom:110px}
.cine .grain{position:absolute;inset:-50%;pointer-events:none;opacity:.07;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.cine .rideau{position:absolute;inset:0 0 auto 0;height:100vh;z-index:5;pointer-events:none;display:flex}
.cine .rideau i{flex:1;background:repeating-linear-gradient(90deg,#5e0f16 0 28px,#7d1820 28px 46px,#4a0b11 46px 70px);box-shadow:inset 0 -40px 60px rgba(0,0,0,.5);animation:cOpenL 1.9s cubic-bezier(.7,0,.2,1) .25s forwards}
.cine .rideau i:last-child{animation-name:cOpenR}
@keyframes cOpenL{to{transform:translateX(-102%)}}@keyframes cOpenR{to{transform:translateX(102%)}}
@media (prefers-reduced-motion:reduce){.cine .rideau{display:none}.cine .grain{animation:none}}
.cine>*:not(.rideau):not(.grain){position:relative;z-index:1}
.cine-h{padding-top:170px;padding-bottom:40px;text-align:center}
.cine-h h1{font-size:clamp(56px,9vw,130px);margin:14px 0 18px;color:#f6ecd6}
.cine-h h1 em{color:#e2c48e}
.cine-h .lead{max-width:640px;margin:0 auto;text-align:center!important;color:#e8d8bf}
.chap-h{display:flex;align-items:baseline;gap:20px;margin:0 0 30px;border-bottom:1px solid rgba(226,196,142,.25);padding-bottom:14px}
.chap-h .num{font:italic 400 clamp(54px,7vw,90px)/.8 var(--serif);color:#e2c48e;opacity:.85}
.chap-h h2{font-size:clamp(34px,4.2vw,56px);margin:0;color:#f6ecd6}
.chap{margin-top:100px}
.ora{margin-top:40px}
.ora-g{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(26px,4vw,60px);align-items:center}
.ora-t h2{font-size:clamp(70px,9vw,130px);line-height:.9;margin:18px 0 6px;color:#f6ecd6;font-style:italic}
.ora-t .by{font:400 20px var(--serif);color:#e8d8bf;margin:0 0 6px}
.ora-t .by strong{color:#e2c48e;font-weight:500}
.ora-t p{color:#d8c8b0;text-align:left!important}
.ora-b{display:flex;flex-wrap:wrap;gap:10px}
.ora-b span{font:500 10.5px var(--sans);letter-spacing:.22em;text-transform:uppercase;padding:8px 14px;border-radius:30px}
.ora-b .b1{color:#1a0c09;background:linear-gradient(110deg,#c9a24a,#f5dd9a 50%,#c9a24a)}
.ora-b .b2{color:#f5dd9a;border:1px solid rgba(245,221,154,.55)}
.ytl{position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat;cursor:pointer;border-radius:4px;overflow:hidden;box-shadow:0 30px 60px -30px #000}
.ytl::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,.05) 60%);transition:opacity .4s}
.ytl:hover::before{opacity:.35}
.ytl .pl{position:absolute;left:50%;top:50%;width:76px;height:76px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #e2c48e;background:rgba(20,10,8,.45);transition:transform .4s,background .4s}
.ytl .pl::after{content:"";position:absolute;left:31px;top:24px;border-left:22px solid #e2c48e;border-top:14px solid transparent;border-bottom:14px solid transparent}
.ytl:hover .pl{transform:translate(-50%,-50%) scale(1.1);background:rgba(226,196,142,.25)}
.ytl.big .pl{width:104px;height:104px}.ytl.big .pl::after{left:42px;top:33px;border-left-width:30px;border-top-width:19px;border-bottom-width:19px}
.ora-v{position:relative;padding:14px;background:#0a0605;border:1px solid rgba(226,196,142,.3);box-shadow:0 0 80px rgba(226,160,90,.18)}
.reel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.reel.one{grid-template-columns:minmax(0,1fr);max-width:760px}
.scene{background:#0a0605;padding:26px 14px 18px;position:relative;border-radius:3px}
.scene::before,.scene::after{content:"";position:absolute;left:8px;right:8px;height:10px;background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(243,231,211,.55) 6px 14px,transparent 14px 22px);opacity:.55}
.scene::before{top:8px}.scene::after{bottom:8px}
.scene .sc-n{display:block;font:500 10px var(--sans);letter-spacing:.28em;text-transform:uppercase;color:#e2c48e;margin:6px 4px 10px}
.scene h3{font-size:22px;margin:14px 4px 4px;color:#f6ecd6}
.scene p{font-size:14px;color:#a8957d;margin:0 4px 14px;text-align:left!important}
.scene .ytl{border-radius:2px}
.cine-yt{text-align:center!important;margin-top:60px}
@media (max-width:980px){.reel{grid-template-columns:repeat(2,minmax(0,1fr))}.ora-g{grid-template-columns:1fr}}
@media (max-width:600px){.reel{grid-template-columns:minmax(0,1fr)}.cine-h{padding-top:130px}.chap{margin-top:70px}}
/* visionneuse vidéo */
.vlb{position:fixed;inset:0;z-index:90;background:rgba(5,3,2,.94);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.vlb.open{opacity:1;visibility:visible}
.vlb .fr{width:min(92vw,calc(82vh*16/9));aspect-ratio:16/9;box-shadow:0 0 120px rgba(226,160,90,.25)}
.vlb .fr.v{width:min(92vw,calc(82vh*9/16));aspect-ratio:9/16}
.vlb iframe{width:100%;height:100%;border:0}
.vlb .x{position:absolute;top:18px;right:22px;width:48px;height:48px;border-radius:50%;border:1px solid #e2c48e;background:none;color:#e2c48e;font-size:28px;line-height:1;cursor:pointer}
/* accueil : bandeau À la une */
.une{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 26px;padding:22px var(--gut);background:linear-gradient(100deg,#2a0f0c,#5e0f16 50%,#2a0f0c);color:#f6ecd6;text-decoration:none;border-top:1px solid #c9a24a;border-bottom:1px solid #c9a24a}
.une .u1{font:500 10.5px var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#1a0c09;background:linear-gradient(110deg,#c9a24a,#f5dd9a 50%,#c9a24a);padding:7px 13px;border-radius:30px}
.une .u2{font:400 clamp(20px,2.4vw,28px) var(--serif)}
.une .u2 i{color:#f5dd9a}
.une .u3{font:500 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#f5dd9a;border-bottom:1px solid currentColor;padding-bottom:3px}
.une:hover .u3{color:#fff}

/* Site perso : le menu reste visible quand la fenêtre rétrécit (☰ seulement sur téléphone) */
@media (max-width:1220px){
 .site-laura .nav{display:flex;gap:12px}
 .site-laura .burger{display:none!important}
 .site-laura .nav a{font-size:10.5px;letter-spacing:.08em}
 .site-laura .nav a.me{padding:8px 13px}
}
@media (max-width:880px){
 .site-laura .hdr .wrap{flex-direction:column;height:auto;padding-top:10px;padding-bottom:6px;gap:4px}
 .site-laura .nav{flex-wrap:wrap;justify-content:center;gap:2px 16px}
 .site-laura .nav a{padding:6px 0}
 .site-laura .mmenu{display:none}
}
@media (max-width:600px){
 .site-laura .hdr .wrap{flex-direction:row;height:76px;padding-top:0;padding-bottom:0}
 .site-laura .nav{display:none}
 .site-laura .burger{display:block!important}
 .site-laura .mmenu{display:flex}
}
