/* Elevated 369 — Ultraviolet theme (near-black + electric violet→magenta) */
:root{
  --bg:#0a0814; --bg-2:#100c1e; --surface:#15102a; --surface-2:#1d1640;
  --line:#2a2342; --text:#f1eefb; --muted:#9b93b5;
  /* accent vars keep legacy names so every var(--gold)/(--green) reference recolors at once */
  --gold:#8b5cff; --gold-2:#ff3d9a; --green:#ff5cae; --green-2:#c44bff;
  --on-accent:#ffffff;
  --radius:16px; --maxw:1140px;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.narrow{max-width:760px}
img{max-width:100%;display:block}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--green)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12;letter-spacing:.3px;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5vw,3.6rem)}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem)}
h3{font-size:1.2rem;font-family:var(--sans);font-weight:700;letter-spacing:.2px}
p{margin:0 0 1rem}
.gold{color:var(--gold)}
.muted{color:var(--muted);font-size:.95rem}
.center{text-align:center}
.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:.78rem;color:var(--gold);font-weight:600;margin-bottom:.4rem}
.skip-link{position:absolute;left:-999px;top:0;background:var(--gold);color:#000;padding:10px 16px;z-index:200}
.skip-link:focus{left:0}

/* Buttons */
.btn{display:inline-block;font-weight:600;font-size:.95rem;letter-spacing:.3px;padding:13px 26px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:.2s;text-align:center}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--on-accent);box-shadow:0 6px 24px rgba(139,92,255,.30)}
.btn-gold:hover{color:var(--on-accent);transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,61,154,.38)}
.btn-outline{border-color:var(--line);color:var(--text);background:transparent}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.btn-ghost{border-color:rgba(255,255,255,.25);color:#fff;background:rgba(255,255,255,.04)}
.btn-ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.1)}

/* Header */
.site-header{position:sticky;top:0;z-index:90;background:rgba(12,12,15,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:70px}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-family:var(--serif);font-weight:700}
.brand:hover{color:var(--text)}
.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--on-accent);font-family:var(--sans);font-weight:800;font-size:.95rem;letter-spacing:.5px}
.brand-mark.big{width:64px;height:64px;font-size:1.4rem;margin:0 auto 14px}
.brand-name{font-size:1.3rem;letter-spacing:.5px}
.site-nav ul{list-style:none;display:flex;align-items:center;gap:6px;margin:0;padding:0}
.site-nav a{color:var(--text);font-weight:500;font-size:.95rem;padding:10px 14px;border-radius:8px;display:inline-block}
.site-nav a:hover,.site-nav a.active{color:var(--gold);background:rgba(139,92,255,.12)}
.nav-cta{border:1.5px solid var(--gold)!important;color:var(--gold)!important;margin-left:6px}
.nav-cta:hover{background:var(--gold)!important;color:var(--on-accent)!important}
.has-dropdown{position:relative}
.caret{font-size:.7rem;transition:transform .2s}
.dropdown{position:absolute;top:100%;left:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px;display:none;box-shadow:0 18px 40px rgba(0,0,0,.5);list-style:none;margin:0}
.dropdown li{margin:0}
.site-nav .dropdown a{display:block;font-size:.9rem;padding:7px 12px;line-height:1.35;text-align:left;border-radius:8px;white-space:nowrap}
.has-dropdown.open .caret{transform:rotate(180deg)}
/* DESKTOP: compact 2-column grid so all 12 items fit with NO scrollbar and don't sprawl over the hero. Hover OR click (.open) opens it. */
@media (min-width:821px){
  .site-nav .dropdown{display:none;grid-template-columns:1fr 1fr;column-gap:6px;row-gap:2px;min-width:430px;max-width:min(92vw,480px)}
  .has-dropdown:hover>.dropdown,.has-dropdown.open>.dropdown{display:grid}
}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{width:26px;height:2px;background:var(--text);display:block;transition:.2s}

