.photo-dump { min-width: 0; }
.photo-dump .section-heading { margin-bottom: 24px; }
.photo-dump-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.photo-dump-tile { display: block; width: 100%; min-width: 0; padding: 0; border: 0; background: #111413; aspect-ratio: 3 / 4; overflow: hidden; cursor: zoom-in; }
.photo-dump-tile img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.photo-dump-full .photo-dump-grid { display: block; columns: 4; column-gap: 10px; }
.photo-dump-full .photo-dump-tile { display: inline-block; aspect-ratio: auto; margin: 0 0 10px; vertical-align: top; break-inside: avoid; }
.photo-dump-full .photo-dump-tile img { height: auto; object-fit: initial; }
@media (max-width: 760px) { .photo-dump-full .photo-dump-grid { columns: 3; } }
@media (max-width: 520px) { .photo-dump-full .photo-dump-grid { columns: 2; } }
@media (hover: hover) { .photo-dump-tile:hover img { transform: scale(1.025); } }
.photo-dump-tile:focus-visible { outline: 2px solid #d5ded4; outline-offset: 3px; }
.photo-dump-empty { color: #a6abaa; font-size: 14px; line-height: 1.7; margin: 0; }
.photo-dump-view-all { display: inline-block; margin-top: 22px; }
.photo-dump-viewer { position: fixed; inset: 0; margin: auto; width: min(1100px, calc(100% - 2 * var(--gutter, 24px))); max-width: none; max-height: calc(100dvh - 32px); overflow: auto; padding: 18px; color: #f2f3f1; background: #17191b; border: 1px solid #ffffff29; border-radius: 20px; }
.photo-dump-viewer::backdrop { background: #000d; }
.photo-dump-viewer-header, .photo-dump-viewer-controls { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.photo-dump-viewer-header { padding-bottom: 15px; }
.photo-dump-viewer-header span { color: #a6abaa; font-size: 12px; }
.photo-dump-viewer button { min-height: 44px; min-width: 44px; padding: 8px 15px; border-radius: 22px; border: 1px solid #ffffff24; background: #17191b; color: inherit; cursor: pointer; font: inherit; font-size: 12px; }
.photo-dump-viewer button:focus-visible { outline: 2px solid #d5ded4; outline-offset: 3px; }
.photo-dump-viewer-body { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(200px, 1fr); background: #111413; border-radius: 12px; overflow: hidden; }
.photo-dump-viewer-body img { display: block; width: 100%; height: min(66dvh, 720px); object-fit: contain; background: #080909; }
.photo-dump-viewer-writing { min-width: 0; padding: 26px; }
.photo-dump-viewer-caption { margin: 18px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; color: #c7cdca; line-height: 1.8; font-size: 14px; }
.photo-dump-viewer-controls { padding-top: 15px; }
@media (max-width: 600px) { .photo-dump-grid { gap: 7px; } .photo-dump-viewer { padding: 14px; } }
@media (max-width: 700px) { .photo-dump-viewer-body { grid-template-columns: 1fr; } .photo-dump-viewer-body img { height: min(52dvh, 520px); } .photo-dump-viewer-writing { padding: 18px; } }
@media (prefers-reduced-motion: reduce) { .photo-dump-tile img { transition: none; } }
.photo-dump-tile video {display:block;width:100%;height:100%;object-fit:cover}
.photo-dump-full .photo-dump-tile video {height:auto;object-fit:initial}
.photo-dump-viewer-body video {display:block;width:100%;height:min(66dvh,720px);object-fit:contain;background:#080909}
.dump-tags {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.portfolio-video {display:block;width:100%;max-width:100%;height:auto;background:#080909}
.collection-photo-frame video {height:100%;object-fit:contain}
.hashtag-filter,.hashtag-list {display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.hashtag-filter button,.hashtag {border:1px solid #ffffff24;border-radius:20px;background:transparent;color:#b7c6bd;padding:5px 10px;font:inherit;font-size:12px;cursor:pointer}
.hashtag-filter button[aria-pressed="true"] {border-color:#b7c6bd;color:#fff}
.external-post-link {color:#d5e5df;overflow-wrap:anywhere}
@media(max-width:700px){.photo-dump-viewer-body video {height:min(52dvh,520px)}}
.media-row {grid-column:1/-1;display:grid;grid-template-columns:repeat(var(--row-count),minmax(0,1fr));gap:6px;min-width:0}
.media-row .content-block,.media-row figure {min-width:0;width:100%;margin:0}
.media-row img,.media-row video {width:100%;height:auto;display:block}
.media-row .content-block,.media-row .content-block[data-align] {grid-column:auto;justify-self:stretch;width:100%}

.external-post-link {display:flex;gap:14px;align-items:center;padding:12px;border:1px solid #ffffff25;border-radius:12px;text-decoration:none;background:#ffffff08;color:#eef3ef;min-width:0}
.external-post-link img {width:90px;height:70px;object-fit:cover;border-radius:7px;flex:none}
.link-card-copy {display:grid;gap:5px;min-width:0}.link-card-copy strong {font-size:14px}.link-card-address {font-size:12px;color:#aab4af;overflow-wrap:anywhere}
