/* =========================================================
   TERRES DE CHEVAUX — Sophie Briot
   Feuille de styles complète — export WordPress / Elementor
   ---------------------------------------------------------
   Toutes les règles sont préfixées par .tdc-site pour éviter
   tout conflit avec le thème Hello Elementor ou d'autres plugins.
   Enveloppez le contenu du site dans : <div class="tdc-site"> … </div>
   (ou ajoutez la classe tdc-site au conteneur Elementor parent).

   Polices  : Cormorant Garamond (titres) · EB Garamond (texte)
   Couleurs : voir bloc :root ci-dessous
   ========================================================= */

/* Décalage d'ancre sous le header fixe (scroll doux vers les sections) */
.tdc-site section[id]{ scroll-margin-top: 92px; }

/* =========================================================
   TERRES DE CHEVAUX — Sophie Briot — v2
   Galerie d'art contemporaine. Plus de silence, plus de
   matière, plus de présence. Brun profond, terre brûlée,
   bronze, gris minéral. Calme et retenue.
   ========================================================= */

:root{
  /* clairs */
  --paper:#f5f1ea;        /* blanc cassé, chaud */
  --paper-2:#efe8db;      /* sable clair */
  --sand:#e4d9c6;
  --beige:#d8cab1;

  /* gris / texte secondaire */
  --stone:#8a8173;        /* gris pierre */
  --stone-2:#a89f8f;
  --stone-3:#b9b1a2;

  /* foncés — organiques, chauds, peu contrastés */
  --umber:#2a221a;        /* terre brûlée / brun profond — fonds sombres */
  --umber-2:#352b21;      /* brun bronze */
  --umber-3:#473a2c;
  --ink:#2b241c;          /* texte foncé — brun chaud, jamais noir pur */

  /* accent — or patiné */
  --accent:#9a8157;
  --accent-deep:#7d6740;
  --accent-soft:#b79d72;

  --line:rgba(43,36,28,.13);
  --line-soft:rgba(43,36,28,.07);
  --line-paper:rgba(245,241,234,.16);

  --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --body:"EB Garamond", Georgia, "Times New Roman", serif;

  --gutter:clamp(1.5rem, 5vw, 7.5rem);
  --maxw:1320px;          /* colonne de texte / contenu */
  --wide:1680px;          /* grandes images, presque pleine largeur */
  --rhythm:clamp(8rem, 17vw, 19rem);   /* respiration verticale */
}

