:root{
  --ink:#f6efe8;--muted:#bcaebd;--bg:#07060b;--bg2:#0c0812;--panel:#120d18;--panel2:#1b1024;
  --gold:#d6b06a;--gold2:#f0d8a3;--wine:#6d284c;--violet:#5a3973;--rose:#b36a8b;--line:#3a2747;
  --glow:rgba(214,176,106,.24);--max:1180px;--radius:22px;--serif:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.68 var(--serif);background:
radial-gradient(circle at 18% 8%,rgba(90,57,115,.22),transparent 28%),
radial-gradient(circle at 82% 2%,rgba(109,40,76,.18),transparent 26%),
linear-gradient(180deg,#08060c 0,#0b0710 42%,#07060a 100%);min-height:100vh;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.55;background-image:
radial-gradient(circle,rgba(255,255,255,.8) 0 1px,transparent 1.4px),
radial-gradient(circle,rgba(214,176,106,.65) 0 1px,transparent 1.2px);background-size:89px 89px,137px 137px;background-position:0 0,31px 47px}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 72%)}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(calc(100% - 34px),var(--max));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:12px;background:#fff;color:#000;padding:10px;z-index:99}
.site-header{position:sticky;top:0;z-index:40;background:rgba(7,6,11,.78);backdrop-filter:blur(20px) saturate(120%);border-bottom:1px solid rgba(214,176,106,.13);box-shadow:0 14px 42px rgba(0,0,0,.2)}
.site-header:after{content:"✦  ☾  ✧  ◇  ✧  ☽  ✦";position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);font:11px/1 var(--serif);letter-spacing:.45em;color:rgba(214,176,106,.42);white-space:nowrap;background:var(--bg);padding:4px 10px;border-radius:999px}
.nav-wrap{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-size:1.05rem;letter-spacing:.2em;text-transform:uppercase}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(214,176,106,.48);border-radius:50%;color:var(--gold2);font-size:1.22rem;box-shadow:inset 0 0 24px rgba(214,176,106,.08),0 0 22px rgba(214,176,106,.08)}
.main-nav{display:flex;gap:24px;align-items:center;font:600 .83rem/1 var(--sans);letter-spacing:.05em}.main-nav a{position:relative}.main-nav a:not(.cart-link):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:.25s ease}.main-nav a:hover{color:var(--gold2)}.main-nav a:hover:after{right:0}.cart-link{border:1px solid rgba(214,176,106,.3);padding:10px 14px;border-radius:999px;background:rgba(214,176,106,.045)}.menu-btn{display:none;background:none;color:var(--ink);border:1px solid var(--line);padding:9px 13px;border-radius:999px}
.hero{position:relative;min-height:82vh;display:flex;align-items:center;padding:110px 0 86px;overflow:hidden}.hero:before{content:"";position:absolute;width:720px;height:720px;border-radius:50%;right:-180px;top:-160px;border:1px solid rgba(214,176,106,.08);box-shadow:0 0 0 55px rgba(214,176,106,.018),0 0 0 110px rgba(214,176,106,.012)}.hero:after{content:"";position:absolute;left:-12%;bottom:-36%;width:68%;height:66%;background:radial-gradient(ellipse,rgba(109,40,76,.20),transparent 68%);filter:blur(16px)}
.hero-grid,.split,.footer-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:68px;align-items:center;position:relative;z-index:1}.kicker,.eyebrow{font:700 .69rem/1.35 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold2)}.kicker:before{content:"✦";margin-right:10px;color:var(--rose)}
h1,h2,h3{font-weight:400;line-height:1.02;margin:0 0 19px;text-wrap:balance}h1{font-size:clamp(3.5rem,8.6vw,7.3rem);letter-spacing:-.052em;text-shadow:0 8px 45px rgba(0,0,0,.34)}h2{font-size:clamp(2.35rem,4.6vw,4.25rem);letter-spacing:-.03em}h3{font-size:1.38rem}p{margin:0 0 20px}.lead{font-size:1.19rem;color:#d9ceda;max-width:700px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--gold);background:linear-gradient(180deg,#e0bd78,#c89a4d);color:#171016;padding:13px 21px;border-radius:999px;font:700 .82rem/1 var(--sans);letter-spacing:.035em;cursor:pointer;box-shadow:0 8px 30px rgba(214,176,106,.13);transition:.2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(214,176,106,.18)}.btn.ghost{background:rgba(255,255,255,.018);color:var(--ink);border-color:rgba(214,176,106,.27);box-shadow:none}.btn.ghost:hover{border-color:var(--gold);color:var(--gold2)}
.orb{aspect-ratio:1;max-width:500px;margin-inline:auto;border-radius:50%;position:relative;background:
radial-gradient(circle at 38% 34%,#f4d9a2 0 5%,#d4ae72 8%,#8e657a 26%,#52324f 45%,#1b1224 68%,#09070d 72%);box-shadow:0 0 0 1px rgba(214,176,106,.18),0 0 0 28px rgba(214,176,106,.02),0 0 90px rgba(179,106,139,.25),inset -28px -22px 50px rgba(0,0,0,.42);animation:float 8s ease-in-out infinite}
.orb:before{content:"";position:absolute;inset:-12%;border:1px solid rgba(214,176,106,.28);border-radius:50%;background:conic-gradient(from 0deg,transparent 0 6%,rgba(214,176,106,.25) 6.2% 6.5%,transparent 6.7% 18%,rgba(214,176,106,.18) 18.2% 18.5%,transparent 18.8% 100%);box-shadow:0 0 0 18px rgba(255,255,255,.009);animation:rotate 44s linear infinite}
.orb:after{content:"✦\A\A☾";white-space:pre;position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:4.4rem;line-height:.48;color:rgba(255,245,222,.9);text-shadow:0 0 26px rgba(255,226,176,.35)}
@keyframes float{50%{transform:translateY(-10px)}}@keyframes rotate{to{transform:rotate(360deg)}}
.section{padding:96px 0;position:relative}.section:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(85%,900px);height:1px;background:linear-gradient(90deg,transparent,rgba(214,176,106,.2),transparent)}.section.alt{background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(90,57,115,.055),rgba(255,255,255,.014));border-block:1px solid rgba(214,176,106,.08)}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:38px}.section-head p{max-width:560px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-card,.feature-card{position:relative;background:linear-gradient(180deg,rgba(31,18,41,.92),rgba(15,10,20,.96));border:1px solid rgba(214,176,106,.16);border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.18);transition:.28s ease}.product-card:before,.feature-card:before{content:"";position:absolute;inset:8px;border:1px solid rgba(214,176,106,.055);border-radius:calc(var(--radius) - 7px);pointer-events:none}.product-card:hover,.feature-card:hover{transform:translateY(-5px);border-color:rgba(214,176,106,.35);box-shadow:0 22px 58px rgba(0,0,0,.28),0 0 28px rgba(90,57,115,.12)}
.product-image{display:block;aspect-ratio:1;background:radial-gradient(circle at 50% 35%,#24142f,#100c16 72%);overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}.product-card:hover .product-image img{transform:scale(1.035);filter:contrast(1.04) saturate(1.05)}.product-body{padding:22px}.product-body p{color:var(--muted);font-size:.94rem}.product-foot{display:flex;align-items:center;justify-content:space-between}.product-foot strong{color:var(--gold2);font-size:1.05rem}.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(214,176,106,.28);background:rgba(214,176,106,.05);color:var(--gold2);font-size:1.35rem;cursor:pointer}.icon-btn:hover{background:var(--gold);color:#160e18}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{padding:31px;min-height:240px}.feature-card>span{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid rgba(214,176,106,.28);font-size:1.65rem;color:var(--gold2);margin-bottom:28px;background:rgba(214,176,106,.035)}.feature-card h3{font-size:1.55rem}.feature-card p{color:var(--muted)}.feature-card a{color:var(--gold2)}
.quote{position:relative;font-size:clamp(2rem,3.7vw,3.35rem);max-width:940px;margin:auto;text-align:center;padding:38px 40px;color:#eee2eb}.quote:before,.quote:after{color:rgba(214,176,106,.48);font-size:1.5rem;position:absolute}.quote:before{content:"✦";top:0;left:50%;transform:translateX(-50%)}.quote:after{content:"☾   ✧   ☽";bottom:-6px;left:50%;transform:translateX(-50%);font-size:.85rem;letter-spacing:.55em}
.notice{position:relative;border:1px solid rgba(214,176,106,.20);padding:26px 28px;background:linear-gradient(145deg,rgba(214,176,106,.055),rgba(90,57,115,.08));color:#dfd2dc;border-radius:18px;box-shadow:inset 0 0 38px rgba(0,0,0,.12)}.notice:before{content:"✧";position:absolute;right:20px;top:13px;color:rgba(214,176,106,.44);font-size:1.4rem}
.page-hero{position:relative;padding:105px 0 68px;overflow:hidden;background:radial-gradient(circle at 82% 20%,rgba(90,57,115,.17),transparent 34%)}.page-hero:after{content:"☾   ✦   ☽";position:absolute;right:7vw;top:50%;transform:translateY(-50%);font-size:clamp(3rem,7vw,7rem);letter-spacing:.32em;color:rgba(214,176,106,.055);white-space:nowrap;pointer-events:none}.page-hero h1{font-size:clamp(3.2rem,7.5vw,6rem);max-width:900px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}.filter{border:1px solid rgba(214,176,106,.22);background:rgba(255,255,255,.018);color:var(--ink);padding:10px 15px;border-radius:999px;cursor:pointer;font:600 .8rem var(--sans)}.filter.active{background:var(--gold);color:#171016}.prose{max-width:790px}.prose h2{margin-top:46px;font-size:2.15rem}.prose p,.prose li{color:#d1c5d0}.prose a{color:var(--gold2);text-decoration:underline;text-underline-offset:3px}
.contact-grid,.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:54px}.product-detail>.product-image{border:1px solid rgba(214,176,106,.2);border-radius:24px;box-shadow:0 28px 70px rgba(0,0,0,.28);position:relative}.product-detail>.product-image:after{content:"";position:absolute;inset:12px;border:1px solid rgba(214,176,106,.08);border-radius:16px;pointer-events:none}.form-card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid rgba(214,176,106,.18);border-radius:var(--radius);padding:30px;box-shadow:0 22px 60px rgba(0,0,0,.2)}.field{display:grid;gap:8px;margin-bottom:19px}.field label{font:700 .8rem var(--sans);letter-spacing:.04em}.field input,.field textarea,.field select{width:100%;padding:14px 15px;border-radius:12px;border:1px solid var(--line);background:#09070c;color:var(--ink);outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(214,176,106,.08)}.field textarea{min-height:145px}.tiny{font-size:.82rem;color:var(--muted)}
.cart-row{display:grid;grid-template-columns:72px 1fr auto auto;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.cart-row img{width:72px;border-radius:12px;border:1px solid rgba(214,176,106,.12)}
.site-footer{padding:78px 0 30px;border-top:1px solid rgba(214,176,106,.13);background:radial-gradient(circle at 50% 0,rgba(90,57,115,.11),transparent 38%),#050408;position:relative}.site-footer:before{content:"✦  ☾  ✧  ◇  ✧  ☽  ✦";position:absolute;left:50%;top:-9px;transform:translateX(-50%);color:rgba(214,176,106,.5);background:#07060a;padding:0 15px;letter-spacing:.42em;font-size:.75rem;white-space:nowrap}.footer-grid{grid-template-columns:2fr 1fr 1fr;align-items:start}.footer-grid>div{display:grid;gap:10px}.footer-grid h2{font:700 .72rem var(--sans);text-transform:uppercase;letter-spacing:.19em;color:var(--gold2)}.footer-base{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:.84rem}.text-btn{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer}
.cookie-panel{position:fixed;left:18px;right:18px;bottom:18px;z-index:60;max-width:900px;margin:auto;background:rgba(17,11,23,.97);border:1px solid rgba(214,176,106,.24);box-shadow:0 20px 70px rgba(0,0,0,.52);border-radius:18px;padding:18px;display:flex;justify-content:space-between;gap:20px;align-items:center}.cookie-panel[hidden]{display:none}.cookie-panel p{margin:4px 0;color:var(--muted)}.cookie-actions{display:flex;gap:10px;flex-shrink:0}
@media(max-width:900px){.menu-btn{display:block}.main-nav{display:none;position:absolute;left:16px;right:16px;top:76px;background:rgba(12,8,17,.98);border:1px solid rgba(214,176,106,.18);border-radius:18px;padding:18px;flex-direction:column;align-items:stretch;box-shadow:0 18px 54px rgba(0,0,0,.35)}.main-nav.open{display:flex}.hero-grid,.split,.contact-grid,.product-detail{grid-template-columns:1fr}.hero{padding-top:76px;min-height:auto}.orb{max-width:410px}.cards{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.page-hero:after{opacity:.45}.site-header:after{display:none}}
@media(max-width:600px){.shell{width:min(calc(100% - 26px),var(--max))}.cards{grid-template-columns:1fr}.section{padding:70px 0}.section-head{display:block}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-base,.cookie-panel{flex-direction:column;align-items:stretch}.cookie-actions{flex-direction:column}.cart-row{grid-template-columns:56px 1fr auto}.cart-row .remove{grid-column:2/-1;justify-self:start}h1{font-size:3.6rem}.hero{padding:76px 0 66px}.orb{max-width:310px}.brand{letter-spacing:.15em;font-size:.94rem}.page-hero{padding:88px 0 52px}.page-hero:after{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orb,.orb:before{animation:none}.btn,.product-card,.feature-card,.product-image img{transition:none}}
/* The Spell Room brand layer */
.brand-mark{font-size:1.05rem;background:radial-gradient(circle,rgba(214,176,106,.12),transparent 66%)}
.spellroom-orb{display:grid;place-items:center;isolation:isolate}
.spellroom-orb .orb-label{position:relative;z-index:4;text-align:center;font-family:var(--serif);font-size:clamp(1.05rem,2.2vw,1.55rem);line-height:1.28;letter-spacing:.34em;text-indent:.34em;color:#f6e3bb;text-shadow:0 0 18px rgba(214,176,106,.72),0 2px 18px rgba(0,0,0,.85)}
.spellroom-orb:after{content:"☾";white-space:normal;font-size:5rem;opacity:.78;transform:translateY(-34%);z-index:2}
.spellroom-orb .orb-label:before,.spellroom-orb .orb-label:after{content:"✦";display:block;font-size:.75rem;letter-spacing:0;text-indent:0;margin:10px 0;color:var(--gold2)}
.hero-grid>div:first-child{position:relative}
.hero-grid>div:first-child:before{content:"✦   ☾   ✧";display:block;color:rgba(214,176,106,.32);font-size:.74rem;letter-spacing:.65em;margin-bottom:22px}
.site-footer{position:relative}
.site-footer:before{content:"THE SPELL ROOM";position:absolute;left:50%;top:18px;transform:translateX(-50%);font:600 .58rem/1 var(--sans);letter-spacing:.52em;color:rgba(214,176,106,.22);white-space:nowrap}
/* V2 commerce/account utilities */
.table-wrap{overflow-x:auto;margin-top:18px}.table-wrap table{width:100%;border-collapse:collapse;min-width:680px}.table-wrap th,.table-wrap td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}.table-wrap th{font:700 .72rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold2)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.form-card+.form-card{margin-top:20px}.notice a{color:var(--gold2)}
@media(max-width:800px){.grid-2{grid-template-columns:1fr}}

[hidden]{display:none!important}

/* V3 shop layout */
.shop-hero{min-height:auto;padding:76px 0}.shop-hero h1{font-size:clamp(3rem,6vw,5.5rem)}.hero-note{margin-top:22px;color:var(--muted);font: .85rem/1.6 var(--sans)}.hero-collection{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hero-collection a{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--panel)}.hero-collection img{width:100%;aspect-ratio:1;object-fit:cover}.hero-collection span{display:grid;gap:8px;padding:18px;line-height:1.3}.hero-collection strong{color:var(--gold2)}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.category-tile{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel)}.category-tile img{width:100%;aspect-ratio:4/3;object-fit:cover}.category-tile span{display:block;padding:18px;font-size:1.2rem}.category-tile small{display:block;color:var(--gold2);font: .8rem/1.6 var(--sans);margin-top:8px}.product-card{height:100%;display:flex;flex-direction:column}.product-body{flex:1;display:flex;flex-direction:column}.product-kind{display:block;font: .7rem/1.5 var(--sans);color:var(--muted);margin-bottom:12px}.product-body h3{font-size:1.5rem;line-height:1.2;margin-top:10px}.product-foot{margin-top:auto;flex-wrap:wrap;gap:14px}.product-foot strong{font-size:1.35rem}.product-foot .btn{padding:12px 14px;font-size:.74rem}.service-card{border-top:3px solid var(--rose)}a:focus-visible,button:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}.main-nav{gap:17px}.category-tile:hover{border-color:var(--gold)}
@media(max-width:1100px){.main-nav{gap:12px;font-size:.75rem}.nav-wrap{gap:14px}}
@media(max-width:900px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-hero .hero-grid{gap:32px}.hero-collection{max-width:600px}.main-nav{font-size:.9rem;gap:22px}}
@media(max-width:600px){.hero-collection{gap:12px}.hero-collection span{padding:12px;font-size:.9rem}.category-tile span{padding:12px;font-size:1rem}.shop-hero{padding:56px 0}.product-detail{gap:28px}}
