:root{--cream:#f8f1e5;--cream2:#efe3cf;--amber:#c9822b;--amber2:#e9a94b;--char:#2e2a27;--muted:#6f655c}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font-family:"Helvetica Neue",Arial,sans-serif;background:var(--cream);color:var(--char);line-height:1.6}
h1,h2,h3,.logo{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:500}
em{color:var(--amber);font-style:italic}
.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:18px 6vw;background:rgba(248,241,229,.95);border-bottom:1px solid var(--cream2)}
.logo{font-size:1.5rem;color:var(--char);text-decoration:none;display:flex;align-items:center;gap:8px}
.flame{width:22px;fill:var(--amber)}
nav a{margin-right:22px;color:var(--char);text-decoration:none}nav{display:flex;align-items:center}
.cart-btn,.btn{background:var(--char);color:var(--cream);border:0;padding:12px 24px;border-radius:30px;cursor:pointer;font-size:.95rem;text-decoration:none;display:inline-block}
.btn:hover,.cart-btn:hover{background:var(--amber)}.full{width:100%}
section{padding:90px 6vw}h2{font-size:2.4rem;text-align:center}.sub{text-align:center;color:var(--muted);margin:10px auto 40px;max-width:560px}
.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;min-height:680px;background:radial-gradient(circle at 75% 50%,#f6d9a8,var(--cream) 60%)}
.eyebrow{letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;color:var(--amber)}
.hero h1{font-size:clamp(3rem,7vw,5.5rem);line-height:1.05;margin:12px 0}.tagline{font-size:1.25rem;color:var(--muted);margin-bottom:30px}
.hero-art,.about-art{display:flex;justify-content:center}
.jar{position:relative;width:140px;height:170px;border-radius:14px 14px 22px 22px;background:linear-gradient(180deg,var(--c,#d9a35b) 0 18%,#f3e6cf 18%);box-shadow:inset 0 0 0 6px rgba(255,255,255,.35),0 20px 40px rgba(46,42,39,.2)}
.jar.big{width:220px;height:270px}
.wick{position:absolute;left:50%;top:-14px;width:3px;height:18px;background:var(--char);transform:translateX(-50%)}
.glow{position:absolute;left:50%;top:-58px;width:26px;height:46px;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 70%,#fff6d0,var(--amber2) 50%,transparent 72%);border-radius:50% 50% 45% 45%;animation:flick 2.5s infinite ease-in-out}
.big .glow{width:36px;height:64px;top:-78px}
@keyframes flick{50%{transform:translateX(-50%) scale(1.06,.94) rotate(2deg)}}
.label{position:absolute;bottom:28%;left:15%;right:15%;padding:6px;background:var(--cream);border:1px solid var(--char);font-family:Georgia,serif;font-size:.7rem;text-align:center}
.featured{background:var(--char);color:var(--cream)}.featured .sub{color:#cbbfae}
.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}.feature-row h3{color:var(--amber2);font-size:1.4rem}
.note{font-style:italic;background:var(--cream2);display:table;padding:6px 16px;border-radius:20px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.card{background:#fffaf2;border-radius:18px;padding:24px;text-align:center;box-shadow:0 6px 20px rgba(46,42,39,.07);transition:.2s}
.card:hover{transform:translateY(-4px)}
.card .art{height:240px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:20px;background:var(--cream2);border-radius:12px;margin-bottom:18px;cursor:pointer}
.card h3{font-size:1.4rem}.scent{color:var(--muted);font-size:.9rem}.price{font-weight:600;margin:8px 0 14px}
.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--amber)}
.card .row{display:flex;gap:10px;justify-content:center}.ghost{background:transparent;color:var(--char);border:1px solid var(--char)}
.about{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:center;background:var(--cream2)}.about h2{text-align:left;margin-bottom:16px}.about p{font-size:1.1rem;color:var(--muted)}
.signup{text-align:center}.signup form{display:flex;gap:10px;justify-content:center;margin-top:24px;flex-wrap:wrap}
input{padding:12px 20px;border-radius:30px;border:1px solid #cbbfae;min-width:280px;font-size:1rem;background:#fffaf2}
.msg{color:var(--amber);margin-top:12px;font-size:.9rem}
footer{background:var(--char);color:#cbbfae;text-align:center;padding:40px}footer .logo{color:var(--cream);justify-content:center}
.overlay,.scrim{position:fixed;inset:0;background:rgba(46,42,39,.5);z-index:10}.hidden{display:none}
.overlay{display:flex;align-items:center;justify-content:center}.overlay.hidden{display:none}
.modal{background:var(--cream);border-radius:20px;max-width:760px;width:92%;padding:36px;position:relative}
.modal-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:center}.modal-grid .art{display:flex;justify-content:center;padding-top:60px}
.modal h2{text-align:left}
.close{position:absolute;top:14px;right:18px;background:none;border:0;font-size:1.8rem;cursor:pointer}
.cart{position:fixed;top:0;right:0;height:100%;width:380px;max-width:100%;background:var(--cream);z-index:20;transform:translateX(100%);transition:.3s;display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(0,0,0,.15)}
.cart.open{transform:none}.cart-head{padding:24px;border-bottom:1px solid var(--cream2);position:relative}
#cartItems{flex:1;overflow:auto;padding:16px 24px}
.ci{display:flex;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--cream2)}
.dot{width:40px;height:48px;border-radius:6px;flex:none}.ci .info{flex:1}.qty{display:flex;align-items:center;gap:8px;margin-top:4px}
.qty button{width:26px;height:26px;border-radius:50%;border:1px solid var(--char);background:none;cursor:pointer}
.rm{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font-size:.8rem}
.cart-foot{padding:24px;border-top:1px solid var(--cream2)}.cart-foot p:first-child{display:flex;justify-content:space-between;margin-bottom:14px}
@media(max-width:860px){.hero,.about,.modal-grid{grid-template-columns:1fr;text-align:center}.hero{padding-top:50px}.grid{grid-template-columns:repeat(2,1fr)}.about h2{text-align:center}nav a{display:none}}
@media(max-width:560px){.grid,.feature-row{grid-template-columns:1fr}input{min-width:0;width:100%}}
.melts{background:#f3e7d3}section{scroll-margin-top:70px}
.grid.two{grid-template-columns:repeat(2,minmax(0,360px));justify-content:center}
.pie{width:190px;filter:drop-shadow(0 12px 14px rgba(46,42,39,.25))}
.card .art.pie-art{align-items:center;padding:0}
.modal-grid .art .pie{width:230px}
.tbd{font-size:.8rem;color:var(--muted);font-weight:400}
@media(max-width:560px){.grid.two{grid-template-columns:1fr}}
.card .art.photo-art{padding:0;overflow:hidden}
.photo{width:100%;height:100%;object-fit:cover;display:block}
.modal-grid .art .photo{width:100%;max-width:320px;border-radius:14px;aspect-ratio:1}
.modal-grid .art:has(.photo){padding-top:0}
.card .art{position:relative}
.badge{display:inline-block;background:var(--char);color:var(--cream);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:20px}
.card .badge{position:absolute;top:12px;left:12px}.modal .badge{margin-bottom:8px}
.soon-btn,.soon-btn:hover{background:#cbbfae;color:#fff;cursor:not-allowed}
.card .price:empty{display:none}
[hidden]{display:none!important}
nav a.nav-etsy{background:var(--amber);color:#fff;padding:9px 18px;border-radius:30px;margin-right:0}
nav a.nav-etsy:hover{background:var(--char)}
footer a{color:var(--amber2)}footer .btn{color:var(--cream);background:var(--amber)}
@media(max-width:860px){nav a.nav-etsy{display:inline-block}}
