/* Reset */
* { margin:0; padding:0; box-sizing:border-box; }
html, body { height:100%; background:#f7f7f5; color:#111; font-family:"Didot", "Helvetica Neue", Helvetica, Arial, sans-serif; overflow-x:hidden; }

/* Header */
.header { position:fixed; top:40px; left:40px; display:flex; flex-direction:column; gap:12px; z-index:10; }
.colophon { font-size:18px; letter-spacing:1.8px; font-weight:400; opacity:0.9; }
.main-menu { display:flex; gap:32px; }
.main-menu a { font-size:12px; letter-spacing:1.2px; font-weight:400; text-decoration:none; color:#111; opacity:0.7; transition:opacity 0.2s; }
.main-menu a:hover { opacity:1; }

/* Sections */
.section { padding:140px 40px 80px 40px; max-width:800px; margin:0 auto; }

/* Gallery */
.gallery { display:grid; grid-template-columns: repeat(auto-fill,minmax(250px,1fr)); gap:24px; padding:140px 40px 80px 40px; }
.gallery-item img { width:100%; height:auto; display:block; cursor:pointer; filter:blur(0.15px); border-radius:1px; box-shadow:0 0 40px rgba(0,0,0,0.04); }

/* Lightbox */
.lightbox { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.9); justify-content:center; align-items:center; z-index:9999; }
.lightbox-content { max-width:90%; max-height:90%; }
.close { position:absolute; top:20px; right:40px; color:#fff; font-size:36px; cursor:pointer; }

/* Paper grain overlay */
body::after { content:""; position:fixed; inset:0; pointer-events:none; background-image:url("grain.png"); opacity:0.04; z-index:999; }
