:root{--witch:#7a0f7d;--violet:#3a0b45;--amber:#f5a623;--ink:#0a0a0a;--paper:#f7f2ef;--red:#c8102e;--blush:#e8c4c4;--mauve:#b08f94;--gold:#d8b98a;--serif:"Playfair Display",Georgia,serif;--sans:"Inter",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html.lenis{height:auto}.lenis-smooth{scroll-behavior:auto}body{background:var(--ink);color:var(--paper);font:300 1.05rem/1.7 var(--sans);overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:800;line-height:1.05}h2{font-size:clamp(2.6rem,7vw,5.5rem);margin-bottom:2rem}h3{font-size:1.35rem;font-weight:500}section{padding:clamp(5rem,12vw,9rem) clamp(1.2rem,5vw,5rem);position:relative}.center{text-align:center}.small{font-size:.85rem;opacity:.7}.eyebrow{text-transform:uppercase;letter-spacing:.35em;font-size:.72rem;color:var(--blush);margin-bottom:1rem}.btn{display:inline-block;padding:1rem 2.2rem;border-radius:999px;background:var(--red);color:#fff;text-decoration:none;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;transition:background .3s,box-shadow .3s;box-shadow:0 0 #c8102e00}.btn:hover{box-shadow:0 0 40px #c8102e8c}.btn.ghost{background:transparent;border:1px solid rgba(247,242,239,.4)}.btn.ghost:hover{background:#ffffff14}.btn.sm{padding:.6rem 1.3rem;font-size:.7rem}.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:1.1rem clamp(1rem,4vw,3rem);mix-blend-mode:normal;backdrop-filter:blur(10px);background:linear-gradient(#0a0a0abf,#0a0a0a00)}.brand{font-family:var(--serif);font-weight:800;letter-spacing:.15em;text-decoration:none;font-size:1.2rem}.brand span{color:var(--red)}.links{display:flex;gap:1.6rem;align-items:center}.links a:not(.btn){text-decoration:none;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;opacity:.8}@media(max-width:720px){.links a:not(.btn){display:none}}.hero{z-index:3;min-height:100svh;padding-bottom:4rem;display:grid;place-items:center;text-align:center;overflow:hidden;position:relative;background:radial-gradient(ellipse at 50% 35%,#2a1418 0%,transparent 60%),radial-gradient(ellipse at 85% 90%,rgba(122,15,125,.35),transparent 55%),radial-gradient(ellipse at 10% 80%,rgba(58,11,69,.5),transparent 50%),#0a0a0a}#glitter{position:absolute;inset:0;width:100%;height:100%}.hero-inner{position:relative;z-index:2;padding:6rem 1.2rem 3rem}.logo-wrap{position:relative;width:clamp(200px,34vw,340px);margin:0 auto 2rem;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px #ffffff40,0 0 0 6px #c8102ee6,0 0 60px 10px #c8102e8c,0 0 140px 40px #c8102e40;animation:halo 3.5s ease-in-out infinite}.logo{width:100%;height:auto;object-fit:contain;display:block}.logo-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);background-size:300% 100%;background-position:150% 0;animation:sweep 4.5s ease-in-out 2.2s infinite;pointer-events:none}@keyframes sweep{0%{background-position:150% 0}40%,to{background-position:-150% 0}}@keyframes halo{50%{box-shadow:0 0 0 1px #ffffff59,0 0 0 6px #c8102e,0 0 90px 18px #c8102eb3,0 0 180px 60px #c8102e4d}}h1{font-size:clamp(3rem,11vw,9rem);margin:.4rem 0 1.2rem}.stars{font-style:italic;background:linear-gradient(100deg,#fff 20%,var(--gold) 35%,#fff 45%,var(--blush) 60%,#fff 80%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 5s linear infinite;filter:drop-shadow(0 0 25px rgba(232,196,196,.35))}@keyframes sheen{to{background-position:-250% 0}}.lede{max-width:34rem;margin:0 auto 2.2rem;opacity:.85}.ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.ctas.col{flex-direction:column;align-items:flex-start;margin:2rem 0}.scroll-hint{pointer-events:none;position:absolute;bottom:1.5rem;left:50%;translate:-50% 0;font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;opacity:.5;z-index:2}.scroll-hint:after{content:"";display:block;width:1px;height:40px;background:var(--paper);margin:.6rem auto 0;animation:drip 2s infinite}@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.marquee{position:relative;z-index:1;overflow:hidden;background:var(--red);padding:1rem 0;font-family:var(--serif);font-size:1.3rem;white-space:nowrap;transform:rotate(-1.5deg) scale(1.03)}.track{display:inline-block;animation:mq 30s linear infinite}@keyframes mq{to{transform:translate(-50%)}}.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}@media(max-width:820px){.about,.book{grid-template-columns:1fr!important}}.about-img{border-radius:300px 300px 12px 12px;overflow:hidden;aspect-ratio:4/5}.about-img img{width:100%;height:120%;object-fit:cover}.about-txt p{margin-bottom:1.2rem;max-width:32rem}.stats{display:flex;gap:2.5rem;margin-top:2rem}.stats div{font-family:var(--serif);font-size:2.6rem;color:var(--blush)}.stats span{display:block;font:400 .7rem var(--sans);letter-spacing:.25em;text-transform:uppercase;color:var(--paper);opacity:.7}.services{background:var(--paper);color:var(--ink)}.services .eyebrow{color:var(--red)}.special{max-width:620px;margin:0 auto 4rem;text-align:center;padding:3rem 2rem;border-radius:24px;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.special span{text-transform:uppercase;letter-spacing:.4em;font-size:.7rem;color:var(--blush)}.special strong{display:block;font:800 clamp(5rem,16vw,9rem)/1 var(--serif);color:var(--red)}.special em{display:block;font-family:var(--serif);font-size:1.5rem;margin-bottom:1.5rem}.shimmer:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);background-size:250% 100%;animation:sheen 4s linear infinite;pointer-events:none}.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:#0000001f;border:1px solid rgba(0,0,0,.12);margin-bottom:2rem}.svc{background:var(--paper);padding:2rem;transition:background .4s,color .4s}.svc:hover{background:var(--ink);color:var(--paper)}.svc h3{margin-bottom:.5rem}.grid{columns:3 280px;column-gap:1.2rem}.card{break-inside:avoid;margin-bottom:1.2rem;border-radius:14px;overflow:hidden;position:relative;cursor:zoom-in;transform-style:preserve-3d;will-change:transform;box-shadow:0 20px 50px #00000080}.card img{width:100%;height:auto;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.card:hover img{transform:scale(1.06)}.card figcaption{position:absolute;inset:auto 0 0;padding:2.5rem 1rem .9rem;background:linear-gradient(transparent,#000c);font-family:var(--serif);font-style:italic;opacity:0;transform:translateY(10px);transition:.4s}.card:hover figcaption{opacity:1;transform:none}.card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.25),transparent 45%);opacity:0;transition:opacity .3s;pointer-events:none}.card:hover:after{opacity:1}.products{display:grid;gap:1.2rem}.product{padding:1.6rem;border:1px solid rgba(232,196,196,.25);border-radius:18px;background:#ffffff08;backdrop-filter:blur(6px)}.product p{opacity:.7;font-size:.9rem}.row{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.price{font-family:var(--serif);font-size:1.4rem;color:var(--blush)}.reviews .big{color:var(--red)}.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:3rem;max-width:1100px;margin-inline:auto}blockquote{font-family:var(--serif);font-style:italic;font-size:1.4rem;padding:2rem;border-left:2px solid var(--red)}cite{display:block;font:400 .75rem var(--sans);opacity:.5;margin-top:1rem;letter-spacing:.2em;text-transform:uppercase}.book{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:center;background:var(--paper);color:var(--ink)}.book .eyebrow{color:var(--red)}.book .btn.ghost{background:var(--ink);color:#fff;border:1px solid var(--ink)}.book .btn.ghost:hover{background:#2a1418;box-shadow:0 0 30px #c8102e66}.info{display:flex;gap:3rem;flex-wrap:wrap}.map iframe{width:100%;aspect-ratio:4/3;border:0;border-radius:20px;filter:grayscale(1) contrast(1.1);transition:filter .5s}.map iframe:hover{filter:none}footer{padding:3rem;text-align:center;font-size:.8rem;opacity:.7}footer .brand{display:block;font-size:2rem;margin-bottom:.5rem}.lightbox{position:fixed;inset:0;z-index:100;background:#000000eb;backdrop-filter:blur(14px);display:grid;place-items:center;padding:2rem}.lightbox[hidden]{display:none}.lightbox img{max-height:88vh;border-radius:12px}.lightbox button{position:absolute;top:1rem;right:1.5rem;font-size:2.5rem;background:none;border:0;color:#fff;cursor:pointer}.cursor{position:fixed;width:34px;height:37px;pointer-events:none;z-index:200;translate:-50% -50%;background:url(/img/skull.svg) center/contain no-repeat;filter:drop-shadow(0 0 6px rgba(200,16,46,.55));transition:transform .3s cubic-bezier(.2,1.4,.4,1),filter .3s;left:-100px}.cursor.on{transform:scale(1.9) rotate(-8deg);filter:drop-shadow(0 0 10px rgba(122,15,125,.8)) drop-shadow(0 0 4px rgba(245,166,35,.6))}@media(hover:none){.cursor{display:none}}.grain{position:fixed;inset:0;pointer-events:none;z-index:150;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.split .w{display:inline-block;overflow:hidden;vertical-align:top}.split .w>span{display:inline-block}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}#preloader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;pointer-events:none}html:not(.loading) #preloader{display:none}html.rm #preloader{display:none}.curtain{position:absolute;top:0;bottom:0;width:50.5%;background:repeating-linear-gradient(90deg,#7a0a1c 0 18px,#a50f26 18px 30px,#7a0a1c 30px 44px);box-shadow:inset 0 -80px 120px #0009;transition:transform 1s cubic-bezier(.7,0,.2,1)}.curtain.l{left:0}.curtain.r{right:0}.pl-inner{position:relative;text-align:center;transition:opacity .4s,transform .6s}.pl-33{font:800 clamp(6rem,28vw,12rem)/1 var(--serif);background:linear-gradient(100deg,#fff 30%,var(--gold) 45%,#fff 55%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 1.4s linear infinite,pop .9s cubic-bezier(.2,1.4,.4,1) both;filter:drop-shadow(0 0 30px rgba(255,255,255,.5))}.pl-word{font:600 .8rem var(--sans);letter-spacing:.8em;margin-right:-.8em;color:#fff;animation:pop .9s .2s both}.pl-bar{width:140px;height:1px;background:#ffffff40;margin:1.2rem auto 0;overflow:hidden}.pl-bar i{display:block;height:100%;background:#fff;animation:bar 1.6s ease-out forwards;transform-origin:left}.burst{position:absolute;left:50%;top:40%;width:420px;height:420px;translate:-50% -50%;background:repeating-conic-gradient(rgba(255,255,255,.12) 0 4deg,transparent 4deg 15deg);border-radius:50%;mask:radial-gradient(circle,#000 20%,transparent 70%);-webkit-mask:radial-gradient(circle,#000 20%,transparent 70%);animation:spin 8s linear infinite}@keyframes pop{0%{opacity:0;transform:scale(.6)}}@keyframes bar{0%{transform:scaleX(0)}}@keyframes spin{to{rotate:360deg}}html.loaded #preloader .pl-inner{opacity:0;transform:scale(1.15)}html.loaded .curtain.l{transform:translate(-101%)}html.loaded .curtain.r{transform:translate(101%)}.card{transition:box-shadow .5s}.card:hover{box-shadow:0 30px 70px #0009,0 0 0 1px #e8c4c480,0 0 40px #c8102e59}.card:before,.product:before,.tap:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%);background-size:300% 100%;background-position:150% 0}.card:hover:before,.product:hover:before,.tap:before{animation:sweep 1.1s ease-out forwards}.card:hover img{filter:saturate(1.15) contrast(1.05)}.card figcaption{z-index:3;letter-spacing:.02em}.card figcaption:after{content:"View ⤢";float:right;font:600 .65rem var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-top:.4rem;color:var(--blush)}@media(hover:none){.card figcaption{opacity:1;transform:none}}.product{position:relative;overflow:hidden;transition:border-color .4s,transform .4s}.product:hover{border-color:var(--red)}.svc{position:relative}.svc:after{content:"";position:absolute;left:2rem;right:2rem;bottom:1.3rem;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.svc:hover:after{transform:scaleX(1)}.btn{position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);background-size:300% 100%;background-position:150% 0;pointer-events:none}.btn:hover:before,.btn.tap:before{animation:sweep .9s ease-out forwards}.lightbox img{max-width:min(92vw,1000px);box-shadow:0 0 80px #c8102e59;will-change:transform}.lightbox .prev,.lightbox .next{position:absolute;top:50%;translate:0 -50%;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#0006;color:#fff;font-size:2rem;cursor:pointer;transition:background .3s}.lightbox .prev{left:1rem}.lightbox .next{right:1rem}.lightbox .prev:hover,.lightbox .next:hover{background:var(--red)}.lightbox .cap{position:absolute;bottom:1.5rem;left:0;right:0;text-align:center;font-family:var(--serif);font-style:italic;font-size:1.2rem}.ctas a{position:relative;z-index:5;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.podcast{position:relative;display:grid;grid-template-columns:120px 1fr;gap:1.4rem;align-items:center;margin:2rem 0;padding:1.6rem;border-radius:20px;overflow:hidden;background:radial-gradient(circle at 15% 20%,rgba(122,15,125,.6),transparent 60%),linear-gradient(135deg,#2a0833,#120615);border:1px solid rgba(245,166,35,.35);box-shadow:0 0 50px #7a0f7d59}.podcast img{width:120px;border-radius:50%;box-shadow:0 0 30px #f5a6234d;position:relative}.podcast>div,.podcast img{position:relative;z-index:1}.podcast p{margin-bottom:.8rem;font-size:.95rem}.sigil{position:absolute;right:-60px;top:-60px;width:260px;color:#f5a6232e;animation:spin 60s linear infinite}.pod-eyebrow{text-transform:uppercase;letter-spacing:.35em;font-size:.65rem;color:var(--amber)!important;margin-bottom:.2rem!important}.witchy{font-family:Amatic SC,cursive;font-size:2.4rem;font-weight:700;letter-spacing:.04em;color:#fff;margin-bottom:.5rem}.pod-btn{background:linear-gradient(90deg,var(--witch),#b0126b)}.pod-btn:hover{box-shadow:0 0 35px #b0126b99}@media(max-width:520px){.podcast{grid-template-columns:1fr;text-align:center}.podcast img{margin:auto}}.reviews{background:radial-gradient(ellipse at 50% 0,rgba(58,11,69,.45),transparent 60%)}footer{background:linear-gradient(transparent,#3a0b4559)}.special:after{content:"⚡";position:absolute;top:1rem;right:1.4rem;font-size:1.6rem;filter:drop-shadow(0 0 8px var(--amber))}.hours{min-width:240px}.hours ul{list-style:none;margin-top:.4rem}.hours li{display:flex;justify-content:space-between;gap:1.5rem;padding:.35rem 0;border-bottom:1px solid rgba(0,0,0,.1);font-size:.92rem}.hours li.closed span:last-child{color:var(--red);font-style:italic;font-family:var(--serif)}.hours li.today{font-weight:600;background:linear-gradient(90deg,rgba(200,16,46,.1),transparent);padding-left:.5rem;border-left:2px solid var(--red)}.hours li.today span:first-child:after{content:" · today";font-size:.7rem;color:var(--red);text-transform:uppercase;letter-spacing:.1em}.g-label{margin-top:3rem}.quotes{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.quotes blockquote{font-size:1.1rem;line-height:1.55}.about-media{position:relative;max-width:520px;width:100%;margin:auto;padding-bottom:12%}.portrait{border-radius:18px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 0 0 1px #fff3,0 0 0 5px #c8102ed9,0 0 60px 8px #c8102e66,0 30px 60px #0009}.portrait img{width:100%;height:100%;object-fit:cover}.about-img.inset{position:absolute;right:-6%;bottom:0;width:42%;aspect-ratio:4/5;border:3px solid var(--ink);box-shadow:0 0 0 1px var(--blush),0 20px 40px #0009}@media(max-width:820px){.about-media{max-width:380px}.about-img.inset{right:-2%}}.accolades{background:radial-gradient(ellipse at 20% 30%,rgba(200,16,46,.18),transparent 55%),radial-gradient(ellipse at 85% 80%,rgba(122,15,125,.22),transparent 55%),#0a0a0a}.acc-wrap{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:3rem;align-items:center;max-width:1000px;margin:auto}@media(max-width:820px){.acc-wrap{grid-template-columns:1fr}.plaque{max-width:300px;margin:auto}}.plaque{border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px #d8b98a99,0 0 60px #d8b98a40,0 30px 60px #0009;transform-style:preserve-3d}.acc-list{display:grid;gap:1.2rem}.award{position:relative;overflow:hidden;padding:1.6rem 1.6rem 1.6rem 5.5rem;border-radius:18px;border:1px solid rgba(216,185,138,.4);background:linear-gradient(135deg,#ffffff0a,#7a0f7d1f)}.award .yr{position:absolute;left:1.2rem;top:50%;translate:0 -50%;font:800 1.5rem var(--serif);color:var(--gold)}.award h3{color:#fff;margin-bottom:.3rem}.award p{opacity:.75;font-size:.9rem}.acc-wrap{grid-template-columns:1fr;max-width:900px}.plaques{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,4vw,3rem);max-width:760px;margin:0 auto 1rem;width:100%}.plaques .plaque{max-width:none;margin:0}.acc-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.qr-share{padding-top:3rem;padding-bottom:3rem;background:linear-gradient(transparent,#3a0b4540)}.qr-card{max-width:640px;margin:auto;display:grid;grid-template-columns:170px 1fr;gap:2rem;align-items:center;padding:1.6rem;border-radius:20px;border:1px solid rgba(216,185,138,.4);background:#ffffff08;box-shadow:0 0 50px #c8102e26}.qr-card img{border-radius:12px;background:#fff;box-shadow:0 0 0 3px var(--red),0 0 40px #c8102e59}.qr-card h3{font-size:1.8rem;margin-bottom:.4rem}.qr-card p{opacity:.8;font-size:.95rem;margin-bottom:1rem}.qr-card .eyebrow{margin-bottom:.3rem;opacity:1}@media(max-width:560px){.qr-card{grid-template-columns:1fr;text-align:center}.qr-card img{width:200px;margin:auto}}.faq{background:linear-gradient(180deg,#0a0a0a,#140810)}.faq-list{max-width:820px;margin:auto;display:grid;gap:.8rem}.faq-item{border:1px solid rgba(216,185,138,.3);border-radius:14px;background:#ffffff08;overflow:hidden;transition:border-color .3s,box-shadow .3s}.faq-item[open]{border-color:var(--red);box-shadow:0 0 30px #c8102e33}.faq-item summary{cursor:pointer;list-style:none;padding:1.1rem 3rem 1.1rem 1.3rem;font-family:var(--serif);font-size:1.15rem;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:1.2rem;top:50%;translate:0 -50%;font:300 1.6rem var(--sans);color:var(--gold);transition:rotate .3s}.faq-item[open] summary:after{rotate:45deg}.faq-item summary:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.faq-item p{padding:0 1.3rem 1.2rem;opacity:.85;animation:faqin .4s ease}@keyframes faqin{0%{opacity:0;transform:translateY(-6px)}}.award .proof{position:relative;z-index:3;display:inline-flex;align-items:center;min-height:32px;margin-top:.3rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);opacity:.75;text-decoration:none;border-bottom:1px solid transparent;transition:opacity .3s,border-color .3s}.award .proof:hover,.award .proof:focus-visible{opacity:1;border-bottom-color:var(--gold)}
