/* Halloween Inu — night / pumpkin / fog */
:root{
  --night:#0a0614; --deep:#05030c; --mist:#1a0f2e;
  --pumpkin:#FF8C00; --hot:#ff6a00; --soft:#ffb347;
  --moon:#FFE8A3; --cream:#fff5d6; --fog:#c8bdd8;
  --danger:#ff4466;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
html.no-js .awaken{display:none}
body{margin:0;background:var(--night);color:var(--cream);min-height:100%}
.skip{position:absolute;left:-9999px;top:0;background:var(--pumpkin);color:#000;padding:.5rem 1rem;z-index:9999}
.skip:focus{left:1rem;top:1rem}
img{max-width:100%;height:auto;display:block}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
a{color:var(--soft)}

/* ===== AWAKEN ===== */
.awaken{position:fixed;inset:0;z-index:10000;background:#000;display:flex;align-items:center;justify-content:center;transition:opacity .7s,visibility .7s}
.awaken.off{opacity:0;visibility:hidden;pointer-events:none}
.awaken-cv{position:absolute;inset:0;width:100%;height:100%}
.awaken-stage{position:relative;z-index:2;text-align:center;padding:2rem}
.pumpkin-shell{position:relative;width:min(280px,70vw);height:min(280px,70vw);margin:0 auto 1.5rem}
.pumpkin-lid{position:absolute;left:18%;right:18%;top:0;height:28%;background:radial-gradient(ellipse at 50% 80%,#e07000,#a04000);border-radius:50% 50% 40% 40%;transform-origin:50% 100%;z-index:3;box-shadow:0 0 30px rgba(255,140,0,.4);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.pumpkin-lid::after{content:'';position:absolute;left:50%;top:-12%;width:14%;height:28%;background:#3d5c28;border-radius:4px;transform:translateX(-50%)}
.pumpkin-face{position:absolute;inset:12% 10% 8%;background:radial-gradient(circle at 50% 40%,#ff8c00,#c45a00 70%,#7a3000);border-radius:48% 48% 45% 45%;box-shadow:0 0 60px rgba(255,100,0,.55),inset 0 -20px 40px rgba(0,0,0,.35);z-index:2}
.pumpkin-face .eye,.pumpkin-face .nose,.pumpkin-face .mouth{position:absolute;background:#1a0800;box-shadow:0 0 12px 4px rgba(255,180,40,.7);opacity:0;transform:scale(.2)}
.pumpkin-face .eye{width:18%;height:22%;top:28%;border-radius:50% 50% 40% 40%/60% 60% 40% 40%}
.pumpkin-face .eye.left{left:22%}
.pumpkin-face .eye.right{right:22%}
.pumpkin-face .nose{width:10%;height:10%;left:45%;top:48%;clip-path:polygon(50% 100%,0 0,100% 0)}
.pumpkin-face .mouth{left:22%;right:22%;top:62%;height:18%;clip-path:polygon(0 30%,12% 0,24% 35%,36% 0,50% 40%,64% 0,76% 35%,88% 0,100% 30%,90% 100%,70% 70%,50% 100%,30% 70%,10% 100%)}
.pumpkin-face.carved .eye,.pumpkin-face.carved .nose,.pumpkin-face.carved .mouth{opacity:1;transform:scale(1);transition:opacity .4s,transform .5s}
.inu-reveal{position:absolute;left:50%;top:55%;width:70%;height:auto;transform:translate(-50%,-40%) scale(.3);opacity:0;z-index:4;filter:drop-shadow(0 0 24px rgba(255,140,0,.8));pointer-events:none}
.inu-reveal.show{opacity:1;transform:translate(-50%,-45%) scale(1);transition:opacity .8s .2s,transform 1s cubic-bezier(.2,.9,.2,1)}
.pumpkin-shell.open .pumpkin-lid{transform:translateY(-70%) rotate(-18deg)}
.pumpkin-shell.open .pumpkin-face{opacity:.35;filter:brightness(.5)}
.awaken-title{font-family:Creepster,cursive;font-size:clamp(2.4rem,8vw,4.5rem);line-height:1;color:var(--pumpkin);text-shadow:0 0 20px rgba(255,100,0,.6),3px 3px 0 #000;opacity:0;transform:translateY(20px);margin:0 0 1rem;letter-spacing:.04em}
.awaken-title span{display:block;font-size:.55em;color:var(--moon);letter-spacing:.2em}
.awaken-title.show{opacity:1;transform:none;transition:opacity .8s,transform .8s}
.awaken-cta{display:inline-block;margin-top:.5rem;padding:.85rem 1.8rem;background:linear-gradient(135deg,var(--pumpkin),var(--hot));color:#1a0800;font-weight:700;border-radius:999px;box-shadow:0 0 30px rgba(255,140,0,.45);opacity:0;transform:scale(.9);letter-spacing:.06em;text-transform:uppercase}
.awaken-cta.show{opacity:1;transform:scale(1);transition:opacity .5s .3s,transform .5s .3s,box-shadow .3s}
.awaken-cta:hover{box-shadow:0 0 40px rgba(255,140,0,.7)}
.awaken-hint{opacity:0;font-size:.75rem;color:var(--fog);margin-top:.75rem;letter-spacing:.15em;text-transform:uppercase}
.awaken-hint.show{opacity:.7;transition:opacity .5s .6s}

/* ===== LANTERN NAV ===== */
.lantern-nav{position:fixed;right:1rem;top:50%;transform:translateY(-50%);z-index:900;display:flex;flex-direction:column;gap:1.1rem;align-items:center}
.lantern{position:relative;width:28px;height:40px;padding:0}
.lantern::before{content:'';position:absolute;left:50%;top:-10px;width:1px;height:12px;background:rgba(200,180,140,.4);transform:translateX(-50%)}
.lantern-body{display:block;width:22px;height:28px;margin:8px auto 0;background:linear-gradient(180deg,#3a2810,#1a1208);border:1px solid #6a4a20;border-radius:4px 4px 8px 8px;position:relative;box-shadow:inset 0 0 8px rgba(0,0,0,.6)}
.lantern-body::after{content:'';position:absolute;inset:4px 3px;background:rgba(40,20,5,.9);border-radius:2px;transition:background .4s,box-shadow .4s}
.lantern-glow{position:absolute;inset:6px 2px 4px;border-radius:50%;background:transparent;filter:blur(6px);transition:background .4s,opacity .4s;opacity:0;pointer-events:none}
.lantern.lit .lantern-glow{background:radial-gradient(circle,rgba(255,160,40,.9),transparent 70%);opacity:1}
.lantern.lit .lantern-body::after{background:radial-gradient(circle at 50% 60%,#ffb347,#ff6a00 70%);box-shadow:0 0 12px rgba(255,140,0,.8)}
.lantern-label{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fog);opacity:0;white-space:nowrap;pointer-events:none;transition:opacity .25s}
.lantern:hover .lantern-label,.lantern:focus-visible .lantern-label,.lantern.lit .lantern-label{opacity:.9;color:var(--soft)}
@media (max-width:900px){
  .lantern-nav{top:auto;bottom:0;left:0;right:0;transform:none;flex-direction:row;justify-content:center;gap:.55rem;padding:.55rem .5rem calc(.55rem + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(5,3,12,.92));backdrop-filter:blur(8px)}
  .lantern::before{display:none}
  .lantern-label{display:none}
  .lantern{width:36px;height:36px}
  .lantern-body{width:18px;height:22px;margin:6px auto 0}
}

/* ===== AMBIENT ===== */
.ambient-cv{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.55}
.section{position:relative;z-index:2}
.section-title{font-size:clamp(2.2rem,6vw,4rem);color:var(--pumpkin);text-shadow:0 0 18px rgba(255,100,0,.45),2px 2px 0 #000;margin:0 0 .35rem;letter-spacing:.03em;line-height:1.05}
.section-head{text-align:center;padding:3rem 1.25rem 1.5rem}
.section-head .font-display{color:var(--fog);font-size:.95rem;letter-spacing:.18em;text-transform:uppercase;margin:0}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.15rem;border-radius:999px;font-weight:600;font-size:.9rem;text-decoration:none;border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s;white-space:nowrap}
.btn img{flex-shrink:0}
.btn-buy{background:linear-gradient(135deg,var(--pumpkin),var(--hot));color:#1a0800;box-shadow:0 0 24px rgba(255,140,0,.35)}
.btn-buy:hover{transform:translateY(-2px);box-shadow:0 0 36px rgba(255,140,0,.55)}
.btn-ghost{background:rgba(255,140,0,.08);border-color:rgba(255,140,0,.35);color:var(--cream)}
.btn-ghost:hover{background:rgba(255,140,0,.18)}
.btn-ca{background:rgba(10,6,20,.7);border-color:rgba(255,232,163,.25);color:var(--moon);font-family:ui-monospace,monospace;font-size:.78rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.btn-ca:hover{border-color:var(--pumpkin)}
.btn-icon{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);padding:.7rem .95rem}
.btn-icon.disabled,.btn.disabled{opacity:.45;cursor:not-allowed;pointer-events:auto}
.btn-sm{padding:.55rem .9rem;font-size:.8rem;margin-top:.6rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}
.anti-scam{font-size:.72rem;color:rgba(200,189,216,.65);margin-top:.9rem;max-width:36ch}

/* ===== HERO ===== */
.hero{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:4rem 1.25rem 2rem;overflow:hidden}
.hero-parallax{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.layer{position:absolute;inset:0}
.layer-sky{background:radial-gradient(ellipse at 60% 20%,#2a1848 0%,#0a0614 55%,#05030c 100%)}
.layer-moon{display:flex;justify-content:center;align-items:flex-start;padding-top:3vh;pointer-events:none}
.css-moon{width:min(220px,32vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 32%,#fff9e6,#f0d878 45%,#c9a040 80%);box-shadow:0 0 60px 20px rgba(255,232,163,.35),0 0 120px 40px rgba(255,180,80,.12),inset -18px -10px 30px rgba(80,50,20,.25);position:relative;z-index:1}
.css-moon::after{content:'';position:absolute;width:18%;height:18%;border-radius:50%;background:rgba(200,170,90,.35);top:28%;left:22%}
.moon-bats{position:absolute;top:2vh;width:min(300px,50vw);opacity:.75;filter:brightness(0);mix-blend-mode:normal;z-index:2}
.layer-bats{opacity:.35}
.hero-parallax::after{content:'';position:absolute;left:0;right:0;bottom:0;height:35%;background:linear-gradient(180deg,transparent,rgba(40,20,60,.5) 40%,rgba(8,4,16,.85));pointer-events:none;z-index:2}
.layer-pumpkins{z-index:3}
.pk-gif{bottom:8%!important;opacity:.95}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 40%,rgba(255,140,0,.08),transparent 50%);pointer-events:none;z-index:2}



.layer-castle{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 200'%3E%3Cpath fill='%23080512' d='M80 200V90l20-20h30v20h20V60l25-25 25 25v50h40V80l30-30 30 30v40h25v-35l20-20h25v55h30V100l35-35 35 35v100z'/%3E%3Ccircle cx='120' cy='110' r='3' fill='%23FFE8A3'/%3E%3Ccircle cx='200' cy='100' r='2' fill='%23FFE8A3'/%3E%3Ccircle cx='340' cy='95' r='3' fill='%23FFE8A3'/%3E%3Ccircle cx='480' cy='105' r='2' fill='%23FFE8A3'/%3E%3Ccircle cx='560' cy='88' r='3' fill='%23FFE8A3'/%3E%3C/svg%3E") center bottom / min(900px,110%) no-repeat;opacity:1;transform:translateY(5%);filter:drop-shadow(0 0 20px rgba(0,0,0,.8))}
.layer-trees{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300'%3E%3Cpath stroke='%230a0610' stroke-width='3' fill='none' d='M40 300C50 200 20 120 60 40M60 140c-30-20-10-60 10-40M60 100c20-30 40-10 20 10M360 300C350 200 380 120 340 40M340 140c30-20 10-60-10-40'/%3E%3C/svg%3E") center bottom / 100% 70% no-repeat;opacity:.7}
.layer-bats{display:flex;justify-content:center;padding-top:8vh}
.bats-gif{width:min(260px,50vw);opacity:.7;mix-blend-mode:multiply;filter:brightness(0)}
.layer-fog{background:linear-gradient(180deg,transparent 40%,rgba(80,60,100,.25) 70%,rgba(20,10,30,.7));backdrop-filter:blur(0)}
.layer-pumpkins{pointer-events:none}
.pk-gif{position:absolute;bottom:6%;width:90px;filter:drop-shadow(0 0 12px rgba(255,140,0,.5))}
.hero-inner{position:relative;z-index:3;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;max-width:1180px;margin:0 auto;width:100%}
.eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);margin:0 0 .75rem}
.inline-pk{border-radius:50%}
.hero-title{font-size:clamp(3rem,10vw,6.5rem);margin:0;line-height:0.95;color:var(--pumpkin);text-shadow:0 0 30px rgba(255,100,0,.5),4px 4px 0 #000,-1px -1px 0 #000;/* dripping feel via text-shadow stack */}
.hero-sub{font-size:clamp(1rem,2.5vw,1.35rem);color:var(--moon);letter-spacing:.2em;text-transform:uppercase;margin:.4rem 0 1rem}
.hero-tag{max-width:42ch;color:rgba(255,245,214,.78);line-height:1.55;margin:0 0 1.4rem}
.hero-mascot{position:relative;display:flex;justify-content:center;align-items:flex-end}
.mascot-glow{position:absolute;width:70%;height:55%;bottom:8%;border-radius:50%;background:radial-gradient(circle,rgba(255,140,0,.45),transparent 70%);filter:blur(24px);animation:pulseGlow 3s ease-in-out infinite}
@keyframes pulseGlow{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
.mascot-img{position:relative;z-index:2;width:min(420px,90%);filter:drop-shadow(0 20px 40px rgba(0,0,0,.6));animation:floatY 5s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.mascot-bob{position:absolute;bottom:4%;right:8%;z-index:3;width:110px;opacity:.95;filter:drop-shadow(0 0 16px rgba(255,140,0,.5))}
.hero-banner-strip{position:relative;z-index:3;max-width:1180px;margin:2.5rem auto 0;border-radius:16px;overflow:hidden;border:1px solid rgba(255,140,0,.2);box-shadow:0 0 40px rgba(255,80,0,.15)}
.hero-banner-strip img{width:100%;height:auto;display:block}
@media (max-width:900px){
  .hero{padding:1.25rem 1rem 5.5rem;justify-content:flex-start;min-height:100dvh}
  .hero-inner{grid-template-columns:1fr;gap:.35rem;text-align:center}
  .hero-actions{justify-content:center;gap:.45rem}
  .hero-actions .btn{padding:.65rem .9rem;font-size:.82rem}
  .anti-scam{margin-left:auto;margin-right:auto;font-size:.65rem}
  .hero-mascot{order:-1}
  .mascot-img{width:min(200px,52vw)}
  .mascot-bob{width:64px;right:10%;bottom:0}
  .hero-title{font-size:clamp(2.4rem,12vw,3.4rem)}
  .hero-tag{font-size:.88rem;margin-bottom:.8rem}
  .hero-banner-strip{display:none}
  .layer-castle{opacity:.45}
  .pk-gif{width:56px;bottom:20%}
  .css-moon{width:min(120px,28vw)}
  .eyebrow{margin-bottom:.35rem}
}

/* ===== HAUNT PATH ===== */
.haunt{padding:0;min-height:100vh}
.haunt-pin{position:relative;height:100vh;overflow:hidden;background:linear-gradient(180deg,#120a22,#0a0614 60%,#05030c)}
.haunt-pin::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 80%,rgba(100,70,140,.2),transparent 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='100'%3E%3Cpath fill='%231a1525' d='M20 100V40l15-10h20v15h15V30l20-15 20 15v40h25V50l20-20 20 20v50z'/%3E%3C/svg%3E") center 30%/min(700px,90%) no-repeat;opacity:.5;pointer-events:none}
.haunt-bg{position:absolute;inset:0;pointer-events:none}
.haunt-path-line{position:absolute;left:8%;right:8%;bottom:22%;height:4px;background:linear-gradient(90deg,transparent,rgba(255,140,0,.35),transparent);border-radius:4px;box-shadow:0 0 20px rgba(255,140,0,.2)}
.haunt-path-line::before{content:'';position:absolute;inset:-40px 0 -20px;background:radial-gradient(ellipse at 50% 100%,rgba(100,70,120,.25),transparent 70%)}
.haunt-fog{position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(180deg,transparent,rgba(80,60,110,.35));pointer-events:none}
.haunt-walker{position:absolute;bottom:18%;left:5%;z-index:4;width:140px;will-change:transform}
.walker-img{width:100%;filter:drop-shadow(0 8px 20px rgba(0,0,0,.7))}
.haunt-stones{position:absolute;inset:18% 4% 28%;display:flex;justify-content:space-around;align-items:flex-end;gap:1rem;z-index:3;pointer-events:none}
.tombstone{width:min(180px,20vw);aspect-ratio:3/4;perspective:800px;pointer-events:auto}
.tomb-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:50% 50% 8% 8%/28% 28% 8% 8%;padding:1.2rem .8rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.tomb-face.front{background:linear-gradient(160deg,#3a3a42,#1e1e24);border:2px solid #555;box-shadow:inset 0 0 30px rgba(0,0,0,.5),0 10px 30px rgba(0,0,0,.4);color:var(--fog)}
.tomb-face.back{background:linear-gradient(160deg,#2a1a10,#120a08);border:2px solid var(--pumpkin);box-shadow:0 0 24px rgba(255,140,0,.35),inset 0 0 20px rgba(255,100,0,.15);transform:rotateY(180deg);color:var(--cream)}
.tombstone.flipped .tomb-face.front{transform:rotateY(-180deg)}
.tombstone.flipped .tomb-face.back{transform:rotateY(0)}
.tomb-mark{font-family:Creepster,cursive;font-size:2.5rem;color:var(--pumpkin);line-height:1;margin-bottom:.3rem}
.tomb-face h3{font-family:Cinzel,serif;font-size:.95rem;color:var(--pumpkin);margin:0 0 .4rem}
.tomb-face p{font-size:.72rem;line-height:1.35;margin:0;opacity:.9}
.haunt-caption{position:absolute;top:1.5rem;left:0;right:0;text-align:center;z-index:5;padding:0 1rem}
.haunt-caption .font-display{color:var(--fog);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;margin:.25rem 0 0}
@media (max-width:900px){
  .haunt-stones{inset:22% 2% 32%;flex-wrap:wrap;align-content:center;justify-content:center;gap:.6rem}
  .tombstone{width:42vw;max-width:160px}
  .haunt-walker{width:100px;bottom:14%}
  .tomb-face p{font-size:.65rem}
}

/* ===== SÉANCE ===== */
.seance{padding:2rem 1.25rem 4rem;background:radial-gradient(ellipse at 50% 0%,#1a0f2e,var(--night) 60%)}
.seance-stage{max-width:720px;margin:0 auto;text-align:center;position:relative}
.ouija-board{position:absolute;left:50%;top:-10px;transform:translateX(-50%);width:min(520px,92%);height:48px;background:linear-gradient(90deg,#2a1a0e,#3d2814,#2a1a0e);border:2px solid #5a3a18;border-radius:8px;display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;opacity:.7;pointer-events:none}
.ouija-letter{font-family:Cinzel,serif;font-size:.7rem;letter-spacing:.3em;color:rgba(255,232,163,.5)}
.planchette{position:absolute;left:50%;top:50%;width:28px;height:36px;margin:-18px -14px;background:radial-gradient(circle at 50% 40%,rgba(255,200,100,.4),transparent);border:1px solid rgba(255,180,80,.5);border-radius:50% 50% 40% 40%;transition:left .6s ease;pointer-events:none}
.crystal-ball{position:relative;width:min(420px,88vw);aspect-ratio:1;margin:3.5rem auto 1.5rem;border-radius:50%;overflow:hidden;border:3px solid rgba(200,180,255,.25);box-shadow:0 0 60px rgba(120,80,200,.35),inset 0 0 40px rgba(0,0,0,.5),0 0 0 8px rgba(30,20,50,.6);background:#0a0614}
.crystal-ball img{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.15);filter:blur(8px);transition:opacity .7s,transform .9s,filter .9s}
.crystal-ball.revealed img{opacity:1;transform:scale(1);filter:none}
.crystal-fog{position:absolute;inset:0;background:radial-gradient(circle,rgba(180,160,220,.25),transparent 70%);pointer-events:none;z-index:2;animation:fogPulse 4s ease-in-out infinite}
@keyframes fogPulse{0%,100%{opacity:.4}50%{opacity:.8}}
.crystal-shine{position:absolute;top:8%;left:18%;width:30%;height:20%;background:linear-gradient(135deg,rgba(255,255,255,.35),transparent);border-radius:50%;z-index:3;pointer-events:none}
.seance-controls{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.spirit-cap{font-family:Cinzel,serif;font-size:.85rem;letter-spacing:.12em;color:var(--moon);margin:0;min-width:12ch}
.spirit-thumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:560px;margin:0 auto}
.spirit-thumbs button{width:56px;height:56px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,140,0,.25);padding:0;opacity:.55;transition:opacity .25s,border-color .25s,transform .25s}
.spirit-thumbs button img{width:100%;height:100%;object-fit:cover}
.spirit-thumbs button.active,.spirit-thumbs button:hover{opacity:1;border-color:var(--pumpkin);transform:scale(1.08);box-shadow:0 0 16px rgba(255,140,0,.4)}

/* ===== BREW ===== */
.brew{padding:2rem 1.25rem 4rem;background:linear-gradient(180deg,var(--night),#12081c)}
.brew-layout{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;max-width:1000px;margin:0 auto;align-items:center}
.cauldron-wrap{position:relative;display:flex;justify-content:center;min-height:320px}
.cauldron{position:relative;width:220px;height:240px}
.cauldron-rim{position:absolute;left:10%;right:10%;top:18%;height:28px;background:linear-gradient(180deg,#4a4a52,#2a2a30);border-radius:50%;z-index:3;box-shadow:0 4px 0 #1a1a20}
.cauldron-pot{position:absolute;left:8%;right:8%;top:28%;bottom:12%;background:radial-gradient(circle at 50% 30%,#3a3a44,#121218);border-radius:0 0 50% 50%/0 0 70% 70%;border:3px solid #4a4a55;overflow:hidden;z-index:2}
.brew-liquid{position:absolute;left:0;right:0;bottom:0;height:70%;background:linear-gradient(180deg,#ff8c00,#c45a00);animation:brewSway 3s ease-in-out infinite}
@keyframes brewSway{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.brew-bubbles::before,.brew-bubbles::after{content:'';position:absolute;width:14px;height:14px;border-radius:50%;background:rgba(255,230,150,.5);bottom:40%;left:30%;animation:bubble 2.4s ease-in infinite}
.brew-bubbles::after{left:60%;width:10px;height:10px;animation-delay:.8s}
@keyframes bubble{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(-80px);opacity:0}}
.cauldron-stand{position:absolute;bottom:0;left:20%;right:20%;height:20px;background:#2a2a30;border-radius:4px}
.brew-inu{position:absolute;right:5%;bottom:5%;width:160px;z-index:4;filter:drop-shadow(0 8px 16px rgba(0,0,0,.5))}
.ingredients{display:flex;flex-direction:column;gap:.75rem}
.pill{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;gap:0 .85rem;align-items:center;text-align:left;padding:1rem 1.15rem;background:rgba(255,140,0,.06);border:1px solid rgba(255,140,0,.22);border-radius:14px;transition:background .25s,border-color .25s,transform .2s}
.pill:hover,.pill:focus-visible{background:rgba(255,140,0,.14);border-color:var(--pumpkin);transform:translateX(4px)}
.pill-icon{grid-row:1/3;width:36px;height:36px;border-radius:50%;position:relative}
.pill strong{font-family:Cinzel,serif;color:var(--pumpkin);font-size:1rem}
.pill span:last-child{grid-column:2;font-size:.8rem;color:var(--fog)}
.pi-pump{background:radial-gradient(circle at 50% 40%,#ff8c00,#c45a00);box-shadow:0 0 10px rgba(255,140,0,.5)}
.pi-pump::after{content:'';position:absolute;inset:10px 12px 14px;background:#1a0800;clip-path:polygon(20% 30%,40% 30%,30% 55%,50% 30%,70% 55%,60% 30%,80% 30%,70% 70%,30% 70%)}
.pi-candle{background:linear-gradient(180deg,#ffe8a3,#ff8c00);box-shadow:0 0 10px rgba(255,200,80,.4)}
.pi-flame{background:radial-gradient(circle,#ffb347,#ff4400);box-shadow:0 0 12px rgba(255,80,0,.5)}
.pi-bat{background:#1a1028;border:1px solid #6a4a80}
.pi-bat::before,.pi-bat::after{content:'';position:absolute;top:10px;width:12px;height:10px;background:#c8bdd8;border-radius:50%}
.pi-bat::before{left:4px;clip-path:polygon(100% 50%,0 0,20% 100%)}
.pi-bat::after{right:4px;clip-path:polygon(0 50%,100% 0,80% 100%)}
.pi-moon{background:radial-gradient(circle at 35% 35%,#fff5d6,#e8d080);box-shadow:0 0 12px rgba(255,232,163,.45)}
.brew-note{text-align:center;font-size:.75rem;color:rgba(200,189,216,.55);margin:1.5rem auto 0;max-width:50ch}
@media (max-width:800px){
  .brew-layout{grid-template-columns:1fr;gap:1.5rem}
  .brew-inu{width:120px;right:0}
}

/* ===== RITUAL TRAIL ===== */
.ritual{padding:2rem 1.25rem 4rem}
.trail{list-style:none;margin:0 auto;padding:0;max-width:820px;display:flex;flex-direction:column;gap:0;position:relative}
.trail::before{content:'';position:absolute;left:39px;top:40px;bottom:40px;width:3px;background:linear-gradient(180deg,var(--pumpkin),rgba(255,140,0,.15));border-radius:4px}
.trail-step{display:grid;grid-template-columns:80px 1fr;gap:1rem;align-items:start;position:relative;padding:1rem 0}
.trail-icon{width:80px;height:80px;border-radius:50%;background:rgba(255,140,0,.1);border:2px solid rgba(255,140,0,.4);display:flex;align-items:center;justify-content:center;box-shadow:0 0 24px rgba(255,140,0,.2);z-index:1}
.trail-card{background:rgba(26,15,46,.6);border:1px solid rgba(255,140,0,.18);border-radius:16px;padding:1.25rem 1.4rem}
.trail-num{font-family:Creepster,cursive;color:var(--pumpkin);font-size:1.4rem;display:block;margin-bottom:.25rem}
.trail-card h3{font-family:Cinzel,serif;margin:0 0 .4rem;font-size:1.15rem;color:var(--moon)}
.trail-card p{margin:0;color:rgba(255,245,214,.75);line-height:1.5;font-size:.92rem}
@media (max-width:600px){
  .trail::before{left:27px}
  .trail-step{grid-template-columns:56px 1fr;gap:.75rem}
  .trail-icon{width:56px;height:56px}
  .trail-icon img{width:32px;height:32px}
}

/* ===== MIRROR ===== */
.mirror{padding:2rem 1.25rem 4rem;background:radial-gradient(ellipse at 50% 80%,#1a0f2e,var(--night))}
.mirror-frame{max-width:960px;margin:0 auto;position:relative}
.mirror-ornament{height:18px;background:linear-gradient(90deg,transparent,var(--pumpkin),transparent);opacity:.5;border-radius:4px}
.mirror-ornament.top{margin-bottom:8px}
.mirror-ornament.bot{margin-top:8px}
.mirror-glass{position:relative;aspect-ratio:16/10;border-radius:20px;overflow:hidden;border:3px solid rgba(180,160,220,.3);box-shadow:0 0 50px rgba(100,60,180,.25),inset 0 0 60px rgba(0,0,0,.4);background:#0a0614}
.mirror-glass iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#0a0614}
.chart-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:radial-gradient(circle,rgba(20,10,40,.85),rgba(5,3,12,.95));text-align:center;padding:1.5rem;transition:opacity .5s,visibility .5s}
.chart-overlay.off{opacity:0;visibility:hidden;pointer-events:none}
.chart-overlay .font-horror{font-size:2.5rem;color:var(--pumpkin);margin:0}
.overlay-moon{opacity:.6;margin-bottom:.5rem}

/* ===== PACK ===== */
.pack{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;padding:4rem 1.25rem 6rem;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#2a1848,#0a0614 55%,#05030c)}
.pack-moon{position:absolute;width:min(520px,90vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff5d6,#e8c86a 50%,#b89040);box-shadow:0 0 100px rgba(255,232,163,.35),0 0 200px rgba(255,180,80,.15);top:8%;left:50%;transform:translateX(-50%);opacity:.9}
.pack-inner{position:relative;z-index:2;text-align:center}
.pack-inu{width:min(320px,70vw);margin:0 auto 1rem;filter:drop-shadow(0 0 30px rgba(0,0,0,.6));position:relative}
.pack-title{font-size:clamp(2.5rem,8vw,5rem)}
.pack-sub{color:var(--fog);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.5rem}
.pack-actions{justify-content:center}

/* ===== FOOTER ===== */
.site-footer{position:relative;z-index:2;padding:3rem 1.25rem 5.5rem;background:#05030c;border-top:1px solid rgba(255,140,0,.15)}
.footer-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:48px 1fr auto;gap:1.25rem;align-items:start}
.footer-bust{border-radius:50%;box-shadow:0 0 16px rgba(255,140,0,.35)}
.footer-brand{font-size:1.4rem;color:var(--pumpkin);margin:0 0 .4rem}
.footer-disc{font-size:.72rem;line-height:1.5;color:rgba(200,189,216,.55);margin:0;max-width:60ch}
.footer-links{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem}
.footer-links a{color:var(--soft);text-decoration:none}
.footer-copy{text-align:center;font-size:.7rem;color:rgba(200,189,216,.35);margin:2rem 0 0}
@media (max-width:700px){
  .footer-inner{grid-template-columns:48px 1fr;grid-template-rows:auto auto}
  .footer-links{grid-column:1/-1;flex-direction:row;gap:1.25rem}
  .site-footer{padding-bottom:6rem}
}

/* ===== TOAST / LIGHTBOX ===== */
.toast{position:fixed;bottom:5.5rem;left:50%;transform:translateX(-50%) translateY(20px);background:rgba(10,6,20,.95);border:1px solid var(--pumpkin);color:var(--cream);padding:.7rem 1.2rem;border-radius:999px;font-size:.85rem;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:9500;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.lightbox{position:fixed;inset:0;z-index:9600;background:rgba(5,3,12,.92);display:flex;align-items:center;justify-content:center;padding:2rem}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;max-width:min(640px,90vw)}
.lightbox img{width:100%;border-radius:12px;border:2px solid rgba(255,140,0,.3)}
.lightbox figcaption{text-align:center;margin-top:.75rem;font-family:Cinzel,serif;letter-spacing:.1em;color:var(--moon)}
.lb-close{position:absolute;top:1rem;right:1.25rem;font-size:2rem;color:var(--cream)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:2.5rem;color:var(--pumpkin);padding:1rem;z-index:2}
.lb-nav.prev{left:.5rem}
.lb-nav.next{right:.5rem}

/* ===== REDUCED MOTION / STATIC ===== */
html.static .mascot-img,html.static .mascot-glow,html.static .brew-liquid,html.static .brew-bubbles::before,html.static .brew-bubbles::after,html.static .crystal-fog{animation:none!important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .loop-anim{display:none}
  .haunt-walker{transition:none}
}
html.touch-damp .mascot-img{animation-duration:8s}
html.touch-damp .ambient-cv{opacity:.3}

/* soft vignette grain substitute */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.18;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.55));mix-blend-mode:multiply}

/* ===== v2 painted night pass ===== */
.layer-sky,.layer-castle,.layer-trees,.layer-moon{display:none}
.hero-parallax .layer{inset:-4% -3%}
.layer-far{background:url(assets/bg/far.webp) 44% 0/cover no-repeat}
.moon-halo{position:absolute;left:43%;top:23%;width:46vh;height:46vh;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,236,170,.32),rgba(255,220,140,.12) 40%,transparent 70%);mix-blend-mode:screen;animation:halo 6s ease-in-out infinite}
@keyframes halo{50%{opacity:.65;transform:translate(-50%,-50%) scale(1.08)}}
.layer-mid{background:url(assets/bg/mid.webp) center bottom/cover no-repeat;opacity:.95}
.layer-fore{display:flex;justify-content:center;align-items:flex-end}
.fore-wrap{position:relative;width:max(100%,150vh);flex:none;margin-bottom:-2%}
.fore-wrap img{display:block;width:100%;height:auto}
.pk-glow{position:absolute;bottom:9%;width:9%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,170,40,.75),rgba(255,110,0,.25) 45%,transparent 70%);mix-blend-mode:screen;animation:flick 1.7s infinite steps(1)}
@keyframes flick{0%{opacity:.9}12%{opacity:.55}18%{opacity:1}40%{opacity:.75}55%{opacity:.95}70%{opacity:.6}85%{opacity:1}}
.ember-cv{inset:0!important;width:100%;height:100%}
.layer-fog{background:linear-gradient(180deg,transparent 55%,rgba(70,50,100,.18) 75%,rgba(12,6,22,.75))}
.hero-parallax::after{height:18%;background:linear-gradient(180deg,transparent,rgba(8,4,16,.9))}
.hero::before{background:radial-gradient(ellipse at 20% 50%,rgba(6,3,14,.7),transparent 55%)}
.layer-bats{inset:0!important;opacity:1;display:block;padding:0}
.bat{position:absolute;left:0;top:0;width:var(--s,34px);color:#0b0612;filter:drop-shadow(0 0 2px rgba(255,230,170,.25));animation:batFly var(--d,14s) linear infinite;animation-delay:var(--dl,0s);offset-path:var(--p);offset-rotate:0deg}
.bat svg{display:block;width:100%}
.bat .wl{transform-origin:50% 50%;animation:flap .28s ease-in-out infinite alternate}
@keyframes flap{from{transform:scaleY(1)}to{transform:scaleY(.25)}}
@keyframes batFly{from{offset-distance:0%}to{offset-distance:100%}}
.mascot-bob{display:none}
.mascot-img{animation:none}
.mascot-shadow{position:absolute;bottom:1%;left:50%;width:62%;height:7%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.85),transparent 70%);z-index:1}
.mascot-mist{position:absolute;bottom:-4%;left:50%;width:120%;height:22%;transform:translateX(-50%);z-index:3;background:radial-gradient(ellipse at 50% 70%,rgba(150,130,190,.38),transparent 65%);filter:blur(8px);animation:mist 7s ease-in-out infinite alternate;pointer-events:none}
@keyframes mist{to{transform:translateX(-46%) scaleX(1.1);opacity:.7}}
.mascot-glow{bottom:14%}
.hero-banner-strip{display:none}
.hero-title{text-shadow:0 0 30px rgba(255,100,0,.55),4px 4px 0 #000,0 0 2px #000}
/* haunt */
.haunt-pin{background:#07040e}
.haunt-pin::before{display:none}
.haunt-paint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,4,14,.55),rgba(7,4,14,.2) 40%,rgba(7,4,14,.35)),url(assets/bg/path.webp) center 60%/cover no-repeat}
.haunt-paint::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 40%,rgba(5,2,10,.75))}
.haunt-path-line{bottom:9%;opacity:.5}
.haunt-fog{height:35%;background:linear-gradient(180deg,transparent,rgba(110,90,150,.28));animation:mist 9s ease-in-out infinite alternate}
.haunt-stones{inset:17% 5% 37%;align-items:flex-end}
.tombstone{position:relative;width:min(200px,20vw);aspect-ratio:3/4;max-height:100%}
.haunt-walker{bottom:3%;width:auto;height:30vh;z-index:6}
.walker-img{height:100%;width:auto;filter:drop-shadow(0 14px 10px rgba(0,0,0,.8))}
.haunt-walker::after{content:'';position:absolute;left:10%;right:10%;bottom:-2%;height:10%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.8),transparent 70%);z-index:-1}
.tomb-face{overflow:hidden;border-radius:48% 48% 6px 6px/30% 30% 6px 6px;padding:1.4rem .9rem 1rem}
.tomb-face.front,.tomb-face.back{border:0;background:
 radial-gradient(circle at 30% 20%,rgba(255,255,255,.08),transparent 40%),
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .52 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),
 linear-gradient(165deg,#6d6a72,#45424b 45%,#2a272f);
 box-shadow:inset 0 0 0 3px rgba(0,0,0,.25),inset 6px 6px 14px rgba(255,255,255,.08),inset -10px -14px 24px rgba(0,0,0,.6),0 14px 28px rgba(0,0,0,.7);color:#e9e2d4}
.tomb-face.back{box-shadow:inset 0 0 0 3px rgba(0,0,0,.25),inset -10px -14px 24px rgba(0,0,0,.6),0 0 30px rgba(255,140,0,.35),0 14px 28px rgba(0,0,0,.7)}
.tomb-face .crack{position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 130'%3E%3Cpath d='M70 0l-6 18 8 10-10 16 4 9M10 60l12 6 4 14-8 10M88 90l-10 8 3 12' stroke='%23151218' stroke-width='1.2' fill='none'/%3E%3C/svg%3E") 0 0/100% 100%;opacity:.8;pointer-events:none}
.tomb-face .moss{position:absolute;left:-10%;right:-10%;bottom:0;height:30%;background:radial-gradient(ellipse at 20% 100%,rgba(70,110,40,.75),transparent 55%),radial-gradient(ellipse at 85% 100%,rgba(60,95,35,.6),transparent 50%);pointer-events:none}
.tomb-face>*:not(i){position:relative;z-index:1}
.tomb-face h3{color:#ffae3d;text-shadow:0 0 10px rgba(255,140,0,.9),0 1px 0 #000;font-size:1rem}
.tomb-face p{text-shadow:0 1px 1px #000,0 -1px 0 rgba(255,255,255,.1);font-size:.75rem}
.tomb-mark{text-shadow:0 0 14px rgba(255,140,0,.9)}
.tombstone:not(.flipped){filter:brightness(.75)}
/* section paintings */
.seance,.brew,.ritual,.mirror,.pack{position:relative;isolation:isolate;overflow:hidden}
.seance::before,.brew::before,.ritual::before,.mirror::before,.pack::before{content:'';position:absolute;inset:0;z-index:-1;background-size:cover;background-repeat:no-repeat;background-position:center}
.seance::before{background-image:linear-gradient(180deg,#07040e,rgba(7,4,14,.35) 18%,rgba(7,4,14,.35) 82%,#07040e),url(assets/bg/chamber.webp)}
.brew::before{background-image:linear-gradient(180deg,#07040e,rgba(7,4,14,.5) 20%,rgba(7,4,14,.55) 80%,#07040e),url(assets/bg/chamber.webp);transform:scaleX(-1);filter:hue-rotate(-12deg) saturate(1.1)}
.ritual::before{background-image:linear-gradient(180deg,#07040e,rgba(7,4,14,.55) 20%,rgba(7,4,14,.6) 80%,#07040e),url(assets/bg/path.webp);background-position:center 70%}
.mirror::before{background-image:linear-gradient(180deg,#07040e,rgba(7,4,14,.6) 25%,rgba(7,4,14,.7) 80%,#07040e),url(assets/bg/far.webp);filter:blur(2px)}
.pack::before{background-image:linear-gradient(180deg,#07040e,rgba(7,4,14,.1) 30%,rgba(7,4,14,.3) 75%,#07040e),url(assets/bg/far.webp);background-position:44% 25%}
.seance,.brew,.ritual,.mirror{background:#07040e}
.seance::after,.brew::after,.ritual::after,.mirror::after,.pack::after{content:'';position:absolute;left:-10%;right:-10%;bottom:0;height:30%;z-index:-1;background:radial-gradient(ellipse at 30% 100%,rgba(130,110,170,.22),transparent 60%),radial-gradient(ellipse at 75% 100%,rgba(130,110,170,.18),transparent 55%);animation:mist 12s ease-in-out infinite alternate;pointer-events:none}
.pack-moon{opacity:.35}
/* crystal ball */
.ball-wrap{position:relative;width:min(440px,86vw);margin:3rem auto 0}
.crystal-ball{width:100%;margin:0 auto;cursor:zoom-in;border:2px solid rgba(220,200,255,.35);box-shadow:0 0 80px rgba(150,90,255,.55),0 0 160px rgba(255,140,0,.18),inset 0 0 60px rgba(40,10,80,.9);z-index:2}
.crystal-swirl{position:absolute;inset:-20%;z-index:1;background:conic-gradient(from 0deg,rgba(160,90,255,.0),rgba(160,90,255,.45),rgba(255,140,0,.25),rgba(120,200,255,.3),rgba(160,90,255,0));mix-blend-mode:screen;filter:blur(18px);animation:swirl 9s linear infinite;pointer-events:none;opacity:.7}
.crystal-ball.revealed .crystal-swirl{opacity:.35}
@keyframes swirl{to{transform:rotate(360deg)}}
.crystal-ball img{position:relative;z-index:0}
.crystal-ball::after{content:'';position:absolute;inset:0;border-radius:50%;z-index:4;box-shadow:inset 0 -30px 60px rgba(20,0,40,.75),inset 0 20px 40px rgba(255,255,255,.08);pointer-events:none}
.ball-stand{width:62%;height:58px;margin:-22px auto 0;position:relative;z-index:1;background:linear-gradient(180deg,#3a2414,#1a0e06);clip-path:polygon(14% 0,86% 0,100% 100%,0 100%);border-radius:6px;box-shadow:0 18px 30px rgba(0,0,0,.7)}
.candle{position:absolute;bottom:0;width:16px;height:70px;background:linear-gradient(90deg,#d9cba6,#fff3d1 45%,#b9a780);border-radius:4px 4px 2px 2px;z-index:3}
.candle i{position:absolute;left:50%;top:-22px;width:12px;height:22px;transform:translateX(-50%);border-radius:50% 50% 45% 45%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#fff8d0,#ffb02e 50%,rgba(255,90,0,0) 72%);box-shadow:0 0 22px 8px rgba(255,150,40,.45);animation:candle 1.3s ease-in-out infinite alternate}
@keyframes candle{50%{transform:translateX(-50%) scale(.9,1.08) skewX(3deg)}to{transform:translateX(-50%) scale(1.05,.95) skewX(-3deg)}}
.candle.c1{left:-8%;height:90px}.candle.c2{left:4%;height:56px}.candle.c2 i{animation-delay:.4s}.candle.c3{right:4%;height:64px}.candle.c3 i{animation-delay:.2s}.candle.c4{right:-8%;height:96px}.candle.c4 i{animation-delay:.6s}
.tap-hint{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,232,180,.6);margin:.9rem 0 1rem}
@media (max-width:900px){
 .layer-far{background-position:44% 0}
 .moon-halo{left:50%;top:14%;width:30vh;height:30vh}
 .fore-wrap{width:160vh}
 .haunt-stones{inset:16% 2% 40%;gap:.35rem}
 .tombstone{width:23vw}
 .tomb-face{padding:.8rem .35rem .5rem}
 .tomb-face h3{font-size:.68rem}.tomb-face p{font-size:.56rem}
 .haunt-walker{height:26vh}
 .candle.c1{left:-2%}.candle.c4{right:-2%}
}

@media (prefers-reduced-motion:reduce){.bat,.bat .wl,.moon-halo,.pk-glow,.mascot-mist,.crystal-swirl,.candle i,.haunt-fog{animation:none!important}.bat{offset-distance:30%}.layer-bats .bat:nth-child(2){offset-distance:65%}}
html.static .tombstone{filter:none}
@keyframes mist2{to{opacity:.55;transform:translateY(-6px)}}
.haunt-fog,.seance::after,.brew::after,.ritual::after,.mirror::after,.pack::after{animation-name:mist2}
.haunt-paint::after{background:radial-gradient(ellipse 60% 70% at 50% 50%,transparent 35%,rgba(5,2,10,.92))}
.tomb-face .crack{inset:auto 0 0 auto;width:45%;height:100%;opacity:.45;background-position:right top}
.tomb-face .moss{height:22%;opacity:.55;filter:blur(3px)}
.tomb-face.front,.tomb-face.back{background-color:#4a4650}
.ball-wrap{margin-top:5rem}
.ouija-board{top:-1rem}
.haunt-stones{flex-wrap:nowrap}
@media (max-width:900px){.haunt-stones{inset:20% 2% 36%;gap:.25rem;justify-content:center}.tombstone{width:23.5vw;flex:none;aspect-ratio:3/5}.tomb-face h3{font-size:.6rem}.tomb-face p{font-size:.52rem}
.mascot-shadow{bottom:-1%;width:80%;height:9%}.hero-mascot{margin-bottom:.5rem}}
.overlay-moon{border-radius:50%;mix-blend-mode:screen}
.ouija-board{position:relative;top:auto;left:auto;transform:none;margin:1.5rem auto 0}
.ball-wrap{margin-top:2rem}
.crystal-ball.revealed .crystal-swirl{opacity:.5}
