:root{--rose:#7a4a48;--gold:#b89a62;--gold-l:#d9c39a;--cream:#fbf7f1;--ink:#4a3a35;--blush:#f6ebe6}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'EB Garamond',Georgia,serif;font-size:19px;line-height:1.75;font-weight:400}
img{max-width:100%;display:block}
h1,h2,h3{font-family:'Cormorant Garamond','Playfair Display',serif;font-weight:400;color:var(--rose);line-height:1.12;margin:0 0 .35em;letter-spacing:.02em}
h2{font-size:clamp(2rem,3.6vw,2.8rem)}
.sc{font-family:'Cormorant SC',serif;letter-spacing:.32em;color:var(--gold);font-size:.82rem;text-transform:lowercase}
.it{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:#8a6b60;font-weight:400}
a{color:var(--rose)}
header{position:sticky;top:0;z-index:10;background:rgba(251,247,241,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(184,154,98,.35)}
.nav{max-width:1240px;margin:auto;display:flex;flex-direction:column;align-items:center;padding:18px 24px 12px;gap:6px}
.brand{font-family:'Cormorant Garamond',serif;font-size:1.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rose);text-decoration:none;white-space:nowrap;font-weight:400}
.brand em{font-style:italic;text-transform:lowercase;letter-spacing:.05em;color:var(--gold)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:38px;flex-wrap:wrap;justify-content:center}
.nav ul a{text-decoration:none;font-family:'Cormorant SC',serif;letter-spacing:.3em;color:var(--ink);font-size:.86rem;padding-bottom:3px;border-bottom:1px solid transparent}
.nav ul a:hover,.nav ul a.on{color:var(--gold);border-bottom-color:var(--gold)}
.hero{position:relative;min-height:min(86vh,820px);display:flex;align-items:center;justify-content:center;background:#3a2a22 url(img/hero.jpg) center 40%/cover}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(251,247,241,.0) 0%,rgba(40,25,20,.15) 55%,rgba(30,18,14,.5) 100%),linear-gradient(180deg,rgba(30,18,14,.1),rgba(30,18,14,.35))}
.plate{position:relative;z-index:1;text-align:center;max-width:720px;padding:50px 56px;background:rgba(251,247,241,.82);backdrop-filter:blur(2px);margin:0 20px}
.plate:before,.plate:after{content:"";position:absolute;inset:10px;border:1px solid var(--gold-l);pointer-events:none}
.plate:after{inset:14px;border-color:rgba(184,154,98,.35)}
.plate h1{font-size:clamp(2.6rem,6vw,4.6rem);letter-spacing:.06em;font-weight:300}
.btn{display:inline-block;background:transparent;color:var(--rose);text-decoration:none;font-family:'Cormorant SC',serif;letter-spacing:.3em;font-size:.85rem;padding:13px 34px;border:1px solid var(--gold);transition:.35s}
.btn:hover{background:var(--rose);border-color:var(--rose);color:var(--cream)}
.btn.ghost{border-color:var(--gold-l)}
.todo-tag{display:block;font-family:monospace;font-size:.66rem;letter-spacing:0;color:#b0603a;margin-top:8px}
section{max-width:1240px;margin:auto;padding:110px 32px}
.center{text-align:center}.lead{max-width:640px;margin:0 auto 60px}
.rule{border:0;height:14px;width:180px;margin:18px auto 26px;background:linear-gradient(var(--gold),var(--gold)) left center/70px 1px no-repeat,linear-gradient(var(--gold),var(--gold)) right center/70px 1px no-repeat;position:relative}
.rule:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border:1px solid var(--gold);transform:translate(-50%,-50%) rotate(45deg)}
.vig{max-width:460px;margin:0 auto 4px;mix-blend-mode:multiply;opacity:.9}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,262px));justify-content:center;gap:64px 44px}
.card{display:flex;flex-direction:column;text-align:center;background:none;border:0}
.card img{aspect-ratio:3/4;object-fit:cover;width:100%;padding:8px;border:1px solid var(--gold-l);background:#fff;transition:transform .6s ease}
.card:hover img{transform:scale(1.015)}
.card.wide img{aspect-ratio:4/3}
.card .body{padding:26px 6px 0;display:flex;flex-direction:column;flex:1;align-items:center}
.card h3{font-size:1.6rem}.card p{font-size:1rem;margin:.2em 0 1em;flex:1;color:#6a5750;max-width:34ch}
.price{font-family:'Cormorant Garamond',serif;font-size:1.45rem;color:var(--gold);margin-bottom:16px;letter-spacing:.06em}
.price s{color:#b5a59a;font-size:1rem;margin-left:8px}
.soon{position:relative}.soon .ribbon{position:absolute;top:22px;left:50%;transform:translateX(-50%);background:rgba(251,247,241,.92);border:1px solid var(--gold-l);padding:3px 16px;white-space:nowrap}
.soon img{filter:saturate(.85)}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}
.split img{padding:10px;border:1px solid var(--gold-l);background:#fff}
.band{background:var(--blush);max-width:none}.band>div{max-width:1240px;margin:auto;padding:0 32px}
section.band{padding-left:0;padding-right:0}
#printables>h2,#merch h2,#supplies>h2,#candy h2{text-align:center}
#printables>p,#merch p:first-of-type,#supplies>p,#candy p:first-of-type{text-align:center;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:#8a6b60;margin-bottom:56px}
.pagehead{padding:96px 24px 0;text-align:center}
.pagehead h1{font-size:clamp(2.6rem,5vw,4rem);font-weight:300;letter-spacing:.04em}
.prose{max-width:720px;margin:auto}.prose h2{font-size:1.9rem;margin-top:1.8em}
.prose .box{border-top:1px solid var(--gold-l);border-bottom:1px solid var(--gold-l);padding:22px 4px;text-align:center}
footer{background:#f3e7df;color:var(--ink);text-align:center;padding:70px 24px 50px;font-size:.95rem;border-top:1px solid var(--gold-l)}
footer a{color:var(--rose);text-decoration:none;margin:0 14px;font-family:'Cormorant SC',serif;letter-spacing:.25em;font-size:.85rem}
footer .brand{display:block;margin-bottom:6px}
@media(max-width:760px){body{font-size:17px}.split{grid-template-columns:1fr;gap:36px}.nav ul{gap:18px}.brand{font-size:1.25rem;letter-spacing:.14em}section{padding:70px 22px}.band>div{padding:0 22px}.hero{min-height:560px}.plate{padding:36px 26px}.grid{gap:56px}}
@media(max-width:760px){.grid{grid-template-columns:minmax(0,340px)}.hero{align-items:flex-end;padding-bottom:30px}.plate{background:rgba(251,247,241,.88)}}
@media(min-width:1000px){#printables .grid{grid-template-columns:repeat(4,minmax(0,250px));gap:56px 36px}}
/* Hero: text directly on painting, no panel */
.hero:after{background:radial-gradient(ellipse 60% 55% at 50% 52%,rgba(25,14,10,.55) 0%,rgba(25,14,10,.28) 55%,rgba(25,14,10,.12) 100%),linear-gradient(180deg,rgba(25,14,10,.15),rgba(25,14,10,.35))}
.hero .plate{background:none;backdrop-filter:none;border:0;padding:20px}
.hero .plate:before,.hero .plate:after{display:none}
.hero .plate h1{color:#fbf3e6;text-shadow:0 2px 18px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.4)}
.hero .plate .sc{color:#e8d3a6;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.hero .plate .it{color:#f3e6d3;text-shadow:0 1px 10px rgba(0,0,0,.65)}
.hero .rule{background:linear-gradient(#e2c995,#e2c995) left center/70px 1px no-repeat,linear-gradient(#e2c995,#e2c995) right center/70px 1px no-repeat}
.hero .rule:after{border-color:#e2c995}
.hero .btn{color:#fbf3e6;border-color:#e2c995;text-shadow:0 1px 4px rgba(0,0,0,.5);background:rgba(25,14,10,.15)}
.hero .btn:hover{background:#fbf3e6;color:var(--rose);text-shadow:none}
@media(max-width:760px){.hero{align-items:center;padding-bottom:0}.hero .plate{background:none}}
.hero .plate{max-width:980px}
@media(min-width:761px){.hero .plate h1{white-space:nowrap}}
@media(max-width:760px){.hero .plate .sc{letter-spacing:.18em;font-size:.72rem}}
