*{box-sizing:border-box}body{margin:0;background:#172322;color:#efeee8;font:15px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #bfccb9;outline-offset:5px}
.gallery-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 4vw;border-bottom:1px solid #ffffff25}.gallery-brand{display:flex;align-items:center;gap:15px;text-transform:uppercase;letter-spacing:.12em;font-size:13px}.gallery-brand img{padding:10px;border-radius:50%;background:#efeee8;object-fit:contain}.gallery-nav nav{display:flex;gap:25px;font-size:13px}
.gallery-intro{padding:80px 4vw 45px}.gallery-intro p{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#b8c5b7}.gallery-intro h1{font:clamp(60px,10vw,140px)/.95 Georgia,serif;letter-spacing:-.055em;font-weight:400;margin:25px 0}.gallery-intro em{color:#b5c3b4}
.gallery-toolbar{padding:20px 4vw;display:flex;justify-content:space-between;gap:20px;align-items:center}#filters{display:flex;gap:8px;flex-wrap:wrap}#filters button,.more{border:1px solid #ffffff38;background:none;border-radius:30px;padding:10px 18px;font-size:13px}#filters button[aria-pressed=true]{background:#efeee8;color:#172322}#count{font-size:12px;white-space:nowrap;color:#c0c9bd}#gallery-status{margin:15px 4vw}#gallery-status:empty{display:none}
.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:0 3px}.project{position:relative;display:block;padding:0;border:0;background:#263330;aspect-ratio:4/3;overflow:hidden;text-align:left}.project img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project:hover img{transform:scale(1.025)}.project-caption{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);background:#000c;color:white;padding:8px 12px;font-size:12px;line-height:1.4}.more{display:block;margin:35px auto}.more[hidden]{display:none}.gallery-end{padding:80px 4vw;display:flex;justify-content:space-between;align-items:center;gap:30px}.gallery-end h2{font:clamp(35px,5vw,65px)/1.1 Georgia,serif;margin:0}.gallery-end a{text-decoration:underline;text-underline-offset:6px}
dialog{inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#101815;color:#fff}dialog::backdrop{background:#101815}.viewer-shell{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.viewer-shell header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;gap:15px}.viewer-shell button{border:1px solid #ffffff55;background:#172322;min-width:46px;min-height:46px;font-size:22px}.viewer-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px;padding:10px;min-height:0}.viewer-stage img{width:100%;height:100%;max-height:100%;object-fit:contain;min-height:0}.viewer-shell p{padding:8px 20px;font-size:14px;min-height:30px}.viewer-shell p:empty{display:none}
@media(max-width:850px){.projects{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-toolbar{align-items:start;flex-direction:column}.gallery-end{align-items:start;flex-direction:column}.gallery-intro{padding-top:45px}}@media(max-width:480px){.gallery-nav{padding:18px;align-items:start}.gallery-brand{font-size:10px;letter-spacing:.04em;gap:9px}.gallery-brand img{width:44px;height:44px;padding:8px}.gallery-nav nav{flex-direction:column;gap:5px;font-size:12px}.projects{grid-template-columns:1fr}.viewer-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:0;padding:3px}.gallery-end a{font-size:14px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
