:root{--bg:#f5f2ec;--text:#171717;--muted:#66615b;--line:#d8d2c9;--accent:#a44732;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.7}
header{border-bottom:1px solid var(--line);background:rgba(245,242,236,.96);position:sticky;top:0;z-index:10}
nav{max-width:var(--max);margin:auto;padding:20px 32px;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--text)}
nav a:not(.logo){color:var(--text);text-decoration:none;margin-left:28px;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}
nav a:not(.logo):hover{color:var(--accent)}
.nav-right{display:flex;align-items:center}
.language{margin-left:18px!important;padding-left:12px;border-left:1px solid var(--line)}
footer{border-top:1px solid var(--line);padding:30px 32px;color:var(--muted);font-size:.8rem;letter-spacing:.05em}
footer div{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;gap:20px}
@media(max-width:760px){
  nav{padding:17px 20px}nav a:not(.logo){margin-left:14px;font-size:.7rem}
  footer{padding:25px 20px}footer div{flex-direction:column}
}
@media(max-width:480px){
  nav{flex-direction:column;align-items:flex-start;gap:14px;padding:17px 20px}
  .nav-right{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px 14px}
  nav a:not(.logo){margin-left:0;font-size:.65rem;letter-spacing:.1em}
  .language{margin-left:0!important;padding-left:10px}
}

