/* ==========================================================
   Site Julie Pont — v0 tabula rasa (2026-07-26)
   D'après les trois écrans de référence fournis par Julie.
   Couleurs : blanc #ffffff · papier #fbfaf7 · noir #111111
   Typos : serif Cormorant Garamond (titres, listes, mots)
           sans Inter (corps, annotations en capitales espacées)
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Inter:wght@300;400;500&family=Playfair+Display:ital,wght@0,400;0,500;1,400&family=JetBrains+Mono:wght@400&display=swap');
@import url('https://api.fontshare.com/v2/css?f[]=chillax@300,400,500&display=swap');

:root{
  --blanc:#ffffff;
  --papier:#fbfaf7;
  --noir:#111111;
  --gris:#8a8a86;
  --ligne:rgba(17,17,17,.14);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--blanc);color:var(--noir);font-family:'Inter',sans-serif;
  font-size:13px;line-height:1.75;font-weight:300;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
::selection{background:var(--noir);color:var(--blanc)}

/* rôles typographiques */
.serif{font-family:'Cormorant Garamond',serif}
.caps{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:400}
.t-titre{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:26px;line-height:1.2;letter-spacing:.01em}

/* apparitions fluides */
body.js .fx{opacity:0;transform:translateY(14px);transition:opacity 1.1s ease,transform 1.2s cubic-bezier(.19,1,.22,1)}
body.js .fx.on{opacity:1;transform:none}

/* ================= LANDING ================= */
.hero{position:relative;height:100svh;overflow:hidden;background:var(--noir)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center 43%;transition:opacity .8s ease}
.hero video.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%}
.hero .band{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:58svh;background:var(--blanc)}
.hero .centerimg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  height:44svh;width:auto;box-shadow:0 0 0 1px rgba(17,17,17,.04)}
.hero .centerwrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:42svh;
  opacity:0;animation:cwfade 1.2s ease .2s forwards}
@keyframes cwfade{to{opacity:1}}
.hero .centerwrap .inner{position:relative;height:100%}
.hero .centerwrap img:not(.mono){height:100%;width:auto;display:block;transition:transform 1s cubic-bezier(.19,1,.22,1)}
.hero .centerwrap:hover img:not(.mono){transform:scale(1.06)}
/* les trois mots : à cheval sur la photo centrale et le papier */
.hero .words{position:absolute;top:18px;right:0;transform:translateX(82%);
  display:flex;flex-direction:column;gap:2px;color:var(--noir);white-space:nowrap;z-index:4}
.hero .words a{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(44px,5.4vw,80px);line-height:1.22;
  transition:opacity .4s,transform .6s cubic-bezier(.19,1,.22,1)}
.hero .words a:hover{font-style:italic;transform:translateX(6px)}
.hero .words .gl{font-size:.55em;font-style:italic;opacity:.9}
/* coins */
.hero .corner{position:absolute;z-index:5;color:var(--noir)}
.hero .tl{top:24px;left:clamp(22px,3.5vw,48px);display:flex;align-items:baseline;gap:14px;white-space:nowrap}
.hero .tl .name{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(27px,2.7vw,42px);letter-spacing:.02em}
.hero .tl .role{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(23px,2.3vw,36px)}
.hero .tr{top:30px;right:clamp(22px,3.5vw,48px);display:flex;flex-direction:row;gap:clamp(16px,2.2vw,30px);align-items:baseline}
.hero .tr a{font-size:10px;letter-spacing:.2em;text-transform:uppercase;transition:opacity .3s}
.hero .tr a:hover{opacity:1}
@media(max-width:760px){
  .hero .centerwrap{height:34svh}
  .hero .band{height:48svh}
  .hero .words{left:auto;right:8vw;top:10%}
}

/* ================= PAGE PROJETS (bloc blanc sur noir) ================= */
body.dark{background:var(--noir)}
.blocpage{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:clamp(24px,6vh,72px) clamp(18px,4vw,60px)}
.bloc{background:transparent;width:min(1120px,94vw);padding:clamp(26px,3.4vw,54px) clamp(26px,3.6vw,58px)}
.bloc .meta{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);
  padding-bottom:16px;border-bottom:1px solid var(--ligne);margin-bottom:clamp(26px,4vh,44px)}
.bloc .meta a{color:var(--noir)}
.bloc .intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin-bottom:clamp(30px,5vh,52px)}
.bloc .intro .who{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:21px;line-height:1.4;max-width:24ch}
.bloc .intro .txt{font-size:12.5px;line-height:1.85;color:#3c3c39;max-width:52ch}
@media(max-width:720px){.bloc .intro{grid-template-columns:1fr}}
/* rangée de projets : titre uniquement au survol */
.projrow{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,18px)}
@media(max-width:720px){.projrow{grid-template-columns:1fr}}
.proj{position:relative;display:block;overflow:hidden}
.proj img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;transition:transform 1.3s cubic-bezier(.19,1,.22,1),opacity .5s}
.proj:hover img{transform:scale(1.025)}
.proj .pt{position:absolute;inset:auto 0 0 0;padding:14px 16px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  background:linear-gradient(rgba(255,255,255,0),rgba(251,250,247,.94) 60%);
  opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .6s cubic-bezier(.19,1,.22,1)}
