@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&family=DM+Sans:wght@400;500;600;700&display=swap');:root{--bg:#100c16;--panel:#1b1424;--line:#3a2b48;--text:#f2ebf3;--muted:#b5a7be;--purple:#b783d7;--bright:#e0b6fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.notice{text-align:center;padding:9px 12px;background:#342044;color:#e7caed;letter-spacing:1.6px;font-size:10px}.header{display:flex;align-items:center;justify-content:space-between;padding:21px max(5vw,20px);border-bottom:1px solid var(--line);gap:18px;position:sticky;top:0;z-index:20;background:#100c16f5;backdrop-filter:blur(12px)}.brand{font-size:15px;font-weight:700;letter-spacing:2px;white-space:nowrap}.brand em{font-style:normal;color:var(--purple)}.mark{font-size:26px;color:var(--purple);vertical-align:middle;margin-right:9px}.header nav{display:flex;gap:25px}.header nav a,footer a{font-size:12px;color:#d4c6d9}.header nav a:hover,footer a:hover{color:var(--bright)}.cartbtn{border:1px solid var(--line);background:transparent;color:var(--text);padding:9px 15px;border-radius:3px;white-space:nowrap}.cartbtn span{color:var(--bright);padding-left:7px}.hero{min-height:590px;display:flex;align-items:center;justify-content:space-between;padding:90px max(8vw,25px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 50%,#48215a66,transparent 43%),linear-gradient(110deg,#100c16,#21152b)}.hero-inner{max-width:690px;position:relative;z-index:1}.eyebrow{color:var(--purple);font-size:11px;letter-spacing:3px;font-weight:700}.hero h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.04}.hero h1{font-size:clamp(54px,7vw,105px);letter-spacing:-2px;margin:23px 0}.hero h1 i,.feature h2 i{color:var(--bright);font-weight:400}.hero p{max-width:470px;color:#c5b6cd}.hero-actions{display:flex;gap:12px;margin-top:32px}.button{display:inline-block;padding:14px 22px;font-size:12px;font-weight:700;letter-spacing:.5px;border-radius:2px;border:1px solid var(--purple);text-align:center}.primary{background:var(--purple);color:#180f1e}.outline{background:transparent;color:var(--text)}.orb{width:320px;height:320px;border-radius:50%;border:1px solid #b783d755;display:grid;place-items:center;box-shadow:0 0 0 40px #a46cc40a,0 0 0 100px #a46cc407,inset 0 0 80px #b783d71c;margin-right:4vw}.orb span{font-size:150px;color:#ad70d3;text-shadow:0 0 65px #a45fc8}.section{padding:92px max(8vw,25px)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.section-head h2,.feature h2,.newsletter h2{font-size:clamp(40px,5vw,65px);margin:10px 0}.section-head p{max-width:280px;color:var(--muted);font-size:13px}.categories{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.categories button{min-height:205px;text-align:left;background:linear-gradient(150deg,#291b35,#18121f);border:1px solid var(--line);color:var(--text);padding:25px;display:flex;flex-direction:column;justify-content:end;transition:.2s}.categories button:hover{border-color:var(--purple);transform:translateY(-3px)}.categories button span{font-size:46px;color:var(--purple);margin-bottom:auto}.categories strong{font-family:Georgia,serif;font-size:25px;font-weight:400}.categories small{color:var(--muted);margin-top:4px}.shop{background:#15101c}.toolbar{display:flex;gap:15px;margin:25px 0}.toolbar label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:7px}.toolbar input,.toolbar select{min-width:230px;background:#241a2e;border:1px solid var(--line);color:var(--text);padding:11px}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product{border:1px solid var(--line);background:#1d1625;overflow:hidden}.product-visual{height:195px;background:radial-gradient(circle at 50% 35%,#543767,#24192f 65%,#17111d);display:grid;place-items:center;position:relative}.product-visual .symbol{font-size:72px;color:#d6adee;filter:drop-shadow(0 0 22px #a45acb88)}.product-visual small{position:absolute;left:14px;top:12px;background:#1a1122bd;color:#e3d1ec;padding:4px 9px;font-size:10px;letter-spacing:1px}.product-body{padding:18px}.product-body h3{font-family:Georgia,serif;font-size:21px;font-weight:400;margin:0}.latin{color:var(--muted);font-style:italic;font-size:12px;min-height:39px;margin:5px 0}.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:6px}.product-bottom span{color:var(--purple);font-size:11px}.product button{border:1px solid var(--purple);background:transparent;color:var(--bright);padding:9px 11px;font-size:11px}.catalog-note,.disclaimer{color:var(--muted);font-size:12px;margin-top:22px}.feature{padding:100px max(8vw,25px);display:grid;grid-template-columns:1fr 1fr;gap:80px;background:linear-gradient(120deg,#261732,#100c16)}.feature p{color:#c7b9cf}.textlink{color:var(--bright);border-bottom:1px solid var(--purple);padding-bottom:6px}.policies{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.policies article{padding:24px;background:var(--panel);border:1px solid var(--line)}.policies h3{font-family:Georgia,serif;font-size:22px;font-weight:400;margin:0 0 8px}.policies p{font-size:13px;color:var(--muted);margin:0}.newsletter{text-align:center;padding:85px 20px;background:radial-gradient(ellipse at center,#382047,#211429 70%)}.newsletter p{color:#c5b7cb}.newsletter form{display:flex;max-width:520px;margin:25px auto 0}.newsletter input{flex:1;min-width:0;padding:15px;background:#140e1b;border:1px solid var(--line);color:white}.newsletter button{background:var(--purple);color:#1a1120;border:0;padding:12px 20px;font-weight:700}.newsletter .small{font-size:11px;max-width:540px;margin:12px auto}footer{padding:50px max(8vw,25px);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}footer p,footer small{color:var(--muted);font-size:12px}footer div:last-of-type{display:flex;gap:15px}.overlay{position:fixed;inset:0;background:#000a;z-index:29}.cart{position:fixed;right:0;top:0;height:100vh;width:min(440px,100vw);background:#1a1322;border-left:1px solid var(--line);z-index:30;display:flex;flex-direction:column;padding:25px;transform:translateX(110%);transition:transform .25s}.cart.open{transform:translateX(0)}.carttop{display:flex;align-items:center;justify-content:space-between}.carttop h2{font-size:35px;margin:0}.carttop button{background:none;border:0;color:white;font-size:24px}#cartItems{overflow:auto;flex:1;margin:20px 0}.cartitem{border-bottom:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;gap:10px}.cartitem small{color:var(--muted);display:block}.cartitem button{background:none;border:0;color:var(--bright);font-size:12px}.cartbottom{border-top:1px solid var(--line);padding-top:15px}.cartbottom p,.cartbottom small{font-size:12px;color:var(--muted)}.cartbottom .button{width:100%}.cartbottom .button:disabled{opacity:.5;cursor:not-allowed}.sr{position:absolute;left:-9999px}[hidden]{display:none!important}@media(max-width:950px){.header nav{gap:12px}.products,.categories{grid-template-columns:repeat(2,1fr)}.orb{display:none}}@media(max-width:600px){.header{flex-wrap:wrap}.header nav{order:3;width:100%;overflow:auto;gap:16px}.hero{min-height:500px;padding:65px 25px}.section{padding:60px 20px}.section-head{display:block}.products,.categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-visual{height:145px}.product-body{padding:12px}.product-body h3{font-size:17px}.toolbar{flex-wrap:wrap}.toolbar input,.toolbar select{min-width:180px}.feature,.policies{grid-template-columns:1fr;gap:15px}.feature{padding:65px 25px}.newsletter form{flex-direction:column}}