.tdc-site, .tdc-site *{box-sizing:border-box;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
.tdc-site{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:clamp(1.05rem, .6rem + .62vw, 1.26rem);
  line-height:1.78;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
.tdc-site img{display:block; max-width:100%;}
.tdc-site a{color:inherit; text-decoration:none;}
.tdc-site ::selection{background:var(--accent); color:var(--paper);}

/* ---------- Typographic primitives ---------- */
.tdc-site h1,.tdc-site h2,.tdc-site h3{font-family:var(--serif); font-weight:400; margin:0; line-height:1.03; letter-spacing:.004em;}
.tdc-site p{margin:0 0 1.15em;}
.tdc-site p:last-child{margin-bottom:0;}

.tdc-site .display{font-family:var(--serif); font-weight:300; line-height:1.0; letter-spacing:.004em;}

.tdc-site .eyebrow{
  font-family:var(--body);
  font-size:.72rem;
  letter-spacing:.36em;
  text-transform:uppercase;
  color:var(--stone);
  font-weight:500;
  display:flex; align-items:center; gap:1.1rem;
}
.tdc-site .eyebrow::before{content:""; width:46px; height:1px; background:var(--accent); display:inline-block; flex:none;}
.tdc-site .eyebrow .num{color:var(--accent); font-variant-numeric:tabular-nums;}

.tdc-site .lead{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(1.7rem, 1rem + 2.4vw, 3.1rem);
  line-height:1.2;
  color:var(--ink);
  letter-spacing:.002em;
}
.tdc-site .muted{color:var(--stone);}
.tdc-site em, .tdc-site .it{font-style:italic;}

/* ---------- Layout helpers ---------- */
.tdc-site .wrap{max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter);}
.tdc-site .wide{max-width:var(--wide); margin:0 auto; padding-inline:var(--gutter);}
.tdc-site section{position:relative;}
.tdc-site .section-pad{padding-block:var(--rhythm);}

/* =========================================================
   HEADER
   ========================================================= */
.tdc-site .site-header{
  position:fixed; inset:0 0 auto 0; z-index:60;
  display:flex; align-items:center; justify-content:space-between;
  gap:2rem;
  padding:1.7rem var(--gutter);
  color:var(--paper);
  transition:background .6s ease, color .6s ease, padding .5s ease, border-color .6s ease;
  border-bottom:1px solid transparent;
}
.tdc-site .site-header.scrolled{
  background:rgba(245,241,234,.86);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  color:var(--ink);
  padding-block:1.05rem;
  border-bottom:1px solid var(--line-soft);
}
.tdc-site .brand{display:flex; flex-direction:column; line-height:1.1;}
.tdc-site .brand .name{
  font-family:var(--serif); font-size:1.34rem; letter-spacing:.26em;
  text-transform:uppercase; font-weight:500; white-space:nowrap;
}
.tdc-site .brand .sub{
  font-size:.62rem; letter-spacing:.32em; text-transform:uppercase;
  margin-top:.4rem; opacity:.7; font-weight:500;
}
.tdc-site .nav{display:flex; align-items:center; gap:2.3rem;}
.tdc-site .nav a{
  font-size:.74rem; letter-spacing:.2em; text-transform:uppercase;
  font-weight:500; position:relative; padding-block:.3rem;
  opacity:.82; transition:opacity .3s; white-space:nowrap;
}
.tdc-site .nav a::after{content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:currentColor; transition:width .45s ease;}
.tdc-site .nav a::after{transition:width .5s cubic-bezier(.2,.7,.2,1), background-color .5s ease;}
.tdc-site .nav a:hover{opacity:1;}
.tdc-site .nav a:hover::after{width:100%;}
.tdc-site .nav a.active{opacity:1;}
.tdc-site .nav a.active::after{width:100%; background:var(--accent);}
.tdc-site .nav a.cta{color:var(--accent); opacity:1;}
.tdc-site .nav a.cta::after{background:var(--accent);}

.tdc-site .menu-btn{display:none; background:none; border:0; cursor:pointer; color:inherit; flex-direction:column; gap:6px; padding:8px; margin:-8px;}
.tdc-site .menu-btn span{width:26px; height:1.4px; background:currentColor; display:block; transition:.35s;}

/* mobile fullscreen menu */
.tdc-site .mobile-menu{
  position:fixed; inset:0; z-index:70;
  background:var(--paper); color:var(--ink);
  display:flex; flex-direction:column; justify-content:center;
  padding:var(--gutter);
  transform:translateY(-100%); transition:transform .6s cubic-bezier(.7,0,.2,1);
  visibility:hidden;
}
.tdc-site .mobile-menu.open{transform:none; visibility:visible;}
.tdc-site .mobile-menu .close{position:absolute; top:1.7rem; right:var(--gutter); background:none; border:0; font-size:2.4rem; line-height:1; cursor:pointer; color:var(--ink); font-family:var(--serif);}
.tdc-site .mobile-menu nav{display:flex; flex-direction:column; gap:.2rem;}
.tdc-site .mobile-menu a{font-family:var(--serif); font-weight:300; font-size:clamp(2.1rem, 11vw, 3.4rem); line-height:1.22; color:var(--ink); letter-spacing:.01em;}
.tdc-site .mobile-menu a .mm-num{font-family:var(--body); font-size:.66rem; letter-spacing:.22em; color:var(--accent); vertical-align:super; margin-right:.7rem;}
.tdc-site .mobile-menu .mm-foot{margin-top:clamp(2rem,7vw,3.5rem); font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--stone);}

/* =========================================================
   HERO
   ========================================================= */
