/* Cleaned and simplified stylesheet */
:root {
  --bg: #000;
  --fg: #fff;
  --muted: #cfcfcf;
  --max-width: 1200px;
}

* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; }
body {
  font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  background: var(--bg);
  color: var(--fg);
  -webkit-font-smoothing: antialiased;
}

.container { max-width: var(--max-width); margin: 28px auto; padding: 0 18px; }

/* Header */
.site-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.brand { display: flex; gap: 14px; align-items: center; }
.logo { width: 44px; height: 44px; padding: 5px; display: inline-grid; place-items: center; background: var(--fg); color: var(--bg); font-weight: 700; }
.title { font-size: 18px; letter-spacing: 0.04em; }

.main-nav { display: flex; gap: 8px; }
.btn { background: transparent; border: 1px solid var(--fg); color: var(--fg); padding: 8px 12px; text-decoration: none; display: inline-block; }
.btn:focus { outline: 2px solid var(--fg); outline-offset: 2px; }

/* Content */
.landing h1 { margin: 6px 0 8px; font-size: 22px; }
.landing p { color: var(--muted); max-width: 70ch; }

.gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 12px;
}

.thumb { display: block; background: #111; border: 1px solid #222; overflow: hidden; cursor: pointer; text-decoration: none; }
.thumb img { width: 100%; height: 180px; object-fit: cover; display: block; transition: transform .28s ease, filter .28s ease; }
.thumb:hover img { transform: scale(1.03); filter: brightness(.92); }
.meta { padding: 8px 10px; font-size: 12px; color: var(--muted); }

/* Panel (used on separate pages) */
.panel { transition: opacity .2s ease, transform .2s ease; }

/* Responsive */
@media (max-width: 900px) {
  .gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .gallery { grid-template-columns: 1fr; }
  .brand .title { display: none; }
}

/* Lightbox */
.lightbox {
  position: fixed; inset: 0; display: none; align-items: center; justify-content: center;
  background: rgba(0,0,0,0.92); z-index: 1200; padding: 24px;
}
.lightbox.open { display: flex; }
.lightbox img { max-width: 95%; max-height: 85%; transform: scale(.98); opacity: 0; transition: transform .28s cubic-bezier(.2,.9,.22,1), opacity .22s ease; }
.lightbox.open img { transform: scale(1); opacity: 1; }
.lightbox.fade-in { animation: lb-fade .26s ease; }

@keyframes lb-fade { from { background: rgba(0,0,0,0); } to { background: rgba(0,0,0,0.92); } }

.lb-controls { position: absolute; left: 0; right: 0; top: 18px; display: flex; justify-content: space-between; padding: 0 20px; }

.visually-hidden { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }
