:root {
  --bg: #0b0d0e;
  --surface: #121417;
  --brand: #d1a575;
  --text: #f0f2f5;
  --transition: all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

body {
  margin: 0; background: var(--bg); color: var(--text);
  font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased;
}

.container { width: min(1200px, 90%); margin: 0 auto; }

.display { font-size: clamp(2.5rem, 8vw, 5rem); font-family: 'Playfair Display', serif; }

.grid { display: grid; gap: 2rem; }
.gallery { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }

img { width: 100%; height: auto; border-radius: 12px; display: block; content-visibility: auto; }

.reveal { opacity: 0; transform: translate3d(0, 30px, 0); transition: var(--transition); }
.reveal.visible { opacity: 1; transform: translate3d(0, 0, 0); }

.site-header { position: sticky; top: 0; background: rgba(11, 13, 14, 0.8); backdrop-filter: blur(10px); z-index: 100; padding: 1rem 0; }

.custom-cursor { 
  position: fixed; width: 10px; height: 10px; background: var(--brand); 
  border-radius: 50%; pointer-events: none; z-index: 9999; mix-blend-mode: difference;
}

.lightbox { position: fixed; inset: 0; background: rgba(0,0,0,0.9); display: flex; align-items: center; justify-content: center; z-index: 2000; }
.lightbox[hidden] { display: none; }