/* Hearthglow — dark, moody, minimal */
:root{--bg:#161215;--bg2:#1f1a1e;--card:#241e23;--line:#352d33;--txt:#f1e9e4;--dim:#a2958f;--amber:#e8a34a;--amber2:#f4c178}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--txt);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
h1,h2,h3,.ds{font-family:'DM Serif Display',Georgia,serif;font-weight:400}
.bar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:rgba(22,18,21,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.wm{font-family:'DM Serif Display',serif;font-size:24px;letter-spacing:.02em}
.wm i{color:var(--amber);font-style:normal}
.menu-btn{background:none;border:1px solid var(--line);color:var(--txt);padding:10px 16px;border-radius:999px;font-family:inherit;font-size:12px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;display:flex;gap:10px;align-items:center}
.menu-btn:hover{border-color:var(--amber)}
.overlay{position:fixed;inset:0;background:var(--bg);z-index:40;display:none;flex-direction:column;justify-content:center;padding:40px}
.overlay.open{display:flex}
.overlay a.big{font-family:'DM Serif Display',serif;font-size:clamp(40px,8vw,96px);line-height:1.05;color:var(--dim);transition:color .2s;display:flex;gap:30px;align-items:baseline}
.overlay a.big small{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber)}
.overlay a.big:hover,.overlay a.big.on{color:var(--txt)}
.overlay .close{position:absolute;top:20px;right:40px}
.overlay .meta{position:absolute;bottom:30px;left:40px;color:var(--dim);font-size:13px}
.wrap{width:min(1240px,94vw);margin:0 auto}
/* bento home */
.bento{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:120px;gap:14px;padding:30px 0}
.cell{position:relative;overflow:hidden;border-radius:18px;background:var(--card)}
.cell img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.cell:hover img{transform:scale(1.04)}
.cell .txt{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(transparent 40%,rgba(22,18,21,.9))}
.cell h3{font-size:28px;line-height:1.1}
.cell span{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--amber)}
.cell.hero{grid-column:span 7;grid-row:span 4}
.cell.hero h1{font-size:clamp(36px,5vw,64px);line-height:1.02;max-width:12ch}
.cell.hero p{color:#d8ccc5;margin:14px 0 20px;max-width:46ch}
.cell.solid{background:var(--amber);color:#1b1410;padding:28px;display:flex;flex-direction:column;justify-content:space-between}
.cell.solid h3{font-size:30px;line-height:1.05}
.cell.solid span{color:#1b1410;opacity:.7}
.c5-2{grid-column:span 5;grid-row:span 2}.c3-2{grid-column:span 3;grid-row:span 2}.c4-2{grid-column:span 4;grid-row:span 2}.c2-2{grid-column:span 2;grid-row:span 2}.c6-3{grid-column:span 6;grid-row:span 3}.c3-3{grid-column:span 3;grid-row:span 3}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--txt);color:#1b1410;padding:12px 22px;border-radius:999px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;transition:background .2s;align-self:flex-start}
.pill:hover{background:var(--amber)}
.pill.ghost{background:transparent;color:var(--txt);border:1px solid var(--line)}
.pill.ghost:hover{border-color:var(--amber);background:transparent}
.sec{padding:70px 0}
.sec-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px;gap:20px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(32px,4vw,48px);line-height:1.05}
.sec-head p{color:var(--dim);max-width:48ch}
/* mood finder */
.moods{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.moods button{background:var(--card);border:1px solid var(--line);color:var(--dim);padding:10px 18px;border-radius:999px;font-family:inherit;font-size:13px;cursor:pointer;transition:all .2s}
.moods button.on,.moods button:hover{border-color:var(--amber);color:var(--amber)}
.scents{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.scent{background:var(--card);border-radius:18px;overflow:hidden;border:1px solid transparent;transition:border-color .2s}
.scent:hover{border-color:var(--line)}
.scent img{aspect-ratio:4/5;object-fit:cover}
.scent .b{padding:18px 20px 22px}
.scent .fam{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--amber)}
.scent h3{font-size:24px;margin:4px 0 6px}
.scent p{font-size:14px;color:var(--dim)}
.scent .burn{display:flex;gap:6px;margin-top:12px;font-size:11px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase}
.scent .burn i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--amber);opacity:.35}
.scent .burn i.f{opacity:1}
/* story strip */
.strip{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
.strip .pic{border-radius:18px;overflow:hidden;min-height:420px}
.strip .pic img{width:100%;height:100%;object-fit:cover}
.strip .txt{background:var(--bg2);border-radius:18px;padding:50px;display:flex;flex-direction:column;justify-content:center}
.strip h2{font-size:clamp(32px,4vw,46px);line-height:1.05;margin-bottom:16px}
.strip p{color:var(--dim);margin-bottom:14px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fact{background:var(--card);border-radius:18px;padding:28px}
.fact .ds{font-size:46px;color:var(--amber);line-height:1}
.fact p{color:var(--dim);font-size:14px;margin-top:8px}
/* masonry */
.masonry{columns:3;column-gap:14px}
.masonry figure{break-inside:avoid;margin-bottom:14px;border-radius:18px;overflow:hidden;position:relative;background:var(--card)}
.masonry figcaption{position:absolute;left:18px;bottom:16px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;background:rgba(22,18,21,.7);padding:6px 12px;border-radius:999px}
/* mega footer */
.mega{margin-top:60px;background:var(--bg2);border-top:1px solid var(--line);padding:70px 0 30px}
.mega .big{font-family:'DM Serif Display',serif;font-size:clamp(40px,8vw,110px);line-height:.95;color:var(--line);margin-bottom:40px}
.mega .big i{color:var(--amber);font-style:normal}
.mega .cols{display:grid;grid-template-columns:repeat(5,1fr);gap:30px}
.mega h4{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin-bottom:14px}
.mega li{list-style:none;margin-bottom:8px;font-size:14px;color:var(--dim)}
.mega li a:hover{color:var(--txt)}
.mega .copy{margin-top:50px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;color:var(--dim);flex-wrap:wrap;gap:10px}
/* page title */
.ptitle{padding:70px 0 20px}
.ptitle span{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber)}
.ptitle h1{font-size:clamp(44px,7vw,92px);line-height:.98;margin:10px 0 14px}
.ptitle p{color:var(--dim);max-width:58ch}
/* single scent */
.single{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:30px 0}
.single .pics{display:grid;gap:14px}
.single .pics img{border-radius:18px;aspect-ratio:4/5;object-fit:cover}
.single .pics img+img{aspect-ratio:4/3}
.single .info{background:var(--bg2);border-radius:18px;padding:46px;position:sticky;top:90px;align-self:start}
.single h1{font-size:clamp(38px,5vw,60px);line-height:1}
.single .fam{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber)}
.single p{color:var(--dim);margin:16px 0}
.pyr{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:20px 0}
.pyr div{background:var(--card);border-radius:12px;padding:14px}
.pyr small{display:block;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin-bottom:4px}
.pyr b{font-weight:500;font-size:14px}
.sizes{display:flex;gap:8px;margin:16px 0 24px;flex-wrap:wrap}
.sizes span{border:1px solid var(--line);padding:9px 16px;border-radius:999px;font-size:13px;cursor:pointer}
.sizes span.on{border-color:var(--amber);color:var(--amber)}
dl.det{border-top:1px solid var(--line);margin-top:24px}
dl.det div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
dl.det dt{color:var(--dim)}
/* about */
.chapters{display:grid;gap:14px}
.chapter{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chapter:nth-child(even) .pic{order:2}
.chapter .pic{border-radius:18px;overflow:hidden;min-height:380px}
.chapter .pic img{width:100%;height:100%;object-fit:cover}
.chapter .txt{background:var(--bg2);border-radius:18px;padding:46px;display:flex;flex-direction:column;justify-content:center}
.chapter .txt span{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber)}
.chapter h2{font-size:clamp(30px,3.5vw,42px);line-height:1.05;margin:8px 0 14px}
.chapter p{color:var(--dim);margin-bottom:12px}
/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 0 60px}
.contact .box{background:var(--bg2);border-radius:18px;padding:40px}
.form label{display:block;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--dim);margin:18px 0 6px}
.form input,.form textarea,.form select{width:100%;background:var(--card);border:1px solid var(--line);color:var(--txt);padding:13px 14px;border-radius:10px;font-family:inherit;font-size:15px}
.form textarea{min-height:130px}
.form button{margin-top:22px;cursor:pointer;border:0;font-family:inherit}
.stock{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.stock div{background:var(--card);border-radius:12px;padding:18px;font-size:14px}
.stock b{display:block;font-family:'DM Serif Display',serif;font-size:20px;font-weight:400;margin-bottom:4px}
.stock span{color:var(--dim)}
/* 404 */
.out{min-height:100vh;display:grid;place-items:center;text-align:center;padding:40px}
.flame{width:26px;height:40px;margin:0 auto 10px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#fff3c4,var(--amber) 45%,transparent 72%);animation:flick 1.2s ease-in-out infinite alternate;opacity:.9}
@keyframes flick{from{transform:scaleY(1) translateY(0)}to{transform:scaleY(1.15) translateY(-3px);opacity:.6}}
.wick{width:3px;height:16px;background:#3b2e33;margin:0 auto}
.candle{width:90px;height:160px;background:linear-gradient(#f1e9e4,#d9cfc9);border-radius:8px 8px 14px 14px;margin:0 auto 34px;box-shadow:0 30px 60px rgba(232,163,74,.15)}
.out .num{font-size:12px;letter-spacing:.5em;text-transform:uppercase;color:var(--amber)}
.out h1{font-size:clamp(40px,6vw,76px);line-height:1;margin:12px 0}
.out p{color:var(--dim);max-width:44ch;margin:0 auto 28px}
.out .links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
@media(max-width:1000px){.bento{grid-auto-rows:100px}.cell.hero{grid-column:span 12;grid-row:span 4}.c5-2,.c4-2,.c6-3{grid-column:span 6}.c3-2,.c2-2,.c3-3{grid-column:span 6}.scents{grid-template-columns:1fr 1fr}.strip,.single,.chapter,.contact{grid-template-columns:1fr}.chapter:nth-child(even) .pic{order:0}.masonry{columns:2}.mega .cols{grid-template-columns:1fr 1fr}.facts{grid-template-columns:1fr}.single .info{position:static}.bar{padding:16px 20px}}
@media(max-width:560px){.scents{grid-template-columns:1fr}.masonry{columns:1}.c5-2,.c4-2,.c6-3,.c3-2,.c2-2,.c3-3{grid-column:span 12}.mega .cols{grid-template-columns:1fr}}
