/* ===================================================================
   STUCK — CSS de la fiche projet (single du CPT « Projet »).
   Porté du bloc <style> de mockups/projet-croustiller.html.
   Chargé uniquement sur is_singular('projet'). Le reste vient de stuck.css.
   =================================================================== */

/* HERO PROJET */
/* .hero h1.phead : spécificité > .hero h1 de stuck.css (sinon écrasé) */
/* Titre projet = bandeau défilant continu pleine largeur (cf. strip home) — desktop + mobile */
.hero h1.phead{font-weight:800;font-size:clamp(3rem,13.5vw,12rem);line-height:.86;letter-spacing:-.03em;text-transform:uppercase;max-width:none;
  overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.phead__track{display:inline-flex;width:max-content;white-space:nowrap;animation:phead-scroll 16s linear infinite}
.phead__item{display:inline-flex;align-items:center;white-space:nowrap;padding-right:18vw}
.phead__item::after{content:"";flex:none;width:.32em;height:.32em;margin:0 0 0 .55em;background:var(--yellow);box-shadow:1.5px 1.5px 0 rgba(0,0,0,.18)}
@keyframes phead-scroll{to{transform:translateX(-50%)}}

/* MOBILE : titre encore plus gros + défilement plus rapide */
@media(max-width:760px){
  .hero h1.phead{font-size:clamp(4.5rem,21vw,9rem);line-height:.9}
  .phead__item{padding-right:22vw}
  .phead__track{animation-duration:8s}
}

/* Accessibilité : animations coupées → titre fixe, lisible, une seule copie, dans le wrap */
@media(prefers-reduced-motion:reduce){
  .hero h1.phead{overflow:visible;width:auto;margin-left:0;margin-right:0}
  .phead__track{animation:none;display:block;width:auto;white-space:normal}
  .phead__item{display:inline;padding-right:0}
  .phead__item + .phead__item{display:none}
  .phead__item::after{display:none}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){
  .hero h1.phead{font-size:clamp(2.6rem,12vw,6rem)}
}
.psub{margin-top:1.1rem;color:#44454b;max-width:46ch;font-weight:500;font-size:clamp(1.05rem,1.5vw,1.45rem);line-height:1.4;letter-spacing:-.01em}
.hero__full{margin-top:clamp(1.8rem,3.5vw,3rem);overflow:hidden}
.hero__full img{display:block;width:100%;height:clamp(360px,80svh,920px);object-fit:cover}

/* CORPS : flux d'images (gauche) + texte sticky + cartouche (droite) */
.projsec{padding:clamp(48px,6vw,7rem) 0}
.projbody{display:grid;grid-template-columns:1fr;gap:2.4rem}
.projstream{display:flex;flex-direction:column;gap:clamp(.9rem,2vw,1.5rem)}
.projstream img{display:block;width:100%;height:auto;border-radius:16px;background:#dcdee1}
.projembed{display:flex;flex-direction:column;gap:clamp(.9rem,2vw,1.5rem)}
.projembed iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:16px;background:#0b0b0d}
.projaside .elabel{margin-bottom:.2rem}
.asideh{font-weight:700;font-size:clamp(1.55rem,2.6vw,2.15rem);letter-spacing:-.025em;line-height:1.06;margin:.9rem 0 1.2rem}
.projaside p{color:#33343a;line-height:1.7;font-size:clamp(1rem,1.05vw,1.07rem);max-width:46ch}
.projaside p+p{margin-top:1em}
.cartouche{margin-top:2.2rem;border:1px solid var(--ink)}
.cartouche .crow{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.78rem .95rem;border-bottom:1px solid var(--line)}
.cartouche .crow:last-child{border-bottom:0}
.cartouche dt{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.cartouche dd{font-weight:700;font-size:.84rem;text-align:right}
/* Projets liés (cross-links, sous le cartouche) */
.projrel{margin-top:1.8rem}
.projrel ul{list-style:none;margin:.5rem 0 0;padding:0}
.projrel a{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.66rem .1rem;border-bottom:1px solid var(--line);font-weight:700;font-size:.88rem;color:inherit;text-decoration:none}
.projrel li:last-child a{border-bottom:0}
.projrel .arr{transition:transform .25s}
.projrel a:hover .arr{transform:translate(3px,-3px)}
@media(min-width:920px){
  .projbody{grid-template-columns:1.45fr .85fr;gap:clamp(2.4rem,5vw,5rem);align-items:start}
  .projstream{grid-column:1;grid-row:1}
  .projaside{grid-column:2;grid-row:1;position:sticky;top:5.5rem;align-self:start}
}

/* AUTRES PROJETS */
.more{display:grid;grid-template-columns:1fr;gap:1.6rem;align-items:center}
@media(min-width:780px){.more{grid-template-columns:1fr auto}}
.more h2{line-height:1}
