:root{--bg:#f3ece0;--ink:#2a2420;--soft:#6d6158;--card:#fbf7f0;--acc:#b5562f;--gold:#c99a3c;--line:#d8ccb9}
[data-theme=dark]{--bg:#1c1916;--ink:#efe6d8;--soft:#b3a593;--card:#26221e;--line:#3d362f}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 "Plus Jakarta Sans",sans-serif;background-image:radial-gradient(rgba(120,90,60,.07) 1px,transparent 1px);background-size:5px 5px}
h1,h2,h3{font-family:Fraunces,serif;font-weight:400;line-height:1.08;margin:.2em 0}h1{font-size:clamp(2.6rem,6vw,5rem)}h1 em,h2 em{font-family:"Instrument Serif",serif;color:var(--acc)}h2{font-size:clamp(2rem,4vw,3.2rem)}
a{color:var(--acc)}.eyebrow{font-family:"Instrument Serif",serif;font-style:italic;font-size:1.25rem;color:var(--acc);margin:0}
.hdr{position:sticky;top:0;z-index:9;display:flex;align-items:center;gap:2rem;padding:.8rem 5vw;background:var(--bg);border-bottom:1px dashed var(--line)}.logo img{height:42px}.l-dark{display:none}[data-theme=dark] .l-dark{display:block}[data-theme=dark] .l-light{display:none}
nav{display:flex;gap:1.4rem;flex:1;flex-wrap:wrap}nav a{color:var(--ink);text-decoration:none}nav a:hover{text-decoration:underline wavy var(--acc)}.act{display:flex;gap:.5rem}.act button,.tabs button{background:none;border:1px solid var(--ink);color:var(--ink);border-radius:30px;padding:.4rem 1rem;cursor:pointer;font:inherit}
main>section{padding:5rem 5vw}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center}.lede{font-size:1.15rem;color:var(--soft);max-width:34em}
.h-img{margin:0;background:var(--card);padding:1rem 1rem 0;transform:rotate(2deg);box-shadow:0 18px 40px rgba(60,40,20,.15)}.h-img img{width:100%;display:block}figcaption{font-family:"Instrument Serif",serif;font-style:italic;padding:.6rem 0;color:var(--soft)}
.btn{display:inline-block;background:var(--acc);color:#fff8ee;border:0;border-radius:3px;padding:.85rem 1.5rem;text-decoration:none;font:600 1rem inherit;cursor:pointer;margin:.4rem .3rem 0 0}.btn.ghost{background:none;color:var(--ink);border:1px solid var(--ink)}
.story{display:grid;grid-template-columns:1fr 2fr;gap:3rem;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}.cols{columns:3 220px;gap:2rem}.cols p{break-inside:avoid;margin-top:0}
.s-head{max-width:40em;margin-bottom:2rem}.s-grid{display:grid;grid-template-columns:auto 1fr;gap:3rem;align-items:start}.paper{position:relative;background:var(--card);padding:1rem;transform:rotate(-1deg);box-shadow:0 12px 30px rgba(60,40,20,.15)}canvas{display:block;max-width:100%;cursor:grab}
.dpi{position:absolute;left:1.5rem;bottom:1.5rem;background:var(--bg);padding:.3rem .8rem;border-radius:20px;font-size:.85rem}.dpi.ok{background:#6b7a5a;color:#fff}.dpi.warn{background:var(--gold);color:#2a2420}
.ctrls label{display:block;margin:.9rem 0 .3rem;font-weight:500}.ctrls select,.ctrls input{display:block;width:100%;margin-top:.3rem;font:inherit;padding:.5rem;background:var(--card);color:var(--ink);border:1px solid var(--line)}.sw{display:flex;gap:.5rem}.sw button{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);cursor:pointer}.small{color:var(--soft)}.smp{background:none;border:0;color:var(--acc);text-decoration:underline;cursor:pointer;font:inherit}
.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.tabs .on{background:var(--ink);color:var(--bg)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2.2rem}.card{background:var(--card);padding:.8rem;box-shadow:0 6px 18px rgba(60,40,20,.08);transition:transform .3s}.card:nth-child(3n+1){transform:rotate(-.8deg)}.card:nth-child(4n+2){transform:rotate(.7deg) translateY(14px)}.card:hover{transform:rotate(0) translateY(-4px)}
.card figure{margin:0}.card img{width:100%;display:block}.cb h3{font-size:1.35rem}.cb p{color:var(--soft);margin:.2rem 0 .6rem;font-size:.92rem}.row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.price{font-family:Fraunces,serif;font-size:1.3rem;margin-right:auto}.add{background:var(--acc);color:#fff;border:0;padding:.45rem .9rem;border-radius:3px;cursor:pointer}.lnk{font-size:.88rem;width:100%}
.bgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem}.bgrid figure{margin:0;background:var(--card);padding:1rem}.bgrid img{width:100%}
#cart{position:fixed;right:1rem;top:5rem;width:320px;background:var(--card);padding:1.5rem;box-shadow:0 20px 50px rgba(0,0,0,.25);z-index:10}#cart ul{padding-left:1rem}
footer{padding:3rem 5vw;border-top:1px dashed var(--line);font-family:"Instrument Serif",serif;font-size:1.2rem;color:var(--soft)}
@media(max-width:820px){.hero,.story,.s-grid{grid-template-columns:1fr}nav{display:none}}
