/* ============================================================
   Divinemenciel — Fiche projet
   Converti depuis home/home.css (bloc PROJET), commun aux fiches
   Waffle Factory / Biocoop / Basilic & Co / génériques dans la maquette.
   ============================================================ */

   .project-page .page-main { position: relative; z-index: 1; background: var(--blanc-amande); }

   .sr-only {
     position: absolute !important;
     width: 1px !important;
     height: 1px !important;
     padding: 0 !important;
     margin: -1px !important;
     overflow: hidden !important;
     clip: rect(0, 0, 0, 0) !important;
     white-space: nowrap !important;
     border: 0 !important;
   }
   
   /* ============ COVER ============ */
   .proj-hero {
     position: relative;
     padding-top: clamp(150px, 22vh, 300px);
     padding-bottom: clamp(20px, 3vw, 40px);
   }
   .proj-hero-grid {
     display: grid;
     grid-template-columns: 1.6fr 0.9fr;
     align-items: end;
     gap: clamp(32px, 5vw, 88px);
   }
   .proj-hero-content { position: relative; z-index: 2; color: var(--vert-olive); }
   .proj-hero-title {
     font-family: var(--font-display);
     font-style: italic;
     font-weight: 400;
     font-size: clamp(48px, 8vw, 120px);
     line-height: 0.96;
     margin: 8px 0 0;
     hyphens: none;
   }
   .proj-hero-logo {
     display: block;
     width: auto;
     max-width: min(440px, 100%);
     height: clamp(27px, 7.3vw, 60px);
     object-fit: contain;
     object-position: left center;
     margin: 10px 0 0;
   }
   .proj-hero-sub {
     font-family: var(--font-text);
     font-weight: var(--w-thin);
     font-size: clamp(16px, 1.5vw, 22px);
     line-height: 1.42;
     max-width: 46ch;
     margin: 21px 0 0;
     color: color-mix(in srgb, var(--vert-olive) 82%, transparent);
   }
   .proj-credits { display: flex; flex-direction: column; gap: 22px; }
   .proj-credit-label {
     font-family: var(--font-text);
     font-size: 9.3px;
     font-weight: var(--w-strong);
     text-transform: uppercase;
     letter-spacing: var(--tracking-caps);
     color: var(--vert-pesto);
     margin: 0 0 4px;
   }
   .proj-credit-val {
     font-family: var(--font-text);
     font-weight: var(--w-thin);
     font-size: clamp(10.6px, 0.86vw, 12.6px);
     line-height: 1.4;
     color: var(--vert-olive);
     margin: 0;
   }
   
   /* Marges latérales plus généreuses sur desktop (respiration de la maquette). */
   @media (min-width: 981px) {
     .project-page .container {
       padding-left: clamp(24px, 12vw, 200px);
       padding-right: clamp(24px, 12vw, 200px);
     }
   }
   
   /* ============ ACCROCHE ============ */
   .proj-intro { padding-top: clamp(40px, 5vw, 76px); padding-bottom: clamp(24px, 3vw, 44px); }
   .proj-lead { text-align: center; }
   .proj-lead-title {
     font-family: var(--font-text);
     font-weight: var(--w-thin);
     font-size: clamp(30px, 8vw, 46px);
     line-height: 1.14;
     letter-spacing: -0.01em;
     color: var(--vert-olive);
     margin: 0 auto;
   }
   .proj-lead-title em { font-family: var(--font-display); font-style: italic; color: var(--orange-patate); }
   .proj-lead-text {
     font-family: var(--font-text);
     font-weight: var(--w-thin);
     font-size: clamp(16px, 1.3vw, 19px);
     line-height: 1.6;
     color: var(--vert-olive-80);
     margin: 22px auto 0;
     max-width: 60ch;
   }
   
   /* ============ GALERIE ============ */
   .proj-gallery { padding-top: clamp(16px, 2vw, 32px); padding-bottom: clamp(16px, 2vw, 32px); }
   .pj-fit-grid { display: grid; gap: var(--gutter); align-items: start; }
   .pj-fit-grid.c1 { grid-template-columns: 1fr; }
   .pj-fit-grid.c2 { grid-template-columns: repeat(2, 1fr); }
   .pj-fit-grid.c3 { grid-template-columns: repeat(3, 1fr); }
   .pj-fit {
     width: 100%;
     height: auto;
     display: block;
     border-radius: 25px;
     object-fit: cover;
   }
   .pj-45 { aspect-ratio: 4 / 5; }
   .pj-23 { aspect-ratio: 2 / 3; }
   .pj-32 { aspect-ratio: 3 / 2; }
   .pj-43 { aspect-ratio: 4 / 3; }
   .pj-horizontal { aspect-ratio: 1920 / 1080; }
   .pj-vertical { aspect-ratio: 1080 / 1920; }
   .pj-carre { aspect-ratio: 1080 / 1080; }
   .pj-post_rs { aspect-ratio: 1080 / 1350; }
   .pj-big { width: min(62%, 680px); margin: 0 auto; }
   .pj-big-land { width: min(84%, 900px); margin: 0 auto; }
   @media (max-width: 860px) {
     .pj-fit-grid.c3 { grid-template-columns: repeat(2, 1fr); }
   }
   @media (max-width: 520px) {
     .pj-fit-grid.c2, .pj-fit-grid.c3 { grid-template-columns: 1fr; }
     .pj-big, .pj-big-land { width: 100%; }
   }
   
   /* ============ RÉSULTATS ============ */
   .proj-results { padding-top: clamp(20px, 2.5vw, 40px); padding-bottom: clamp(40px, 5vw, 76px); }
   .proj-results .section-head { text-align: center; }
   .proj-results .section-title { margin-left: auto; margin-right: auto; }
   .proj-results .section-title em { font-family: var(--font-display); font-style: italic; color: var(--rose-sorbet); }
   .proj-stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
   .stat-value {
     font-family: var(--font-text);
     font-weight: 400;
     font-size: 52px;
     line-height: 1.05;
     letter-spacing: -0.01em;
     color: var(--vert-olive);
     text-align: center;
   }
   .stat-label {
     font-family: var(--font-text);
     font-weight: 400;
     font-size: 17px;
     line-height: 1.35;
     color: var(--vert-olive-80);
     text-align: center;
     margin-top: 6px;
   }
   @media (max-width: 700px) {
     .proj-stats-grid { grid-template-columns: 1fr; gap: 32px; }
   }
   
   /* ============ VOIR TOUS NOS PROJETS ============ */
   .proj-next { text-align: center; }
   
   /* ============ PROJET PRÉCÉDENT / SUIVANT ============ */
   .next-projects-grid { grid-template-columns: repeat(3, 1fr) !important; }
   .next-projects-grid .work-empty { display: flex; align-items: center; justify-content: center; }
   @media (max-width: 980px) {
     .next-projects-grid { grid-template-columns: 1fr !important; }
     .next-projects-grid .work-empty { display: none; }
   }