/* Shop (coming soon): product grid, stamp, chips, hash highlight. Uses styles.css variables. */
.shop-page{padding-top:64px}
.shop-hero{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:center;padding-bottom:42px;border-bottom:1px solid var(--line)}
.shop-hero h1{font-size:clamp(46px,6.6vw,88px);line-height:.93;letter-spacing:-.06em;margin:18px 0 26px;max-width:860px}
.shop-hero h1 em{font-style:normal;color:var(--accent)}
.shop-small{font-size:14px;color:var(--muted);max-width:620px}
.shop-small a{color:var(--ink)}
.shop-stamp{justify-self:center;display:grid;place-items:center;text-align:center;width:250px;height:250px;border-radius:50%;border:5px double var(--accent);color:var(--accent);transform:rotate(-11deg);background:rgba(255,253,248,.6);box-shadow:inset 0 0 0 9px rgba(255,253,248,.6),inset 0 0 0 11px var(--accent);padding:30px;animation:shop-stamp .5s cubic-bezier(.2,1.6,.4,1) both .2s;mix-blend-mode:multiply}
.shop-stamp span{font:900 22px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.3em;text-transform:uppercase;margin-left:.3em}
.shop-stamp strong{font:900 64px/.85 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.05em;text-transform:uppercase;margin:4px 0 8px}
.shop-stamp small{font:800 9.5px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;border-top:2px solid var(--accent);padding-top:7px}
@keyframes shop-stamp{from{opacity:0;transform:rotate(-24deg) scale(1.6)}to{opacity:1;transform:rotate(-11deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.shop-stamp{animation:none}.shop-card{transition:none}}

.shop-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin:34px 0 26px}
.shop-chips{display:flex;gap:8px;flex-wrap:wrap}
.shop-chip{font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em;text-transform:uppercase;padding:10px 13px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.shop-chip span{color:var(--muted);margin-left:4px}
.shop-chip:hover,.shop-chip:focus-visible{transform:translateY(-2px);box-shadow:0 4px 0 var(--ink);outline:none}
.shop-chip[aria-pressed="true"]{background:var(--ink);color:#fff}
.shop-chip[aria-pressed="true"] span{color:#bdb6a8}
.shop-count{margin:0}

.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px;align-items:stretch}
.shop-card{position:relative;background:var(--paper);border:1px solid var(--ink);box-shadow:0 8px 0 var(--ink);display:flex;flex-direction:column;scroll-margin-top:40px;transition:transform .15s ease,box-shadow .15s ease}
.shop-card[hidden]{display:none}
.shop-card:hover{transform:translateY(-3px);box-shadow:0 11px 0 var(--ink)}
.shop-img{aspect-ratio:1/1;background:#f3f0e9;border-bottom:1px solid var(--ink);overflow:hidden}
.shop-img img{display:block;width:100%;height:100%;object-fit:cover}
.shop-copy{padding:20px 20px 18px;display:flex;flex-direction:column;flex:1}
.shop-copy h2{font-size:23px;line-height:1.08;letter-spacing:-.025em;margin:9px 0 9px}
.shop-blurb{color:#403c35;font-size:15px;margin-bottom:12px}
.shop-from{font-size:13px;color:var(--muted);margin-bottom:16px}
.shop-from span{font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-right:2px}
.shop-from a{color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:2px}
.shop-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px dashed var(--line);padding-top:14px}
.shop-who{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font-weight:750;font-size:14px;line-height:1.1;min-width:0}
.shop-who small{display:block;font:800 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800}
.shop-who em{font-style:normal;font-weight:500;color:var(--muted);font-size:12px}
a.shop-who:hover span{text-decoration:underline;text-decoration-color:var(--accent)}
.shop-face{flex:none;display:block;width:38px;height:38px;border-radius:50%;border:1px solid var(--ink)}
.shop-face-fallback{display:grid;place-items:center;background:var(--ink);color:#fff;font:800 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}
.shop-buy{flex:none;font:800 10px/1.15 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase;padding:10px 11px;max-width:150px;text-align:center;border:1px dashed var(--muted);background:transparent;color:var(--muted);cursor:not-allowed}
.shop-anchor{position:absolute;top:10px;right:10px;z-index:1;display:grid;place-items:center;width:28px;height:28px;background:var(--paper);border:1px solid var(--ink);color:var(--ink);text-decoration:none;font:800 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace;opacity:0;transition:opacity .12s ease}
.shop-card:hover .shop-anchor,.shop-anchor:focus-visible{opacity:1}
.shop-card.is-target{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent),0 10px 0 var(--ink);animation:shop-pulse 1.1s ease 2}
.shop-card.is-target::before{content:"You were sent here";position:absolute;top:-13px;left:16px;z-index:2;background:var(--accent);color:#fff;font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em;text-transform:uppercase;padding:6px 9px}
@keyframes shop-pulse{50%{box-shadow:0 0 0 9px rgba(241,75,42,.25),0 10px 0 var(--ink)}}
.shop-fineprint h2{max-width:820px;margin-bottom:22px}

@media(max-width:1000px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-hero{grid-template-columns:1fr 230px}.shop-stamp{width:210px;height:210px;padding:24px}.shop-stamp strong{font-size:52px}}
@media(max-width:640px){.shop-page{padding-top:40px}.shop-hero{grid-template-columns:1fr;gap:10px}.shop-stamp{order:-1;justify-self:end;width:150px;height:150px;padding:16px;margin:-6px 0 -30px;border-width:4px;box-shadow:inset 0 0 0 6px rgba(255,253,248,.6),inset 0 0 0 8px var(--accent)}.shop-stamp span{font-size:13px}.shop-stamp strong{font-size:36px;margin:3px 0 5px}.shop-stamp small{font-size:7px;padding-top:5px}.shop-grid{grid-template-columns:1fr;gap:24px}.shop-bar{margin:26px 0 20px}.shop-copy h2{font-size:22px}.shop-hero .lede{font-size:18px}}
