
:root{
  --ink:#0c0a09; --ink-2:#151210; --line:#2a2421; --text:#e9e3dc; --muted:#a39a91;
  --ember:#ff6a2b; --ember-soft:#ffb38a; --ash:#6d655e;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:ui-sans-serif,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--text);font:17px/1.65 var(--sans)}
a{color:inherit}
a:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:2px}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px}

/* smoke: one slow, quiet layer behind the masthead */
.mast{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.mast::before{content:"";position:absolute;inset:-40% -10% auto -10%;height:140%;
  background:radial-gradient(60% 50% at 18% 70%,rgba(255,106,43,.16),transparent 70%),
             radial-gradient(40% 40% at 70% 30%,rgba(255,179,138,.07),transparent 70%);
  filter:blur(8px);animation:drift 26s ease-in-out infinite alternate;pointer-events:none}
@keyframes drift{to{transform:translate3d(4%,-6%,0) scale(1.06)}}
@media (prefers-reduced-motion:reduce){.mast::before{animation:none}}

nav{display:flex;justify-content:space-between;align-items:center;padding:22px 0;position:relative;font:13px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
nav .mark{display:flex;gap:10px;align-items:center;color:var(--text);text-decoration:none}
nav .mark svg,nav .mark img{width:22px;height:22px}
nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
nav ul a{text-decoration:none}
nav ul a:hover{color:var(--ember-soft)}

.hero{position:relative;padding:96px 0 88px;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:56px;align-items:end}
h1{font:400 clamp(44px,6.6vw,84px)/.98 var(--serif);letter-spacing:-.02em;margin:0}
h1 em{font-style:italic;color:var(--ember)}
.lede{font-size:19px;color:var(--muted);margin:0;max-width:34ch;text-wrap:pretty}
.lede strong{color:var(--text);font-weight:500}

section{padding:72px 0;border-bottom:1px solid var(--line)}
.label{font:12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ash);margin:0 0 28px}

/* the works: an index, not a card grid */
.works{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.works li{border-bottom:1px solid var(--line)}
.works a,.works .row{display:grid;grid-template-columns:3.2rem minmax(0,1.1fr) minmax(0,2fr) auto;gap:24px;align-items:baseline;padding:26px 4px;text-decoration:none;transition:background .25s}
.works a:hover{background:var(--ink-2)}
.works a:hover .name{color:var(--ember-soft)}
.works a:hover .go{transform:translateX(4px);color:var(--ember)}
.n{font:13px var(--mono);color:var(--ash)}
.name{font:400 28px/1.15 var(--serif);transition:color .25s}
.desc{color:var(--muted);text-wrap:pretty}
.desc .kind{display:block;font:12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ash);margin-bottom:6px}
.go{font:14px var(--mono);color:var(--muted);transition:transform .25s,color .25s;white-space:nowrap}

.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}
.two h2{font:400 34px/1.15 var(--serif);margin:0 0 18px}
.two p{color:var(--muted);margin:0 0 14px;text-wrap:pretty}
.two p strong{color:var(--text);font-weight:500}
code{font:15px var(--mono);color:var(--ember-soft)}

