/* Waiex Builders Log - static gallery. No external resources. */
*,*::before,*::after{box-sizing:border-box}
:root{--bg:#f6f5f2;--fg:#1d1f22;--muted:#666b72;--card:#fff;--line:#e2e0db;--accent:#1f5f8b;--radius:10px}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1280px;margin:0 auto;padding:0 16px}
header.site{background:#20262d;color:#fff}
header.site .wrap{display:flex;align-items:baseline;gap:12px;padding-top:14px;padding-bottom:14px}
header.site a{color:#fff;font-weight:600;font-size:1.15rem;letter-spacing:.01em}
main{padding:20px 0 40px}
h1{font-size:1.7rem;line-height:1.2;margin:.2em 0 .3em}
.intro,.meta,.desc{color:var(--muted);margin:.2em 0 1em}
.desc{color:var(--fg)}
.crumbs{font-size:.9rem;color:var(--muted);margin:0 0 .4em}
.crumbs a{color:var(--muted)}
.crumbs span{margin:0 .35em}
h2.section{font-size:1.15rem;margin:1.6em 0 .6em}
/* album cards */
.cards{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.card a{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:inherit;transition:box-shadow .15s,transform .15s}
.card a:hover,.card a:focus-visible{text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,.12);transform:translateY(-1px)}
.card .cv{display:block;aspect-ratio:4/3;background:#ddd}
.card img{display:block;width:100%;height:100%;object-fit:cover}
.card .t{display:block;padding:10px 12px 0;font-weight:600}
.card .n{display:block;padding:0 12px 10px;color:var(--muted);font-size:.9rem}
/* thumbnail grid */
.grid{list-style:none;margin:0;padding:0;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.grid a{display:block;aspect-ratio:1;background:#ddd;border-radius:4px;overflow:hidden}
.grid img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .15s}
.grid a:hover img{opacity:.85}
.grid a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.albnav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:14px;border-top:1px solid var(--line);font-size:.95rem}
footer.site{color:var(--muted);font-size:.85rem;padding:16px 0 28px;border-top:1px solid var(--line)}
@media (max-width:520px){
  .wrap{padding:0 10px}
  h1{font-size:1.4rem}
  .cards{grid-template-columns:repeat(2,1fr);gap:10px}
  .card .t{padding:8px 8px 0;font-size:.95rem}.card .n{padding:0 8px 8px}
  .grid{grid-template-columns:repeat(3,1fr);gap:3px}
}
/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(10,10,12,.96);color:#eee;display:none;flex-direction:column;touch-action:pan-y pinch-zoom}
.lb.open{display:flex}
.lb-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:8px 56px}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;transition:opacity .15s}
.lb-stage img.loading{opacity:.25}
.lb-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:10px 16px;font-size:.9rem;background:rgba(0,0,0,.35)}
.lb-bar .cap{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb-bar a{color:#9cd0ff}
.lb button{font:inherit;color:#fff;background:rgba(255,255,255,.08);border:0;border-radius:50%;width:44px;height:44px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1}
.lb button:hover,.lb button:focus-visible{background:rgba(255,255,255,.22);outline:none}
.lb-prev,.lb-next{position:absolute;top:50%;margin-top:-22px}
.lb-prev{left:8px}.lb-next{right:8px}
.lb-close{position:absolute;top:8px;right:8px;z-index:2}
body.lb-on{overflow:hidden}
@media (max-width:640px){.lb-stage{padding:4px}.lb-prev,.lb-next{top:auto;bottom:56px;background:rgba(0,0,0,.45)}}