/* Hero */
.hero{position:relative;padding:clamp(72px,12vw,150px) 0;background:var(--bg-2);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:var(--hero-img) center/cover no-repeat;opacity:.28;filter:saturate(1.05)}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(120% 100% at 50% 0%,rgba(139,92,255,.16),rgba(10,8,20,.94))}
.hero-inner{position:relative;max-width:820px}
.hero h1{margin-bottom:.2em}
.hero-tag{font-family:var(--serif);font-size:1.5rem;color:var(--green);margin-bottom:1rem}
.hero-lead{font-size:1.1rem;color:#d6d6dd;max-width:660px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.4rem}

/* Page hero (interior pages) */
.page-hero{padding:clamp(48px,8vw,90px) 0 24px;background:linear-gradient(180deg,var(--bg-2),var(--bg));border-bottom:1px solid var(--line)}
.page-lead{font-size:1.12rem;color:#d6d6dd;max-width:720px}
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:1rem}
.crumbs span{color:var(--text)}

/* Sections */
.section{padding:clamp(48px,8vw,84px) 0}
.section-alt{background:var(--bg-2)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.two-col.reverse .img-card{order:-1}
.img-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.45)}
.img-card img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}

/* Category grid */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:2rem}
.cat-card{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:120px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);transition:.2s}
.cat-card:hover{border-color:var(--gold);transform:translateY(-4px);background:var(--surface-2);color:var(--text);box-shadow:0 16px 36px rgba(0,0,0,.4)}
.cat-name{font-family:var(--serif);font-size:1.35rem;font-weight:600}
.cat-go{color:var(--gold);font-size:.85rem;font-weight:600;letter-spacing:.5px}

/* Lists */
.check-list{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;gap:10px}
.check-list li{position:relative;padding-left:30px;color:#dcdce2}
.check-list li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--green))}
.disclaimer{font-size:.82rem;color:var(--muted);border-left:2px solid var(--line);padding-left:14px;margin:1.4rem 0}
.motto{font-family:var(--serif);font-size:1.4rem;margin:1.2rem 0}

