.office-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0 12px}
.office-photo-card{display:block;padding:0;border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;text-align:left;color:var(--ink);min-width:0;font:inherit;cursor:pointer}
.office-photo-frame{display:block;position:relative;aspect-ratio:4/5;background:var(--paper);overflow:hidden}
.office-photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;user-select:none;-webkit-user-drag:none}
.office-photo-card:hover img{transform:scale(1.035)}
.office-photo-expand{position:absolute;bottom:12px;right:12px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--action);font-size:20px;box-shadow:0 2px 12px #152b3620}
.office-photo-caption{display:block;font-size:15px;font-weight:700;line-height:1.6;padding:15px 17px}
.office-preview .office-photo-caption{font-size:12px;padding:10px;min-height:58px}
.office-gallery-section{background:var(--paper);scroll-margin-top:110px}
.office-gallery-section .intro{max-width:710px}
.office-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.office-photo-dialog{width:min(1200px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:54px 16px 20px;border:0;border-radius:14px;background:var(--navy);color:#fff;overflow:auto}
.office-photo-dialog::backdrop{background:#08151de8}
.office-photo-close,.office-photo-prev,.office-photo-next{border:1px solid #ffffff55;background:#ffffff0d;color:#fff;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:24px;padding:0}
.office-photo-close{position:absolute;right:14px;top:10px;font-size:30px}
.office-photo-viewer{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:14px;align-items:center}
.office-photo-viewer figure{min-width:0;margin:0}
.office-photo-viewer img{width:100%;height:calc(100dvh - 180px);max-height:1000px;object-fit:contain}
.office-photo-viewer figcaption{text-align:center;color:#d0dce2;font-size:15px;line-height:1.65;margin-top:14px}
@media(max-width:1000px){.office-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media(max-width:760px){.office-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.office-photo-caption{font-size:14px;padding:12px}.office-preview{gap:10px}.office-preview .office-photo-caption{font-size:12px;padding:9px}.office-photo-dialog{width:calc(100% - 16px);padding:58px 8px 18px}.office-photo-viewer{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px}.office-photo-viewer img{height:calc(100dvh - 205px)}.office-photo-viewer figcaption{font-size:14px}}
@media(max-width:380px){.office-photo-grid{gap:12px}.office-photo-caption{font-size:13px}.office-preview{grid-template-columns:1fr 1fr}.office-preview .office-photo-card:last-child{grid-column:1/-1}.office-preview .office-photo-card:last-child .office-photo-frame{aspect-ratio:16/9;object-position:center}}
@media(prefers-reduced-motion:reduce){.office-photo-frame img{transition:none}.office-photo-card:hover img{transform:none}}