/* ===== INDEX.HTML ===== */
.page-index .track p{max-width:700px;margin:0;color:#393633;font-size:.95rem;line-height:1.55}
.page-index .photos-section{border-top:0}


main{max-width:var(--max);margin:auto;padding:0 32px 100px}
.hero{min-height:calc(100vh - 77px);display:flex;align-items:flex-end;padding:70px 0 80px}
.hero-image{width:100%;min-height:680px;background:#1c1917;position:relative;overflow:hidden}
.hero-image img{width:100%;height:100%;display:block;object-fit:cover}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.68),rgba(0,0,0,.08) 65%,rgba(0,0,0,.02))}
.hero-copy{position:absolute;z-index:2;left:42px;bottom:38px;color:#fff;max-width:650px}
.hero-copy .eyebrow{margin:0 0 8px}
.hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,6vw,5.7rem);font-weight:normal;line-height:.95;margin:0 0 12px}
.hero-copy p{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.05rem}
section{padding:20px 0;border-top:1px solid var(--line)}
.eyebrow{color:var(--accent);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}
.statement{max-width:920px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,3vw,2.65rem);line-height:1.4;margin:0 0 45px}
.bio-preview{max-width:790px;color:#393633;font-size:1.02rem}
.bio-preview p{margin:0 0 20px}
.more{display:inline-block;margin-top:8px;color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;border-bottom:1px solid var(--accent);padding-bottom:5px}
.more:hover{color:var(--accent)}
.music-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
.music-head h2,.photos-head h2{font-family:Georgia,"Times New Roman",serif;font-weight:normal;font-size:clamp(2.2rem,4vw,3.5rem);margin:0}
.tracks{border-top:1px solid var(--line)}
.track{display:grid;grid-template-columns:80px minmax(0,1fr) 170px;gap:30px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}
.number{font-family:Georgia,"Times New Roman",serif;font-size:2rem;color:var(--accent)}
.track h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:normal;margin:0 0 5px}
.meta{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.listen{justify-self:end;border:1px solid var(--text);background:transparent;color:var(--text);padding:12px 20px;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;cursor:pointer}
.listen:hover{background:var(--text);color:var(--bg)}
.player{display:none;align-items:center;gap:14px;max-width:700px;margin-top:20px}
.player.open{display:flex}
.play{width:38px;height:38px;border:1px solid var(--text);background:transparent;color:var(--text);border-radius:50%;font-size:.85rem;cursor:pointer;flex:none}
.play:hover{background:var(--text);color:var(--bg)}
.progress{height:2px;background:var(--line);flex:1;cursor:pointer}
.progress-fill{height:100%;width:0;background:var(--accent)}
.time{font-size:.68rem;color:var(--muted);min-width:72px;text-align:right}
.download{display:none;margin-top:12px;color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:.64rem;border-bottom:1px solid var(--accent);padding-bottom:3px}
.download.visible{display:inline-block}
.photos-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}
.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fragment{position:relative;overflow:hidden;background:#ddd8d0;display:block;text-decoration:none}
.fragment.large,.fragment.portrait,.fragment.wide{aspect-ratio:4/3}
.fragment img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease}
.fragment:hover img{transform:scale(1.025)}
.fragment-caption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 15px;color:#fff;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(to top,rgba(0,0,0,.62),transparent)}
.album{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center}
.album h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,4vw,3.6rem);font-weight:normal;line-height:1.05;margin:0 0 20px}
.album p{max-width:580px;color:#393633;margin:0}
.home-logo{display:block;width:100px;height:100px;object-fit:contain;margin:0 0 24px}
@media(max-width:760px){
  main{padding:0 20px 70px}.hero{min-height:auto;padding:35px 0 55px}
  .hero-image{min-height:560px}.hero-copy{left:18px;right:18px;bottom:18px;padding:20px}
  section{padding:65px 0}.music-head,.photos-head{display:block}.music-head .more,.photos-head .more{margin-top:18px}
  .track{grid-template-columns:45px 1fr;gap:15px;padding:28px 0}
  .listen{grid-column:2;justify-self:start}.player{gap:9px}
  .photo-strip{grid-template-columns:1fr 1fr}.fragment.large{grid-column:auto}
  .album{grid-template-columns:1fr;gap:25px}.home-logo{width:80px;height:80px}
}
@media(max-width:480px){.photo-strip{grid-template-columns:1fr}.fragment.large{grid-column:auto}}

/* ===== BIO.HTML ===== */

.page-bio main{max-width:var(--max);margin:auto;padding:70px 32px 100px}
.page-bio .eyebrow{color:var(--accent);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}
.page-bio h1{font:normal clamp(3rem,7vw,6.4rem)/.98 Georgia,serif;margin:0 0 42px}
.page-bio .intro-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:70px;align-items:start;margin-bottom:75px}
.page-bio .intro{max-width:700px;font:clamp(1.35rem,2.3vw,2rem)/1.45 Georgia,serif;margin:0}
.page-bio .fiction-note{margin:0;padding:24px 26px;border:1px solid var(--line);border-left:2px solid var(--accent);background:#f0ede7;color:#393633;font-size:.92rem;line-height:1.55}
.page-bio .fiction-note-head{display:flex;align-items:flex-start;gap:12px}
.page-bio .fiction-icon{flex:0 0 auto;width:22px;height:22px;margin-top:1px;color:var(--accent)}
.page-bio .fiction-note strong{font-weight:normal}
.page-bio .fiction-more{display:inline-block;margin-top:12px;color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;border-bottom:1px solid var(--accent);padding-bottom:4px}
.page-bio .fiction-more:hover{color:var(--accent)}
.page-bio .bio{max-width:780px;margin-left:auto;margin-right:10%}
.page-bio .bio p{margin:0 0 27px;font-size:1.05rem}
.page-bio .dropcap:first-letter{float:left;font:4.8rem/.75 Georgia,serif;padding:7px 10px 0 0}
.page-bio .quote{margin:70px 0;padding:35px 0 35px 34px;border-left:2px solid var(--accent);font:clamp(1.7rem,3vw,2.6rem)/1.3 Georgia,serif}
.page-bio .facts{margin-top:85px;padding-top:28px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.page-bio .fact-label{display:block;color:var(--muted);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.page-bio .fact-value{font:1.1rem Georgia,serif}
@media(max-width:760px){
  .page-bio .intro-layout{grid-template-columns:1fr;gap:28px}
  .page-bio .fiction-note{margin:0}
  .page-bio main{padding:50px 20px 70px}
  .page-bio .bio{margin:0}
  .page-bio .facts{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.page-bio .facts{grid-template-columns:1fr}}

/* ===== MUSIQUE.HTML ===== */

.page-musique main{max-width:var(--max);margin:auto;padding:70px 32px 40px}
.page-musique .eyebrow{color:var(--accent);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}
.page-musique h1,.page-musique h2{font-family:Georgia,"Times New Roman",serif;font-weight:normal}
.page-musique h1{font-size:clamp(3rem,7vw,6.4rem);line-height:.98;margin:0 0 35px}
.page-musique .intro{max-width:800px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.45;margin-bottom:35px}
.page-musique .tracks{padding:0;border-top:1px solid var(--line)}
.page-musique .track{display:grid;grid-template-columns:80px minmax(0,1fr) 170px;gap:30px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}
.page-musique .number{font-family:Georgia,"Times New Roman",serif;font-size:2rem;color:var(--accent)}
.page-musique .track h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:0 0 5px}
.page-musique .meta{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.page-musique .track p{max-width:700px;margin:0;color:#393633}
.page-musique .listen{justify-self:end;border:1px solid var(--text);background:transparent;color:var(--text);padding:12px 20px;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;cursor:pointer}
.page-musique .listen:hover{background:var(--text);color:var(--bg)}
.page-musique .player{display:none;align-items:center;gap:14px;max-width:700px;margin-top:20px}
.page-musique .player.open{display:flex}
.page-musique .play{width:38px;height:38px;border:1px solid var(--text);background:transparent;color:var(--text);border-radius:50%;font-size:.85rem;cursor:pointer;flex:none}
.page-musique .play:hover{background:var(--text);color:var(--bg)}
.page-musique .progress{height:2px;background:var(--line);flex:1;cursor:pointer}
.page-musique .progress-fill{height:100%;width:0;background:var(--accent)}
.page-musique .time{font-size:.68rem;color:var(--muted);min-width:72px;text-align:right}
.page-musique .download{display:none;margin-top:12px;color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:.64rem;border-bottom:1px solid var(--accent);padding-bottom:3px}
.page-musique .download.visible{display:inline-block}
.page-musique .upcoming{margin-top:50px;padding:45px 0;border-top:1px solid var(--line)}
.page-musique .upcoming h2{font-size:2.6rem;margin:0 0 15px}
.page-musique .upcoming p{max-width:720px;font-size:1.05rem;margin:0}
.page-musique .video-section{padding:60px 0;border-top:1px solid var(--line)}
.page-musique .video-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.page-musique .video-head h2{font-size:clamp(2.2rem,4vw,3.5rem);margin:0}
.page-musique .more{color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;border-bottom:1px solid var(--accent);padding-bottom:5px}
.page-musique .more:hover{color:var(--accent)}
.page-musique .video-embed{width:100%;aspect-ratio:16/9;overflow:hidden}
.page-musique .video-embed iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:760px){
  .page-musique main{padding:50px 20px 40px}
  .page-musique .track{grid-template-columns:45px 1fr;gap:15px;padding:28px 0}
  .page-musique .listen{grid-column:2;justify-self:start}.page-musique .player{gap:9px}
  .page-musique .video-section{padding:50px 0}
  .page-musique .video-head{display:block}.page-musique .video-head .more{display:inline-block;margin-top:18px}
  .page-musique .upcoming{margin-top:60px;padding-top:40px}
}
@media(max-width:560px){ }

/* ===== PHOTOS.HTML ===== */

.page-photos{line-height:1.55}
.page-photos main{max-width:1240px;margin:auto;padding:72px 32px 100px}
.page-photos .eyebrow{color:var(--accent);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}
.page-photos h1,.page-photos h2{font-family:Georgia,"Times New Roman",serif;font-weight:normal}
.page-photos h1{font-size:clamp(3.1rem,7vw,6.2rem);line-height:.98;margin:0 0 28px}
.page-photos .intro{max-width:760px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.45;margin-bottom:76px}
.page-photos .section{margin-top:80px;padding:0;border-top:0}
.page-photos .section:first-of-type{margin-top:0}
.page-photos .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:28px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.page-photos h2{font-size:clamp(1.65rem,2.8vw,2.35rem);margin:0}
.page-photos .count{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.page-photos .gallery{columns:3 320px;column-gap:18px}
.page-photos .mirror-gallery{max-width:800px;margin:0 auto;columns:190px 3;column-gap:20px}
.page-photos .mirror-gallery figure{width:190px;margin-left:0;margin-right:0}
.page-photos .go-gallery{max-width:1024px;margin:0 auto;columns:220px 3;column-gap:20px}
.page-photos .go-gallery figure{width:280px;margin-left:0;margin-right:0}
.page-photos .gallery figure{cursor:zoom-in}
.page-photos .gallery figure img{transition:transform .28s ease}
.page-photos .gallery figure:hover img{transform:scale(1.035)}
.page-photos figure{margin:0 0 18px;break-inside:avoid;background:#e8e3db}
.page-photos figure img{display:block;width:100%;height:auto}
.page-photos figcaption{padding:11px 12px 14px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.page-photos .lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);display:flex;align-items:center;justify-content:center;padding:40px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease;z-index:100}
.page-photos .lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}
.page-photos .lightbox img{max-width:92vw;max-height:90vh;width:auto;height:auto;object-fit:contain;box-shadow:0 12px 40px rgba(0,0,0,.35)}
.page-photos .lightbox-close{position:absolute;top:18px;right:24px;border:0;background:none;color:#fff;font-size:2.5rem;line-height:1;cursor:pointer;font-weight:300}
.page-photos .note{margin-top:78px;padding-top:30px;border-top:1px solid var(--line);max-width:760px;color:var(--muted)}
@media(max-width:760px){
  .page-photos .mirror-gallery,.page-photos .go-gallery{max-width:400px;columns:190px 2;column-gap:20px}
  .page-photos main{padding:50px 20px 70px}
  .page-photos .gallery{columns:2 240px}
  .page-photos .note{margin-top:55px}
}
@media(max-width:560px){
  .page-photos .mirror-gallery,.page-photos .go-gallery{max-width:190px;columns:190px 1}
  .page-photos .gallery{columns:1}
}

/* ===== CONTACT.HTML ===== */

.page-contact main{max-width:var(--max);margin:auto;padding:80px 32px 110px}
.page-contact .eyebrow{color:var(--accent);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}
.page-contact h1,.page-contact h2{font-family:Georgia,"Times New Roman",serif;font-weight:normal}
.page-contact h1{font-size:clamp(3rem,7vw,6.4rem);line-height:.98;margin:0 0 35px}
.page-contact .intro{max-width:760px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.45;margin-bottom:80px}
.page-contact .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);padding-top:45px}
.page-contact h2{font-size:2rem;margin:0 0 18px}
.page-contact .contact-text{color:#393633;max-width:520px}
.page-contact .email{display:inline-block;margin-top:25px;color:var(--text);font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:4px}
.page-contact .email:hover{color:var(--accent)}
.page-contact .social{margin-top:42px;padding-top:28px;border-top:1px solid var(--line)}
.page-contact .social a{display:block;color:var(--text);text-decoration:none;margin:9px 0;font-size:.9rem;letter-spacing:.06em}
.page-contact .social a:hover{color:var(--accent)}
.page-contact .form{display:grid;gap:18px}
.page-contact label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.page-contact input,.page-contact textarea{width:100%;margin-top:7px;border:1px solid var(--line);background:transparent;padding:14px;font:inherit;color:var(--text);border-radius:0}
.page-contact textarea{min-height:170px;resize:vertical}
.page-contact button{margin-top:5px;justify-self:start;border:1px solid var(--text);background:var(--text);color:var(--bg);padding:13px 24px;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;cursor:pointer}
.page-contact button:hover{background:transparent;color:var(--text)}
.page-contact .form-note{font-size:.75rem;color:var(--muted);margin-top:5px}
@media(max-width:760px){
  .page-contact main{padding:55px 20px 75px}
  .page-contact .contact-grid{grid-template-columns:1fr;gap:60px}
  .page-contact .email{font-size:1.15rem}
}
@media(max-width:560px){}

/* ===== PROJET.HTML ===== */

.page-project main{max-width:var(--max);margin:auto;padding:70px 32px 100px}
.page-project .eyebrow{color:var(--accent);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}
.page-project h1{font:normal clamp(3rem,7vw,6.2rem)/.98 Georgia,serif;margin:0 0 34px}
.page-project .lead{max-width:820px;font:clamp(1.35rem,2.3vw,2rem)/1.45 Georgia,serif;margin:0 0 65px}
.page-project .content{max-width:780px;margin-left:auto;margin-right:10%}
.page-project .content p{font-size:1.05rem;margin:0 0 28px}
.page-project .project-box{margin:0 0 55px;padding:24px 26px;border:1px solid var(--line);border-left:2px solid var(--accent);background:#eeeae3}
.page-project .project-box strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;font-weight:normal;margin-bottom:8px}
.page-project .back{display:inline-block;margin-top:12px;color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;border-bottom:1px solid var(--accent);padding-bottom:5px}
.page-project .back:hover{color:var(--accent)}
@media(max-width:760px){
  .page-project main{padding:50px 20px 70px}
  .page-project .content{margin:0}
}
@media(max-width:480px){}

/* ===== PHOTOS — FINAL CORRECTION ===== */
body.page-photos main > .intro {
  margin-bottom: 35px !important;
}

body.page-photos main section.section {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

body.page-photos main section.section:first-of-type {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* ===== PHOTOS — ESPACE ENTRE LES GALERIES ===== */
body.page-photos main section.section + section.section {
  margin-top: 90px !important;
}