.proj:hover .pt{opacity:1;transform:none}
.proj .pt .n{font-family:'Cormorant Garamond',serif;font-size:18px}
.proj .pt .s{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}

/* ================= PAGE PROJET (specs à gauche, texte à droite) ================= */
.pj{background:var(--blanc);min-height:100svh}
.pj .top{display:flex;justify-content:space-between;align-items:baseline;
  padding:22px clamp(22px,3.5vw,56px);border-bottom:1px solid var(--ligne)}
.pj .top .name{font-family:'Cormorant Garamond',serif;font-size:18px;letter-spacing:.06em}
.pj .top nav{display:flex;gap:clamp(14px,2vw,28px)}
.pj .top nav a{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);transition:color .3s}
.pj .top nav a:hover,.pj .top nav a.on{color:var(--noir)}
.pj .corps{display:grid;grid-template-columns:200px 1fr;gap:clamp(28px,4.5vw,80px);
  padding:clamp(34px,6vh,64px) clamp(22px,3.5vw,56px)}
@media(max-width:760px){.pj .corps{grid-template-columns:1fr}}
/* specs à gauche */
.pj .specs{display:flex;flex-direction:column;gap:13px;align-items:flex-start}
.pj .specs .sk{font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.pj .specs .sv{font-size:11.5px;line-height:1.6;color:#33332f;margin-bottom:6px}
/* texte à droite */
.pj .fiche-t{max-width:56ch}
.pj .fiche-t .kicker{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);margin-bottom:10px}
.pj .fiche-t h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:27px;line-height:1.2;margin-bottom:14px}
.pj .fiche-t p{font-size:12.5px;line-height:1.9;color:#3c3c39}
.pj .fiche-t p+p{margin-top:10px}
/* grille libre d'images */
.pj .galerie{padding:0 clamp(22px,3.5vw,56px) clamp(30px,5vh,60px);
  display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,2vw,26px);align-items:start}
.pj .galerie .g{margin:0}
.pj .galerie img{width:100%;height:auto}
.pj .g.a{grid-column:1/span 4}
.pj .g.b{grid-column:6/span 3;margin-top:60px}
.pj .g.c{grid-column:9/span 4;margin-top:24px}
.pj .g.d{grid-column:2/span 3;margin-top:40px}
.pj .g.e{grid-column:5/span 4;margin-top:90px}
.pj .g.f{grid-column:9/span 4;margin-top:30px}
@media(max-width:760px){.pj .galerie .g{grid-column:1/-1!important;margin-top:0!important}}
/* précédent / suivant */
.pj .pn{display:flex;justify-content:space-between;padding:clamp(24px,4vh,44px) clamp(22px,3.5vw,56px) clamp(34px,5vh,56px);
  border-top:1px solid var(--ligne)}
.pj .pn a{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);transition:color .3s}
.pj .pn a:hover{color:var(--noir)}

@media (prefers-reduced-motion:reduce){
  body.js .fx{opacity:1;transform:none;transition:none}
  .proj img,.proj .pt{transition:none}
}

/* ---------- éléments de marque (projets marque) ---------- */
@font-face{font-family:'Clash Display';src:url('assets/brand/fcc/ClashDisplay-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
.pj .brand{padding:0 clamp(22px,3.5vw,56px) clamp(30px,5vh,56px)}
.pj .brand .bh{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);
  border-top:1px solid var(--ligne);padding-top:24px;margin-bottom:20px}
.pj .bgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,26px)}
@media(max-width:720px){.pj .bgrid{grid-template-columns:1fr}}
.pj .bcell{border:1px solid var(--ligne);padding:clamp(16px,2vw,30px);display:flex;flex-direction:column;gap:14px;justify-content:center}
.pj .bcell.wide{grid-column:1/-1}
.pj .bcell img{width:100%;height:auto}
.pj .bcell .bl{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.pj .bcell .clash{font-family:'Clash Display','Cormorant Garamond',serif;font-weight:500;font-size:clamp(30px,4vw,52px);line-height:1.1}
.pj .bcell .sws{display:flex;gap:8px;flex-wrap:wrap}
.pj .bcell .sws span{width:34px;height:34px;border-radius:50%;display:block}
.pj .bcell .brow{display:flex;gap:clamp(16px,3vw,42px);align-items:center;flex-wrap:wrap}
.pj .bcell .brow img{height:clamp(60px,8vw,92px);width:auto}
.pj .bcell .brow.small img{height:clamp(38px,4.5vw,54px)}
.pj .bcell .bword{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,2vw,26px);line-height:1.4;font-style:italic}