.tdc-site .hero{position:relative; min-height:100svh; display:flex; align-items:flex-end; color:var(--paper); overflow:hidden;}
.tdc-site .hero .bg{position:absolute; inset:0;}
.tdc-site .hero .bg img{width:100%; height:100%; object-fit:cover; object-position:62% 50%; transform-origin:58% 50%; will-change:transform; animation:heroBreath 32s ease-in-out infinite alternate;}
@keyframes heroBreath{from{transform:scale(1.005);}to{transform:scale(1.055);}}
.tdc-site .hero .bg::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(26,20,14,.46) 0%, rgba(26,20,14,.10) 18%, rgba(26,20,14,0) 34%),
    linear-gradient(0deg, rgba(26,20,14,.60) 0%, rgba(26,20,14,.12) 44%, rgba(26,20,14,0) 72%);
}
.tdc-site .hero .hero-inner{position:relative; z-index:2; width:100%; max-width:var(--wide); margin:0 auto; padding:0 var(--gutter) clamp(4rem, 9vh, 8rem);}
.tdc-site .hero .eyebrow{color:rgba(245,241,234,.8);}
.tdc-site .hero .eyebrow::before{background:var(--accent);}
.tdc-site .hero h1{
  font-weight:300; font-size:clamp(3rem, 1.1rem + 7.4vw, 7.6rem);
  margin:1.7rem 0 0; letter-spacing:.006em;
  text-shadow:0 2px 50px rgba(0,0,0,.22);
}
.tdc-site .hero .signature{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(1.3rem, .7rem + 1.6vw, 2.1rem);
  color:rgba(245,241,234,.94); max-width:28ch; line-height:1.32; margin:1.8rem 0 2.6rem;
}
.tdc-site .hero .scroll-cue{position:absolute; left:50%; bottom:1.8rem; transform:translateX(-50%); z-index:2; font-size:.64rem; letter-spacing:.32em; text-transform:uppercase; color:rgba(245,241,234,.66); display:flex; flex-direction:column; align-items:center; gap:.8rem;}
.tdc-site .hero .scroll-cue .bar{width:1px; height:52px; background:linear-gradient(rgba(245,241,234,.7), transparent); animation:cue 2.8s ease-in-out infinite;}
@keyframes cue{0%,100%{transform:scaleY(.4); transform-origin:top; opacity:.5;}50%{transform:scaleY(1); opacity:1;}}

/* ---------- Buttons ---------- */
.tdc-site .btn{
  position:relative;
  display:inline-flex; align-items:center; gap:.95rem;
  font-family:var(--body); font-size:.76rem; letter-spacing:.24em; text-transform:uppercase;
  font-weight:500; padding:1.05rem 2.1rem;
  border:1px solid currentColor; cursor:pointer; background:none; color:inherit;
  transition:background .6s ease, color .6s ease, border-color .6s ease, transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .6s ease;
}
.tdc-site .btn::after{content:""; position:absolute; left:50%; right:50%; bottom:.62rem; height:1px; background:currentColor; opacity:0; transition:left .6s cubic-bezier(.2,.7,.2,1), right .6s cubic-bezier(.2,.7,.2,1), opacity .6s ease;}
.tdc-site .btn:hover{transform:translateY(-2px);}
.tdc-site .btn:hover::after{left:2.1rem; right:2.1rem; opacity:.32;}
.tdc-site .btn .arrow{transition:transform .5s ease;}
.tdc-site .btn:hover .arrow{transform:translateX(7px);}
.tdc-site .btn-light:hover{background:var(--paper); color:var(--ink); border-color:var(--paper);}
.tdc-site .btn-ink{border-color:var(--ink); color:var(--ink);}
.tdc-site .btn-ink:hover{background:var(--ink); color:var(--paper);}

/* text link */
.tdc-site .tlink{position:relative; display:inline-flex; align-items:center; gap:.7rem; font-size:.76rem; letter-spacing:.2em; text-transform:uppercase; font-weight:500; color:var(--accent); padding-bottom:.2rem;}
.tdc-site .tlink::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:currentColor; transition:width .6s cubic-bezier(.2,.7,.2,1);}
.tdc-site .tlink:hover::after{width:1.7rem;}
.tdc-site .tlink .arrow{transition:transform .45s;}
.tdc-site .tlink:hover .arrow{transform:translateX(6px);}

/* =========================================================
   01 — L'UNIVERS / le silence
   ========================================================= */
.tdc-site .univers{background:var(--paper);}
.tdc-site .univers .intro{max-width:54rem; margin:0 auto; text-align:center;}
.tdc-site .univers .intro .eyebrow{justify-content:center; margin-bottom:3rem;}
.tdc-site .univers .intro .lead{margin-bottom:0;}
.tdc-site .univers .intro .sub{max-width:40rem; margin:2.6rem auto 0; color:var(--stone); font-size:1.08rem;}

