/* =========================================================
   PAGE PROJET (détail) — référence pixel : Projet-Galerie-C.dc.html
   ========================================================= */

/* ===================== EN-TÊTE ===================== */
.pr-hero { padding: 48px 48px 56px; box-sizing: border-box; display: flex; flex-direction: column; gap: 18px; }
.pr-crumb-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; font-family: 'JetBrains Mono', monospace; font-size: 12px; color: #777777; }
.pr-crumb { margin: 0; }
.pr-crumb a { color: #777777; }
.pr-crumb-current { color: #141414; }
.pr-cat { margin: 0; display: inline-flex; align-items: center; gap: 8px; color: #0136FE; }
.pr-cat-dot { width: 8px; height: 8px; border-radius: 999px; background: #0136FE; display: inline-block; }
.pr-title { margin: 0; font-size: min(9.4vw, 150px); line-height: .88; letter-spacing: -0.05em; color: #141414; }
.pr-title__it { font-family: 'Instrument Serif', serif; font-style: italic; font-weight: 400; letter-spacing: -0.03em; }
.pr-title__bold { font-weight: 700; }
@media (max-width: 699px) { .pr-hero { padding: 28px 16px 32px; } .pr-title { font-size: 13.5vw; } }
@media (min-width: 700px) and (max-width: 999px) { .pr-hero { padding: 36px 28px 40px; } .pr-title { font-size: 10vw; } }

/* ===================== BANNIÈRE ===================== */
.pr-banner-section { background: #FFFFFF; padding: 0; }
.pr-banner-clip { overflow: hidden; will-change: clip-path; }
.pr-banner-scale { transform-origin: 50% 50%; will-change: transform; }
.pr-banner-media { width: 100%; aspect-ratio: 1920 / 700; }
.pr-banner-media img, .pr-banner-media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.pr-banner-media .ph-empty { width: 100%; height: 100%; aspect-ratio: 1920 / 700; background: repeating-linear-gradient(135deg,#1C1C1C 0 14px,#232323 14px 28px); color: #8A8A8A; display: flex; align-items: center; justify-content: center; text-align: center; padding: 16px; font-family: 'JetBrains Mono', monospace; font-size: 12px; }
@media (max-width: 699px) { .pr-banner-media { aspect-ratio: 4 / 5; } .pr-banner-media .ph-empty { aspect-ratio: 4 / 5; } }

/* ===================== À PROPOS + ASIDE ===================== */
.pr-about { padding: 96px 48px; box-sizing: border-box; display: flex; flex-wrap: nowrap; gap: 48px 64px; align-items: flex-start; }
.pr-about-text { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 22px; max-width: 760px; }
.pr-about-h2 { margin: 0; font-size: 64px; line-height: 1; letter-spacing: -0.04em; }
.pr-about-h2__bold { font-weight: 700; }
.pr-about-h2__it { font-family: 'Instrument Serif', serif; font-style: italic; font-weight: 400; color: #0136FE; }
.pr-about-p { margin: 0; font-size: 19px; line-height: 1.55; letter-spacing: -0.01em; color: #2A2A2A; white-space: pre-line; }
.pr-aside { flex: 0 0 360px; min-width: 260px; margin-left: auto; margin-top: 86px; background: #1C1C1C; color: #F2F2F2; padding: 28px; box-sizing: border-box; display: flex; flex-direction: column; gap: 22px; }
.pr-aside-dl { margin: 0; display: flex; flex-direction: column; gap: 18px; }
.pr-aside-row { display: flex; flex-direction: column; gap: 4px; border-bottom: 1px solid #333333; padding-bottom: 16px; }
.pr-aside-row--last { border-bottom: none; padding-bottom: 0; }
.pr-aside-row dt { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: #9A9A9A; }
.pr-aside-row dd { margin: 0; font-size: 20px; font-weight: 700; letter-spacing: -0.02em; }
.pr-aside-year { font-family: 'Instrument Serif', serif; font-size: 24px; font-weight: 400; }
.pr-aside-cta { align-self: flex-start; }
@media (max-width: 1099px) {
  .pr-about { flex-wrap: wrap; padding: 48px 16px; }
  .pr-about-text { flex: 1 1 100%; }
  .pr-aside { flex: 1 1 100%; margin-left: 0; margin-top: 0; min-width: 0; }
  .pr-about-h2 { font-size: 38px; }
}
@media (min-width: 700px) and (max-width: 1099px) { .pr-about { padding: 64px 28px; } }

/* ===================== CRÉATION PHARE ===================== */
.pr-crea-section { padding: 0 48px 120px; box-sizing: border-box; display: flex; justify-content: center; flex-wrap: wrap; gap: 32px; }
.pr-crea-figure { margin: 0; overflow: hidden; background: #ECECEC; box-shadow: 0 30px 60px rgba(0,0,0,0.18); width: 100%; max-width: 640px; aspect-ratio: 4 / 5; }
.pr-crea-section--multi .pr-crea-figure { max-width: 440px; }
.pr-crea-figure img, .pr-crea-figure video { display: block; width: 100%; height: 100%; object-fit: cover; }
/* visuel principal vidéo : on voit le plan entier, jamais rogné, quel que soit son ratio natif */
.pr-crea-figure--video { aspect-ratio: auto; background: #000; }
.pr-crea-figure--video video { width: 100%; height: auto; object-fit: contain; }
.pr-crea-figure .ph-empty { position: static; width: 100%; height: 100%; }
@media (max-width: 699px) { .pr-crea-section { padding: 0 16px 56px; } }

/* ===================== GALERIE ===================== */
.pr-gal-section { background: #0136FE; color: #FFFFFF; box-sizing: border-box; padding: 110px 48px; display: flex; flex-direction: column; gap: 48px; }
.pr-gal-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; width: 100%; max-width: 1240px; margin: 0 auto; }
.pr-gal-h2 { margin: 0; font-size: 64px; line-height: 1; letter-spacing: -0.04em; color: #FFFFFF; }
.pr-gal-h2__bold { font-weight: 700; }
.pr-gal-h2__it { font-family: 'Instrument Serif', serif; font-style: italic; font-weight: 400; }
.pr-gal-count { margin: 0; font-family: 'JetBrains Mono', monospace; font-size: 12px; color: #CFD9FF; }
.pr-gal-cols { display: flex; gap: 24px; width: 100%; max-width: 1240px; margin: 0 auto; align-items: flex-start; }
.pr-gal-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.gal-item { margin: 0; overflow: hidden; background: #ECECEC; box-shadow: 0 18px 40px rgba(0,0,30,0.3); aspect-ratio: var(--gal-ar, 4 / 5); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.gal-item:hover { transform: translateY(-6px) rotate(-0.6deg); }
.gal-item img, .gal-item video { display: block; width: 100%; height: 100%; object-fit: cover; }
/* format de galerie personnalisé (ex: 1080×1920) : on garantit que le visuel
   est toujours visible en entier, jamais rogné, quel que soit son ratio réel */
.pr-gal-cols--contain .gal-item img, .pr-gal-cols--contain .gal-item video { object-fit: contain; }
.pn { transition: background .3s ease, color .3s ease; }
.pn:hover { background: #0046FF; color: #FFFFFF; }
.pn:hover .pn-sub { color: #CFD9FF; }
@media (max-width: 699px) {
  .pr-gal-section { padding: 56px 16px; }
  .pr-gal-h2 { font-size: 38px; }
  .pr-gal-cols { gap: 10px; }
  .pr-gal-col { gap: 10px; }
}
@media (min-width: 700px) and (max-width: 999px) { .pr-gal-section { padding: 72px 28px; } }

/* ===================== PRÉCÉDENT / SUIVANT ===================== */
.pr-pn { display: flex; flex-wrap: wrap; background: #1C1C1C; color: #F2F2F2; }
.pr-pn-link { flex: 1 1 320px; padding: 64px 48px; box-sizing: border-box; color: inherit; display: flex; flex-direction: column; gap: 10px; }
.pr-pn-link--prev { border-right: 1px solid #2E2E2E; }
.pr-pn-link--next { align-items: flex-end; text-align: right; }
.pn-sub { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: #9A9A9A; }
.pr-pn-name { font-size: 64px; line-height: 1; font-weight: 700; letter-spacing: -0.04em; }
.pr-pn-name em { font-family: 'Instrument Serif', serif; font-style: italic; font-weight: 400; }
@media (max-width: 699px) { .pr-pn-link { padding: 36px 16px; } .pr-pn-name { font-size: 34px; } }

/* ===================== REDUCED MOTION ===================== */
@media (prefers-reduced-motion: reduce) { .gal-item { transition: none !important; } }
