.project-page .project-intro{padding:38px 0 30px;border-bottom:1px solid var(--blue)}
.project-page .back-link{font-size:14px;color:var(--blue);display:inline-block;margin-bottom:48px}
.project-page .project-kicker{display:flex;justify-content:space-between;gap:20px;color:var(--blue);font-size:12px;text-transform:uppercase;letter-spacing:1.6px;margin-bottom:18px}
.project-page h1{font-size:clamp(48px,7.5vw,112px);line-height:1.05;margin-bottom:12px;overflow-wrap:anywhere}
.project-page .project-subtitle{font:italic 400 clamp(24px,3vw,42px)/1.3 Georgia,serif;color:var(--blue);margin-bottom:0}
.project-page .project-opening{margin:28px 0 0}
.project-page figure{margin-left:0;margin-right:0}
.project-page .image-button{padding:0;border:0;background:transparent;cursor:zoom-in;display:block;width:100%;color:inherit}
.project-page .image-button img{width:100%;height:auto;object-fit:contain}
.project-page .project-opening img{max-height:78vh;object-fit:contain}
.project-page figcaption{display:flex;gap:20px;justify-content:space-between;color:#5d6158;font-size:13px;padding:12px 0;border-bottom:1px solid var(--line)}
.project-page .project-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:9%;padding:70px 0}
.project-page dl{margin:0}.project-page dt{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--blue);border-top:1px solid var(--line);padding-top:15px}.project-page dd{margin:3px 0 24px;font-size:16px}
.project-page .project-copy{max-width:760px;font-size:18px;line-height:1.8}.project-page .project-copy p{margin-bottom:23px}
.project-page .drawing-section{border-top:1px solid var(--line);padding-top:35px}
.project-page .drawing-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:30px}.project-page .drawing-heading h2{font-size:38px;margin:0}.project-page .drawing-heading p{font-size:14px}
.project-page .project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 5%;align-items:start}
.project-page .project-gallery figure{margin-top:0;margin-bottom:0}.project-page .project-gallery .wide{grid-column:1/-1}
.project-page .project-gallery img{max-height:850px;object-fit:contain}
.project-page .project-pagination{border-top:1px solid var(--blue);margin-top:80px;padding:30px 0 55px;display:grid;grid-template-columns:1fr 1fr;gap:25px;color:var(--blue)}
.project-pagination a:last-child{text-align:right}.project-pagination small{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1.4px}.project-pagination strong{font:400 clamp(23px,3vw,42px)/1.3 Georgia,serif}
.project-page .project-footer{display:flex;justify-content:space-between;gap:25px;padding:28px 0;border-top:1px solid var(--line);font-size:14px;margin:0;background:transparent;color:var(--blue)}
.image-viewer{border:0;padding:20px;background:var(--paper);color:var(--ink);width:calc(100vw - 32px);max-width:none;height:calc(100dvh - 32px);max-height:none;overflow:auto}
.image-viewer::backdrop{background:rgba(22,25,45,.85)}.viewer-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.viewer-bar p{margin:0}.viewer-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.viewer-controls button,.viewer-controls a{font:inherit;color:var(--blue);background:transparent;border:1px solid var(--line);padding:8px 14px;cursor:pointer;min-height:44px}.viewer-controls button:disabled{opacity:.4;cursor:default}.viewer-image{width:100%;height:calc(100% - 90px);object-fit:contain}.image-viewer :focus-visible,.image-button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:800px){.project-page .project-story{grid-template-columns:1fr;gap:24px;padding:40px 0}.project-page dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.project-page dl>div{min-width:0}.project-page .back-link{margin-bottom:30px}.project-page .project-copy{font-size:16px}.project-page .project-gallery{gap:30px}.project-page .project-kicker{font-size:12px;letter-spacing:.8px}.project-page .project-opening img{max-height:none}.viewer-bar{align-items:flex-start;flex-direction:column}.viewer-image{height:calc(100% - 140px)}}
@media(max-width:540px){.project-page .project-gallery{display:block}.project-page .project-gallery figure{margin-bottom:35px}.project-page .drawing-heading{display:block}.project-page .project-pagination{margin-top:45px}.project-page .project-footer{flex-wrap:wrap}.project-page .project-kicker{flex-direction:column;gap:5px}.image-viewer{padding:14px}.viewer-controls{gap:5px}.viewer-controls button,.viewer-controls a{font-size:14px;padding:8px 10px}}

/* Aligner les légendes, même lorsque les images ont des formats différents. */
@media(min-width:541px){
 .project-page .project-gallery{row-gap:0;align-items:stretch}
 .project-page .project-gallery figure{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0;padding-bottom:48px}
 .project-page .project-gallery .image-button{align-self:end}
 .project-page .project-gallery figcaption{align-self:start}
}

/* Rangées proportionnelles : même hauteur visuelle sans recadrer les images. */
.project-page .project-gallery{display:block}
.project-page .gallery-row{display:grid;grid-template-rows:auto auto;column-gap:24px;row-gap:0;margin:0 auto 26px;align-items:end}
.project-page .project-gallery .gallery-row figure{display:grid;grid-template-rows:subgrid;grid-row:span 2;grid-column:auto;padding:0;margin:0;min-width:0}
.project-page .project-gallery .gallery-row img{max-height:none;height:auto}
.project-page .project-gallery figcaption{padding:9px 0;gap:12px}
.project-page .project-gallery figcaption>span:last-child{white-space:nowrap}
@media(max-width:640px){
 .project-page .gallery-row{display:block;margin-bottom:0}
 .project-page .project-gallery .gallery-row figure{display:block;margin-bottom:22px}
}

/* Dernière image seule : alignement sur le bord gauche de la galerie. */
.project-page .gallery-row-single:last-child{margin-left:0;margin-right:auto}
