*{box-sizing:border-box}body{margin:0;background:#111;color:#eee;font-family:Georgia,serif}
header{text-align:center;padding:48px 16px 24px}h1{margin:0;font-weight:400;letter-spacing:.15em;text-transform:uppercase}header p{color:#999;font-style:italic}
.grid{columns:4 260px;column-gap:18px;padding:0 24px 48px;max-width:1400px;margin:auto}
.card{break-inside:avoid;margin:0 0 18px;cursor:pointer;background:#1b1b1b;border-radius:6px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.card:hover,.card:focus{transform:translateY(-4px);box-shadow:0 12px 30px #000a;outline:none}
.card img{width:100%;display:block}.card .cap{padding:10px 14px;font-size:.95rem}.card .cap span{display:block;color:#888;font-size:.8rem;margin-top:2px}
.lb{position:fixed;inset:0;background:#000e;display:flex;align-items:center;justify-content:center;z-index:10}.lb[hidden]{display:none}
.lb figure{margin:0;display:flex;gap:28px;max-width:92vw;max-height:88vh;align-items:center}
.lb img{max-height:85vh;max-width:62vw;object-fit:contain;box-shadow:0 10px 40px #000}
figcaption{max-width:320px}figcaption h2{font-weight:400;margin-top:0}.meta{color:#aaa;font-style:italic}
.lb button{background:none;border:0;color:#fff;cursor:pointer;opacity:.7}.lb button:hover{opacity:1}
.close{position:absolute;top:12px;right:20px;font-size:2.5rem}.nav{font-size:4rem;padding:0 16px}
@media(max-width:800px){.lb figure{flex-direction:column}.lb img{max-width:80vw;max-height:60vh}figcaption{text-align:center}.nav{font-size:2.5rem;padding:0 4px}}
.site-nav{text-align:center;padding:20px 16px 0;font-size:.85rem;letter-spacing:.15em;text-transform:uppercase}.site-nav a{color:#999;text-decoration:none;padding:0 10px}.site-nav a:hover,.site-nav a[aria-current]{color:#eee}.site-nav span{color:#444}
.contact{max-width:560px;margin:0 auto 64px;padding:32px 24px;text-align:center;background:#1b1b1b;border-radius:6px}.contact h2{font-weight:400;letter-spacing:.08em;margin-top:0}.contact .email{color:#eee;font-size:1.2rem;text-decoration:none;border-bottom:1px solid #555}.contact .email:hover{border-color:#eee}

.shop{max-width:960px;margin:0 auto 64px;padding:0 24px}
.shop-lead{text-align:center;color:#aaa;line-height:1.5;max-width:640px;margin:0 auto 24px}.shop-lead a{color:#eee}
.shop-cta{text-align:center;margin:24px 0 40px}
.btn{display:inline-block;background:#eee;color:#111;text-decoration:none;padding:12px 22px;border-radius:4px;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-family:Georgia,serif}
.btn:hover{background:#fff}.btn.ghost{background:transparent;color:#eee;border:1px solid #555}.btn.ghost:hover{border-color:#eee}
.shop-h{font-weight:400;letter-spacing:.12em;text-transform:uppercase;font-size:1rem;margin:40px 0 16px;text-align:center;color:#ccc}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.product-card{background:#1b1b1b;border-radius:6px;padding:18px 16px}.product-card h3{margin:0 0 8px;font-weight:400;font-size:1.05rem}.product-card p{margin:0;color:#888;font-size:.9rem;line-height:1.4}
.merch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.merch{display:block;background:#1b1b1b;border-radius:6px;overflow:hidden;text-decoration:none;color:#eee;transition:transform .25s}.merch:hover{transform:translateY(-3px)}.merch img{width:100%;display:block;aspect-ratio:1;object-fit:cover}.merch span{display:block;padding:10px 12px;font-size:.9rem}
.ideas{max-width:640px;margin:0 auto;padding:0 0 8px 1.2em;color:#aaa;line-height:1.7}.ideas strong{color:#eee}
