.gallery-intro{text-align:center;padding:40px 7% 55px;max-width:950px;margin:auto}.gallery-intro h1{font-family:Bitter,Georgia,serif;font-size:clamp(3.2rem,6vw,5.8rem);font-weight:600;line-height:1.07}.gallery-intro h1 em{color:var(--accent);font-family:inherit;font-style:normal}.gallery-intro>p:last-child{max-width:560px;margin:26px auto 0;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;max-width:1320px;padding:0 6%;margin:auto}.project-card{background:#fffaf0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.project-open{display:block;position:relative}.project-open img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.project-open span{position:absolute;right:16px;bottom:16px;background:var(--paper);color:var(--ink);padding:7px 13px;border-radius:20px;font-size:.875rem}.project-copy{padding:25px}.project-copy h2{font-size:1.65rem;letter-spacing:-.04em}.project-copy p{margin:15px 0 0;color:var(--muted)}.gallery-end{text-align:center;padding:60px 7%}.gallery-end>a:first-child{text-underline-offset:5px;color:var(--accent);font-weight:600}.gallery-end p{margin:40px 0 20px}.gallery-end .button{background:var(--accent)}dialog{border:1px solid #777;border-radius:12px;padding:16px;background:#20261c;color:white;max-width:1100px;width:calc(100% - 32px);max-height:94dvh}dialog::backdrop{background:#10150deb}.viewer-toolbar,.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:15px}.viewer-toolbar{margin-bottom:14px}.viewer-toolbar h2{font:500 1.15rem/1.4 'DM Sans',sans-serif;letter-spacing:0}.viewer-toolbar button,.viewer-controls button{border:1px solid #e1d7c3;border-radius:6px;background:transparent;color:#fff;padding:9px 16px;cursor:pointer;min-height:44px}#large-photo{display:block;max-width:100%;width:auto;height:auto;max-height:70dvh;object-fit:contain;margin:auto}.viewer-controls{margin-top:14px}.viewer-controls span{font-size:.875rem}.project-open:hover span{background:var(--accent);color:white}@media(max-width:700px){.gallery-intro{padding:25px 7% 40px}.project-grid{grid-template-columns:1fr;padding:0 7%;gap:25px}.project-copy{padding:22px}.project-copy h2{font-size:1.5rem}.viewer-toolbar h2{font-size:1rem}.viewer-toolbar button,.viewer-controls button{padding:8px 12px}}

/* Compact project collection */
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-copy{padding:18px 20px}.project-copy h2{font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:700;line-height:1.4;letter-spacing:0}.project-copy p{font-size:.9rem;line-height:1.6;margin:9px 0 0}.project-open img{aspect-ratio:4/3}.project-open span{font-size:.8rem;padding:6px 11px;right:12px;bottom:12px}.gallery-end p{margin:0 0 20px}.gallery-end>a:first-child{text-decoration:none;color:white}#photo-description{max-width:850px;margin:14px auto 0;color:#eee5d7;font-size:.95rem;line-height:1.5}#large-photo{max-height:61dvh}.gallery-intro{padding-bottom:40px}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:580px){.project-grid{grid-template-columns:1fr;gap:22px}.project-copy{padding:16px 20px}.project-open img{aspect-ratio:4/3}#large-photo{max-height:53dvh}#photo-description{font-size:.875rem}.viewer-toolbar h2{font-size:1rem}}
body.viewer-open{overflow:hidden}.viewer-controls button:disabled{opacity:.35;cursor:default}.project-open:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.viewer-controls button:focus-visible,.viewer-toolbar button:focus-visible{outline:3px solid #e7bd78;outline-offset:3px}#large-photo{min-height:120px}