/* ---------- listes (mots, recherches) ---------- */
.liste .lentry{padding:clamp(20px,3vh,30px) 0;border-top:1px solid var(--ligne)}
.liste .lentry:last-child{border-bottom:1px solid var(--ligne)}
.liste .lk{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.liste .lt{font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2.2vw,28px);margin:8px 0 6px}
.liste .ld{font-size:12.5px;line-height:1.85;color:#3c3c39;max-width:56ch}

/* ---------- spécimens & cellules de marque (v3) ---------- */
.pj .bcell .spec{display:flex;flex-direction:column;gap:2px}
.pj .bcell .spec .st1{font-family:'Playfair Display','Cormorant Garamond',serif;font-weight:500;font-size:clamp(34px,3.6vw,52px);line-height:1.15}
.pj .bcell .spec .st2{font-family:'Playfair Display','Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:clamp(22px,2.2vw,32px);line-height:1.25}
.pj .bcell .spec .st3{font-size:12px;line-height:1.7;color:#3c3c39;margin-top:6px}
.pj .bcell .bdisp{font-family:'Playfair Display','Cormorant Garamond',serif;font-weight:500;font-size:clamp(30px,3.4vw,48px);line-height:1.15}
.pj .bcell .bsecs{display:flex;flex-direction:column;gap:6px;font-size:10px;letter-spacing:.2em;text-transform:uppercase}

/* ---------- page projets : défilement horizontal (v5) ---------- */
body.hscroll{overflow:hidden}
.hpage{height:100svh;display:flex;flex-direction:column;background:var(--papier)}
.hpage .hmeta{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);
  padding:26px clamp(22px,4vw,56px) 16px;border-bottom:1px solid var(--ligne)}
.hpage .hmeta a{color:var(--noir)}
.hstrip{flex:1;display:flex;align-items:center;gap:clamp(12px,1.8vw,24px);
  overflow-x:auto;overflow-y:hidden;padding:0 clamp(22px,4vw,56px);
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hstrip::-webkit-scrollbar{display:none}
.hstrip .hintro{flex:0 0 auto;width:min(36vw,460px);margin-right:clamp(20px,3vw,52px);
  display:flex;flex-direction:column;gap:20px;justify-content:center}
.hstrip .hintro .who{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:21px;line-height:1.4;max-width:24ch}
.hstrip .hintro .txt{font-size:12.5px;line-height:1.85;color:#3c3c39;max-width:46ch}
.hstrip .hintro .hint{font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.hstrip .proj{flex:0 0 auto;height:min(64svh,600px)}
.hstrip .proj img{height:100%;width:auto;aspect-ratio:3/4;object-fit:cover}
.hstrip .hfin{flex:0 0 auto;width:clamp(22px,4vw,56px)}
@media(max-width:720px){
  body.hscroll{overflow:auto}
  .hpage{height:auto;display:block}
  .hstrip{display:block;overflow:visible;padding:22px}
  .hstrip .hintro{width:100%;margin:0 0 26px}
  .hstrip .proj{height:auto;margin-bottom:12px}
  .hstrip .proj img{width:100%;height:auto}
}

/* ---------- titres projets : légende sous l'image (v6) ---------- */
.hstrip .proj{overflow:visible}
.proj .imgw{display:block;overflow:hidden;height:100%}
.proj .imgw img{display:block}
.proj .cap{position:absolute;top:100%;left:1px;right:0;padding-top:12px;
  display:flex;align-items:baseline;gap:12px;white-space:nowrap;
  opacity:0;transform:translateY(-5px);
  transition:opacity .45s ease,transform .6s cubic-bezier(.19,1,.22,1)}
.proj:hover .cap,.proj:focus-visible .cap{opacity:1;transform:none}
.proj .cap .n{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:17px;letter-spacing:.02em}
.proj .cap .s{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
@media(max-width:720px){
  .proj .cap{position:static;opacity:1;transform:none;padding:10px 0 2px}
  .hstrip .proj{margin-bottom:26px}
}
@media(hover:none){.proj .cap{opacity:1;transform:none}}

/* ---------- en-tête de galerie : mention inspiration (v7) ---------- */
.pj .ghead{padding:0 clamp(22px,3.5vw,56px);margin-bottom:16px}
.pj .ghead .bh{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);
  border-top:1px solid var(--ligne);padding-top:24px;max-width:72ch}

/* ---------- blocs films / personas (v8) ---------- */
.pj .bcell .ptag{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(20px,2.2vw,28px);line-height:1.3}
.pj .bcell .pdesc{font-size:12.5px;line-height:1.85;color:#3c3c39;max-width:58ch}
.pj .bcell .pvo{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;line-height:1.5;color:#3c3c39}

/* ---------- typographies FCC (v9) ---------- */
.pj .bcell .spec .clash{font-size:clamp(28px,3vw,42px);line-height:1.2}
.pj .bcell .chillax{font-family:'Chillax',sans-serif;font-weight:400;font-size:clamp(24px,2.6vw,36px);line-height:1.3}
.pj .bcell .jbm{font-family:'JetBrains Mono',monospace;font-weight:400;font-size:clamp(16px,1.8vw,24px);line-height:1.5}
.pj .bcell .brow img{max-height:none;height:clamp(72px,9vw,110px);width:auto}
.pj .bcell .brow.small img{height:clamp(40px,5vw,60px)}

/* ---------- liens des entrées (v10) ---------- */
.bloc .llinks{display:flex;flex-wrap:wrap;gap:clamp(14px,2vw,28px);margin-top:14px}
.bloc .llinks a{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--noir);
  border-bottom:1px solid var(--ligne);padding-bottom:4px;transition:border-color .3s}
.bloc .llinks a:hover{border-color:var(--noir)}

/* ---------- note de colophon (v11) ---------- */
.bloc .lnote{margin-top:clamp(26px,4vh,44px);font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gris);max-width:64ch;line-height:1.9}

/* ---------- monogramme JP, embossage ton sur ton (v12) ---------- */
.hero .mono{position:absolute;top:50%;left:calc(25% - 25vw);transform:translate(-50%,-50%);
  height:clamp(150px,31svh,380px);width:auto;max-width:calc(50vw - 50% - 48px);object-fit:contain;
  pointer-events:none;user-select:none}
@media(max-width:900px){.hero .mono{height:clamp(110px,20svh,190px)}}
@media(max-width:760px){.hero .mono{display:none}}

/* ---------- dernier article en regard (v13) ---------- */
.liste .lentry.has-media{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}
@media(max-width:720px){.liste .lentry.has-media{grid-template-columns:1fr}}
.lmedia{position:relative;display:block;overflow:hidden;align-self:start}
.lmedia img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.19,1,.22,1)}
.lmedia:hover img{transform:scale(1.03)}
.lmedia .lcap{position:absolute;left:0;right:0;bottom:0;padding:clamp(16px,2vw,26px);
  display:flex;flex-direction:column;gap:8px;color:#fff;
  background:linear-gradient(rgba(17,17,17,0),rgba(17,17,17,.46) 46%,rgba(17,17,17,.88) 100%)}
.lmedia .lk2{font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;opacity:.82}
.lmedia .lt2{font-family:'Cormorant Garamond',serif;font-weight:400;text-shadow:0 1px 14px rgba(0,0,0,.5);font-size:clamp(17px,1.9vw,24px);line-height:1.25}

/* ---------- titre de section dans une page projet (v14) ---------- */
.pj .gsec{padding:0 clamp(22px,3.5vw,56px);margin:clamp(46px,7vh,86px) 0 clamp(8px,1.2vh,14px)}
.pj .gsec:first-of-type{margin-top:clamp(10px,1.6vh,20px)}
.pj .gsec h2{font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(20px,2.2vw,30px);line-height:1.2;letter-spacing:.01em;
  border-top:1px solid var(--ligne);padding-top:clamp(20px,2.6vh,28px)}
.pj .gsec + .ghead{margin-top:10px}
.pj .gsec + .ghead .bh{border-top:0;padding-top:0}


/* ---------- signature landing (v15) ---------- */
.hero .tl{--nm:clamp(60px,7.6vw,116px);
  top:calc(21svh - var(--nm)*0.60);left:clamp(20px,3.2vw,46px);
  align-items:baseline;gap:clamp(12px,1.6vw,26px)}
.hero .tl .name{font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:var(--nm);line-height:1;letter-spacing:.01em}
.hero .tl .role{font-size:clamp(18px,1.8vw,28px)}
@media(max-width:900px){
  .hero .tl{--nm:clamp(48px,8.6vw,82px);top:calc(26svh - var(--nm)*0.60)}
}
@media(max-width:640px){
  .hero .tl{--nm:46px;top:calc(26svh - 34px);flex-direction:column;gap:2px}
  .hero .tl .role{font-size:15px}
}

/* ---------- colonne de texte (v16) ---------- */
.bloc .intro .col{display:flex;flex-direction:column;gap:clamp(12px,1.8vh,20px)}
.bloc .intro .col .txt{max-width:56ch}

/* ---------- intro seule (v17) ---------- */
.bloc .intro.solo{grid-template-columns:1fr;margin-bottom:clamp(40px,7vh,80px)}
.bloc .intro.solo .who{font-size:clamp(23px,2.5vw,33px);line-height:1.38;max-width:27ch}

/* ---------- bouton en savoir plus (v18) ---------- */
.pj .more{display:flex;flex-direction:column;align-items:center;gap:12px;
  padding:clamp(34px,6vh,66px) clamp(22px,3.5vw,56px) 0;text-align:center}
.pj .more a{display:inline-block;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid var(--ligne);padding:14px 30px;transition:border-color .3s,background .3s,color .3s}
.pj .more a:hover{border-color:var(--noir);background:var(--noir);color:var(--blanc)}
.pj .more span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}

/* ---------- ligne du haut, identique sur toutes les pages (v19) ---------- */
.tline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;
  gap:18px;align-items:baseline;flex:none;
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);
  padding:26px clamp(22px,4vw,56px) 16px;border-bottom:1px solid var(--ligne)}