.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.review-card{background:#1b1325;border:1px solid #453054;border-radius:15px;padding:22px}.review-card h3{margin:10px 0}.review-card p{line-height:1.6}.review-card small{color:#b5a2c8}.review-stars{color:#c9a0ff;letter-spacing:3px}


/* Full medallion assets, with generous transparent padding */
.categories button .creature-emblem-wrap{display:block;width:110px;height:110px;flex:0 0 110px;overflow:visible;line-height:0;margin-bottom:auto;}
.categories button .creature-emblem-img{display:block;width:110px;height:110px;object-fit:contain;}

/* Hero crest: fit full artwork inside existing orb without cropping */
.orb .hero-crest{display:block;width:94%;height:94%;object-fit:contain;max-width:100%;max-height:100%;filter:drop-shadow(0 0 15px #a45fc844)}

/* V24: live Brevo newsletter embedded on the storefront */
.newsletter-brevo .newsletter-embed{width:min(100%,660px);margin:28px auto 0;overflow:hidden;border:1px solid #65437e;border-radius:4px;background:#100b18}
.newsletter-brevo .newsletter-embed iframe{display:block;width:100%;height:790px;border:0;background:#100b18}
.newsletter-brevo .newsletter-fallback{font-size:12px;margin:14px auto 0;color:#cbbbd8}
.newsletter-brevo .newsletter-fallback a{color:#e0b6fb;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.newsletter-brevo .newsletter-embed iframe{height:880px}.newsletter-brevo{padding-left:12px;padding-right:12px}}

/* V25: display the entire Brevo form at a comfortable, responsive size.
   The form's internal layout is managed by Brevo and cannot be restyled from this stylesheet. */
.newsletter-brevo{padding:88px 20px 78px}
.newsletter-brevo>.eyebrow{display:block}
.newsletter-brevo>p:not(.newsletter-fallback){max-width:800px;margin:14px auto 0}
.newsletter-brevo .newsletter-embed{display:block!important;width:100%!important;max-width:760px!important;margin:32px auto 0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important}
.newsletter-brevo .newsletter-embed iframe{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;height:950px!important;min-height:950px!important;border:0!important;margin:0 auto!important;background:#100b18!important}
.newsletter-brevo .newsletter-fallback{margin:4px auto 0!important;max-width:760px}
@media(max-width:600px){.newsletter-brevo{padding:62px 12px 60px}.newsletter-brevo .newsletter-embed{margin-top:24px!important}.newsletter-brevo .newsletter-embed iframe{height:1060px!important;min-height:1060px!important}}

/* V27: centered newsletter heading and description */
.newsletter-brevo>h2,.newsletter-brevo>p:not(.newsletter-fallback){text-align:center;margin-left:auto;margin-right:auto;}

/* V28: visually center the newsletter headline and supporting copy in the purple banner */
.newsletter-brevo > h2,
.newsletter-brevo > p:not(.newsletter-fallback) {
  position: relative;
  top: -34px;
}
@media (max-width: 600px) {
  .newsletter-brevo > h2,
  .newsletter-brevo > p:not(.newsletter-fallback) { top: -18px; }
}

/* V29: true vertical centering within a distinct purple banner.
   Separate banner from the Brevo form so spacing is predictable. */
.newsletter.newsletter-brevo {
  padding: 0 0 54px !important;
  background: #100b18 !important;
}
.newsletter-brevo .newsletter-banner {
  box-sizing: border-box;
  width: 100%;
  min-height: 300px;
  padding: 42px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(ellipse at center,#382047,#211429 70%);
}
.newsletter-brevo .newsletter-banner-content {
  width: 100%;
  max-width: 1180px;
  text-align: center;
}
.newsletter-brevo .newsletter-banner h2 {
  position: static !important;
  top: auto !important;
  margin: 0 auto 16px !important;
  text-align: center;
}
.newsletter-brevo .newsletter-banner p {
  position: static !important;
  top: auto !important;
  margin: 0 auto !important;
  max-width: 1050px;
  text-align: center;
}
.newsletter-brevo .newsletter-embed {
  margin-top: 28px !important;
}
@media (max-width: 600px) {
  .newsletter-brevo .newsletter-banner { min-height: 260px; padding: 36px 16px; }
  .newsletter-brevo .newsletter-banner h2 { font-size: clamp(36px, 9vw, 54px); }
}

/* V30: optical centering adjustment — lift headline and description together. */
.newsletter-brevo .newsletter-banner-content {
  transform: translateY(-34px);
}
@media (max-width: 600px) {
  .newsletter-brevo .newsletter-banner-content { transform: translateY(-18px); }
}

/* V31: replace header star with the matching gothic crest */
.header .brand{display:inline-flex;align-items:center;gap:12px}
.header .brand-crest{width:44px;height:44px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 0 4px rgba(183,131,215,.25))}
@media(max-width:600px){.header .brand-crest{width:34px;height:34px}.header .brand{gap:7px}}

/* V32: tiny header icon, original star footprint */
.header a.brand img.brand-crest{display:inline-block!important;width:26px!important;height:26px!important;max-width:26px!important;max-height:26px!important;object-fit:contain!important;flex:0 0 26px!important}
@media(max-width:600px){.header a.brand img.brand-crest{width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;flex-basis:24px!important}}

/* V33: modestly larger header crest; compact centered newsletter panel. */
.header a.brand img.brand-crest{width:32px!important;height:32px!important;max-width:32px!important;max-height:32px!important;flex:0 0 32px!important}
.newsletter-brevo .newsletter-banner{width:min(100% - 32px,1040px);min-height:245px;margin:0 auto;border-radius:5px;padding:34px 24px}
.newsletter-brevo .newsletter-banner-content{transform:translateY(0)!important;max-width:920px}
.newsletter-brevo .newsletter-banner h2{font-size:clamp(38px,4.5vw,62px)}
.newsletter-brevo .newsletter-banner p{max-width:850px}
/* The original 950px iframe left hundreds of blank pixels below Brevo's form. */
.newsletter-brevo .newsletter-embed iframe{height:650px!important;min-height:0!important}
@media(max-width:600px){
 .header a.brand img.brand-crest{width:29px!important;height:29px!important;max-width:29px!important;max-height:29px!important;flex-basis:29px!important}
 .newsletter-brevo .newsletter-banner{width:calc(100% - 24px);min-height:220px;padding:30px 18px}
 .newsletter-brevo .newsletter-embed iframe{height:790px!important;min-height:0!important}
}

/* V34: restore full banner width, reduce ONLY top-to-bottom height. */
.newsletter-brevo .newsletter-banner {
  width:100% !important; max-width:none !important;
  min-height:0 !important; height:auto !important;
  padding:30px 24px !important; margin:0 !important; border-radius:0 !important;
}
.newsletter-brevo .newsletter-banner-content {transform:none !important;}
.newsletter-brevo .newsletter-banner h2 {margin-bottom:12px !important;}
@media (max-width:600px) {
  .newsletter-brevo .newsletter-banner {padding:25px 16px !important;}
}

/* V35: slightly larger header emblem, preserving all other layout. */
.header a.brand img.brand-crest{width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important;flex:0 0 38px!important}

/* V36: slightly reduce vertical banner padding and gap to signup. */
.newsletter-brevo .newsletter-banner{padding:24px 24px!important}
.newsletter-brevo .newsletter-embed{margin-top:22px!important}
@media(max-width:600px){.newsletter-brevo .newsletter-banner{padding:20px 16px!important}}
