:root{--bg:#f6f4ef;--card:#fff;--ink:#1d1c1a;--muted:#6f6a62;--line:#e4dfd6;--accent:#2f3a2e;--accent2:#263025;--sale:#8a3b22;--r:14px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}.narrow{max-width:720px}
h1,h2,h3{font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:0}
h1{font-size:clamp(2.1rem,6vw,3.6rem)}h2{font-size:clamp(1.5rem,3.5vw,2.2rem)}
.eyebrow{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:500}
.lead{font-size:1.12rem;color:var(--muted);max-width:60ch;margin:18px 0 0}
.fine{font-size:.85rem;color:var(--muted)}.fine a{color:inherit}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;background:var(--accent);color:#fff;text-decoration:none;font-weight:500;border:1px solid var(--accent);transition:background .15s}
.btn:hover{background:var(--accent2)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--ink)}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}.btn.sm{min-height:40px;padding:0 16px;font-size:.92rem}.btn.big,.btn.block{width:100%;min-height:54px;font-size:1.05rem}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.top{position:sticky;top:0;z-index:20;background:rgba(246,244,239,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:16px;height:64px}.logo{display:block;line-height:0}.logo svg{height:24px;width:auto}
.top nav{display:flex;gap:4px;margin-left:auto}.top nav a{text-decoration:none;padding:8px 10px;color:var(--muted);font-size:.95rem;border-radius:8px}.top nav a:hover,.top nav a[aria-current]{color:var(--ink)}
@media(max-width:640px){.bar{flex-wrap:wrap;height:auto;padding-top:12px}.top nav{order:3;width:100%;margin:0 -10px;padding-bottom:6px}.top .btn{margin-left:auto}.logo svg{height:21px}}
main{padding-bottom:72px}
.hero{display:grid;gap:28px;padding-top:36px;padding-bottom:40px}@media(min-width:900px){.hero{grid-template-columns:5fr 7fr;align-items:center;padding-top:64px;padding-bottom:72px}}
.feature{display:block;text-decoration:none;background:var(--card);border-radius:var(--r);overflow:hidden}
.feature .ph{aspect-ratio:4/3}.feature .fmeta{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:16px 18px}
.feature .fmeta p{margin:0}.feature .note{font-size:.85rem;color:var(--muted)}.feature .fname{font-weight:600;font-size:1.15rem}
.ph{position:relative;background:#efece6;overflow:hidden}.ph img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .5s}
a:hover .ph img{transform:scale(1.03)}
.badge{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:4px 10px;border-radius:999px;background:#fff;color:var(--ink);border:1px solid var(--line)}
.badge.g-nib{background:var(--accent);color:#fff;border-color:var(--accent)}.badge.g-b{background:#ebe5da;border-color:#ebe5da}
.ph .badge{position:absolute;top:12px;left:12px}
.grid{display:grid;gap:28px 20px;grid-template-columns:1fr}@media(min-width:560px){.grid{grid-template-columns:1fr 1fr}}@media(min-width:960px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{text-decoration:none;display:flex;flex-direction:column}.card .ph{aspect-ratio:4/3;border-radius:var(--r)}
.card .meta{padding:14px 2px 0}.card .sub{margin:0;font-size:.82rem;color:var(--muted)}.card h3{font-size:1.08rem;margin:3px 0 8px;letter-spacing:-.01em}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:0}.price b{font-size:1.1rem;font-weight:600}.price s{color:var(--muted);font-size:.9rem}.price .save{font-size:.82rem;color:var(--sale);font-weight:500}
.card .qty{margin:4px 0 0;font-size:.82rem;color:var(--muted)}.deal{margin:6px 0 0;font-size:.82rem;color:var(--accent);font-weight:500}
.band{padding-top:56px;padding-bottom:56px}.trio{display:grid;gap:16px}@media(min-width:800px){.trio{grid-template-columns:repeat(3,1fr)}}
.gcard{display:block;text-decoration:none;background:var(--card);border-radius:var(--r);padding:24px}.gcard h3{font-size:1.2rem;margin:18px 0 8px}.gcard p{margin:0;color:var(--muted);font-size:.93rem}
.more{margin:18px 0 0}.more a,.sechead a,.link{color:var(--ink);font-weight:500;text-decoration:none}
.sechead{display:flex;justify-content:space-between;align-items:end;margin:24px 0 28px}
.steps{padding:0;list-style:none;counter-reset:s;display:grid;gap:14px;margin:28px 0 0}.steps li{counter-increment:s;background:var(--card);border-radius:var(--r);padding:22px 22px 22px 64px;position:relative;color:var(--muted)}
.steps li:before{content:counter(s,decimal-leading-zero);position:absolute;left:22px;top:22px;font-weight:600;color:var(--accent)}.steps b{color:var(--ink);font-weight:600}
@media(min-width:800px){.steps.three{grid-template-columns:repeat(3,1fr)}}
.cta{background:var(--accent);color:#fff;border-radius:20px;padding:44px 28px;margin-top:24px;max-width:1160px}.cta p{color:#d6dccf;max-width:60ch}.cta .link{color:#fff}
.pagehead{padding:40px 0 8px}
.filters{display:grid;gap:12px;margin:28px 0 8px}.filters input{height:48px;border:1px solid var(--line);border-radius:999px;padding:0 18px;font:inherit;background:#fff;width:100%}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.chips button{flex:none;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:transparent;font:inherit;font-size:.9rem;color:var(--ink);cursor:pointer}
.chips button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.sort{font-size:.9rem;color:var(--muted)}.sort select{font:inherit;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fff;margin-left:6px}
.count{color:var(--muted);font-size:.9rem;margin:16px 0 20px}
.prose{padding-top:40px}.prose h2{margin:44px 0 12px;font-size:1.4rem}.prose p{margin:14px 0}.prose a{text-decoration-color:var(--line);text-underline-offset:3px}
.ticks{padding-left:20px;color:var(--muted)}.ticks li{margin:8px 0}
.facts{display:grid;grid-template-columns:1fr;gap:4px 24px;margin:32px 0;border-top:1px solid var(--line)}.facts dt{font-weight:600;padding-top:16px}.facts dd{margin:0;color:var(--muted);padding-bottom:16px;border-bottom:1px solid var(--line)}
@media(min-width:640px){.facts{grid-template-columns:140px 1fr}.facts dt,.facts dd{padding:16px 0;border-bottom:1px solid var(--line)}}
.gradeblock{display:grid;gap:16px;margin:36px 0}@media(min-width:800px){.gradeblock{grid-template-columns:repeat(3,1fr)}}.gradeblock .gcard a{display:inline-block;margin-top:16px;color:var(--ink);font-weight:500;font-size:.9rem}
.back{display:inline-block;margin:20px 0 12px;color:var(--muted);text-decoration:none;font-size:.9rem}
.piece{display:grid;gap:28px}@media(min-width:960px){.piece{grid-template-columns:7fr 5fr;gap:48px;align-items:start}.pinfo{position:sticky;top:88px}}
.gallery .ph{aspect-ratio:4/3;border-radius:var(--r)}.thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:8px}
.thumbs button{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#efece6;cursor:pointer;aspect-ratio:1}.thumbs button[aria-pressed=true]{border-color:var(--ink)}.thumbs img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pinfo .sub{color:var(--muted);font-size:.9rem;margin:14px 0 6px}.pinfo h1{font-size:clamp(1.8rem,4vw,2.5rem)}
.pinfo .price{margin-top:18px}.pinfo .price b{font-size:1.9rem}.pinfo .price s{font-size:1rem}
.avail{color:var(--muted);font-size:.92rem;margin:6px 0 0}
.dealbox{background:#ebe5da;border-radius:12px;padding:16px;margin-top:18px;font-size:.92rem}.dealbox p{margin:0}.dealbox a{display:inline-block;margin-top:8px;font-weight:500}
.pinfo .actions{margin-top:22px}.pinfo .btn.block{flex:1 1 100%}
.pinfo h2{font-size:1.1rem;margin:32px 0 8px;letter-spacing:-.01em}.pinfo .gd{color:var(--muted);font-size:.92rem}
.specs{margin:0;border-top:1px solid var(--line)}.specs div{display:flex;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.92rem}.specs dt{width:110px;flex:none;color:var(--muted)}.specs dd{margin:0}
.inc{padding-left:18px;margin:0;color:var(--muted)}
.related{margin-top:72px}.related h2{margin-bottom:24px}
.foot{border-top:1px solid var(--line);padding:40px 0 48px}.foot-row{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
.foot nav{display:flex;flex-wrap:wrap;gap:6px 20px}.foot nav a{text-decoration:none;color:var(--muted);font-size:.92rem}.foot .fine{margin:10px 0 0}
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(70px + env(safe-area-inset-bottom));background:rgba(246,244,239,.96);border-top:1px solid var(--line);display:flex;gap:12px;align-items:center}
.sticky .sp{font-weight:600;white-space:nowrap}.sticky .btn{flex:1}@media(min-width:960px){.sticky{display:none}}
body.has-sticky .foot{padding-bottom:170px}@media(min-width:960px){body.has-sticky .foot{padding-bottom:48px}}
.card .ph img,.feature .ph img{object-fit:cover}

.social svg{vertical-align:-2px}
.hhero{padding-top:28px;padding-bottom:24px;min-height:min(40vh,360px);display:flex;flex-direction:column;justify-content:center}.hhero h1{font-size:clamp(1.5rem,5vw,2.4rem);margin:0 0 18px;max-width:22ch}.hhero .actions{max-width:420px}.hhero .fine{margin:10px 0 0}
.hfilters{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-bottom:20px}.hfilters .chips{max-width:100%}
.hgrid{grid-template-columns:1fr 1fr;gap:22px 12px}@media(min-width:900px){.hgrid{grid-template-columns:repeat(3,1fr);gap:28px 20px}}@media(min-width:1200px){.hgrid{grid-template-columns:repeat(4,1fr)}}
.hcard{display:flex;flex-direction:column;min-width:0}.hcard .ph{position:relative}.hcard .badge{position:absolute;left:8px;top:8px}.hcard h3{font-size:.98rem}.hold{margin-top:8px;font-size:.88rem;font-weight:500;color:var(--accent)}
.hinfo{padding-top:40px;padding-bottom:40px;color:var(--muted)}.hinfo b{color:var(--ink)}
.hcard.sold img,.gallery.sold img{filter:grayscale(1);opacity:.55}.hcard.sold .meta{opacity:.6}.stamp{position:absolute;right:8px;top:8px;background:var(--sale);color:#fff;font-weight:700;letter-spacing:.1em;font-size:.8rem;padding:4px 10px;border-radius:6px}.stamp.inline{position:static;display:inline-block;margin:10px 0 0}
