/* YD Créations — feuille de style
   Palette : galet clair / ardoise / terre cuite / lichen */

@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/fraunces-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/fraunces-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300 700;font-display:swap;src:url(fonts/fraunces-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300 700;font-display:swap;src:url(fonts/fraunces-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/inter-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/inter-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --galet:#F5F1EA;
  --galet-2:#ECE6DA;
  --ardoise:#1F2322;
  --ardoise-2:#3A403E;
  --terre:#B5542B;
  --terre-2:#8F3F1E;
  --lichen:#6E7B74;
  --ligne:#D9D2C5;
  --blanc:#FFFFFF;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --gutter:clamp(16px,4vw,48px);
  --max:1240px;
  --radius:14px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{margin:0;background:var(--galet);color:var(--ardoise);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,7vw,5rem);font-variation-settings:'opsz' 144}
h2{font-size:clamp(1.9rem,4.5vw,3rem);font-variation-settings:'opsz' 96}
h3{font-size:1.35rem}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terre);font-weight:600;margin:0 0 1rem}
.lead{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.5;max-width:42ch}
.btn{display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.6em;border-radius:999px;background:var(--ardoise);color:var(--galet);text-decoration:none;font-weight:500;font-size:.98rem;border:1.5px solid var(--ardoise);transition:background .2s,color .2s,transform .2s}
.btn:hover{background:var(--terre);border-color:var(--terre);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--ardoise)}
.btn.ghost:hover{background:var(--ardoise);color:var(--galet)}
.btn svg{width:1.05em;height:1.05em}