.tdc-site .univers .feature{margin-top:clamp(5rem, 11vw, 11rem);}
.tdc-site .univers .feature .shot{position:relative; background:var(--sand);}
.tdc-site .univers .feature .shot img{width:100%; height:clamp(460px, 80vh, 880px); object-fit:cover; object-position:center 46%;}
.tdc-site .figcap{font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--stone); margin-top:1.4rem; display:flex; gap:1.1rem; align-items:baseline;}
.tdc-site .figcap .dot{color:var(--accent);}

/* =========================================================
   02 — L'ARTISTE (Sophie) — immersif, émotionnel
   ========================================================= */
.tdc-site .sophie{background:var(--paper-2); overflow:hidden;}

/* bloc d'ouverture : grand portrait + nom + premières lignes */
.tdc-site .sophie .open{
  display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(3rem, 7vw, 7.5rem); align-items:end;
}
.tdc-site .sophie .portrait{position:relative;}
.tdc-site .sophie .portrait img{width:100%; height:clamp(520px, 90vh, 940px); object-fit:cover; object-position:center 26%;}
.tdc-site .sophie .portrait .tag{position:absolute; left:0; bottom:1.9rem; background:var(--umber); color:var(--paper); font-size:.64rem; letter-spacing:.28em; text-transform:uppercase; font-weight:500; padding:.8rem 1.4rem;}
.tdc-site .sophie .open .head .eyebrow{margin-bottom:2.4rem;}
.tdc-site .sophie .open .head h2{font-size:clamp(3rem, 1.6rem + 4.4vw, 6.2rem); font-weight:300; margin:0 0 2rem; line-height:.98;}
.tdc-site .sophie .open .head .first{font-size:clamp(1.2rem,1rem+.6vw,1.4rem); color:var(--ink);}
.tdc-site .sophie .open .head .first::first-letter{font-family:var(--serif); font-size:3.6em; float:left; line-height:.7; padding:.06em .16em 0 0; color:var(--accent); font-weight:400;}

/* citation pleine largeur — silence */
.tdc-site .sophie .pull{
  max-width:46rem; margin:clamp(5rem,11vw,11rem) auto; text-align:center;
  font-family:var(--serif); font-weight:300; font-style:italic;
  font-size:clamp(1.9rem, 1.1rem + 2.4vw, 3.3rem); line-height:1.22; color:var(--ink);
}
.tdc-site .sophie .pull .by{display:block; margin-top:2rem; font-style:normal; font-family:var(--body); font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--stone);}

/* suite du récit : geste (image) + texte */
.tdc-site .sophie .story{
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(3rem,7vw,7rem); align-items:center;
}
.tdc-site .sophie .story .geste img{width:100%; height:clamp(420px,64vh,680px); object-fit:cover; object-position:center;}
.tdc-site .sophie .story .geste .figcap{justify-content:flex-start;}
.tdc-site .sophie .story .words p{color:var(--ink); margin-bottom:1.3em;}
.tdc-site .sophie .story .words .sign{font-family:var(--serif); font-style:italic; font-size:1.9rem; color:var(--ink); margin-top:2rem; opacity:.86;}

/* =========================================================
   03 — ŒUVRES — mise en scène, grandes images
   ========================================================= */
.tdc-site .oeuvres{background:var(--paper);}
.tdc-site .oeuvres .head{max-width:60rem;}
.tdc-site .oeuvres .head .eyebrow{margin-bottom:2.2rem;}
.tdc-site .oeuvres .head h2{font-size:clamp(2.8rem,1.5rem+4vw,5.4rem); font-weight:300; margin-bottom:1.8rem;}
.tdc-site .oeuvres .head .intro{max-width:40rem; color:var(--stone); font-size:1.08rem;}