footer{padding:40px 0 56px;color:var(--ash);font:13px/1.6 var(--mono);display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
footer a{text-decoration:none}
footer a:hover{color:var(--ember-soft)}

@media (max-width:820px){
  .hero{grid-template-columns:1fr;gap:28px;padding:64px 0 56px}
  .two{grid-template-columns:1fr;gap:40px}
  .works a,.works .row{grid-template-columns:2.2rem minmax(0,1fr) auto;gap:6px 16px}
  .works .desc{grid-column:2 / 4}
  .works .go{grid-row:1;grid-column:3}
  nav ul{gap:14px}
}
@media (max-width:480px){nav ul li:not(:first-child):not(:last-child){display:none}.wrap{padding:0 20px}}

nav{flex-wrap:wrap;gap:20px}nav ul{flex-wrap:wrap}
.banner{margin:0;padding:10px 0;background:#2a1408;color:var(--ember-soft);font:12px/1.5 var(--mono);text-align:center;border-bottom:1px solid #79432b}
.shop-head{padding:56px 0 30px}.shop-head h1{font-size:clamp(40px,6vw,68px)}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.filters a{font:12px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;border:1px solid var(--line);padding:9px 12px;color:var(--muted)}.filters a:hover{color:var(--ember-soft);border-color:#79432b}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 22px;list-style:none;margin:0;padding:0}
.grid a{text-decoration:none;display:block}.grid img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#f2f2f2;display:block;border:1px solid var(--line)}
.grid h3{font:400 19px/1.25 var(--serif);margin:12px 0 4px}.grid .meta{font:12px/1.6 var(--mono);color:var(--muted)}.price{color:var(--ember-soft);font:13px/1.6 var(--mono)}
.kind{padding:28px 0 0;border:0}.kind h2{font:400 30px/1.2 var(--serif);margin:0 0 18px}
.product{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;padding:48px 0 72px}
.gallery-main img{width:100%;height:auto;display:block;background:#f2f2f2;border:1px solid var(--line)}
.gallery-main{min-width:0;position:relative}.zoom-stage{position:relative;cursor:zoom-in}.zoom-lens{position:absolute;left:0;top:0;display:none;border:1px solid var(--ember);background:rgba(255,255,255,.18);pointer-events:none}
.zoom-pane{display:none;position:absolute;left:calc(100% + 24px);top:0;width:100%;aspect-ratio:1;background:#f2f2f2 no-repeat;border:1px solid var(--line);z-index:5;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.zoom-stage.zooming .zoom-lens,.zoom-stage.zooming .zoom-pane{display:block}
.zoom-btn{position:absolute;right:10px;bottom:10px;min-height:44px;padding:0 14px;background:rgba(12,10,9,.78);color:var(--text);border:1px solid var(--line);font:12px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.zv{position:fixed;inset:0;z-index:50;background:#0c0a09;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}.zv[hidden]{display:none}
.zv img{max-width:100vw;max-height:100vh;max-height:100dvh;width:auto;height:auto;object-fit:contain;transform-origin:center;touch-action:none;user-select:none;cursor:grab;background:#f2f2f2}
.zv-close,.zv-nav{position:absolute;z-index:2;min-width:48px;min-height:48px;background:rgba(12,10,9,.8);color:var(--text);border:1px solid var(--line);font:28px/1 var(--mono);cursor:pointer}
.zv-close{top:max(12px,env(safe-area-inset-top));right:12px}.zv-prev{left:8px;top:50%}.zv-next{right:8px;top:50%}
.zv-cap{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:92vw;text-align:center;margin:0;padding:6px 12px;background:rgba(12,10,9,.85);border:1px solid var(--line);font:12px/1.4 var(--mono);color:var(--text);pointer-events:none}
@media(hover:none),(pointer:coarse){.zoom-lens,.zoom-pane{display:none!important}}
@media(max-width:900px){.zoom-pane{display:none!important}}.gal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}.gal-bar .cap{font:12px/1.4 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.gal-bar button{min-width:44px;min-height:44px;background:none;border:1px solid var(--line);color:var(--text);font:18px/1 var(--mono);cursor:pointer}.gal-bar button:hover{border-color:#79432b;color:var(--ember-soft)}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin:0;padding:0;list-style:none}.thumbs button{padding:0;border:2px solid var(--line);background:#f2f2f2;cursor:pointer;width:100%;aspect-ratio:1;display:block}.thumbs button[aria-pressed=true]{border-color:var(--ember)}.thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.shop-sec{padding:56px 0 64px}.shop-sec .lede{max-width:60ch;margin:0 0 26px}
.preview-options{display:flex;flex-wrap:wrap;gap:18px;margin:24px 0}.preview-options label{display:flex;flex-direction:column;gap:8px;font:14px var(--mono)}.preview-options select{min-width:110px;min-height:44px;padding:8px 12px;color:var(--text);background:var(--ink-2);border:1px solid var(--line);font:16px var(--mono)}.artwork-preview{max-width:700px;aspect-ratio:auto;min-height:320px}.meaning{font-size:17px;line-height:1.65;max-width:65ch}
.opt-static{display:flex;flex-direction:column;gap:8px;margin:0;font:14px var(--mono)}.opt-static .opt-val{min-height:44px;min-width:110px;box-sizing:border-box;display:flex;align-items:center;padding:8px 12px;font:16px var(--mono);color:var(--text);border:1px dashed var(--line)}
.product-links{display:flex;flex-direction:column;gap:8px;font:14px var(--mono)}.product-links ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.product-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);text-decoration:none;color:var(--muted);font:14px var(--mono)}.product-links a[aria-current]{border-color:var(--ember);color:var(--ember-soft)}footer{flex-wrap:wrap;gap:18px}footer span{overflow-wrap:anywhere}
.product h1{font-size:clamp(34px,4.6vw,52px);margin:0 0 8px}.opts{border:0;padding:0;margin:22px 0}.opts legend{font:12px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips label{position:relative}.chips input{position:absolute;opacity:0;inset:0}.chips span{display:inline-block;min-width:52px;text-align:center;border:1px solid var(--line);padding:14px 14px;min-height:44px;font:14px/1 var(--mono);cursor:pointer}
.chips input:checked+span{border-color:var(--ember);color:var(--ember-soft)}.chips input:focus-visible+span{outline:2px solid var(--ember);outline-offset:2px}
.qty{width:72px;padding:10px;background:var(--ink-2);color:var(--text);border:1px solid var(--line);font:15px var(--mono)}
.btn{display:inline-block;background:var(--ember);color:#120a05;border:0;padding:14px 22px;font:600 15px/1 var(--sans);cursor:pointer;text-decoration:none}.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn.ghost{background:none;color:var(--text);border:1px solid var(--line)}
.note{color:var(--muted);font-size:14px}.status{min-height:1.6em;color:var(--ember-soft);font:13px/1.6 var(--mono)}
table.cart{width:100%;border-collapse:collapse;margin:20px 0}.cart td,.cart th{border-bottom:1px solid var(--line);padding:12px 8px;text-align:left;vertical-align:middle}.cart img{width:64px;height:64px;object-fit:cover;background:#f2f2f2}
.cart .num{text-align:right;font-family:var(--mono)}.totals{margin-left:auto;max-width:340px;font:15px/2 var(--mono)}.totals div{display:flex;justify-content:space-between}
.crumbs{padding:22px 0 0}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 0;font:12px/1.6 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.crumbs li{min-width:0;overflow-wrap:anywhere}.crumbs li+li::before{content:"/";margin:0 10px;color:var(--ash)}.crumbs a{text-decoration:none;color:var(--muted)}.crumbs a:hover{color:var(--ember-soft)}.crumbs [aria-current]{color:var(--text)}
.filters a[aria-current]{color:var(--ember-soft);border-color:var(--ember)}.filters.brand-bar{margin-bottom:22px}.filters.fit{margin-bottom:22px}.filters .fl{flex:0 0 100%;font:12px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.filters a[hidden],.grid li[hidden],.kind[hidden]{display:none}
.brand{padding:8px 0 30px}.brand-h{font:400 30px/1.2 var(--serif);margin:0 0 18px}.collab{color:var(--ember-soft);text-transform:uppercase;letter-spacing:.08em}
.dart{aspect-ratio:1;background:#050505;display:flex;align-items:center;justify-content:center;padding:18px;border:1px solid var(--line)}.dart.white{background:#f1eeea}
.dart img,.grid .dart img{width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:auto;object-fit:contain;border:0;background:none}
.dhead{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:36px;align-items:center}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product{grid-template-columns:1fr;gap:28px}.dhead{grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:22px}}
@media(max-width:480px){.dhead{grid-template-columns:1fr;gap:18px}.dhead .dart{width:100%;max-width:340px;margin:0 auto}}
@media(max-width:480px){.grid{gap:26px 14px}.grid h3{font-size:16px}.cart .hide-s{display:none}.product{padding-top:24px}
.thumbs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.thumbs li{flex:0 0 56px;scroll-snap-align:start}}