/* ---------- header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--galet);border-bottom:1px solid var(--ligne)}
body{padding-top:72px}
body.home{padding-top:0}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-family:var(--serif);font-size:1.35rem;font-weight:500;letter-spacing:-.01em}
.brand img{width:40px;height:40px}
.brand small{display:block;font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lichen);font-weight:600;line-height:1}
.brand b{font-weight:500;display:block;line-height:1.05}
.nav{display:flex;gap:1.8rem;align-items:center}
.nav a{text-decoration:none;font-size:.95rem;font-weight:500;color:var(--ardoise-2);padding:.4em 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ardoise);border-color:var(--terre)}
.nav a.btn{padding:.6em 1.2em;border:1.5px solid var(--ardoise);color:var(--galet)}
.nav a.btn:hover{color:var(--galet)}
.burger{display:none;background:none;border:0;padding:.5rem;cursor:pointer;color:var(--ardoise)}
.burger svg{width:28px;height:28px}
@media (max-width:860px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--galet)}
  .brand small{display:none}
  .brand img{width:34px;height:34px}
  .burger{display:block}
  .nav{position:fixed;inset:72px 0 0 0;background:var(--galet);flex-direction:column;align-items:flex-start;padding:2rem var(--gutter);gap:.4rem;transform:translateX(100%);visibility:hidden;transition:transform .3s,visibility 0s .3s;overflow:auto}
  .nav.open{transform:none;visibility:visible;transition:transform .3s}
  .nav a{font-family:var(--serif);font-size:1.8rem;border:0;padding:.3em 0}
  .nav a[aria-current="page"]{color:var(--terre)}
  .nav .btn{margin-top:1.4rem;font-family:var(--sans);font-size:1rem;padding:.9em 1.6em}
}

/* ---------- sections ---------- */
section{padding:clamp(3.5rem,8vw,7rem) 0}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.5rem;flex-wrap:wrap}
.section-head p{max-width:48ch;color:var(--ardoise-2);margin:0}
.intro{background:var(--galet-2)}
.intro .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.intro blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.35;font-weight:400}
.intro blockquote strong{font-weight:600;color:var(--terre)}
.intro cite{display:block;font-style:normal;font-family:var(--sans);font-size:.9rem;color:var(--lichen);margin-top:1.4rem}
.intro .matieres{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.tag{display:inline-block;padding:.35em .9em;border:1px solid var(--ligne);border-radius:999px;font-size:.85rem;background:var(--blanc);color:var(--ardoise-2)}
.intro img{border-radius:var(--radius);aspect-ratio:4/5;object-fit:cover;width:100%}
@media (max-width:860px){.intro .wrap{grid-template-columns:1fr}}

/* ---------- bandeau matières ---------- */
.bande{background:var(--ardoise);color:var(--galet);padding:3rem 0}
.bande .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.bande h3{font-size:1.15rem;margin:0 0 .3rem;color:#E7B08F}
.bande p{font-size:.9rem;color:#C9C3B7;margin:0}
.bande .n{font-family:var(--serif);font-size:2.4rem;line-height:1;margin-bottom:.4rem}
@media (max-width:860px){.bande .wrap{grid-template-columns:repeat(2,1fr)}}

/* ---------- duo (expos / clin d'œil) ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
@media (max-width:860px){.duo{grid-template-columns:1fr}}
.panel{position:relative;border-radius:var(--radius);overflow:hidden;min-height:380px;display:flex;align-items:flex-end;color:var(--galet);text-decoration:none;background:var(--ardoise-2)}
.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;transition:transform .6s,opacity .4s}
.panel:hover img{transform:scale(1.04);opacity:.6}
.panel .in{position:relative;padding:2rem;background:linear-gradient(to top,rgba(31,35,34,.9),transparent);width:100%}
.panel h3{font-size:1.8rem;margin:0 0 .3rem}
.panel p{margin:0;color:#D6D0C4;max-width:40ch}
.panel .eyebrow{color:#E7B08F;margin-bottom:.5rem}

/* ---------- CTA ---------- */
.cta{background:var(--terre);color:var(--galet);text-align:center}
.cta h2{color:var(--galet)}
.cta p{max-width:50ch;margin:0 auto 2rem;color:#F7E3D6}
.cta .btn{background:var(--galet);color:var(--terre-2);border-color:var(--galet)}
.cta .btn:hover{background:var(--ardoise);color:var(--galet);border-color:var(--ardoise)}

/* ---------- pages intérieures ---------- */
.page-head{padding:clamp(3rem,7vw,5.5rem) 0 clamp(1.5rem,3vw,2.5rem)}
.page-head h1{font-size:clamp(2.4rem,6vw,4.2rem)}
.page-head p{max-width:55ch;font-size:1.12rem;color:var(--ardoise-2)}
.prose{max-width:66ch;font-size:1.08rem}
.prose p{margin-bottom:1.3em}
.prose h2{font-size:1.9rem;margin-top:2em}
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.about figure{margin:0;position:sticky;top:96px}
.about figure img{border-radius:var(--radius)}
.about figcaption{font-size:.85rem;color:var(--lichen);margin-top:.6rem;font-family:var(--serif);font-style:italic}
@media (max-width:860px){.about{grid-template-columns:1fr}.about figure{position:static}}
.chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.5rem 0}
.chiffres div{background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--radius);padding:1.2rem}
.chiffres b{display:block;font-family:var(--serif);font-size:2.2rem;line-height:1;color:var(--terre);font-weight:500}
.chiffres span{font-size:.85rem;color:var(--ardoise-2)}
@media (max-width:600px){.chiffres{grid-template-columns:1fr 1fr}}

/* expositions */
.expo-list{display:grid;gap:1.2rem;max-width:860px}
.expo{display:grid;grid-template-columns:120px 1fr;gap:1.5rem;background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--radius);padding:1.5rem}
.expo .date{font-family:var(--serif);line-height:1}
.expo .date b{display:block;font-size:2.6rem;font-weight:500;color:var(--terre)}
.expo .date span{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--lichen)}
.expo h3{margin:0 0 .3rem}
.expo p{margin:0 0 .4rem;color:var(--ardoise-2)}
.expo .lieu{font-size:.9rem;color:var(--lichen)}
.expo.passee{opacity:.65}
.empty{background:var(--blanc);border:1px dashed var(--ligne);border-radius:var(--radius);padding:2.5rem;max-width:860px;color:var(--ardoise-2)}
@media (max-width:600px){.expo{grid-template-columns:1fr;gap:.8rem}}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(2rem,5vw,5rem)}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
.coord{display:grid;gap:1.4rem;align-content:start}
.coord div{padding-left:1.2rem;border-left:3px solid var(--terre)}
.coord b{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lichen);margin-bottom:.3rem}
.coord a{font-size:1.25rem;text-decoration:none;font-family:var(--serif)}
.coord a:hover{color:var(--terre)}
form{display:grid;gap:1.1rem}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:600px){.f2{grid-template-columns:1fr}}
label{display:grid;gap:.4rem;font-size:.9rem;font-weight:500}
input,textarea,select{font:inherit;padding:.85em 1em;border:1.5px solid var(--ligne);border-radius:10px;background:var(--blanc);color:var(--ardoise);width:100%}
input:focus,textarea:focus{outline:2px solid var(--terre);outline-offset:1px;border-color:var(--terre)}
textarea{min-height:160px;resize:vertical}
.hp{position:absolute;left:-9999px}
.form-note{font-size:.82rem;color:var(--lichen)}
.alert{padding:1rem 1.2rem;border-radius:10px;background:#E6F0E9;border:1px solid #B9D3C0;color:#1F4A2E;margin-bottom:1.5rem}
.alert.err{background:#F7E4DC;border-color:#E3B8A6;color:#6E2A12}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:100;background:#141615;display:none;color:var(--galet)}
.lb.open{display:grid;grid-template-columns:1fr minmax(280px,360px)}
.lb .stage{position:relative;display:flex;align-items:center;justify-content:center;padding:4vh 4vw;min-height:0}
.lb .stage img{max-width:100%;max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 30px 60px -20px rgba(0,0,0,.9)}
.lb .info{padding:5rem 2rem 2rem;border-left:1px solid rgba(255,255,255,.08);overflow:auto;display:flex;flex-direction:column;gap:.5rem}
.lb .info h2{font-size:1.9rem;margin:0 0 .4rem}
.lb .info dl{margin:1rem 0;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.92rem}
.lb .info dt{color:#A9A399}
.lb .info dd{margin:0}
.lb .info .note{font-family:var(--serif);font-style:italic;color:#C9C3B7}
.lb .prix-grand{font-family:var(--serif);font-size:1.8rem;margin:.5rem 0 1rem;color:#E7B08F}
.lb .prix-grand small{display:block;font-family:var(--sans);font-size:.78rem;color:#A9A399;letter-spacing:.1em;text-transform:uppercase}
.lb .info .btn{background:var(--galet);color:var(--ardoise);border-color:var(--galet);align-self:flex-start;margin-top:auto}
.lb .info .btn:hover{background:var(--terre);color:var(--galet);border-color:var(--terre)}
.lb .x,.lb .prev,.lb .next{position:absolute;background:rgba(245,241,234,.1);border:0;color:var(--galet);width:48px;height:48px;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:background .2s;z-index:2}
.lb .x:hover,.lb .prev:hover,.lb .next:hover{background:var(--terre)}
.lb .x{top:1.2rem;right:1.2rem}
.lb .prev{left:1rem;top:50%;transform:translateY(-50%)}
.lb .next{right:calc(minmax(280px,360px) + 1rem);right:1rem;top:50%;transform:translateY(-50%)}
.lb svg{width:22px;height:22px}
.lb .counter{position:absolute;left:1.4rem;top:1.4rem;font-size:.8rem;color:#A9A399;letter-spacing:.1em}
@media (max-width:860px){
  .lb.open{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow:auto}
  .lb .stage{padding:4.5rem 1rem 1rem}
  .lb .stage img{max-height:60vh}
  .lb .info{padding:1rem 1.2rem 2rem;border-left:0;border-top:1px solid rgba(255,255,255,.08)}
  .lb .info h2{font-size:1.5rem}
  .lb .prev,.lb .next{top:auto;bottom:auto;transform:none;top:34vh}
}

/* ---------- footer ---------- */
.site-footer{background:var(--ardoise);color:#C9C3B7;padding:3.5rem 0 2rem;font-size:.9rem}
.site-footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.site-footer .brand{color:var(--galet)}
.site-footer .brand small{color:#A9A399}
.site-footer h4{color:var(--galet);font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .8rem}
.site-footer a{color:#C9C3B7;text-decoration:none}
.site-footer a:hover{color:var(--galet)}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.site-footer .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:1.4rem;margin-top:1rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.8rem;color:#A9A399}
@media (max-width:860px){.site-footer .wrap{grid-template-columns:1fr 1fr}.site-footer .wrap > div:first-child{grid-column:1/-1}}



/* =====================================================================
   V3 · composants relevés
   ===================================================================== */

/* grain (dégradé + bruit SVG) */
.grain{position:absolute;inset:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='200' height='200' filter='url(%23n)' opacity='1'/></svg>");background-size:200px 200px}
.hero,.bande,.cta{position:relative;overflow:hidden}
.hero .wrap,.bande .wrap,.cta .wrap{position:relative;z-index:1}

/* ---------- héros ---------- */
.hero{background:var(--ardoise);color:var(--galet)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center;min-height:min(84vh,800px);padding-top:3rem;padding-bottom:2rem}
.hero h1{margin-bottom:1.2rem;font-size:clamp(2.8rem,7.5vw,6rem);line-height:1}
.hero .lead{color:#D6D0C4;max-width:46ch}
.hero .eyebrow{color:#E7B08F}
.hero .actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.hero .btn{background:var(--galet);color:var(--ardoise);border-color:var(--galet)}
.hero .btn:hover{background:var(--terre);color:var(--galet);border-color:var(--terre)}
.hero .btn.ghost{background:transparent;color:var(--galet);border-color:rgba(245,241,234,.5)}
.hero .btn.ghost:hover{background:var(--galet);color:var(--ardoise)}
.mot{display:inline-block;position:relative;color:#E7B08F;font-style:italic;font-weight:400;vertical-align:bottom;overflow:hidden;line-height:1.05;padding-bottom:.05em}
.mot-in{display:inline-block}
.mot.swap .mot-in{animation:motOut .35s forwards}
@keyframes motOut{to{transform:translateY(-110%);opacity:0}}
@keyframes motIn{from{transform:translateY(110%);opacity:0}to{transform:none;opacity:1}}
.mot-in.enter{animation:motIn .5s cubic-bezier(.2,.8,.2,1) forwards}

.hero-ball{position:relative;width:100%;max-width:520px;margin:0 auto;aspect-ratio:1;display:grid;place-items:center;cursor:pointer;user-select:none;-webkit-user-select:none}
.ball-stack{position:relative;width:78%;aspect-ratio:1;will-change:transform;animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-14px) rotate(.5deg)}}
.ball-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.92) rotate(-6deg);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 30px 40px rgba(0,0,0,.55))}
.ball-stack img.on{opacity:1;transform:none;z-index:1}
.ball-stack img.out{opacity:0;transform:scale(1.06) rotate(6deg)}
.ball-shadow{position:absolute;left:50%;bottom:9%;width:58%;height:9%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(0,0,0,.55),rgba(0,0,0,0) 70%);animation:shadowPulse 7s ease-in-out infinite}
@keyframes shadowPulse{0%,100%{transform:translateX(-50%) scale(1);opacity:1}50%{transform:translateX(-50%) scale(.86);opacity:.7}}
.ball-dots{position:absolute;bottom:2.4rem;left:50%;transform:translateX(-50%);display:flex;gap:.45rem}
.ball-dots i{width:6px;height:6px;border-radius:50%;background:rgba(245,241,234,.3);transition:background .3s,transform .3s}
.ball-dots i.on{background:#E7B08F;transform:scale(1.4)}
.ball-cap{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.8rem;color:#A9A399;font-family:var(--serif);font-style:italic;margin:0}
.ball-cap a{color:#E7B08F}
.hero .marquee{border-top:1px solid rgba(245,241,234,.12);padding:.9rem 0;overflow:hidden;position:relative;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee-in{display:flex;gap:3rem;width:max-content;animation:marquee 60s linear infinite;font-family:var(--serif);font-style:italic;font-size:1.05rem;color:#A9A399}
.marquee-in span::after{content:"·";margin-left:3rem;color:var(--terre)}
@keyframes marquee{to{transform:translateX(-50%)}}
.hero .marquee:hover .marquee-in{animation-play-state:paused}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;min-height:0;padding-top:2rem;padding-bottom:2.5rem;gap:1rem}
  .hero-ball{order:-1;max-width:330px}
  .hero h1{font-size:clamp(2.6rem,12vw,4rem)}
  .ball-dots{bottom:2.2rem}
}

/* entrée orchestrée du héros */
@media (prefers-reduced-motion:no-preference){
  .js .in-1,.js .in-2,.js .in-3,.js .in-4{opacity:0;transform:translateY(18px);animation:up .9s cubic-bezier(.2,.8,.2,1) forwards}
  .in-1{animation-delay:.1s}.in-2{animation-delay:.25s}.in-3{animation-delay:.4s}.in-4{animation-delay:.55s}
  @keyframes up{to{opacity:1;transform:none}}
  .js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
  .rv.in{opacity:1;transform:none}
  .js .grid .card{opacity:0;transform:translateY(26px) scale(.98);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
  .grid .card.in{opacity:1;transform:none}
  .js .split .w{display:inline-block;opacity:0;transform:translateY(.4em);transition:opacity .5s,transform .5s}
  .split.in .w{opacity:1;transform:none}
}

/* ---------- intro ---------- */
.intro .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.intro-fig{margin:0;overflow:hidden;border-radius:var(--radius)}
.intro-fig img{aspect-ratio:3/2;object-fit:cover;width:100%;transform:scale(1.08);will-change:transform}
.intro-fig figcaption{font-family:var(--serif);font-style:italic;font-size:.85rem;color:var(--lichen);padding:.6rem 0 0}
@media (max-width:860px){.intro .wrap{grid-template-columns:1fr}}

/* ---------- grille studio ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.4rem}
@media (max-width:600px){.grid{grid-template-columns:repeat(2,1fr);gap:.8rem}}
.card{position:relative;background:var(--blanc);border-radius:var(--radius);overflow:hidden;color:inherit;border:0;padding:0;cursor:pointer;text-align:left;font:inherit;display:block;width:100%;box-shadow:0 1px 0 var(--ligne)}
.card:hover{box-shadow:0 30px 50px -28px rgba(31,35,34,.5);transform:translateY(-6px)}
.card .ph{position:relative;aspect-ratio:1;overflow:hidden;background:#EDE7DC}
.card .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .5s}
.card .ph img.photo{opacity:0}
.card:hover .ph img.studio{transform:scale(1.05)}
.card:hover .ph img.photo{opacity:1}
.card .meta{padding:.9rem 1rem 1.05rem;display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}
.card h3{font-size:1.05rem;margin:0 0 .2rem}
.card .sub{font-size:.8rem;color:var(--lichen);margin:0}
.card .num{font-family:var(--serif);font-style:italic;color:var(--terre);font-size:.85rem;white-space:nowrap}
.card .hint{position:absolute;top:.8rem;left:.8rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(245,241,234,.9);padding:.3em .6em;border-radius:999px;color:var(--ardoise-2);opacity:0;transition:opacity .3s}
.card:hover .hint{opacity:1}
@media (max-width:600px){.card h3{font-size:.92rem}.card .meta{padding:.7rem .8rem .85rem}.card .hint{display:none}}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.filters button{font:inherit;font-size:.88rem;font-weight:500;padding:.5em 1.1em;border-radius:999px;border:1.5px solid var(--ligne);background:var(--blanc);color:var(--ardoise-2);cursor:pointer;transition:all .2s}
.filters button:hover{border-color:var(--ardoise)}
.filters button[aria-pressed="true"]{background:var(--ardoise);border-color:var(--ardoise);color:var(--galet)}
.count{font-size:.85rem;color:var(--lichen);margin:-1rem 0 1.5rem}
.grid.fading .card{opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s}

/* ---------- bande ---------- */
.bande .n{font-variant-numeric:tabular-nums}

/* ---------- lightbox ---------- */
.lb{background:rgba(20,22,21,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.lb .stage img{transition:opacity .35s,transform .5s cubic-bezier(.2,.8,.2,1)}
.lb .stage img.swap{opacity:0;transform:scale(.97)}
.lb .toggle{position:absolute;bottom:1.4rem;left:50%;transform:translateX(-50%);display:flex;gap:0;border:1px solid rgba(245,241,234,.25);border-radius:999px;overflow:hidden;z-index:2}
.lb .toggle button{font:inherit;font-size:.78rem;letter-spacing:.06em;padding:.55em 1.1em;background:transparent;color:#C9C3B7;border:0;cursor:pointer}
.lb .toggle button[aria-pressed="true"]{background:var(--galet);color:var(--ardoise)}
@media (max-width:860px){.lb .toggle{bottom:auto;top:4.6rem}}

/* header : ombre à l'apparition au scroll */
.site-header.scrolled{box-shadow:0 10px 30px -20px rgba(31,35,34,.35)}
@media (max-width:600px){.card .meta{display:block}.card .num{display:none}.card .sub{font-size:.75rem}}

/* =====================================================================
   V4 · expérience immersive
   ===================================================================== */
html{scroll-behavior:auto}
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;pointer-events:none}
.progress i{display:block;height:100%;width:100%;background:var(--terre);transform:scaleX(0);transform-origin:0 0}

/* ---------- scène épinglée ---------- */
.scene{position:relative;height:calc(100vh + var(--n) * 55vh);background:var(--scene-bg,#1F2322);color:var(--galet);transition:background 1.2s}
.scene-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 var(--gutter)}
.scene-txt{position:relative;z-index:3;max-width:560px;justify-self:start;margin-left:max(0px,calc((100vw - var(--max)) / 2))}
.scene-txt h1{font-size:clamp(2.6rem,6.2vw,5.4rem);line-height:1;margin-bottom:1.2rem}
.scene-txt h1 em{font-style:italic;color:#E7B08F;font-weight:400}
.scene-txt .lead{color:#D6D0C4;max-width:44ch}
.scene-txt .eyebrow{color:#E7B08F}
.scene .actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.scene .btn{background:var(--galet);color:var(--ardoise);border-color:var(--galet)}
.scene .btn:hover{background:var(--terre);color:var(--galet);border-color:var(--terre)}
.scene .btn.ghost{background:transparent;color:var(--galet);border-color:rgba(245,241,234,.5)}
.scene .btn.ghost:hover{background:var(--galet);color:var(--ardoise)}
.scene-ball{position:relative;z-index:2;width:min(46vw,62vh);aspect-ratio:1;justify-self:center;display:grid;place-items:center;cursor:pointer}
.scene-ball .ball-stack{position:relative;width:80%;aspect-ratio:1;will-change:transform;animation:none}
.scene-ball .ball-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.9);transition:none;filter:drop-shadow(0 40px 50px rgba(0,0,0,.6))}
.scene-ball .ball-stack img.on{opacity:1;transform:none;z-index:1}
.scene-ball .ball-shadow{position:absolute;left:50%;bottom:6%;width:60%;height:9%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(0,0,0,.6),rgba(0,0,0,0) 70%);animation:none}
.scene-state{position:absolute;right:max(var(--gutter),calc((100vw - var(--max)) / 2 + 48px));bottom:9vh;z-index:3;text-align:right;max-width:40vw}
.scene-state .eyebrow{color:#A9A399;margin-bottom:.2rem;font-variant-numeric:tabular-nums}
.mot-big{font-family:var(--serif);font-size:clamp(2.4rem,6vw,5.4rem);line-height:1;margin:0 0 .3rem;font-weight:400}
.mot-big .mot{color:#E7B08F;font-style:italic;padding-bottom:.08em}
.scene .ball-cap{position:static;text-align:right;font-size:.85rem;color:#A9A399;font-family:var(--serif);font-style:italic;margin:0}
.scene .ball-cap a{color:#E7B08F}
.rail{position:absolute;left:max(var(--gutter),calc((100vw - var(--max)) / 2));bottom:7vh;z-index:3;display:flex;gap:1.1rem;flex-wrap:wrap;max-width:48vw}
.rail button{font:inherit;font-family:var(--serif);font-style:italic;font-size:.95rem;background:none;border:0;color:#8F8A80;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:.45rem;transition:color .3s}
.rail button i{width:6px;height:6px;border-radius:50%;background:currentColor;transition:transform .3s,background .3s}
.rail button:hover{color:var(--galet)}
.rail button.on{color:#E7B08F}
.rail button.on i{transform:scale(1.6);background:var(--terre)}
.scroll-hint{position:absolute;left:50%;bottom:2.2vh;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#8F8A80;transition:opacity .4s}
.scroll-hint i{width:1px;height:38px;background:linear-gradient(to bottom,#E7B08F,transparent);animation:hint 1.8s ease-in-out infinite;transform-origin:top}
@keyframes hint{0%{transform:scaleY(0);opacity:0}40%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1) translateY(16px);opacity:0}}
.scene.done .scroll-hint{opacity:0}
@media (max-width:860px){
  .scene{height:calc(100vh + var(--n) * 42vh)}
  .scene-sticky{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;align-items:start;padding-top:1.2rem;padding-bottom:1rem}
  .scene-txt{max-width:none;margin:0}
  .scene-txt h1{font-size:clamp(2.2rem,10vw,3.2rem);margin-bottom:.6rem}
  .scene-txt .lead{font-size:.98rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .scene .actions{margin-top:1rem}.scene .btn{padding:.75em 1.2em;font-size:.9rem}
  .scene-ball{width:min(68vw,34vh);justify-self:center;align-self:center}
  .scene-state{position:static;text-align:left;max-width:none;align-self:end}
  .mot-big{font-size:clamp(2rem,10vw,3rem)}
  .scene .ball-cap{text-align:left}
  .rail{display:none}
  .scroll-hint{display:none}
}

/* ---------- traversée de l'atelier ---------- */
.atelier{position:relative;background:var(--galet-2);height:calc(100vh + var(--track, 3000px));color:var(--ardoise)}
.atelier-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.atelier-head{padding-top:1rem;padding-bottom:1rem}
.atelier-head h2{margin:0 0 .3rem}
.atelier-head h2 em{font-style:italic;color:var(--terre);font-weight:400}
.atelier-hint{font-size:.85rem;color:var(--lichen);margin:0;font-family:var(--serif);font-style:italic}
.track{display:flex;align-items:center;gap:clamp(2rem,5vw,6rem);padding:2rem calc(var(--gutter) + 4vw) 2rem calc(max(var(--gutter),(100vw - var(--max)) / 2));will-change:transform;height:min(62vh,620px)}
.piece{margin:0;flex:0 0 auto;width:var(--w);transform:translateY(var(--dy));position:relative;cursor:pointer}
.piece img{width:100%;height:auto;filter:drop-shadow(0 30px 30px rgba(31,35,34,.35));transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.piece:hover img{transform:translateY(-10px) scale(1.03)}
.piece figcaption{position:absolute;left:0;right:0;top:100%;padding-top:.9rem;text-align:center;font-size:.85rem;color:var(--ardoise-2);opacity:0;transform:translateY(-6px);transition:opacity .4s,transform .4s}
.piece figcaption b{display:block;font-family:var(--serif);font-weight:500;font-size:1.05rem;color:var(--ardoise)}
.piece:hover figcaption,.piece.near figcaption{opacity:1;transform:none}
.piece.more{width:260px;aspect-ratio:1;border-radius:50%;background:var(--ardoise);color:var(--galet);display:grid;place-items:center;text-align:center;text-decoration:none;font-family:var(--serif);font-size:1.3rem;line-height:1.2;transform:none;transition:background .3s,transform .5s}
.piece.more em{font-style:italic;color:#E7B08F;font-size:1rem}
.piece.more svg{width:28px;height:28px;margin-top:.4rem}
.piece.more:hover{background:var(--terre);transform:scale(1.04)}
@media (max-width:860px){
  .atelier{height:auto}
  .atelier-sticky{position:static;height:auto;display:block}
  .track{overflow-x:auto;scroll-snap-type:x mandatory;height:auto;padding:1.5rem var(--gutter) 5rem;gap:2.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .track::-webkit-scrollbar{display:none}
  .piece{width:min(64vw,var(--w));transform:none;scroll-snap-align:center}
  .piece figcaption{opacity:1;transform:none}
  .piece.more{width:200px}
}

/* ---------- cabinet de curiosités ---------- */
.cabinet{background:var(--ardoise);color:var(--galet);padding:clamp(3rem,7vw,6rem) 0 clamp(2rem,4vw,4rem);position:relative;overflow:hidden}
.cabinet-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:1rem}
.cabinet-head p{max-width:46ch;color:#C9C3B7;margin:0}
.cabinet h2{color:var(--galet)}
.curios{position:relative;height:min(78vh,760px);margin:0 auto 1.5rem;max-width:1600px}
.curio{position:absolute;width:var(--s);transform:translate(-50%,-50%) rotate(var(--r));background:none;border:0;padding:0;cursor:pointer;transition:transform .5s cubic-bezier(.2,.8,.2,1),z-index 0s;z-index:1;will-change:transform}
.curio img{width:100%;height:auto;filter:drop-shadow(0 20px 24px rgba(0,0,0,.55));transition:filter .3s}
.curio span{position:absolute;left:50%;top:100%;transform:translate(-50%,.4rem);white-space:nowrap;font-family:var(--serif);font-size:.95rem;color:var(--galet);opacity:0;transition:opacity .3s;pointer-events:none;text-align:center}
.curio span small{display:block;font-family:var(--sans);font-size:.72rem;color:#A9A399;letter-spacing:.06em}
.curio:hover{z-index:5;transform:translate(-50%,-50%) rotate(0deg) scale(1.12)}
.curio:hover span{opacity:1}
.curio:hover img{filter:drop-shadow(0 30px 34px rgba(0,0,0,.7))}
@media (max-width:860px){
  .curios{height:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem .8rem;padding:1rem var(--gutter) 2rem}
  .curio{position:static;width:auto;transform:none!important;display:grid;place-items:center}
  .curio img{max-height:28vw;width:auto}
  .curio span{position:static;transform:none;opacity:1;white-space:normal;font-size:.8rem;margin-top:.4rem}
}
.duo-expo{background:var(--galet)}

/* ---------- curseur ---------- */
.cursor{display:none}
@media (pointer:fine){
  .cursor{display:block;position:fixed;left:0;top:0;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--terre);pointer-events:none;z-index:200;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s,border-color .25s,opacity .3s;mix-blend-mode:normal;opacity:0}
  .cursor.vis{opacity:1}
  .cursor span{position:absolute;inset:0;display:grid;place-items:center;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--galet);opacity:0;transition:opacity .2s;font-weight:600}
  .cursor.big{width:72px;height:72px;background:var(--terre);border-color:var(--terre)}
  .cursor.big span{opacity:1}
  .cursor.link{width:40px;height:40px;background:rgba(181,84,43,.18)}
}

/* ---------- menu plein écran (toutes tailles) ---------- */
.site-header .burger{display:block}
.nav{position:fixed;inset:0;z-index:70;background:var(--ardoise);color:var(--galet);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;padding:clamp(4rem,10vh,8rem) var(--gutter) 3rem;gap:2rem;transform:translateY(-100%);visibility:hidden;transition:transform .55s cubic-bezier(.7,0,.2,1),visibility 0s .55s;overflow:auto}
.nav.open{transform:none;visibility:visible;transition:transform .55s cubic-bezier(.7,0,.2,1)}
.nav a{font-family:var(--serif);font-size:clamp(2.4rem,6vw,5rem);line-height:1.05;color:var(--galet);border:0;padding:.08em 0;opacity:0;transform:translateY(20px);transition:opacity .5s,transform .5s,color .3s;text-decoration:none;display:block}
.nav.open a{opacity:1;transform:none}
.nav a:nth-child(1){transition-delay:.15s}.nav a:nth-child(2){transition-delay:.2s}.nav a:nth-child(3){transition-delay:.25s}.nav a:nth-child(4){transition-delay:.3s}.nav a:nth-child(5){transition-delay:.35s}.nav a:nth-child(6){transition-delay:.4s}
.nav a:hover,.nav a[aria-current="page"]{color:#E7B08F}
.nav a.btn{font-family:var(--sans);font-size:1rem;display:inline-flex;margin-top:1.5rem;background:var(--galet);color:var(--ardoise);padding:.9em 1.6em;border-radius:999px;opacity:1}
.nav a.btn:hover{background:var(--terre);color:var(--galet)}
.nav-links{display:flex;flex-direction:column;align-items:flex-start}
.nav-side{display:grid;gap:1.2rem;color:#C9C3B7;font-size:.95rem;align-self:end}
.nav-side b{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#8F8A80;margin-bottom:.3rem}
.nav-side a{font-family:var(--sans);font-size:1.1rem;opacity:1;transform:none;color:var(--galet)}
.nav-side img{width:min(220px,40vw);filter:drop-shadow(0 30px 30px rgba(0,0,0,.6))}
.site-header .wrap > .nav{display:grid}
.site-header{transition:background .4s,color .4s}
.site-header.over{background:transparent;color:var(--galet);border-color:transparent}
.site-header.over .brand,.site-header.over .burger{color:var(--galet)}
.site-header.over .brand small{color:#A9A399}
.site-header.menu-open{background:var(--ardoise);color:var(--galet)}
.site-header.menu-open .brand,.site-header.menu-open .burger{color:var(--galet)}
.site-header.menu-open .brand small{color:#A9A399}
.burger{position:relative;z-index:80}
.burger .ico{display:block;width:26px;height:18px;position:relative}
.burger .ico i{position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .35s,opacity .3s,top .35s}
.burger .ico i:nth-child(1){top:0}.burger .ico i:nth-child(2){top:8px}.burger .ico i:nth-child(3){top:16px}
.burger[aria-expanded="true"] .ico i:nth-child(1){top:8px;transform:rotate(45deg)}
.burger[aria-expanded="true"] .ico i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] .ico i:nth-child(3){top:8px;transform:rotate(-45deg)}
@media (max-width:860px){.nav{grid-template-columns:1fr;padding-top:6rem}.nav-side img{display:none}}

@media (max-width:860px){
  .hide-m{display:none}
  .scene-sticky{padding-top:calc(72px + 1rem);padding-bottom:1.2rem;row-gap:.4rem}
  .scene-txt .lead{-webkit-line-clamp:2;margin-bottom:.4rem}
  .scene-txt .eyebrow{margin-bottom:.5rem}
  .scene-ball{width:min(62vw,32vh)}
  .scene-state .eyebrow{margin-bottom:0}
  .mot-big{font-size:clamp(1.8rem,9vw,2.6rem);margin-bottom:.15rem}
  .scene .ball-cap{font-size:.78rem}
}
section.scene,section.atelier{padding:0}

.atelier-nav{position:absolute;right:max(var(--gutter),calc((100vw - var(--max)) / 2));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.5rem;z-index:3}
.anav{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--ardoise);background:var(--galet);color:var(--ardoise);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.anav svg{width:20px;height:20px}
.anav:hover{background:var(--ardoise);color:var(--galet);transform:scale(1.06)}
.atelier-sticky{position:sticky}
@media (max-width:860px){.atelier-nav{position:static;transform:none;flex-direction:row;justify-content:center;margin-top:-3rem;padding-bottom:2rem}}
.track{gap:clamp(3rem,6vw,7rem)}

/* ---------- galeries relevées ---------- */
.head-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.head-split h1 em{font-style:italic;color:var(--terre);font-weight:400}
.head-art{position:relative;aspect-ratio:1;max-width:460px;justify-self:end;width:100%}
.head-art img{position:absolute;left:var(--x);top:var(--y);width:var(--w);transform:translate(-50%,-50%);filter:drop-shadow(0 30px 34px rgba(31,35,34,.35));animation:float 8s ease-in-out infinite}
.head-art img:nth-child(2){animation-delay:-3s}.head-art img:nth-child(3){animation-delay:-5s}
@media (max-width:860px){.head-split{grid-template-columns:1fr}.head-art{max-width:260px;justify-self:center;margin-top:-1rem}}
.grid{grid-auto-flow:dense}
.card.feat{grid-column:span 2;grid-row:span 2}
.card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;transform-style:preserve-3d}
.card .ph img{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.card:hover{transform:translateY(-6px)}
.card .hint,.card .ph img.photo{display:none}
@media (max-width:600px){.card.feat{grid-column:span 2;grid-row:auto}}
.filters{position:sticky;top:72px;z-index:20;background:color-mix(in srgb,var(--galet) 92%,transparent);padding:.8rem 0;margin:0 0 1.2rem}
.card{display:flex;flex-direction:column}
.card.feat .ph{aspect-ratio:auto;flex:1;min-height:0}
.head-art{max-width:400px}
.atelier-nav{top:auto;bottom:4vh;transform:none;flex-direction:row;right:max(var(--gutter),calc((100vw - var(--max)) / 2))}
@media (max-width:860px){.atelier-nav{position:static;margin-top:-3rem;padding-bottom:2rem;justify-content:center}}
.about figure img{border-radius:var(--radius)}
.intro-fig img{object-position:center 30%}

/* ---------- menu retravaillé ---------- */
.burger{display:inline-flex;align-items:center;gap:.7rem}
.burger .lbl{position:relative;height:1.1em;width:3.6em;overflow:hidden;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;text-align:right}
.burger .lbl span{position:absolute;right:0;top:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s}
.burger .lbl span:nth-child(2){transform:translateY(120%);opacity:0}
.burger[aria-expanded="true"] .lbl span:nth-child(1){transform:translateY(-120%);opacity:0}
.burger[aria-expanded="true"] .lbl span:nth-child(2){transform:none;opacity:1}
.nav{grid-template-columns:1.1fr .9fr;align-items:stretch;padding-top:clamp(5rem,12vh,8rem)}
.nav-links{justify-content:center}
.nav-links a{display:grid;grid-template-columns:2.2rem 1fr;align-items:baseline;gap:1rem;padding:.35em 0;border-bottom:1px solid rgba(245,241,234,.1);width:100%;max-width:640px;font-size:clamp(2rem,5.2vw,4.2rem)}
.nav-links a .n{font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;color:#8F8A80;font-variant-numeric:tabular-nums;transition:color .3s}
.nav-links a .t{display:block;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.nav-links a .t small{display:block;font-family:var(--serif);font-style:italic;font-size:1rem;color:#8F8A80;margin-top:.1em;transition:color .3s}
.nav-links a:hover .t,.nav-links a:focus .t{transform:translateX(.3em)}
.nav-links a:hover .n,.nav-links a:hover .t small{color:#E7B08F}
.nav-links a.btn{grid-template-columns:auto;display:inline-flex;width:auto;border-bottom:0;margin-top:1.8rem;gap:.6em}
.nav-side{display:grid;grid-template-rows:1fr auto;gap:2rem;align-self:stretch}
.nav-preview{position:relative;min-height:260px}
.nav-preview img{position:absolute;left:50%;top:50%;width:min(360px,34vw);transform:translate(-50%,-50%) scale(.9) rotate(-4deg);opacity:0;transition:opacity .5s,transform .7s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 40px 40px rgba(0,0,0,.6))}
.nav-preview img.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}
.nav-foot{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;color:#C9C3B7;font-size:.92rem}
.nav-foot b{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#8F8A80;margin-bottom:.3rem}
.nav-foot a{font-family:var(--sans);font-size:1rem;color:var(--galet);opacity:1;transform:none;display:inline;padding:0;border:0}
@media (max-width:860px){
  .burger .lbl{display:none}
  .nav{grid-template-columns:1fr;padding-top:5.5rem;align-items:start}
  .nav-links a{font-size:clamp(1.9rem,9vw,2.6rem);grid-template-columns:1.8rem 1fr;padding:.4em 0}
  .nav-links a .t small{font-size:.85rem}
  .nav-preview{display:none}
  .nav-foot{grid-template-columns:1fr;margin-top:1.5rem}
}
.burger .lbl{width:5em;height:1.2em}
.nav-preview img{width:auto;max-width:min(360px,30vw);max-height:min(46vh,420px);object-fit:contain}
.nav-side{padding-bottom:1rem}
.site-header .burger{display:inline-flex;align-items:center;gap:.8rem}
@media (max-width:860px){
  .atelier-sticky{display:flex;flex-direction:column}
  .atelier-nav{position:static;order:3;margin:-2.5rem 0 2.5rem;padding:0;justify-content:center;transform:none}
}
@media (max-width:860px){.atelier-nav{margin:0 0 2.5rem}.track{padding-bottom:1.5rem}.atelier-hint{display:none}}
@media (max-width:860px){.piece figcaption{position:static;padding-top:.7rem}.track{align-items:flex-start;padding-bottom:1rem}.atelier-nav{margin:.5rem 0 2.5rem}}
a.card{text-decoration:none}
.fiche-dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.2rem;margin:1.2rem 0 0;font-size:.95rem;max-width:420px}
.fiche-dl dt{color:var(--lichen);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding-top:.2em}
.fiche-dl dd{margin:0}
.fiche-fig{justify-self:end;width:100%;max-width:520px}
@media (max-width:860px){.fiche-fig{justify-self:center;order:-1}}

/* bouton cabinet (fond sombre) */
.cabinet .wrap .btn{background:var(--galet);color:var(--ardoise);border-color:var(--galet);margin:.5rem 0 1rem}
.cabinet .wrap .btn:hover{background:var(--terre);color:var(--galet);border-color:var(--terre)}
