.portfolio-intro{padding-bottom:28px}.portfolio-intro h1{font-size:clamp(40px,7vw,80px);letter-spacing:-.05em;margin:18px 0}.portfolio-intro p{color:var(--muted);line-height:1.7;max-width:620px}.portfolio-grid{columns:3 260px;column-gap:14px}.photo-card{display:block;width:100%;padding:0;margin:0 0 14px;background:var(--panel);border:0;break-inside:avoid;cursor:zoom-in}.photo-card img{display:block;width:100%;height:auto}.photo-card:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.gallery-section{padding-top:0}.gallery-controls{text-align:center;padding:28px 0}.gallery-controls p{color:var(--muted)}button.btn{cursor:pointer;background:transparent;color:var(--ink)}[hidden]{display:none!important}dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:18px;background:#050708;color:var(--ink);border:0}dialog::backdrop{background:#000d}.viewer-inner{display:flex;flex-direction:column;height:100%;gap:12px}.viewer-top{display:flex;justify-content:flex-end}.viewer-image{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.viewer-image img{max-height:100%;max-width:100%;object-fit:contain}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.viewer-bottom p{text-align:center;font-size:13px;color:#ccd3d5}dialog button{min-height:44px;padding:10px 16px;border:1px solid var(--teal);color:var(--ink);background:transparent;cursor:pointer}.nav a[aria-current="page"]{color:var(--teal);text-decoration:underline;text-underline-offset:6px}@media(max-width:600px){.portfolio-grid{columns:2;column-gap:8px}.photo-card{margin-bottom:8px}.portfolio-intro{padding-top:42px}.viewer-bottom{flex-wrap:wrap}.viewer-bottom p{order:-1;width:100%;margin:0}dialog{padding:12px}}