:root{
  --bg:#0c0e11; --panel:#12151a; --card:#171b21; --card2:#1d232c;
  --ink:#f1e9d2; --muted:#9aa3b2;
  --gold:#d4af37; --gold-lt:#f3d67a; --gold-dk:#8a6d1f;
  --steel:#2a2f37; --steel2:#434b57;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6}
h1,h2,h3,.serif{font-family:"Playfair Display",Georgia,"Times New Roman",serif}
a{color:var(--gold-lt)}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
/* nav */
nav{position:sticky;top:0;z-index:50;background:rgba(12,14,17,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--steel)}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;max-width:1100px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{height:44px;width:auto}
.brand .t{font-family:"Playfair Display",Georgia,serif;font-size:1.35rem;letter-spacing:.06em}
.brand .t span{color:var(--gold)}
.nav-links{display:flex;gap:22px}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.95rem;letter-spacing:.04em}
.nav-links a:hover,.nav-links a.active{color:var(--gold-lt)}
/* hero */
.hero{position:relative;text-align:center;padding:84px 20px 70px;background:radial-gradient(ellipse at 50% 0%,#1a1e26 0%,var(--bg) 65%)}
.hero .kicker{color:var(--gold);letter-spacing:.35em;text-transform:uppercase;font-size:.8rem;margin-bottom:18px}
.hero h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1.15;margin-bottom:16px}
.hero h1 em{color:var(--gold-lt);font-style:normal}
.hero p.lede{color:var(--muted);max-width:620px;margin:0 auto 30px;font-size:1.08rem}
.btn{display:inline-block;background:linear-gradient(180deg,var(--gold-lt),var(--gold));color:#191408;font-weight:700;padding:13px 30px;border-radius:6px;text-decoration:none;letter-spacing:.03em;border:1px solid var(--gold-dk)}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--gold-lt);border:1px solid var(--gold-dk)}
.hero .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-logo{height:120px;width:auto;margin-bottom:18px;filter:drop-shadow(0 4px 18px rgba(212,175,55,.25))}
/* sections */
section{padding:64px 0}
.sec-head{text-align:center;margin-bottom:36px}
.sec-head h2{font-size:2rem;margin-bottom:8px}
.sec-head h2 .g{color:var(--gold)}
.sec-head p{color:var(--muted);max-width:640px;margin:0 auto}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold-dk),transparent);border:0;margin:0}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.card{background:var(--card);border:1px solid var(--steel);border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .18s ease,border-color .18s ease}
.card:hover{transform:translateY(-4px);border-color:var(--gold-dk)}
.card .ph{aspect-ratio:1;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .body{padding:16px}
.card .cat{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.card h3{font-size:1.12rem;margin:6px 0 4px;font-weight:600}
.card .blurb{color:var(--muted);font-size:.9rem;min-height:2.6em}
.card .row{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.price{color:var(--gold-lt);font-weight:700;font-size:1.1rem}
.price small{display:block;color:var(--muted);font-weight:400;font-size:.7rem}
.signed{font-size:.72rem;color:var(--muted);border:1px solid var(--steel2);border-radius:20px;padding:2px 10px}
/* filters */
.filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}
.filters button{background:var(--card);color:var(--muted);border:1px solid var(--steel);border-radius:20px;padding:8px 18px;cursor:pointer;font-size:.9rem}
.filters button.on,.filters button:hover{color:#191408;background:var(--gold);border-color:var(--gold)}
/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.step{background:var(--panel);border:1px solid var(--steel);border-radius:10px;padding:28px 22px;text-align:center}
.step .n{font-family:"Playfair Display",Georgia,serif;font-size:2.4rem;color:var(--gold);margin-bottom:8px}
.step h3{margin-bottom:8px}
.step p{color:var(--muted);font-size:.95rem}
/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.about p{color:var(--muted);margin-bottom:14px}
.about .q{border-left:3px solid var(--gold);padding-left:18px;font-family:"Playfair Display",Georgia,serif;font-size:1.25rem;color:var(--ink);font-style:italic}
@media(max-width:760px){.about{grid-template-columns:1fr}}
/* notify */
.notify{background:var(--panel);border:1px solid var(--steel);border-radius:12px;padding:40px 30px;text-align:center;max-width:640px;margin:0 auto}
.notify h2{margin-bottom:8px}
.notify p{color:var(--muted);margin-bottom:20px}
.notify form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.notify input{padding:12px 16px;border-radius:6px;border:1px solid var(--steel2);background:var(--bg);color:var(--ink);font-size:1rem;min-width:220px}
.notify .msg{margin-top:14px;color:var(--gold-lt);min-height:1.4em}
/* footer */
footer{border-top:1px solid var(--steel);padding:34px 0;color:var(--muted);font-size:.9rem}
.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
/* modal */
.modal{position:fixed;inset:0;background:rgba(5,6,8,.88);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal.open{display:flex}
.modal-box{background:var(--card);border:1px solid var(--gold-dk);border-radius:12px;max-width:860px;width:100%;max-height:92vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr}
.modal-gal{position:relative;background:#000;min-height:320px}
.modal-gal img{width:100%;height:100%;object-fit:contain;display:block;max-height:70vh}
.modal-gal .nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(12,14,17,.7);border:1px solid var(--steel2);color:var(--gold-lt);font-size:1.4rem;width:42px;height:42px;border-radius:50%;cursor:pointer}
.modal-gal .prev{left:10px}.modal-gal .next{right:10px}
.modal-gal .count{position:absolute;bottom:10px;right:14px;color:var(--muted);font-size:.8rem;background:rgba(12,14,17,.7);padding:2px 10px;border-radius:12px}
.modal-info{padding:30px}
.modal-info .cat{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.modal-info h2{font-size:1.7rem;margin:8px 0 4px}
.modal-info .price{font-size:1.5rem;margin:12px 0}
.modal-info p.desc{color:var(--muted);margin-bottom:14px}
.modal-info .note{background:var(--panel);border-left:3px solid var(--gold);padding:10px 14px;font-size:.85rem;color:var(--muted);margin-bottom:14px}
.modal-close{position:absolute;top:14px;right:18px;background:none;border:0;color:var(--muted);font-size:1.8rem;cursor:pointer}
.modal-box{position:relative}
@media(max-width:760px){.modal-box{grid-template-columns:1fr}}
.disclaimer{font-size:.8rem;color:var(--muted);margin-top:26px;text-align:center;max-width:720px;margin-left:auto;margin-right:auto}
