.room-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.photo-open{position:relative;display:block;width:100%;border:0;padding:0;background:var(--stone);cursor:pointer;overflow:hidden;text-align:left;color:var(--deep)}
.photo-open img{transition:transform .6s ease}
.photo-open:hover img{transform:scale(1.035)}
.photo-open>span{position:absolute;bottom:14px;right:14px;background:var(--ivory);padding:6px 12px;font-size:13px}
.room-gallery figcaption{display:block;min-height:82px}
.room-gallery figcaption span:first-child{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:27px;line-height:1.2}
.room-gallery figcaption span:last-child{display:block;margin-top:8px}
.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px}
.gallery-bottom .gallery-notice{margin:0;max-width:370px}
.little-pleasures button{border:0;border-bottom:1px solid var(--line);background:none;padding:0 0 3px;color:var(--deep);cursor:pointer;font-size:14px;min-height:44px}
.photo-dialog{width:min(1150px,94vw);max-width:94vw;max-height:94dvh;padding:26px 32px 18px;border:1px solid var(--sage);background:var(--ivory);color:var(--deep);overflow:auto}
.photo-dialog::backdrop{background:rgba(24,35,29,.82)}
.photo-dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:center}
.photo-dialog h2{font-size:38px}
.photo-dialog .eyebrow{font-size:10px;margin-bottom:6px}
.photo-control{min-height:44px;padding:7px 16px;border:1px solid var(--line);background:transparent;color:var(--deep);cursor:pointer;font-size:15px;white-space:nowrap}
.photo-control:hover{background:var(--stone)}
.photo-filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.photo-filters button{background:transparent;color:var(--deep);border:1px solid var(--line);border-radius:25px;min-height:40px;padding:6px 17px;cursor:pointer;font-size:14px}
.photo-filters button[aria-pressed=true]{background:var(--deep);color:var(--ivory);border-color:var(--deep)}
.photo-stage{margin:0}
.photo-stage img{display:block;width:100%;height:clamp(220px,51dvh,580px);object-fit:contain;background:var(--ivory)}
.photo-stage figcaption{margin:15px 0 10px;min-height:72px;font-size:16px;line-height:1.5}
.photo-stage figcaption strong{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:29px;font-weight:500;line-height:1.2;margin-bottom:7px}
.photo-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px}
#photo-counter{font-variant-numeric:tabular-nums;font-size:14px}
.photo-provisional{margin-top:15px;font-size:11px;color:var(--gray)}
@media(max-width:720px){.room-gallery{grid-template-columns:1fr;gap:27px}.room-gallery figcaption{min-height:0}.gallery-bottom{align-items:flex-start;flex-direction:column;gap:18px}.photo-dialog{padding:20px 16px;width:96vw;max-width:96vw;max-height:96dvh}.photo-dialog h2{font-size:30px}.photo-dialog .eyebrow{font-size:9px;letter-spacing:.09em}.photo-filters{gap:6px;margin:15px 0}.photo-filters button{padding:6px 11px;font-size:13px}.photo-stage img{height:35dvh;min-height:200px}.photo-stage figcaption{font-size:15px}.photo-stage figcaption strong{font-size:26px}.photo-control{padding:7px 10px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.photo-open img{transition:none}}
