.gallery-jumps{display:flex;gap:24px;margin:32px 0}.gallery-jumps a{font-weight:700;text-decoration:underline;text-underline-offset:5px}.gallery-section{padding:40px 0;scroll-margin-top:120px}.gallery-section+section{border-top:1px solid #aaa}.portrait-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;margin-top:32px}.portrait-card{min-width:0}.portrait-expand{display:block;position:relative;background:#e3dfd7}.portrait-expand img{display:block;width:100%;height:320px;object-fit:contain}.portrait-expand span{position:absolute;bottom:12px;right:12px;background:#f5f1e8;color:#222;padding:8px 12px}.portrait-card h3{font-size:18px;line-height:1.4;margin:16px 0 12px}.portrait-dialog{border:0;background:#f5f1e8;color:#222;padding:20px;max-width:94vw;max-height:94dvh}.portrait-dialog::backdrop{background:rgba(0,0,0,.86)}.portrait-dialog img{display:block;max-width:86vw;max-height:75dvh;object-fit:contain;margin:12px auto 20px}.portrait-close{display:block;margin-left:auto;border:1px solid currentColor;padding:8px 14px;cursor:pointer;background:transparent;color:inherit;font:inherit}.portrait-expand:focus-visible,.portrait-close:focus-visible{outline:3px solid #cd2c25;outline-offset:4px}@media(max-width:900px){.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.portrait-grid{grid-template-columns:1fr}.portrait-expand img{height:350px}}
.portrait-download{display:inline-block;margin-top:14px}

.portrait-expand:hover .textlink{color:var(--red)}