/* parcours : une œuvre à la fois, alternée, très aérée */
.tdc-site .walk{margin-top:clamp(5rem,11vw,11rem); display:flex; flex-direction:column; gap:clamp(6rem,14vw,15rem);}
.tdc-site .work{display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(1.6rem,3vw,2.6rem);}
.tdc-site .work .frame{overflow:hidden; background:var(--sand); transition:transform 1s cubic-bezier(.2,.7,.2,1), box-shadow 1s cubic-bezier(.2,.7,.2,1);}
.tdc-site .work .frame img{width:100%; height:auto; display:block; transition:transform 1.6s cubic-bezier(.2,.7,.2,1);}
.tdc-site .work:hover .frame{transform:translateY(-7px); box-shadow:0 34px 60px -30px rgba(26,20,14,.42);}
.tdc-site .work:hover .frame img{transform:scale(1.025);}
.tdc-site .work .meta{display:flex; flex-direction:column; gap:.5rem;}
.tdc-site .work .meta .idx{font-size:.7rem; letter-spacing:.3em; text-transform:uppercase; color:var(--accent); font-variant-numeric:tabular-nums;}
.tdc-site .work .meta .name{font-family:var(--serif); font-style:italic; font-size:clamp(1.9rem,1.2rem+1.6vw,2.9rem); line-height:1.04;}
.tdc-site .work .meta .det{font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; color:var(--stone); display:flex; gap:1rem; align-items:center; flex-wrap:wrap; margin-top:.3rem;}
.tdc-site .work .meta .det .sold{color:var(--accent); border:1px solid var(--accent); padding:.2rem .7rem; border-radius:999px; font-size:.6rem; letter-spacing:.2em;}

/* œuvre maîtresse — presque plein écran */
.tdc-site .work.hero-work{gap:clamp(2rem,4vw,3.2rem);}
.tdc-site .work.hero-work .frame img{height:clamp(560px, 88vh, 960px); object-fit:cover; object-position:center;}
.tdc-site .work.hero-work .meta{align-items:center; text-align:center;}
.tdc-site .work.hero-work .meta .det{justify-content:center;}

/* grande image cadrée, légende décalée */
.tdc-site .work.lay-left .frame, .tdc-site .work.lay-right .frame{height:clamp(480px, 78vh, 860px);}
.tdc-site .work.lay-left .frame img, .tdc-site .work.lay-right .frame img{height:100%; object-fit:cover;}
.tdc-site .work.lay-left{margin-right:auto; width:min(100%, 980px);}
.tdc-site .work.lay-right{margin-left:auto; width:min(100%, 980px);}
.tdc-site .work.lay-right .meta{align-items:flex-end; text-align:right;}
.tdc-site .work.lay-right .meta .det{justify-content:flex-end;}

/* paire serrée occasionnelle (rythme) */
.tdc-site .work.duo{display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.4rem,3vw,2.4rem); align-items:start;}
.tdc-site .work.duo .frame{height:clamp(420px,62vh,720px);}
.tdc-site .work.duo .frame img{height:100%; object-fit:cover;}
.tdc-site .work.duo .col{display:flex; flex-direction:column; gap:clamp(1.4rem,3vw,2.2rem);}
.tdc-site .work.duo .col .meta{margin-top:.2rem;}

/* =========================================================
   04 — MATIÈRE & LE GESTE — récit visuel, fond brun
   ========================================================= */
.tdc-site .matiere{background:var(--umber); color:var(--paper);}
.tdc-site .matiere .opening{max-width:50rem;}
.tdc-site .matiere .eyebrow{color:var(--stone-2);}
.tdc-site .matiere .eyebrow::before{background:var(--accent);}
.tdc-site .matiere .opening .eyebrow{margin-bottom:2.2rem;}
.tdc-site .matiere h2{font-size:clamp(2.6rem,1.4rem+3.6vw,5rem); font-weight:300; color:var(--paper); margin-bottom:1.8rem;}
.tdc-site .matiere .opening p{color:rgba(245,241,234,.74); max-width:40rem;}

/* très grande image atmosphérique */
.tdc-site .matiere .stage{margin-top:clamp(4.5rem,10vw,10rem); position:relative;}
.tdc-site .matiere .stage .shot{overflow:hidden;}
.tdc-site .matiere .stage .shot img{width:100%; height:clamp(520px, 90vh, 980px); object-fit:cover; object-position:center 42%;}
.tdc-site .matiere .stage .quote{
  margin:clamp(3rem,6vw,5.5rem) auto 0; max-width:38rem; text-align:center;
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(1.7rem,1.1rem+2vw,2.8rem); line-height:1.24; color:var(--paper);
}

