@font-face{font-family:"Cormorant";src:url(../fonts/Cormorant.ttf) format("truetype");font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/Cormorant-Italic.ttf) format("truetype");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url(../fonts/Jost.ttf) format("truetype");font-weight:300 700;font-display:swap}
:root{
  --sand:#f4eee1;--sand2:#ebe2cf;--paper:#fdfbf5;--line:#e3d8bf;
  --ink:#2b2a25;--ink2:#5d574a;--gold:#b8892a;--gold2:#d4a94a;--stone:#3b3a36;--moss:#4a6b3a;
  --r:22px;--shadow:0 1px 0 #fff8 inset,0 14px 40px -22px #5a4a1466;
  --serif:"Cormorant",Georgia,serif;--sans:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--sand);color:var(--ink);font:400 17px/1.6 var(--sans);overflow-x:hidden;
  background-image:radial-gradient(ellipse at 50% -10%,#fffaf0 0,#fffaf000 60%),repeating-radial-gradient(circle at 85% 8%,#0000 0 22px,#c9a86a12 22px 23px);}
a{color:var(--gold)}
img{max-width:100%;display:block}
.sacred-bg{position:fixed;inset:auto -30vmax -30vmax auto;width:90vmax;height:90vmax;opacity:.07;pointer-events:none;z-index:0;color:var(--gold)}
.sacred-bg circle{fill:none;stroke:currentColor;stroke-width:.8}

/* header */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(18px,env(safe-area-inset-left));
  background:#f4eee1d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #e3d8bf99}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font:600 22px/1 var(--serif);letter-spacing:.06em}
.brand svg{width:28px;height:28px;color:var(--gold)}
.top nav{display:flex;gap:18px}
.top nav a{color:var(--ink2);text-decoration:none;font-size:15px;letter-spacing:.04em}
.top nav a:hover{color:var(--gold)}

main,footer{position:relative;z-index:1}

/* hero */
.hero{display:grid;gap:8px;padding:22px 20px 40px;max-width:1120px;margin:0 auto;align-items:center}
.hero-art{position:relative;display:grid;place-items:center}
#lumo{width:min(78vw,340px);height:auto;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,#fffdf6 0,#fbf5e6 52%,#f4eee100 71%);cursor:pointer;touch-action:manipulation}
.bubble{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);margin:0;white-space:nowrap;max-width:92vw;overflow:hidden;text-overflow:ellipsis;
  font:italic 500 19px/1.3 var(--serif);color:#6b5518;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 16px;box-shadow:var(--shadow);transition:opacity .4s}
.bubble.fade{opacity:0}
.eyebrow{margin:0 0 6px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0}
h1{font-size:clamp(40px,10.5vw,68px);letter-spacing:-.01em}
h1 em{font-style:italic;color:var(--gold)}
.lede{color:var(--ink2);margin:16px 0 22px;max-width:36em}
.countdown{display:flex;gap:10px;margin:0 0 24px}
.countdown div{flex:1;max-width:110px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:10px 6px 8px;box-shadow:var(--shadow)}
.countdown b{display:block;font:500 38px/1 var(--serif);font-variant-numeric:tabular-nums;color:var(--stone)}
.countdown span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.countdown.done b{color:var(--gold)}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px}

/* buttons */
.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;cursor:pointer;
  font:500 16px/1 var(--sans);letter-spacing:.03em;text-decoration:none;border:1px solid var(--stone);background:var(--stone);color:#fbf6ea;transition:transform .15s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px #3b3a3699}
