.exp-photo-section { margin: 48px 0; }
.exp-photo-section h2 { margin-bottom: 12px; color: #fff; }
.exp-photo-note { max-width: 700px; margin: 0 0 24px; color: rgba(255,255,255,.65); font-size: 15px; line-height: 1.7; }
.exp-photo-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; align-items: start; }
.exp-photo-grid figure { margin: 0; min-width: 0; }
.exp-photo-grid button { display: block; width: 100%; padding: 0; border: 0; border-radius: 12px; overflow: hidden; background: #111e2c; cursor: zoom-in; }
.exp-photo-grid img { display: block; width: 100%; height: 230px; object-fit: contain; transition: transform .3s; }
.exp-photo-grid button:hover img { transform: scale(1.025); }
.exp-photo-grid button:focus-visible { outline: 3px solid #3db8c0; outline-offset: 4px; }
.exp-photo-grid figcaption { margin-top: 10px; color: rgba(255,255,255,.7); font-size: 13px; line-height: 1.5; }
.exp-photo-dialog { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; border: 0; padding: 72px 24px 24px; margin: 0; background: rgba(5,12,20,.98); color: white; }
.exp-photo-dialog[open] { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 16px; }
.exp-photo-dialog::backdrop { background: #050c14; }
.exp-photo-dialog img { max-width: 100%; max-height: calc(100dvh - 225px); object-fit: contain; }
.exp-photo-dialog p { text-align: center; font: 14px/1.5 'DM Sans',sans-serif; }
.exp-photo-dialog button { min-width: 46px; min-height: 46px; border: 1px solid #ffffff45; background: #ffffff14; border-radius: 50%; color: white; font-size: 24px; cursor: pointer; }
.exp-photo-close { position: absolute; right: 20px; top: 16px; }
.exp-photo-controls { display: flex; gap: 18px; }
@media(max-width:900px){.exp-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.exp-photo-grid img{height:230px;}}
@media(max-width:560px){.exp-photo-section{margin:32px 0;}.exp-photo-grid{gap:18px 10px;}.exp-photo-grid img{height:175px;}.exp-photo-grid figcaption{font-size:12px;}.exp-photo-dialog{padding:72px 12px 20px;}}