/* deux détails choisis, beaucoup d'air */
.tdc-site .matiere .details{
  margin-top:clamp(6rem,13vw,13rem);
  display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(3rem,7vw,7rem); align-items:center;
}
.tdc-site .matiere .details figure{margin:0;}
.tdc-site .matiere .details .shot{overflow:hidden; margin-bottom:1.6rem;}
.tdc-site .matiere .details .shot img{width:100%; height:clamp(420px,60vh,640px); object-fit:cover; transition:transform 1.5s cubic-bezier(.2,.7,.2,1);}
.tdc-site .matiere .details figure:hover .shot img{transform:scale(1.05);}
.tdc-site .matiere .details .cap{font-family:var(--serif); font-style:italic; font-size:clamp(1.3rem,1rem+1vw,1.7rem); color:var(--paper); line-height:1.3; max-width:24ch;}
.tdc-site .matiere .details .sub{font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--stone-2); margin-top:1rem;}
.tdc-site .matiere .details.offset figure:nth-child(2){margin-top:clamp(2rem,8vw,7rem);}

.tdc-site .matiere .note{margin:clamp(6rem,12vw,11rem) auto 0; max-width:42rem; text-align:center; color:rgba(245,241,234,.6); font-style:italic; font-family:var(--serif); font-size:clamp(1.4rem,1rem+1.2vw,2rem); line-height:1.4;}

/* =========================================================
   05 — CARNET — plus calme
   ========================================================= */
.tdc-site .carnet{background:var(--paper-2);}
.tdc-site .carnet .top{display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; flex-wrap:wrap; margin-bottom:clamp(3.5rem,8vw,6.5rem);}
.tdc-site .carnet h2{font-size:clamp(2.6rem,1.4rem+3.4vw,4.8rem); font-weight:300;}
.tdc-site .carnet .top .eyebrow{margin-bottom:1.6rem;}
.tdc-site .carnet .top .intro{max-width:30rem; color:var(--stone);}
.tdc-site .journal{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(2.2rem,4vw,4rem);}
.tdc-site .entry{display:flex; flex-direction:column; gap:1.2rem; padding-top:1.8rem; border-top:1px solid var(--line);}
.tdc-site .entry .frame{overflow:hidden; aspect-ratio:4/5; background:var(--sand);}
.tdc-site .entry .frame img{width:100%; height:100%; object-fit:cover; transition:transform 1.4s cubic-bezier(.2,.7,.2,1);}
.tdc-site .entry:hover .frame img{transform:scale(1.05);}
.tdc-site .entry .date{font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--accent);}
.tdc-site .entry h3{font-family:var(--serif); font-weight:400; font-size:1.8rem; line-height:1.16;}
.tdc-site .entry p{color:var(--stone); font-size:1rem;}
.tdc-site .entry.no-img{padding-bottom:1rem; justify-content:flex-start;}
.tdc-site .entry .tlink{color:var(--ink); font-size:.72rem; margin-top:.2rem;}
.tdc-site .entry .tlink:hover{color:var(--accent);}

/* =========================================================
   06 — COMMANDES — fond brun
   ========================================================= */
.tdc-site .commandes{background:var(--umber); color:var(--paper); overflow:hidden;}
.tdc-site .commandes .grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.94fr); align-items:stretch;}
.tdc-site .commandes .copy{padding:clamp(5rem,10vw,10rem) clamp(2rem,6vw,7rem); display:flex; flex-direction:column; justify-content:center;}
.tdc-site .commandes .eyebrow{color:var(--stone-2);}
.tdc-site .commandes .eyebrow::before{background:var(--accent);}
.tdc-site .commandes h2{font-size:clamp(2.6rem,1.4rem+3.6vw,5rem); font-weight:300; color:var(--paper); margin:1.8rem 0 1.8rem; max-width:14ch;}
.tdc-site .commandes p{color:rgba(245,241,234,.74); max-width:42ch; margin-bottom:2.8rem;}
.tdc-site .commandes .btn{align-self:flex-start; border-color:rgba(245,241,234,.5);}
.tdc-site .commandes .btn:hover{background:var(--paper); color:var(--umber); border-color:var(--paper);}
.tdc-site .commandes .img{position:relative; min-height:420px;}
.tdc-site .commandes .img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}