.btn:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn.gold{background:linear-gradient(180deg,#d2a64a,#b8892a);border-color:#a87b22;color:#fffaf0}
.btn.ghost{background:transparent;color:var(--ink)}

/* shop */
.shop{max-width:1120px;margin:0 auto;padding:30px 16px 20px}
.sec-head{text-align:center;margin-bottom:22px}
.sec-head h2,.story h2,.faq h2{font-size:clamp(32px,7vw,46px)}
.sec-head p{color:var(--ink2);margin:6px 0 0}
.product{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.p-img{margin:0;background:#f6f2e8;aspect-ratio:4/3;overflow:hidden}
.p-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.product:hover .p-img img{transform:scale(1.03)}
.p-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.p-body h3{font-size:30px}
.p-sub{margin:2px 0 10px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.p-body p{margin:0 0 12px;color:var(--ink2)}
.note{font-size:14px;background:#f6efdd;border-left:3px solid var(--gold);padding:8px 12px;border-radius:0 10px 10px 0}
.note strong{color:var(--ink)}
details{margin:0 0 12px}
summary{cursor:pointer;color:var(--ink);font-weight:500;list-style:none}
summary::-webkit-details-marker{display:none}
summary::before{content:"+";display:inline-block;width:1.2em;color:var(--gold);font-weight:600}
details[open] summary::before{content:"−"}
.ticks{list-style:none;padding:0;margin:8px 0 12px;color:var(--ink2);font-size:15px}
.ticks li{position:relative;padding-left:22px;margin:5px 0}
.ticks li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:10px;border:1.5px solid var(--gold);border-radius:50%}
.buy{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px dashed var(--line)}
.price{margin:0!important;font:500 34px/1 var(--serif);color:var(--stone)!important}
.price s{font-size:22px;color:#a39a86;margin-right:4px}
.grid{display:grid;gap:18px;margin-top:18px}

/* bundle */
.bundle{border:1.5px solid var(--gold2);background:linear-gradient(180deg,#fffaf0,#fdfbf5)}
.ribbon{position:absolute;z-index:2;top:14px;left:14px;background:var(--stone);color:#fbf1d6;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:7px 12px;border-radius:999px}
.bundle-art{position:relative;height:250px;background:radial-gradient(circle at 50% 60%,#efe3c4,#f6f2e8 70%);overflow:hidden}
.bundle-art img{position:absolute;border-radius:12px;box-shadow:0 14px 30px -14px #3b2f1288;border:4px solid #fff;object-fit:cover}
.bundle-art img:nth-child(1){width:46%;aspect-ratio:4/3;left:5%;top:24%;transform:rotate(-6deg)}
.bundle-art img:nth-child(2){width:40%;aspect-ratio:9/7;right:5%;top:20%;transform:rotate(5deg)}
.bundle-art img:nth-child(3){width:52%;aspect-ratio:16/9;left:24%;top:46%;transform:rotate(-1deg);z-index:1}
.bundle .p-body h3{font-size:36px}

/* story + faq */
.story{margin:40px 0 0;padding:56px 20px;background:linear-gradient(180deg,#00000000,#e9dfc8 30%,#e9dfc8 70%,#00000000)}
.story-in{max-width:640px;margin:0 auto;text-align:center}
.story p{color:var(--ink2);font-size:18px}
.faq{max-width:720px;margin:0 auto;padding:30px 20px 50px}
.faq h2{text-align:center;margin-bottom:16px}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin:0 0 10px}
.faq details p{margin:10px 0 0;color:var(--ink2)}

/* footer */
.foot{border-top:1px solid var(--line);background:#efe7d6;padding:28px 20px calc(28px + env(safe-area-inset-bottom));text-align:center;color:var(--ink2)}
.foot p{margin:4px 0}
.foot-brand{font:500 22px/1.2 var(--serif);color:var(--ink)}
.small{font-size:13px;color:#8a826f}

/* checkout dialog */
dialog{border:none;padding:0;border-radius:24px;background:var(--paper);color:var(--ink);width:min(92vw,420px);box-shadow:0 30px 80px -20px #2b2a2588}
dialog::backdrop{background:#2b2a2566;backdrop-filter:blur(3px)}
.co{padding:28px 24px 22px;text-align:center}
.co-fol{width:64px;height:64px;color:var(--gold);margin:0 auto 8px;display:block;animation:spin 24s linear infinite}
@media (prefers-reduced-motion:reduce){.co-fol{animation:none}}
@keyframes spin{to{transform:rotate(360deg)}}
.co h3{font-size:32px;margin-bottom:6px}
.co p{color:var(--ink2);margin:6px 0}
.co-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}

/* larger screens */
@media (min-width:760px){
  .hero{grid-template-columns:1fr 1.1fr;padding:56px 28px 60px;gap:32px}
  .hero-copy{order:2}
  #lumo{width:min(40vw,420px)}
  .grid{grid-template-columns:repeat(3,1fr)}
  .bundle{display:grid;grid-template-columns:1.15fr 1fr}
  .bundle-art{height:auto;min-height:340px}
  .bundle .p-body{padding:30px 32px}
  .co-actions{flex-direction:row;justify-content:center}
}
@media (max-width:380px){.top nav{gap:12px}.top nav a{font-size:14px}.countdown b{font-size:32px}}