.tline span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tline span:last-child{text-align:right}
.tline a{color:var(--noir);transition:opacity .3s}
.tline a:hover{opacity:.55}
.blocpage{min-height:calc(100svh - 59px);padding-block:clamp(18px,3.4vh,44px)}
.bloc{padding-block:clamp(18px,2.4vw,36px)}
@media(max-width:640px){
  .tline{grid-template-columns:1fr auto;row-gap:7px;padding:18px 20px 12px}
  .blocpage{min-height:calc(100svh - 92px)}
}

/* ---------- section vidéos dans la bande (v20) ---------- */
.hstrip .hsep{flex:0 0 auto;height:min(64svh,600px);display:flex;align-items:center;
  margin:0 clamp(26px,4vw,72px)}
.hstrip .hsep span{font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(22px,2.4vw,34px);white-space:nowrap;
  writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.06em;color:var(--noir)}
.hstrip .vid{flex:0 0 auto;height:min(64svh,600px)}
.hstrip .vid video{height:100%;width:auto;aspect-ratio:3/4;object-fit:cover;background:#e9e7e2}
@media(max-width:720px){
  .hstrip .hsep{height:auto;margin:34px 0 18px}
  .hstrip .hsep span{writing-mode:horizontal-tb}
  .hstrip .vid{height:auto;margin-bottom:12px}
  .hstrip .vid video{width:100%;height:auto;aspect-ratio:auto}
}

/* ---------- signature manuscrite (v21) ---------- */
.hero .tl .name{display:block;line-height:0}
.hero .tl .name img{height:calc(var(--nm)*1.62);width:auto;display:block}
.hero .tl{top:calc(21svh - var(--nm)*0.96);align-items:center;gap:clamp(6px,0.8vw,16px)}
.hero .tl .role{position:relative;top:calc(var(--nm)*0.10)}
@media(max-width:900px){.hero .tl{top:calc(26svh - var(--nm)*0.96)}}
@media(max-width:640px){
  .hero .tl{top:calc(26svh - 56px);flex-direction:column;align-items:flex-start;gap:4px}
  .hero .tl .role{top:0}
}

/* ---------- signature autonome (v22) ---------- */
.hero{--sgh:clamp(150px,20vw,330px);--band:21svh}
.hero .sig{position:absolute;z-index:5;pointer-events:none;user-select:none;
  left:clamp(14px,2.4vw,40px);height:var(--sgh);width:auto;
  top:calc(var(--band) - var(--sgh)*0.40)}

@media(max-width:900px){
  .hero{--sgh:clamp(120px,20vw,220px);--band:26svh}
}

@media(max-width:640px){
  .hero{--sgh:118px;--band:26svh}
}

/* sommaire mobile (v22) */
@media(max-width:900px){
  .hero .words{transform:none;right:auto;left:50%;translate:-50% 0;text-align:center}
}
@media(max-width:640px){
  .hero .words a{font-size:clamp(30px,9.2vw,44px)}
}


/* ---------- deux rangées : images puis vidéos (v24) ---------- */
.hstrip{align-items:center}
.hstrip .hrows{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;
  gap:clamp(46px,7vh,86px)}
.hstrip .hrow{display:flex;align-items:flex-end;gap:clamp(12px,1.8vw,24px)}
.hstrip .hrow-img{height:min(46svh,430px)}
.hstrip .hrow-img .proj{height:100%}
.hstrip .hrow-vid{align-items:flex-start;gap:clamp(30px,4.4vw,74px)}
.hstrip .vgroup{flex:0 0 auto;display:flex;gap:clamp(8px,1vw,14px);height:min(23svh,225px)}
.hstrip .vid{flex:0 0 auto;height:100%}
.hstrip .vid video{height:100%;width:auto;aspect-ratio:3/4;object-fit:cover;background:#e9e7e2}
@media(max-width:720px){
  .hstrip .hrows{gap:34px}
  .hstrip .hrow{display:block;height:auto}
  .hstrip .hrow-img{height:auto}
  .hstrip .hrow-vid{gap:0}
  .hstrip .vgroup{margin-bottom:22px;height:auto;flex-wrap:wrap}
  .hstrip .vid{height:auto;width:calc(50% - 6px)}
  .hstrip .vid video{width:100%;height:auto;aspect-ratio:3/4}
}

/* ---------- sous-titre accolé aux liens du haut (v24) ---------- */
.hero .tr .role{font-family:'Cormorant Garamond',serif;font-weight:400;font-style:normal;
  text-transform:none;letter-spacing:.01em;font-size:clamp(15px,1.5vw,21px);
  color:var(--noir);margin-right:clamp(6px,1vw,18px)}
@media(max-width:640px){
  .hero .tr{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}
  .hero .tr .role{font-size:14px;flex-basis:100%;text-align:right;margin-right:0}
}

/* ---------- fond papier global (v25) ---------- */
body{background:var(--papier)}
.pj{background:var(--papier)}
.hero .band{background:var(--papier)}
.hpage{background:var(--papier)}

/* ---------- respiration sous le bloc en savoir plus (v26) ---------- */
.pj .more{padding-bottom:clamp(40px,7vh,80px)}

/* ---------- galeries projet : rythme editorial (v27) ---------- */
.pj .grows{padding:0 clamp(22px,3.5vw,56px) clamp(30px,5vh,60px);
  display:flex;flex-direction:column;gap:clamp(30px,5vh,64px)}
.pj .grow{display:flex;gap:clamp(16px,2.4vw,34px);align-items:center}
.pj .grow.top{align-items:flex-start}
.pj .grow>figure{flex:0 0 auto;margin:0}
.pj .grow img{width:100%;height:auto}
.pj .r2a>figure:nth-child(1){width:56%}
.pj .r2a>figure:nth-child(2){width:32%}
.pj .r3>figure{width:calc((100% - 2*clamp(16px,2.4vw,34px))/3)}
.pj .r2b{justify-content:flex-end}
.pj .r2b>figure:nth-child(1){width:30%}
.pj .r2b>figure:nth-child(2){width:50%}
.pj .r1{justify-content:center}
.pj .r1>figure{width:58%}
.pj .ghead + .grows{margin-top:2px}
@media(max-width:760px){
  .pj .grows{gap:clamp(20px,3.5vh,34px)}
  .pj .grow{flex-direction:column;align-items:stretch}
  .pj .grow>figure{width:100%!important}
}

/* ---------- agrandissement des videos (v27) ---------- */
.hstrip .vid video{cursor:zoom-in}
.lbox{position:fixed;inset:0;z-index:80;background:rgba(17,17,17,.93);
  display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vh,56px)}
.lbox[hidden]{display:none}
.lbox video{max-width:min(1100px,92vw);max-height:86vh;width:auto;height:auto;background:#111}
.lbclose{position:absolute;top:14px;right:20px;background:none;border:0;color:#fff;
  font-size:34px;line-height:1;cursor:pointer;opacity:.75;transition:opacity .3s;padding:6px 10px}
.lbclose:hover{opacity:1}
body.lbon{overflow:hidden}

/* ---------- bascule de langue (v28) ---------- */
.tline .lg{margin-left:16px;position:relative}
.tline .lg::before{content:"\00b7";position:absolute;left:-11px;opacity:.45}
.hero .tr .lg{font-weight:400}

/* ---------- papier texture + copyright (v29) ---------- */
body{background:var(--papier)}
.pj{background:transparent}
.hpage{background:transparent}
.hero .band{background:var(--papier);
  box-shadow:0 -12px 30px rgba(17,17,17,.17), 0 12px 30px rgba(17,17,17,.17);
  display:flex;align-items:flex-end;justify-content:flex-start;
  padding:0 0 clamp(14px,2.2vh,22px) clamp(22px,3.5vw,48px)}
.hero .band .cpr{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.cpr{flex:none;padding:0 clamp(22px,3.5vw,56px) clamp(24px,3.6vh,40px);
  font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.pj .cpr,.blocpage + .cpr{text-align:center}
.hpage .cpr{padding-top:6px}

/* ---------- placement du copyright (v30) ---------- */
.blocpage{position:relative}
.blocpage > .cpr{position:absolute;left:0;right:0;bottom:clamp(16px,2.6vh,30px);
  text-align:center;padding:0}
.pj > .cpr{text-align:center;padding-top:0}
.hpage > .cpr{padding-top:4px;padding-bottom:clamp(12px,2vh,20px);text-align:center}
/* ---------- carnet : papier photographie, une feuille et un affleurement (v34) ---------- */
body{background:var(--papier)}
.pj{background:var(--papier)}
.hpage{background:var(--papier)}
.hero .band{background:none;box-shadow:none;height:48svh;overflow:visible;
  display:flex;align-items:flex-end;justify-content:flex-start;
  padding:0 0 clamp(14px,2.2vh,22px) clamp(22px,3.5vw,48px)}
.hero .band .sheet{position:absolute;display:block;
  background:#ede5dc url('assets/brand/paper-real.webp') repeat;background-size:760px 760px;
  filter:drop-shadow(0 4px 9px rgba(17,17,17,.30))}
.hero .band .sheet::before,.hero .band .sheet::after{content:"";position:absolute;
  left:0;right:0;height:9.7vw;pointer-events:none;
  background-image:url('assets/brand/edge.webp');
  background-repeat:no-repeat;background-size:135% 100%}
.hero .band .sheet::before{top:calc(1px - 9.7vw)}
.hero .band .sheet::after{bottom:calc(1px - 9.7vw);transform:scaleY(-1)}
.hero .band .s1{left:0;right:0;top:0;bottom:0;z-index:3}
.hero .band .s1::before{background-position-x:0%}
.hero .band .s1::after{background-position-x:100%}
/* la seconde feuille est simplement inclinee : elle affleure en haut a gauche
   et en bas a droite, et disparait ailleurs */
.hero .band .s2{left:-2%;right:-2%;top:-2px;bottom:-4px;z-index:2;
  transform:rotate(.5deg);filter:brightness(.972) drop-shadow(0 3px 7px rgba(17,17,17,.24))}
.hero .band .s2::before{background-position-x:62%;transform:scaleX(-1)}
.hero .band .s2::after{background-position-x:28%;transform:scale(-1,-1)}
.hero .band .cpr{position:relative;z-index:4}
.hero .centerwrap,.hero .words,.hero .sig{z-index:6}
@media(max-width:760px){
  .hero .band .sheet::before,.hero .band .sheet::after{height:14vw}
  .hero .band .sheet::before{top:calc(1px - 14vw)}
  .hero .band .sheet::after{bottom:calc(1px - 14vw)}
}
/* ---------- mots recentres, colophon en bas a gauche (v35) ---------- */
.hero .words{top:50%;transform:translate(82%,-50%)}
.cpr span{display:block}
.cpr span + span{margin-top:2px;opacity:.82}
.hero-cpr{position:absolute;z-index:6;left:clamp(22px,3.5vw,48px);bottom:clamp(16px,2.6vh,30px);
  padding:0;text-align:left;color:var(--noir);opacity:.7;
  text-shadow:0 1px 2px rgba(255,255,255,.45)}
@media(max-width:760px){
  .hero .words{top:10%;transform:none}
  .hero-cpr{left:6vw;bottom:14px}
}
@media(max-width:900px){
  .hero .words{transform:none;translate:-50% -50%}
}
/* ---------- colophon : copyright a gauche, signature a droite (v36) ---------- */
.cpr{display:flex;justify-content:space-between;align-items:baseline;gap:24px;text-align:left}
.cpr span{display:inline}
.cpr span + span{margin-top:0;opacity:.72}
.pj > .cpr,.hpage > .cpr{text-align:left}
.blocpage > .cpr{left:clamp(22px,3.5vw,56px);right:clamp(22px,3.5vw,56px)}
.hero-cpr{left:clamp(22px,3.5vw,48px);right:clamp(22px,3.5vw,48px)}
@media(max-width:640px){
  .cpr{flex-direction:column;gap:3px}
  .cpr span + span{opacity:.7}
}
/* ---------- accueil sur telephone : empilement et proportions (v38) ---------- */
@media(max-width:760px){
  .hero .band{height:60svh}
  /* la frange garde son rapport reel, elle n'est plus etiree */
  .hero .band .sheet::before,.hero .band .sheet::after{height:9.7vw}
  .hero .band .sheet::before{top:calc(1px - 9.7vw)}
  .hero .band .sheet::after{bottom:calc(1px - 9.7vw)}
  /* image et mots empiles, centres, sans recouvrement */
  .hero .centerwrap{height:auto;width:min(80vw,330px);left:50%;top:50%;transform:translate(-50%,-50%)}
  .hero .centerwrap .inner{height:auto;display:flex;flex-direction:column;align-items:center;gap:18px}
  .hero .centerwrap img:not(.mono){height:auto;width:min(54vw,220px);max-width:100%}
  .hero .words a{font-size:clamp(28px,8vw,40px);line-height:1.18}
  .hero .words a:hover{transform:none}
  .hero .sig{width:min(64vw,260px)}
}

/* ---------- page Projets sur telephone : bande horizontale -> liste verticale (v38b) ---------- */
@media(max-width:760px){
  body.hscroll{overflow:auto}
  .hpage{height:auto;min-height:100svh}
  .hstrip{display:block;overflow:visible;padding:0 22px 40px}
  .hstrip .hintro{width:100%;margin:0 0 30px}
  .hstrip .hint{display:none}
  .hstrip .hfin{display:none}
  .hstrip .hrows{display:block;width:100%;gap:0}
  .hstrip .hrow{display:flex;flex-direction:column;gap:20px;width:100%;height:auto}
  .hstrip .hrow-vid{margin-top:20px}
  .hstrip .vgroup{display:flex;flex-direction:column;gap:20px;width:100%;height:auto}
  .hstrip .proj,.hstrip .vid{width:100%!important;height:auto!important;flex:none}
  .hstrip .proj img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
  .hstrip .vid video{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
  .hstrip .proj .pt{opacity:1;transform:none}
}
@media(max-width:760px){
  .hstrip .proj .pt{flex-wrap:wrap;row-gap:2px;gap:8px}
  .hstrip .proj .pt .n,.hstrip .proj .pt .s{white-space:normal;min-width:0;overflow-wrap:anywhere}
}
@media(max-width:760px){
  .hstrip .proj .cap{flex-wrap:wrap;row-gap:2px;column-gap:10px}
  .hstrip .proj .cap .n,.hstrip .proj .cap .s{white-space:normal;min-width:0;overflow-wrap:anywhere}
}

/* ---------- pages projet sur telephone : galerie pleine largeur (v38c) ---------- */
@media(max-width:760px){
  .pj .grow,.pj .grow.top{flex-direction:column;align-items:stretch;padding:0}
  .pj .grow>figure{width:100%!important;max-width:100%;margin:0}
  .pj .grow>figure img{width:100%;height:auto}
}
/* ---------- accueil : retour a la bande blanche nette d'origine (v39) ---------- */
.hero .band{background:var(--blanc);box-shadow:none;height:58svh;overflow:visible;display:block;padding:0}
.hero .band .sheet{display:none}
.hero{--band:21svh}
.hero .centerwrap{height:42svh}
@media(max-width:900px){ .hero{--band:26svh} }
@media(max-width:760px){
  .hero .band{height:48svh}
  .hero .centerwrap{height:34svh}
}
/* ---------- accueil, telephone : les mots debordent par le bas de l'image (v41) ---------- */
@media(max-width:760px){
  .hero .words{top:auto;bottom:-6%;left:50%;right:auto;transform:none;translate:-50% 0;
    text-align:center}
}

/* ---------- avatars : videos dans les rangees editoriales des pages projet (v42) ---------- */
.pj .grow>figure.vid{position:relative;line-height:0}
.pj .grow>figure.vid video{width:100%;height:auto;display:block;background:#e9e7e2;cursor:zoom-in}
@media(max-width:760px){
  .pj .grow>figure.vid{width:100%!important;max-width:100%;margin:0}
  .pj .grow>figure.vid video{width:100%;height:auto}
}

/* ---------- accueil, telephone : hauteur d'image fixe pour que la rotation ne fasse plus sauter le bloc (v43) ---------- */
@media(max-width:760px){
  .hero .centerwrap img:not(.mono){height:min(34svh,68vw);width:auto;max-width:72vw}
}

/* ---------- telephone : le menu du haut reste accroche pendant le defilement (v44) ---------- */
@media(max-width:760px){
  .tline{position:sticky;top:0;z-index:40;
    background:rgba(251,250,247,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
    border-bottom:1px solid var(--ligne)}
  body.lbon .tline{z-index:1}
}

/* ---------- navigation verticale fixe, colonne de gauche reservee (v45) ---------- */
:root{--gut:clamp(22px,3.5vw,56px);--navw:clamp(132px,12.5vw,196px);--cl:calc(var(--navw) + var(--gut))}
.vnav{display:none}
@media(min-width:761px){
  .tline{display:none}
  .vnav{position:fixed;top:clamp(22px,2.8vw,38px);left:var(--gut);z-index:60;
    display:flex;flex-direction:column;align-items:flex-start;
    font-family:'Inter',system-ui,sans-serif;font-size:10px;letter-spacing:.18em;
    text-transform:uppercase;line-height:2.35;color:var(--gris)}
  .vnav a{color:var(--noir);text-decoration:none;transition:opacity .35s}
  .vnav a:hover{opacity:.5}
  .vnav .nm{margin-bottom:1.15em}
  .vnav .cur{opacity:.42}
  .vnav .lang{margin-top:1.15em;opacity:.55}
  .pj .corps,.pj .grows,.pj .pn,.pj .cpr,.pj .more,.pj .gsec{padding-left:var(--cl)}
  .blocpage{justify-content:flex-start;padding-left:var(--cl)}
  .bloc{width:min(1120px,calc(94vw - var(--cl)))}
  .blocpage > .cpr{left:calc(var(--cl) + clamp(26px,3.6vw,58px))}
  .hpage .hstrip,.hpage .cpr{padding-left:var(--cl)}
}

/* ---------- colonne de navigation : les blocs marque et intertitres s'alignent aussi (v46) ---------- */
@media(min-width:761px){
  .pj .brand,.pj .ghead{padding-left:var(--cl)}
}