/* =========================================================
   07 — CONTACT
   ========================================================= */
.tdc-site .contact{background:var(--paper);}
.tdc-site .contact .grid{display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(3rem,8vw,8rem);}
.tdc-site .contact h2{font-size:clamp(2.8rem,1.5rem+3.8vw,5.2rem); font-weight:300; margin:1.6rem 0 2.4rem;}
.tdc-site .contact .info{display:flex; flex-direction:column; gap:2.1rem; margin-top:.5rem;}
.tdc-site .contact .info .row .k{font-size:.68rem; letter-spacing:.26em; text-transform:uppercase; color:var(--accent); margin-bottom:.6rem;}
.tdc-site .contact .info .row .v{font-family:var(--serif); font-size:1.55rem; font-weight:400;}
.tdc-site .contact .info .row a.v:hover{color:var(--accent);}

.tdc-site form{display:flex; flex-direction:column; gap:1.9rem;}
.tdc-site .field{display:flex; flex-direction:column; gap:.65rem;}
.tdc-site .field label{font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--stone); font-weight:500;}
.tdc-site .field input, .tdc-site .field textarea{font-family:var(--body); font-size:1.1rem; color:var(--ink); background:transparent; border:0; border-bottom:1px solid var(--line); padding:.8rem 0; transition:border-color .4s;}
.tdc-site .field input::placeholder, .tdc-site .field textarea::placeholder{color:var(--stone-2);}
.tdc-site .field input:focus, .tdc-site .field textarea:focus{outline:none; border-color:var(--accent);}
.tdc-site .field textarea{resize:vertical; min-height:130px;}
.tdc-site form .btn{align-self:flex-start; margin-top:.7rem;}
.tdc-site .form-note{font-size:.85rem; color:var(--stone); margin-top:.2rem;}

/* =========================================================
   FOOTER
   ========================================================= */
.tdc-site .site-footer{background:var(--umber); color:var(--paper); padding:clamp(4rem,8vw,7rem) var(--gutter) 2.6rem;}
.tdc-site .site-footer .row{max-width:var(--wide); margin:0 auto; display:flex; justify-content:space-between; gap:2.5rem; flex-wrap:wrap; align-items:flex-start;}
.tdc-site .site-footer .brand .name{font-size:1.6rem;}
.tdc-site .site-footer .brand .sub{opacity:.55;}
.tdc-site .site-footer nav{display:flex; gap:1.8rem; flex-wrap:wrap;}
.tdc-site .site-footer nav a{font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; opacity:.66; transition:opacity .3s;}
.tdc-site .site-footer nav a:hover{opacity:1; color:var(--accent);}
.tdc-site .site-footer .base{max-width:var(--wide); margin:clamp(3rem,6vw,4.5rem) auto 0; padding-top:2rem; border-top:1px solid var(--line-paper); display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.72rem; letter-spacing:.14em; color:rgba(245,241,234,.45); text-transform:uppercase;}

/* =========================================================
   PARALLAX (matière atmosphérique — très léger)
   ========================================================= */
.tdc-site .has-parallax{will-change:transform; backface-visibility:hidden;}

/* =========================================================
   REVEAL ANIMATION
   ========================================================= */
.tdc-site .reveal{opacity:0; transform:translateY(26px); transition:opacity 1.25s cubic-bezier(.2,.6,.2,1), transform 1.25s cubic-bezier(.2,.6,.2,1);}
.tdc-site .reveal.in{opacity:1; transform:none;}
.tdc-site .reveal.d1{transition-delay:.12s;}
.tdc-site .reveal.d2{transition-delay:.26s;}
.tdc-site .reveal.d3{transition-delay:.4s;}
.tdc-site .reveal.d4{transition-delay:.54s;}

/* =========================================================
   RESPONSIVE — tablette
   ========================================================= */
@media (max-width:1024px){
  .tdc-site .sophie .open{grid-template-columns:1fr; gap:2.6rem;}
  .tdc-site .sophie .portrait img{height:78vh;}
  .tdc-site .sophie .story{grid-template-columns:1fr; gap:2.4rem;}
  .tdc-site .work.lay-left, .tdc-site .work.lay-right{width:100%;}}

/* =========================================================
   MOBILE — esprit conservé, hiérarchie renforcée
   ========================================================= */
