.project-stories{margin-top:70px;padding-top:60px;border-top:1px solid var(--line)}
.stories-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.photo-story{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:white}
.story-cover{display:block;position:relative;background:var(--navy);overflow:hidden}
.story-cover img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .25s}
.story-cover:hover img{transform:scale(1.025)}
.story-cover span{position:absolute;right:12px;bottom:12px;background:var(--navy);color:white;border-radius:4px;padding:4px 10px;font-size:13px}
.story-body{padding:24px}.story-year{font-size:14px;color:#346b63;font-weight:700;margin:0 0 12px}
.story-body h3{font-size:23px;line-height:1.3;letter-spacing:-.6px;margin:0 0 16px}
.story-body>p:not(.story-year){color:var(--muted);margin:0 0 22px}
.story-album{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}
.story-album summary{padding:14px 0;justify-content:space-between;font-size:14px;font-weight:600;gap:10px}
.story-album[open] summary span{transform:rotate(45deg)}
.story-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-bottom:15px}
.story-thumbnails img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:3px}
.story-source{font-size:14px;color:#346b63;text-decoration:underline;text-underline-offset:4px}
.photo-viewer{width:min(1080px,94vw);max-height:94vh;padding:20px;border:0;border-radius:9px;background:var(--navy);color:white}
.photo-viewer::backdrop{background:rgba(4,15,24,.86)}
.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}
.viewer-top{margin-bottom:16px}.viewer-top h2{font-size:21px;letter-spacing:-.4px;line-height:1.3;margin:0}
.photo-viewer button{font:600 14px 'DM Sans',Arial,sans-serif;cursor:pointer;border:1px solid #718b9b;border-radius:5px;padding:10px 14px;background:transparent;color:white;white-space:nowrap}
.photo-viewer button:hover{background:#284657}.photo-viewer button:focus-visible{outline-color:var(--mint)}
.viewer-image{display:block;width:100%;height:min(65vh,720px);object-fit:contain;background:#07131d}
.viewer-bottom{margin-top:14px}.viewer-count{font-size:14px;margin:0;text-align:center}
body.gallery-open{overflow:hidden}
@media(max-width:1000px){.stories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.stories-grid{grid-template-columns:1fr}.project-stories{margin-top:45px;padding-top:40px}.story-body{padding:22px}.photo-viewer{padding:12px}.viewer-top{gap:12px;align-items:flex-start}.viewer-top h2{font-size:18px}.viewer-bottom{gap:8px}.photo-viewer button{padding:9px 10px}.viewer-image{height:58vh}}
@media(prefers-reduced-motion:reduce){.story-cover img{transition:none}}

.albums-page .project-stories{margin:0;padding:0;border:0}.albums-page main.section{padding-top:40px}

.story-controls{padding:14px 24px 18px}.story-controls .story-album{border-top:0;margin-bottom:12px}.story-controls .story-album summary{padding-top:0}

.story-controls h3{font-size:23px;line-height:1.3;letter-spacing:-.6px;margin:6px 0 18px}
.stories-grid{align-items:stretch}
.photo-story{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
.story-cover{align-self:start}

.gallery-growth{font-size:24px;font-weight:700;line-height:1.5;color:var(--muted);margin:0 0 12px}.gallery-growth+.section-intro{margin-top:0}@media(max-width:850px){.gallery-growth{font-size:20px}}
