/* Photo gallery: minimal chrome, high emphasis on images. */
.ph-gallery{background:var(--ph-pale)}
.ph-gallery__head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px}
.ph-gallery__head h2,.ph-gallery-page h1,.ph-gallery-page__album h2{font-family:var(--ph-font-serif);font-weight:700}
.ph-gallery__head h2{font-size:clamp(25px,3.1vw,41px);line-height:1.65;margin:12px 0}
.ph-gallery__head>div>p:last-child{color:var(--ph-muted);font-size:14px}
.ph-gallery__all{border-bottom:1px solid var(--ph-primary);padding-bottom:7px;text-decoration:none;color:var(--ph-primary);font-size:13px;font-weight:700;white-space:nowrap}
.ph-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(7px,1.4vw,19px)}
.ph-gallery-tile{min-width:0;margin:0}
.ph-gallery-tile__link{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#d5e4d2}
.ph-gallery-tile__link img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.ph-gallery-tile__link:hover img{transform:scale(1.045)}
.ph-gallery-tile__expand{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#fffdf2ef;color:var(--ph-primary);font-size:19px}
.ph-gallery-tile figcaption{font-size:11px;color:var(--ph-muted);margin-top:8px}
.ph-gallery__grid--preview .ph-gallery-tile:first-child{grid-column:span 2;grid-row:span 2}
.ph-gallery__grid--preview .ph-gallery-tile:first-child .ph-gallery-tile__link{height:100%;aspect-ratio:auto}
.ph-gallery__empty{background:#dfeadd;padding:80px 20px;text-align:center;color:var(--ph-muted);min-height:200px}
.ph-gallery-page h1{font-size:clamp(30px,4vw,48px);margin:12px 0}
.ph-gallery-page__intro{color:var(--ph-muted);max-width:680px}
.ph-gallery-page__album{border-top:1px solid #dae4d9;margin-top:70px;padding-top:37px}
.ph-gallery-page__album h2{font-size:clamp(22px,2.5vw,34px);margin:8px 0 28px}
.ph-gallery-lightbox{border:0;padding:60px 72px 24px;background:#091408f2;color:#fff;width:min(1100px,96vw);max-width:96vw;max-height:95vh;overflow:auto}
.ph-gallery-lightbox::backdrop{background:#071307ec}
.ph-gallery-lightbox figure{margin:0}
.ph-gallery-lightbox figure img{display:block;width:auto;height:auto;max-width:100%;max-height:68vh;object-fit:contain;margin:auto}
.ph-gallery-lightbox figcaption{text-align:center;color:#e1e7df;font-size:12px;margin-top:10px}
.ph-gallery-lightbox__close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}
.ph-gallery-lightbox__controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:20px}
.ph-gallery-lightbox__controls button{color:#fff;border:1px solid #dce7d9;background:transparent;padding:5px 15px;cursor:pointer}
.ph-gallery-lightbox__count{font-size:12px;letter-spacing:.1em}
@media(max-width:767px){.ph-gallery__head{display:block}.ph-gallery__all{display:inline-block;margin-top:10px}.ph-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ph-gallery__grid--preview .ph-gallery-tile:first-child{grid-column:span 2;grid-row:span 1}.ph-gallery__grid--preview .ph-gallery-tile:first-child .ph-gallery-tile__link{aspect-ratio:16/9;height:auto}.ph-gallery-lightbox{padding:46px 10px 20px}.ph-gallery-lightbox figure img{max-height:70vh}}
@media(prefers-reduced-motion:reduce){.ph-gallery-tile__link img{transition:none}}

/* Phase 08: one editorial photo from each of the four curated categories. */
.ph-gallery__grid--preview{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
.ph-gallery__grid--preview .ph-gallery-tile:first-child{grid-column:auto;grid-row:auto}
.ph-gallery__grid--preview .ph-gallery-tile:first-child .ph-gallery-tile__link{height:auto;aspect-ratio:4/3}
.ph-gallery__grid--preview .ph-gallery-tile figcaption{text-align:center;font-size:12px;line-height:1.7;color:var(--ph-primary);margin-top:10px}
.ph-detail-gallery{margin-top:clamp(50px,7vw,90px);padding-top:30px;border-top:1px solid #d9e4d9}
.ph-detail-gallery h2{font-family:var(--ph-font-serif);font-size:clamp(22px,2.5vw,34px);margin:10px 0 28px}
.ph-detail-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1023px){.ph-gallery__grid--preview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ph-gallery__grid--preview .ph-gallery-tile:first-child{grid-column:auto;grid-row:auto}.ph-gallery__grid--preview .ph-gallery-tile:first-child .ph-gallery-tile__link{aspect-ratio:4/3}}
@media(max-width:480px){.ph-detail-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