@media (max-width:820px){
  :root{ --rhythm:clamp(6rem, 20vw, 9rem); }

  .tdc-site .nav{display:none;}
  .tdc-site .menu-btn{display:flex;}
  .tdc-site .site-header{padding:1.25rem var(--gutter);}
  .tdc-site .site-header.scrolled{padding-block:.95rem;}
  .tdc-site .brand .name{font-size:1.08rem; letter-spacing:.2em;}
  .tdc-site .brand .sub{font-size:.55rem;}

  /* HERO */
  .tdc-site .hero{align-items:flex-end; min-height:100svh;}
  .tdc-site .hero .bg img{object-position:68% 46%;}
  .tdc-site .hero .bg::after{background:linear-gradient(0deg, rgba(26,20,14,.8) 0%, rgba(26,20,14,.3) 48%, rgba(26,20,14,0) 80%);}
  .tdc-site .hero .hero-inner{padding-bottom:clamp(3.2rem,13vh,5rem);}
  .tdc-site .hero h1{font-size:clamp(3.4rem,17vw,5.4rem); margin-top:1.2rem;}
  .tdc-site .hero .signature{font-size:1.3rem; max-width:24ch; margin-bottom:2rem;}
  .tdc-site .hero .btn{width:100%; justify-content:center;}
  .tdc-site .hero .scroll-cue{display:none;}

  /* UNIVERS */
  .tdc-site .univers .intro .sub{font-size:1.04rem;}
  .tdc-site .univers .feature .shot img{height:64vh;}

  /* SOPHIE */
  .tdc-site .sophie .open .head h2{font-size:clamp(2.8rem,12vw,3.6rem);}
  .tdc-site .sophie .portrait img{height:76vh;}
  .tdc-site .sophie .pull{font-size:clamp(1.7rem,8vw,2.2rem);}
  .tdc-site .sophie .story .geste img{height:58vh;}

  /* ŒUVRES — séquence verticale, alternée */
  .tdc-site .work.hero-work .frame img{height:62vh;}
  .tdc-site .work.lay-left .frame, .tdc-site .work.lay-right .frame{height:auto;}
  .tdc-site .work.lay-left .frame img, .tdc-site .work.lay-right .frame img{height:auto;}
  .tdc-site .work.lay-right .meta{align-items:flex-start; text-align:left;}
  .tdc-site .work.lay-right .meta .det{justify-content:flex-start;}
  .tdc-site .work.duo{grid-template-columns:1fr; gap:2.6rem;}
  .tdc-site .work.duo .frame{height:auto;}
  .tdc-site .work.duo .frame img{height:auto;}
  .tdc-site .walk{gap:clamp(4.5rem,16vw,8rem);}

  /* MATIÈRE */
  .tdc-site .matiere .stage .shot img{height:62vh;}
  .tdc-site .matiere .details{grid-template-columns:1fr; gap:3.5rem;}
  .tdc-site .matiere .details.offset figure:nth-child(2){margin-top:0;}
  .tdc-site .matiere .details .shot img{height:56vh;}

  /* CARNET */
  .tdc-site .journal{grid-template-columns:1fr; gap:2.8rem;}
  .tdc-site .carnet .top{flex-direction:column; align-items:flex-start;}
  .tdc-site .entry .frame{aspect-ratio:4/3;}

  /* COMMANDES */
  .tdc-site .commandes .grid{grid-template-columns:1fr;}
  .tdc-site .commandes .img{min-height:58vh; order:-1;}
  .tdc-site .commandes .copy{padding:clamp(3.4rem,13vw,5rem) var(--gutter);}

  /* CONTACT */
  .tdc-site .contact .grid{grid-template-columns:1fr; gap:3.2rem;}

  .tdc-site .site-footer .row{flex-direction:column; gap:2rem;}}

@media (max-width:420px){
  .tdc-site .hero h1{font-size:clamp(2.9rem,16vw,4rem);}}

/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .tdc-site .reveal{opacity:1; transform:none; transition:none;}
  .tdc-site .hero .scroll-cue .bar{animation:none;}
  .tdc-site .hero .bg img{animation:none; transform:none;}
  .tdc-site .has-parallax{transform:none !important;}
  .tdc-site, .tdc-site *{transition-duration:.001ms !important;}}