/* Related chips */
.related{margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{padding:9px 16px;border:1px solid var(--line);border-radius:999px;font-size:.88rem;color:var(--text);background:var(--surface)}
.chip:hover{border-color:var(--gold);color:var(--gold)}
.chip-all{border-color:var(--gold);color:var(--gold)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:42px;align-items:start}
.contact-info address{font-style:normal;font-size:1.1rem;margin-bottom:1.2rem;color:#dcdce2}
.contact-info h3{margin-top:1.4rem;color:var(--gold)}
.hours{list-style:none;padding:0;margin:0}
.hours li{display:flex;justify-content:space-between;gap:18px;padding:7px 0;border-bottom:1px solid var(--line);color:#dcdce2;font-size:.95rem}
.big-phone{font-family:var(--serif);font-size:1.7rem;font-weight:700}
.contact-map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.contact-map iframe{display:block}

/* CTA band */
.cta-band{padding:clamp(48px,8vw,80px) 0;text-align:center;background:linear-gradient(135deg,#1a1040,#0a0814);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-band h2{color:var(--gold)}
.cta-band p{color:var(--muted);margin-bottom:1.4rem}

/* Footer */
.site-footer{background:var(--bg-2);border-top:1px solid var(--line);padding-top:54px;font-size:.92rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.footer-brand{margin-bottom:14px}
.f-tag{color:var(--muted)}
.f-social a{font-size:.88rem}
.f-social{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.social-ic{display:inline-flex;align-items:center;gap:7px;color:#cfcfd6;font-size:.88rem}
.social-ic svg{width:20px;height:20px;flex:0 0 auto;display:block}
.social-ic:hover{color:var(--gold)}
.site-footer h3{color:var(--gold);font-size:.85rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}
.site-footer address{font-style:normal;color:#cfcfd6;line-height:1.8}
.f-directions{display:inline-block;margin-top:10px;font-weight:600;font-size:.88rem}
.f-21{color:var(--muted);font-size:.82rem;margin-top:12px}
.f-prodlinks{color:var(--muted);font-size:.84rem;line-height:2}
.footer-bottom{margin-top:40px;padding:22px;border-top:1px solid var(--line);text-align:center}
.footer-bottom p{margin:.3rem 0;color:var(--muted);font-size:.8rem}
.f-disc{max-width:880px;margin:0 auto;font-size:.74rem}

/* ===== Age gate (custom, animated, on-brand) ===== */
.age-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;overflow:hidden;
  background:radial-gradient(120% 90% at 50% -10%,rgba(139,92,255,.30),rgba(6,5,12,.97) 62%),#06050c;
  backdrop-filter:blur(14px);transition:opacity .4s ease}
.age-gate.hide{opacity:0;pointer-events:none}
/* drifting aurora glow behind the card */
.age-aurora{position:absolute;inset:-25%;z-index:0;pointer-events:none;
  background:
    radial-gradient(40% 40% at 22% 30%,rgba(139,92,255,.50),transparent 70%),
    radial-gradient(38% 38% at 80% 24%,rgba(255,61,154,.45),transparent 70%),
    radial-gradient(46% 46% at 60% 86%,rgba(196,75,255,.40),transparent 70%);
  filter:blur(44px);animation:age-drift 16s ease-in-out infinite alternate}
@keyframes age-drift{0%{transform:translate3d(-3%,-2%,0) scale(1)}100%{transform:translate3d(3%,2%,0) scale(1.14)}}
.age-card{position:relative;z-index:1;max-width:450px;width:100%;text-align:center;padding:46px 34px 32px;border-radius:26px;
  background:linear-gradient(180deg,rgba(29,22,64,.88),rgba(16,12,30,.94));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 44px 100px rgba(0,0,0,.7),0 0 80px rgba(139,92,255,.18);
  animation:age-pop .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes age-pop{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
/* gradient hairline border */
.age-card::before{content:"";position:absolute;inset:0;border-radius:26px;padding:1px;
  background:linear-gradient(135deg,var(--gold),var(--gold-2),var(--green-2));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.6;pointer-events:none}
/* logo medallion with glowing rotating ring */
.age-logo{position:relative;width:108px;height:108px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center}
.age-logo::before{content:"";position:absolute;inset:-6px;border-radius:50%;
  background:conic-gradient(from 0deg,var(--gold),var(--gold-2),var(--green-2),var(--gold));
  animation:age-spin 6s linear infinite}
.age-logo::after{content:"";position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 50% 34%,#241a52,#120d26);box-shadow:0 8px 30px rgba(139,92,255,.5)}
@keyframes age-spin{to{transform:rotate(360deg)}}
.age-logo-mark{position:relative;z-index:1;font-family:var(--sans);font-weight:800;font-size:1.85rem;letter-spacing:.5px;
  background:linear-gradient(135deg,#ffffff,#e8deff);-webkit-background-clip:text;background-clip:text;color:transparent}
.age-logo-img{position:relative;z-index:1;width:78px;height:78px;object-fit:contain;border-radius:50%}
.age-eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:.7rem;font-weight:700;color:var(--gold);margin:0 0 .55rem}
.age-card h2{font-family:var(--serif);font-size:clamp(1.9rem,5.4vw,2.6rem);line-height:1.04;margin:0 0 .55rem;color:#fff}
.age-card h2 span{display:block;background:linear-gradient(135deg,var(--gold),var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.age-sub{color:#cfc8e6;font-size:1rem;margin:0 0 1.6rem}
.age-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:1.2rem}
.btn-age-yes{display:block;width:100%;padding:16px 24px;border:0;border-radius:999px;cursor:pointer;font-family:var(--sans);
  font-weight:800;font-size:1.05rem;letter-spacing:.4px;color:#fff;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));box-shadow:0 10px 30px rgba(255,61,154,.4);
  transition:transform .2s,box-shadow .2s;animation:age-cta-glow 2.4s ease-in-out infinite}
.btn-age-yes:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(255,61,154,.58)}
@keyframes age-cta-glow{0%,100%{box-shadow:0 10px 30px rgba(255,61,154,.32)}50%{box-shadow:0 12px 42px rgba(139,92,255,.62)}}
.btn-age-no{display:block;width:100%;padding:13px 24px;border-radius:999px;border:1.5px solid rgba(255,255,255,.22);
  color:#b9b2cf;background:transparent;font-weight:600;font-size:.92rem;transition:.2s}
.btn-age-no:hover{border-color:rgba(255,255,255,.5);color:#fff}
.age-fine{font-size:.74rem;color:var(--muted);margin:0;line-height:1.5}
@media(prefers-reduced-motion:reduce){.age-aurora,.age-logo::before,.btn-age-yes,.age-card{animation:none}}

/* Responsive */
@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .nav-toggle{display:flex}
  .site-nav{position:absolute;top:70px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .3s}
  .site-nav.open{max-height:85vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .site-nav ul{flex-direction:column;align-items:stretch;padding:10px}
  .dropdown{position:static;display:flex;flex-direction:column;box-shadow:none;background:var(--surface-2);margin:4px 0 8px;min-width:0;max-width:none}
  .two-col,.contact-grid{grid-template-columns:1fr}
  .two-col.reverse .img-card{order:0}
}
@media(max-width:520px){
  .footer-grid{grid-template-columns:1fr}
  body{font-size:16px}
}

/* ===== Announcement ticker (day-of-week rotating bar) — eye-catching animated ===== */
.ticker{position:relative;z-index:95;color:var(--on-accent);font-size:.92rem;font-weight:700;overflow:hidden;
  background:linear-gradient(120deg,var(--gold),var(--gold-2),var(--green-2),var(--gold-2),var(--gold));
  background-size:300% 100%;
  animation:e369ticker-flow 5s linear infinite, e369ticker-glow 1.5s ease-in-out infinite;
  border-bottom:1px solid rgba(255,255,255,.18)}
/* moving multi-color gradient = "lights" sweeping across the bar */
@keyframes e369ticker-flow{0%{background-position:0% 50%}100%{background-position:300% 50%}}
/* soft pulsing glow under the bar (slow pulse — not a harsh strobe) */
@keyframes e369ticker-glow{0%,100%{box-shadow:0 0 0 rgba(255,61,154,0)}50%{box-shadow:0 3px 24px 1px rgba(255,61,154,.7)}}
.ticker .wrap{display:flex;align-items:center;gap:14px;min-height:44px;padding-top:7px;padding-bottom:7px}
.ticker-day{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;background:rgba(0,0,0,.22);padding:5px 14px;border-radius:999px;letter-spacing:.4px;white-space:nowrap;text-transform:uppercase;font-size:.78rem;
  animation:e369pill-pulse 1.5s ease-in-out infinite}
@keyframes e369pill-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.ticker-day .dot{width:8px;height:8px;border-radius:50%;background:var(--on-accent);box-shadow:0 0 0 3px rgba(255,255,255,.25);
  animation:e369dot-blink 1s steps(1,end) infinite}
@keyframes e369dot-blink{0%,49%{opacity:1;box-shadow:0 0 8px 2px #fff,0 0 0 3px rgba(255,255,255,.3)}50%,100%{opacity:.2;box-shadow:0 0 0 3px rgba(255,255,255,.15)}}
.ticker-msg{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* the call-to-action link pulses a white glow to pull the eye */
.ticker a{color:var(--on-accent);font-weight:800;text-decoration:underline;text-underline-offset:2px;animation:e369cta-glow 1.3s ease-in-out infinite}
.ticker a:hover{color:var(--on-accent);text-shadow:0 0 12px #fff}
@keyframes e369cta-glow{0%,100%{text-shadow:0 0 0 rgba(255,255,255,0)}50%{text-shadow:0 0 11px rgba(255,255,255,.95)}}
.ticker-close{flex:0 0 auto;background:none;border:0;color:var(--on-accent);font-size:1.1rem;line-height:1;cursor:pointer;opacity:.85;padding:4px 2px}
.ticker-close:hover{opacity:1}
.ticker.hide{display:none}
/* scrolling "what's new" marquee variant */
.ticker-marquee .ticker-msg{position:relative}
.ticker-marquee .ticker-msg span{display:inline-block;will-change:transform;animation:e369scroll 22s linear infinite}
@keyframes e369scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:560px){.ticker-day{display:none}}
/* accessibility: users who ask for reduced motion get a calm, static bar */
@media(prefers-reduced-motion:reduce){
  .ticker,.ticker-day,.ticker-day .dot,.ticker a,.ticker-marquee .ticker-msg span{animation:none}
  .ticker{background:linear-gradient(135deg,var(--gold),var(--gold-2))}
}

/* ===== Responsive video embeds (blog) ===== */
.video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.45);background:#000;margin:1.4rem 0}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ===== Blog ===== */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin-top:2rem}
.post-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.2s}
.post-card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.post-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--surface-2),#000);position:relative;display:grid;place-items:center}
.post-thumb img{width:100%;height:100%;object-fit:cover}
.post-thumb .play{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-2));display:grid;place-items:center;color:var(--on-accent);font-size:1.2rem}
.post-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-cat{font-size:.72rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);font-weight:700}
.post-card h3{font-family:var(--serif);font-size:1.3rem;font-weight:600;margin:0}
.post-card p{color:var(--muted);font-size:.92rem;margin:0}
.post-card .read{margin-top:auto;color:var(--gold);font-weight:600;font-size:.86rem}
.post-meta{color:var(--muted);font-size:.85rem;margin-bottom:1.4rem}
.post-body-content{max-width:760px}
.post-body-content h2{margin-top:2rem}
.post-back{display:inline-block;margin-bottom:1rem;font-size:.88rem;font-weight:600}

/* ===== FAQ ===== */
.faq{margin-top:2.4rem;display:grid;gap:12px}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.faq-item h3{font-family:var(--sans);font-size:1.02rem;font-weight:700;color:var(--text);margin:0 0 .4rem}
.faq-item p{margin:0;color:#cfcfda;font-size:.95rem}

/* ===== Special Orders form ===== */
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:.85rem;font-weight:600;color:#d7d7e2;letter-spacing:.2px}
.field input,.field textarea{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;color:var(--text);font-family:inherit;font-size:.95rem;padding:12px 14px;width:100%}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(139,92,255,.22)}
.field textarea{min-height:120px;resize:vertical}
.check-row{display:flex;gap:11px;align-items:flex-start;grid-column:1/-1;color:#cfcfda;font-size:.9rem}
.check-row input{width:18px;height:18px;margin-top:2px;flex:0 0 auto;accent-color:var(--gold)}
.form-submit{margin-top:6px}
.form-note{font-size:.8rem;color:var(--muted);margin-top:12px}
.steps{list-style:none;counter-reset:s;padding:0;margin:1.2rem 0 0;display:grid;gap:14px}
.steps li{position:relative;counter-increment:s;padding-left:50px;min-height:34px;color:#dcdce4}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--on-accent);font-family:var(--sans);font-weight:800;font-size:.95rem}
/* ===== Product photo galleries ===== */
.prod-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:16px;margin-top:1.8rem}
.pg-item{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;aspect-ratio:1;transition:transform .25s,box-shadow .25s,border-color .25s}
.pg-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.pg-item:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 18px 38px rgba(0,0,0,.5)}
.pg-item:hover img{transform:scale(1.06)}
@media(max-width:520px){.prod-gallery{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:11px}}

/* ===== Brand showcase (tiled wordmark watermark + foreground brand list) ===== */
.brand-showcase{position:relative;overflow:hidden;background-color:var(--bg-2);background-image:var(--wm);background-repeat:repeat;background-position:center top;background-size:470px auto}
.brand-showcase::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(135% 120% at 50% 0%,rgba(139,92,255,.12),rgba(10,8,20,.88))}
.brand-showcase .wrap{position:relative}
.brand-showcase h2{margin-bottom:.25em}
.brand-list{list-style:none;padding:0;margin:1.9rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(186px,1fr));gap:14px}
.brand-chip{position:relative;display:flex;flex-direction:column;gap:5px;padding:20px 22px 20px 26px;border:1px solid var(--line);border-radius:14px;background:rgba(21,16,42,.60);backdrop-filter:blur(5px);transition:transform .2s,border-color .2s,box-shadow .2s}
.brand-chip::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--gold),var(--green))}
.brand-chip:hover{transform:translateY(-4px) scale(1.02);border-color:var(--gold);box-shadow:0 18px 42px rgba(0,0,0,.5),0 0 22px rgba(139,92,255,.28);background:rgba(34,25,74,.72)}
.bc-name{font-family:var(--serif);font-size:1.62rem;font-weight:700;letter-spacing:.3px;line-height:1.08;background:linear-gradient(120deg,#ffffff 0%,#e9ddff 38%,var(--gold-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 12px rgba(255,61,154,.22))}
.bc-note{font-size:.8rem;color:var(--muted);letter-spacing:.2px}
.brand-foot{margin-top:1.7rem;color:var(--muted);font-size:.92rem}
@media(max-width:520px){.brand-list{grid-template-columns:1fr 1fr;gap:11px}.brand-chip{padding:16px 16px 16px 20px}.bc-name{font-size:1.4rem}}

/* ===== Page-wide brand watermark (product pages: body.pwm, --wm set inline on body) ===== */
body.pwm::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-color:var(--bg);background-image:var(--wm);background-repeat:repeat;background-position:center top;background-size:460px auto}
body.pwm::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(120% 95% at 50% 0%,rgba(139,92,255,.10),rgba(10,8,20,.84))}
body.pwm main,body.pwm .site-footer{position:relative;z-index:1}
body.pwm .site-header{position:relative;z-index:90}
body.pwm .ticker{position:relative;z-index:95}
body.pwm .page-hero{background:transparent}
body.pwm .section-alt{background:transparent}
body.pwm .brand-showcase{background-color:transparent;background-image:none}
body.pwm .brand-showcase::before{display:none}

/* Brand logo grid (clickable) */
.brand-grid{list-style:none;margin:1.5rem 0 .4rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.brand-grid li{margin:0}
.brand-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;min-height:128px;padding:18px 14px;border:0;border-radius:16px;cursor:pointer;background:#f6f6fa;box-shadow:0 6px 18px rgba(0,0,0,.30);transition:transform .18s ease,box-shadow .18s ease;font-family:var(--sans)}
.brand-card[data-tone="dark"]{background:#14121c;border:1px solid rgba(255,255,255,.09)}
.brand-card:hover,.brand-card:focus-visible{transform:translateY(-4px);box-shadow:0 16px 36px rgba(139,92,255,.42);outline:none}
.brand-card img{height:72px;width:100%;max-width:148px;object-fit:contain;pointer-events:none}
.brand-card .bc-cap{font-size:.84rem;font-weight:700;letter-spacing:.2px}
.brand-card[data-tone="light"] .bc-cap{color:#2a2730}
.brand-card[data-tone="dark"] .bc-cap{color:#e9e7f2}
.brand-card--text .bc-text{font-family:var(--serif);font-size:1.34rem;font-weight:800;line-height:1.15;text-align:center;background:linear-gradient(135deg,var(--gold),var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#fff;font-weight:700;padding:13px 22px;border-radius:999px;box-shadow:0 14px 40px rgba(255,61,154,.5);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:1200;font-family:var(--sans);max-width:90vw;text-align:center}
.brand-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(prefers-reduced-motion:reduce){.brand-card,.brand-toast{transition:none}}

/* Brand product gallery modal */
body.bm-lock{overflow:hidden}
.brand-modal{position:fixed;inset:0;z-index:1300;display:none}
.brand-modal.open{display:block}
.bm-backdrop{position:absolute;inset:0;background:rgba(6,4,14,.78);backdrop-filter:blur(3px)}
.bm-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(960px,94vw);max-height:88vh;overflow-y:auto;
  background:#15121f;border:1px solid rgba(255,255,255,.10);border-radius:20px;padding:24px 22px 26px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.bm-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.08);color:#fff;font-size:22px;line-height:1;transition:background .15s}
.bm-close:hover{background:linear-gradient(135deg,var(--gold),var(--gold-2))}
.bm-title{font-family:var(--serif);font-size:1.5rem;color:#fff;margin:.1rem 0 .2rem;padding-right:40px;
  background:linear-gradient(135deg,#fff,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.bm-sub{font-size:.85rem;color:var(--muted,#9a94a8);margin:0 0 1rem}
.bm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.bm-cell{margin:0;background:#fff;border-radius:13px;overflow:hidden;aspect-ratio:1;box-shadow:0 6px 16px rgba(0,0,0,.34);cursor:zoom-in;transition:transform .16s}
.bm-cell:hover{transform:translateY(-3px)}
.bm-cell img{width:100%;height:100%;object-fit:contain;padding:8px;display:block}
.bm-zoom{position:absolute;inset:0;z-index:2;display:none;place-items:center;background:rgba(4,3,10,.92);cursor:zoom-out;padding:24px}
.bm-zoom.show{display:grid}
.bm-zoom img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:12px;background:#fff;padding:10px}
@media(prefers-reduced-motion:reduce){.bm-cell{transition:none}}

/* Special Orders — success message */
.so-success-banner{background:linear-gradient(135deg,#1e1440,#2a1a5e);border:1px solid #8b5cff;border-radius:10px;padding:1.2rem 1.5rem;margin-bottom:1.8rem;color:#e0d6ff;font-size:1rem;line-height:1.5}
.so-success-banner a{color:#c7b0ff;text-decoration:underline}

/* ===== Homepage promo video ===== */
#promo-video .wrap{max-width:760px}
.promo-video-wrap{max-width:330px;margin:1.6rem auto 0}
.promo-video{width:100%;aspect-ratio:9/16;display:block;border-radius:18px;background:#000;border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.5)}

/* ===== Reviews / rating badge ===== */
#reviews .rating-badge{display:inline-flex;flex-direction:column;align-items:center;gap:4px;margin:1.4rem auto 1.6rem;padding:18px 34px;border:1px solid var(--line);border-radius:18px;background:rgba(21,16,42,.55)}
#reviews .rating-num{font-family:var(--serif);font-size:3.2rem;line-height:1;font-weight:800;background:linear-gradient(120deg,#fff,var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
#reviews .rating-stars{color:var(--gold);font-size:1.5rem;letter-spacing:3px}
#reviews .rating-count{color:var(--muted);font-size:.92rem}
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0 auto 1.8rem;max-width:900px;text-align:left}
.review-card{margin:0;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:rgba(21,16,42,.55)}
.review-card .rc-stars{color:var(--gold);letter-spacing:2px;font-size:1rem}
.review-card blockquote{margin:.5rem 0 .8rem;font-size:.98rem;line-height:1.5;color:#e9e7f2}
.review-card figcaption{font-size:.86rem;color:var(--muted);font-weight:700}
