:root {
  --paper: #f7f4ea;
  --paper-bright: #fffef9;
  --paper-deep: #eae5f4;
  --ink: #171225;
  --ink-soft: #3d3553;
  --muted: #706981;
  --purple: #7c4dff;
  --purple-2: #4f2db2;
  --ember: #55cffa;
  --blue: #2aa8ff;
  --acid: #a8ff78;
  --faerie-violet: #c58cff;
  --faerie-blue: #55cffa;
  --faerie-green: #75f08a;
  --line: rgba(23,18,37,.18);
  --line-strong: rgba(23,18,37,.72);
  --shadow: 0 24px 70px rgba(55,39,87,.14);
  --radius: 4px;
  --radius-sm: 2px;
  --space-xs: .5rem;
  --space-sm: .85rem;
  --space-md: 1.25rem;
  --space-lg: 2rem;
  --space-xl: 3.5rem;
  --space-2xl: 7rem;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: Inter, system-ui, sans-serif;
  --mono: "JetBrains Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 132px; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 200;
  pointer-events: none;
  opacity: .025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; }
.container { width: min(1220px, calc(100% - 56px)); margin-inline: auto; }
.section { position: relative; padding: var(--space-2xl) 0; }
.section-label {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--purple-2);
  font: 500 .72rem/1 var(--mono);
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 1.15rem;
}
.section-label::before { content: ""; width: 28px; height: 1px; background: currentColor; }
h1,h2,h3,p { margin-top: 0; }
h1,h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; }
h2 { font-size: clamp(3.2rem, 7.5vw, 6.5rem); line-height: .86; margin-bottom: 1.5rem; }
h3 { line-height: 1.18; }
p { color: var(--ink-soft); max-width: 68ch; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .78rem 1.25rem;
  border: 1px solid var(--ink);
  border-radius: 0;
  color: var(--ink);
  background: transparent;
  font-weight: 600;
  font-size: .82rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
.btn:hover { transform: translateY(-2px); color: var(--paper-bright); background: var(--ink); }
.btn-primary { color: var(--paper-bright); background: var(--purple); border-color: var(--purple); }
.btn-primary:hover { background: var(--purple-2); border-color: var(--purple-2); }
.btn-secondary { background: rgba(255,255,255,.2); }
.btn-ember { color: white; background: var(--ember); border-color: var(--ember); }

/* Age gate */
.age-gate {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(22,19,24,.72);
  backdrop-filter: blur(18px);
}
.age-gate.hidden { display: none; }
.age-gate-inner {
  width: min(540px, 100%);
  padding: 52px;
  text-align: left;
  border: 1px solid var(--ink);
  background: var(--paper-bright);
  box-shadow: 16px 16px 0 var(--purple);
}
.age-gate-mark { width: 66px; margin: 0 0 26px; }
.age-gate-inner h2 { font-size: 4.2rem; line-height: .8; margin-bottom: 1.25rem; }
.age-gate-inner p { color: var(--muted); }
.age-gate-buttons { display: flex; gap: 10px; margin-top: 28px; }

/* Header */
.header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  border-bottom: 1px solid var(--line);
  background: rgba(242,238,230,.92);
  backdrop-filter: blur(14px);
}
.header.scrolled { box-shadow: 0 8px 30px rgba(40,28,34,.08); }
.header-inner { height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.wordmark { display: inline-flex; align-items: center; gap: 11px; font: 500 1.55rem/1 var(--serif); }
.wordmark-mark { width: 30px; height: 30px; }
.nav { display: flex; align-items: center; gap: 26px; }
.nav-link { color: var(--ink-soft); font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.nav-link:hover { color: var(--purple); }
.nav-cta { min-height: 40px; padding: .55rem 1rem; }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--ink); background:transparent; padding:10px; }
.menu-toggle span { display:block; width:22px; height:1px; background:var(--ink); margin:5px auto; transition:.2s; }
.mobile-nav { display:none; }

/* Hero */
.hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: 154px 0 74px;
  border-bottom: 1px solid var(--ink);
  background:
    linear-gradient(90deg, transparent 0 69%, rgba(112,64,216,.08) 69% 100%),
    var(--paper);
}
.hero-bg { position:absolute; inset:0; background: linear-gradient(118deg, rgba(255,255,255,.58), transparent 48%); }
.hero::before {
  content:"FF / 01";
  position:absolute;
  right:3vw;
  top:120px;
  color:var(--purple);
  font:500 .72rem/1 var(--mono);
  letter-spacing:.18em;
  writing-mode:vertical-rl;
}
.hero::after {
  content:"";
  position:absolute;
  right:8vw;
  top:26%;
  width:min(22vw,270px);
  aspect-ratio:1;
  border:1px solid var(--ink);
  background:var(--ember);
  transform:rotate(7deg);
  box-shadow:20px 20px 0 var(--purple);
}
.orb { position:absolute; z-index:1; border:1px solid var(--ink); border-radius:50%; background:transparent; }
.orb-1 { width:160px;height:160px;right:24%;top:19%; }
.orb-2 { width:58px;height:58px;right:31%;top:29%;background:var(--acid); }
.orb-3,.grain { display:none; }
.hero-content {
  position:relative;
  z-index:2;
  width:min(1220px, calc(100% - 56px));
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:48px;
  align-items:end;
}
.hero-copy { min-width:0; }
.hero-eyebrow { color:var(--purple-2); font:500 .72rem/1 var(--mono); letter-spacing:.2em; text-transform:uppercase; }
.hero-title { font-size:clamp(6.2rem,15vw,12.6rem); line-height:.68; margin:0 0 2.5rem; max-width:none; }
.hero-title .accent { color:var(--purple); font-style:italic; }
.hero-subtitle { font-size:clamp(1rem,1.6vw,1.2rem); color:var(--ink-soft); max-width:610px; }
.hero-ctas { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.hero-meta { position:relative; z-index:2; border-top:1px solid var(--ink); padding-top:16px; }
.hero-meta-row { display:grid; grid-template-columns:28px 1fr; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); }
.hero-meta-row span { color:var(--purple); font:500 .64rem/1.5 var(--mono); }
.hero-meta-row strong { font-size:.82rem; line-height:1.45; font-weight:500; }
.hero-scroll { display:none; }

/* Linked hero carousel */
.hero-carousel {
  position:absolute;
  z-index:4;
  top:104px;
  right:max(28px,calc((100vw - 1220px)/2));
  width:min(48vw,640px);
}
.hero-carousel-topline {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:8px;
  color:var(--purple-2);
  font:600 .65rem/1 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-carousel-viewport {
  position:relative;
  aspect-ratio:16/8.2;
  overflow:hidden;
  border:1px solid var(--ink);
  background:var(--ink);
  box-shadow:12px 12px 0 var(--faerie-green);
  touch-action:pan-y;
}
.hero-carousel-track,
.hero-carousel-slide {
  position:absolute;
  inset:0;
}
.hero-carousel-slide {
  display:block;
  overflow:hidden;
  opacity:0;
  transform:translateX(22px) scale(.985);
  pointer-events:none;
  transition:opacity .55s ease,transform .7s cubic-bezier(.22,.61,.36,1);
}
.hero-carousel-slide.active {
  opacity:1;
  transform:translateX(0) scale(1);
  pointer-events:auto;
}
.hero-carousel-slide img {
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  transition:transform 5.8s ease;
}
.hero-carousel-slide.active img { transform:scale(1.045); }
.hero-carousel-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,8,18,.04) 25%,rgba(10,8,18,.88) 100%);
}
.hero-carousel-copy {
  position:absolute;
  left:20px;
  right:118px;
  bottom:18px;
  display:block;
  color:white;
}
.hero-carousel-brand {
  display:block;
  margin-bottom:7px;
  color:var(--faerie-green);
  font:600 .62rem/1.2 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.hero-carousel-copy strong {
  display:block;
  font:500 clamp(1.45rem,2.6vw,2.35rem)/.9 var(--serif);
  text-wrap:balance;
}
.hero-carousel-price {
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:10px;
  font-size:.76rem;
  font-weight:700;
}
.hero-carousel-price em {
  color:rgba(255,255,255,.72);
  font-style:normal;
  font-weight:500;
}
.hero-carousel-controls {
  position:absolute;
  z-index:3;
  right:12px;
  bottom:12px;
  display:flex;
  align-items:center;
  gap:7px;
}
.hero-carousel-button,
.hero-carousel-dot {
  border:1px solid rgba(255,255,255,.78);
  color:white;
  background:rgba(23,18,37,.72);
  cursor:pointer;
}
.hero-carousel-button {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  line-height:1;
}
.hero-carousel-button:hover { color:var(--ink); background:var(--faerie-green); border-color:var(--ink); }
.hero-carousel-dots { display:flex; gap:5px; align-items:center; }
.hero-carousel-dot {
  width:7px;
  height:7px;
  padding:0;
  border-radius:50%;
}
.hero-carousel-dot.active { background:var(--faerie-green); border-color:var(--faerie-green); }
.product-card { scroll-margin-top:96px; }

/* Ticker and category navigation */
.announcement { overflow:hidden; border-bottom:1px solid var(--ink); background:var(--ink); }
.announcement-track { display:flex; width:max-content; animation:ticker 34s linear infinite; }
.announcement-item { padding:16px 30px; white-space:nowrap; color:var(--paper); font:400 .68rem/1 var(--mono); text-transform:uppercase; letter-spacing:.14em; }
.announcement-item::after { content:"✦"; color:var(--acid); margin-left:30px; }
@keyframes ticker { to { transform:translateX(-50%); } }
.category-nav { position:sticky; top:78px; z-index:70; border-bottom:1px solid var(--ink); background:rgba(255,253,248,.94); backdrop-filter:blur(14px); }
.category-nav-grid { display:flex; gap:0; padding:0; overflow-x:auto; scrollbar-width:none; }
.category-nav-grid::-webkit-scrollbar { display:none; }
.category-chip { flex:0 0 auto; min-height:52px; border:0; border-right:1px solid var(--line); background:transparent; color:var(--ink-soft); padding:.7rem 1.2rem; cursor:pointer; font-size:.76rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.category-chip:hover,.category-chip.active { color:white; background:var(--purple); }

/* Temporary cart sale */
.cart-sale-section {
  position:relative;
  overflow:hidden;
  padding:clamp(4.5rem,8vw,7rem) 0;
  border-bottom:1px solid var(--ink);
  color:var(--ink);
  background:
    radial-gradient(circle at 8% 12%,rgba(117,240,138,.58),transparent 24%),
    radial-gradient(circle at 92% 88%,rgba(85,207,250,.5),transparent 27%),
    linear-gradient(135deg,#c58cff 0%,#f6ff8e 48%,#55cffa 100%);
}
.cart-sale-section::before {
  content:"SALE";
  position:absolute;
  right:-.04em;
  top:-.18em;
  color:rgba(22,19,24,.07);
  font:600 clamp(8rem,23vw,23rem)/1 var(--serif);
  letter-spacing:-.08em;
  pointer-events:none;
}
.cart-sale-section .container { position:relative; z-index:1; }
.cart-sale-banner {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(14px,3vw,34px);
  margin-bottom:32px;
  padding:18px 24px;
  border:1px solid var(--ink);
  background:var(--ink);
  color:white;
  box-shadow:10px 10px 0 var(--paper-bright);
  text-align:center;
}
.cart-sale-banner p {
  margin:0;
  color:var(--faerie-green);
  font:500 .66rem/1 var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.cart-sale-banner strong {
  font:500 clamp(1.6rem,4vw,3.3rem)/.9 var(--serif);
  letter-spacing:-.02em;
}
.cart-sale-spark { color:var(--faerie-violet); font-size:1.2rem; }
.cart-sale-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.cart-sale-card {
  min-width:0;
  padding:clamp(24px,4vw,42px);
  border:1px solid var(--ink);
  background:rgba(255,253,248,.93);
  box-shadow:10px 10px 0 var(--ink);
}
.cart-sale-card-fifteen { background:rgba(245,251,255,.94); }
.cart-sale-price-row { display:flex; align-items:center; gap:22px; }
.cart-sale-now {
  color:var(--purple-2);
  font:500 clamp(5.5rem,12vw,9rem)/.72 var(--serif);
  letter-spacing:-.075em;
}
.cart-sale-price-row h2 {
  margin:0;
  font:500 clamp(2.4rem,5vw,4.2rem)/.82 var(--serif);
  letter-spacing:-.04em;
}
.cart-sale-price-row p {
  margin:10px 0 0;
  color:var(--muted);
  font:500 .78rem/1 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.cart-sale-summary { margin:30px 0 24px; font-size:1rem; line-height:1.65; }
.cart-sale-details { border-top:1px solid var(--ink); }
.cart-sale-details summary {
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
  color:var(--purple-2);
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
.cart-sale-details summary::-webkit-details-marker { display:none; }
.cart-sale-details summary::after { content:"+"; font:500 1.5rem/1 var(--serif); }
.cart-sale-details[open] summary::after { content:"−"; }
.cart-sale-details summary:focus-visible { outline:3px solid var(--purple); outline-offset:4px; }
.cart-sale-list-group { padding:4px 0 2px; }
.cart-sale-list-group h3 {
  margin:24px 0 10px;
  color:var(--ink);
  font:500 .72rem/1.2 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.cart-sale-list-group ul { margin:0; padding-left:20px; }
.cart-sale-list-group li { margin:.5rem 0; color:var(--ink-soft); font-size:.86rem; line-height:1.45; }
.cart-sale-fine-print {
  margin:30px 0 0;
  color:rgba(22,19,24,.76);
  font:500 .7rem/1.5 var(--mono);
  letter-spacing:.06em;
  text-align:center;
  text-transform:uppercase;
}

/* Products */
.products-section { padding-top:6rem; background:var(--paper-bright); }
.products-section > .container > p { font-size:1.05rem; }
.products-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--ink); border:1px solid var(--ink); }
.product-card {
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:var(--paper-bright);
  transition:background .25s ease;
}
.product-card:hover { background:#f0e9dc; }
.product-card-media { position:relative; aspect-ratio:4/3; min-height:0; overflow:hidden; display:grid; place-items:center; background:var(--paper-deep); border-bottom:1px solid var(--ink); }
.product-card-media img { position:relative; inset:auto; display:block; width:100%; height:auto; aspect-ratio:4/3; max-width:none; object-fit:cover; object-position:center; transition:transform .45s ease; }
.product-card:hover .product-card-media img { transform:scale(1.025); }
.product-card-badge { position:absolute; top:12px; left:12px; z-index:2; border:1px solid var(--ink); border-radius:0; background:var(--paper-bright); padding:.42rem .58rem; color:var(--ink); font:500 .62rem/1 var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.product-card-body { padding:24px 24px 12px; flex:1; }
.product-card-category,.product-card-brand { color:var(--purple-2); font:500 .66rem/1.3 var(--mono); text-transform:uppercase; letter-spacing:.12em; }
.product-card-title { font-family:var(--serif); font-size:1.82rem; font-weight:500; line-height:1.02; margin:.8rem 0 .6rem; }
.product-card-brand { color:var(--muted); }
.product-card-desc { font-size:.86rem; color:var(--muted); margin:14px 0 0; }
.product-card-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 24px 24px; border-top:1px solid rgba(22,19,24,.08); }
.product-card-price { color:var(--ink); font-weight:700; }
.product-card-link { color:var(--purple-2); font-size:.76rem; font-weight:600; display:flex;align-items:center;gap:6px; text-transform:uppercase; letter-spacing:.06em; }
.placeholder { display:grid;place-items:center;color:var(--muted);font-size:.78rem;text-align:center;padding:20px; }

/* Selling fast */
.selling-fast-section {
  border-block:1px solid var(--ink);
  background:
    radial-gradient(circle at 88% 12%,rgba(117,240,138,.3),transparent 28%),
    linear-gradient(135deg,var(--paper-deep),#edfaff 58%,#efffe9);
}
.selling-fast-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,420px);
  gap:48px;
  align-items:end;
  margin-bottom:38px;
}
.selling-fast-head h2 { margin-bottom:0; }
.selling-fast-head p { margin:0 0 8px; font-size:1rem; }
.selling-fast-head p strong { color:var(--purple-2); }
.selling-fast-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid var(--ink);
  background:var(--ink);
}
.selling-fast-card {
  min-width:0;
  display:flex;
  flex-direction:column;
  background:var(--paper-bright);
  transition:background .2s ease,transform .2s ease;
}
.selling-fast-card:hover { background:var(--acid); }
.selling-fast-card:focus-visible { position:relative; z-index:2; outline:3px solid var(--purple); outline-offset:-5px; }
.selling-fast-media {
  position:relative;
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  border-bottom:1px solid var(--ink);
  background:var(--paper-deep);
}
.selling-fast-media img {
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  transition:transform .45s ease;
}
.selling-fast-card:hover .selling-fast-media img { transform:scale(1.035); }
.selling-fast-number {
  position:absolute;
  top:10px;
  left:10px;
  padding:7px 9px;
  border:1px solid var(--ink);
  color:var(--ink);
  background:var(--paper-bright);
  font:600 .62rem/1 var(--mono);
}
.selling-fast-copy {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:20px;
}
.selling-fast-meta {
  color:var(--purple-2);
  font:600 .62rem/1.3 var(--mono);
  letter-spacing:.09em;
  text-transform:uppercase;
}
.selling-fast-copy > strong {
  display:block;
  margin:12px 0 24px;
  color:var(--ink);
  font:500 1.65rem/1 var(--serif);
}
.selling-fast-bottom {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:12px;
  margin-top:auto;
  padding-top:15px;
  border-top:1px solid var(--line);
  color:var(--ink);
}
.selling-fast-bottom b { font-size:.9rem; }
.selling-fast-bottom span { color:var(--purple-2); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }

/* Spotlight */
.featured-section { border-block:1px solid var(--ink); background:var(--ink); color:var(--paper-bright); }
.featured-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); align-items:center; gap:clamp(44px,8vw,110px); }
.featured-visual { min-height:500px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.34); background:#08090a; overflow:hidden; }
.featured-visual-inner { width:100%; height:500px; }
.featured-visual-inner img { width:100%; height:100%; object-fit:cover; object-position:center; }
.featured-content .section-label { color:var(--acid); }
.featured-content h2 { color:white; font-size:clamp(3.4rem,6.5vw,6rem); }
.featured-content p { color:#c8c0c8; }

/* About */
.about-section { border-bottom:1px solid var(--ink); background:var(--paper); }
.about-grid { display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); align-items:center; gap:clamp(44px,8vw,110px); }
.about-visual { position:relative; min-height:540px; display:grid; place-items:center; border:1px solid var(--ink); background:var(--purple); overflow:hidden; box-shadow:18px 18px 0 var(--ember); }
.about-visual-inner { width:min(390px,92%); transform:translateY(-24px); }
.about-visual-copy { position:absolute; left:28px; right:28px; bottom:26px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding-top:18px; border-top:1px solid rgba(255,255,255,.55); }
.about-visual-copy span { color:var(--acid); font:500 .68rem/1.3 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.about-visual-copy strong { max-width:220px; color:white; font:400 clamp(1.5rem,3vw,2.2rem)/1 var(--serif); text-align:right; }
.about-content h2 { font-size:clamp(3.4rem,6.5vw,6rem); }
.about-content p { color:var(--ink-soft); font-size:1rem; }
.about-principles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-top:64px; border:1px solid var(--ink); background:var(--ink); }
.about-principle { min-height:220px; padding:24px; background:var(--paper-bright); }
.about-principle-kicker { display:block; margin-bottom:44px; color:var(--purple); font:500 .68rem/1 var(--mono); letter-spacing:.12em; }
.about-principle h3 { margin-bottom:12px; color:var(--ink); font:400 1.72rem/1.02 var(--serif); }
.about-principle p { margin:0; color:var(--muted); font-size:.84rem; line-height:1.55; }

/* Brands */
.brands-section { background:var(--ember); color:var(--ink); }
.brands-section .section-label { color:var(--ink); }
.brands-section > .container > p { color:rgba(22,19,24,.78); }
.brands-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid var(--ink); background:var(--ink); }
.brand-tile { min-height:220px; padding:30px; background:var(--paper); display:flex; flex-direction:column; justify-content:flex-end; transition:background .2s ease; }
.brand-tile:hover { background:var(--acid); }
.brand-tile-name { font:400 clamp(2.4rem,5vw,4.5rem)/.86 var(--serif); }
.brand-tile-cat { color:var(--muted); margin-top:16px; font-size:.82rem; }

/* Visit */
.visit-section { border-top:1px solid var(--ink); background:var(--paper-bright); }
.visit-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:44px; border:1px solid var(--ink); background:var(--ink); }
.visit-info { display:grid; grid-template-columns:1fr 1fr; gap:1px; align-content:stretch; background:var(--ink); }
.visit-detail { display:flex; gap:14px; min-height:150px; padding:22px; background:var(--paper-bright); }
.visit-detail-icon { color:var(--purple); flex:none; }
.visit-detail h3 { margin:0 0 8px; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.visit-detail p { margin:0; color:var(--muted); font-size:.88rem; }
.visit-card { padding:34px; background:var(--purple); color:white; }
.visit-card>h3 { font:400 2.7rem/.95 var(--serif); }
.visit-card>p { color:rgba(255,255,255,.78); }
.hours-grid { display:grid; grid-template-columns:1fr auto; gap:9px 20px; margin:28px 0; padding-top:22px; border-top:1px solid rgba(255,255,255,.32); }
.hours-day { color:rgba(255,255,255,.72); }
.hours-time { color:white; }

/* FAQ and footer */
.faq-section { border-top:1px solid var(--ink); background:var(--paper-deep); }
.faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:36px; border:1px solid var(--ink); background:var(--ink); }
.faq-item { padding:28px; background:var(--paper-bright); }
.faq-question { font:500 1.42rem/1.1 var(--serif); margin-bottom:12px; }
.faq-answer { color:var(--muted); font-size:.86rem; margin:0; }
.footer { padding:58px 0 30px; border-top:1px solid var(--ink); background:var(--ink); color:white; }
.footer-grid { display:grid; grid-template-columns:1.3fr repeat(3,.8fr); gap:34px; }
.footer h3,.footer h4 { color:white; }
.footer h4 { font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; }
.footer ul { list-style:none; padding:0; margin:0; }
.footer a,.footer p { color:#bdb5bd; font-size:.82rem; }
.footer a:hover { color:var(--acid); }
.footer .wordmark { color:white; }
.footer-bottom { margin-top:42px; padding-top:22px; border-top:1px solid rgba(255,255,255,.2); display:grid; grid-template-columns:180px 1fr; gap:34px; color:#8f858f;font-size:.72rem; }
.footer-bottom p { margin:0; }
.sticky-cta { display:none; }
.cursor-glow { display:none; }
.back-to-top {
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:85;
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  padding:0;
  border:1px solid var(--ink);
  border-radius:var(--radius);
  color:white;
  background:var(--purple);
  box-shadow:5px 5px 0 var(--faerie-green);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease,background .18s ease,box-shadow .18s ease;
  cursor:pointer;
}
.back-to-top.visible {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}
.back-to-top svg {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.back-to-top:hover { color:var(--ink); background:var(--faerie-green); box-shadow:5px 5px 0 var(--purple); transform:translateY(-2px); }
.back-to-top:active { transform:translateY(1px); box-shadow:2px 2px 0 var(--purple); }
.back-to-top:focus-visible { outline:3px solid var(--faerie-blue); outline-offset:4px; }

/* Motion */
.reveal { opacity:1; transform:none; }
@media (prefers-reduced-motion:no-preference) {
  .js .reveal { opacity:0; transform:translateY(18px); transition:opacity .55s ease,transform .55s ease; }
  .js .reveal.visible { opacity:1; transform:none; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .back-to-top { transition:none; }
}

@media (max-width: 980px) {
  .nav { display:none; }
  .menu-toggle { display:block; cursor:pointer; }
  .mobile-nav {
    position:absolute; top:78px; left:0; right:0;
    padding:22px 28px 28px;
    flex-direction:column; gap:18px;
    background:var(--paper-bright);
    border-bottom:1px solid var(--ink);
  }
  .mobile-nav.open { display:flex; }
  .hero-content { grid-template-columns:1fr 220px; }
  .hero-carousel { width:min(54vw,560px); }
  .hero::after { opacity:.72; }
  .cart-sale-grid { grid-template-columns:1fr; }
  .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .selling-fast-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .featured-grid,.about-grid,.visit-grid { grid-template-columns:1fr; }
  .featured-visual,.featured-visual-inner { min-height:480px; height:480px; }
  .about-content { order:-1; }
  .about-principles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 680px) {
  .container,.hero-content { width:min(100% - 28px,1220px); }
  .section { padding:5rem 0; }
  h2 { font-size:clamp(3.2rem,18vw,5rem); }
  .header-inner { height:70px; }
  .category-nav { top:70px; }
  .hero { min-height:auto; display:block; padding:0 0 48px; background:var(--paper); }
  .hero::before { right:12px; top:92px; }
  .hero::after,.orb-1,.orb-2 { display:none; }
  .hero-carousel {
    position:relative;
    inset:auto;
    width:calc(100% - 28px);
    margin:94px auto 48px;
  }
  .hero-carousel-viewport { aspect-ratio:4/3; box-shadow:8px 8px 0 var(--faerie-green); }
  .hero-carousel-copy { left:16px; right:16px; bottom:16px; }
  .hero-carousel-copy strong { max-width:88%; font-size:clamp(1.65rem,8vw,2.35rem); }
  .hero-carousel-controls { top:12px; bottom:auto; }
  .hero-carousel-price { padding-right:0; }
  .hero-content { grid-template-columns:1fr; gap:36px; }
  .hero-title { font-size:clamp(5rem,28vw,8.4rem); margin-bottom:2rem; }
  .hero-subtitle { font-size:1rem; max-width:92%; }
  .hero-ctas .btn { width:100%; }
  .hero-meta { width:100%; }
  .cart-sale-section { padding:4rem 0; }
  .cart-sale-banner { align-items:flex-start; flex-direction:column; gap:8px; text-align:left; box-shadow:7px 7px 0 var(--paper-bright); }
  .cart-sale-banner .cart-sale-spark { display:none; }
  .cart-sale-card { padding:24px 20px; box-shadow:7px 7px 0 var(--ink); }
  .cart-sale-price-row { align-items:flex-end; gap:16px; }
  .cart-sale-now { font-size:5.5rem; }
  .cart-sale-price-row h2 { font-size:2.8rem; }
  .cart-sale-summary { font-size:.95rem; }
  .category-chip { min-height:48px; padding:.65rem .9rem; font-size:.68rem; }
  .products-grid,.brands-grid,.faq-grid,.visit-info,.about-principles,.footer-grid { grid-template-columns:1fr; }
  .selling-fast-head { grid-template-columns:1fr; gap:18px; margin-bottom:28px; }
  .selling-fast-grid { grid-template-columns:1fr; }
  .selling-fast-card { display:grid; grid-template-columns:124px minmax(0,1fr); }
  .selling-fast-media { height:100%; min-height:170px; aspect-ratio:auto; border:0; border-right:1px solid var(--ink); }
  .selling-fast-copy { padding:17px; }
  .selling-fast-copy > strong { margin:9px 0 18px; font-size:1.45rem; }
  .selling-fast-bottom { align-items:start; flex-direction:column; gap:5px; }
  .product-card-media { aspect-ratio:1/1; }
  .featured-visual,.featured-visual-inner { min-height:340px; height:340px; }
  .featured-content h2,.about-content h2 { font-size:clamp(3.2rem,16vw,4.8rem); }
  .about-visual { min-height:390px; box-shadow:10px 10px 0 var(--ember); }
  .about-visual-copy { left:20px; right:20px; bottom:20px; }
  .about-principle { min-height:auto; }
  .about-principle-kicker { margin-bottom:26px; }
  .visit-detail { min-height:auto; }
  .footer-bottom { grid-template-columns:1fr; gap:16px; }
  .age-gate-inner { padding:34px 24px; box-shadow:9px 9px 0 var(--purple); }
  .age-gate-inner h2 { font-size:3.4rem; }
  .age-gate-buttons { flex-direction:column; }
  .sticky-cta { position:fixed; left:0; right:0; bottom:0; z-index:90; display:block; padding:10px 14px; border-top:1px solid var(--ink); background:rgba(255,253,248,.94); backdrop-filter:blur(12px); }
  .sticky-cta .btn { width:100%; min-height:44px; }
  .back-to-top { right:16px; bottom:calc(80px + env(safe-area-inset-bottom)); width:52px; height:52px; }
  .footer { padding-bottom:94px; }
}


/* Clickable brand tiles */
.brand-tile { position:relative; color:var(--ink); text-decoration:none; cursor:pointer; }
.brand-tile:focus-visible { outline:3px solid var(--purple); outline-offset:-5px; }
.brand-tile-arrow { position:absolute; right:30px; top:28px; color:var(--purple-2); font:500 .68rem/1 var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.brand-tile:hover .brand-tile-arrow { color:var(--ink); }

/* Brand detail pages */
.brand-page { background:var(--paper); }
.brand-page .header { border-bottom:1px solid var(--ink); }
.brand-page-main { padding-top:86px; }
.brand-hero { padding:clamp(54px,8vw,110px) 0; border-bottom:1px solid var(--ink); background:var(--paper); }
.brand-hero-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); gap:clamp(44px,7vw,100px); align-items:center; }
.brand-back { display:inline-flex; align-items:center; gap:8px; margin-bottom:34px; color:var(--purple-2); font:500 .7rem/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.brand-kicker { margin:0 0 14px; color:var(--ember); font:500 .72rem/1 var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.brand-hero h1 { margin:0; font:400 clamp(4.8rem,10vw,9.5rem)/.78 var(--serif); letter-spacing:-.055em; }
.brand-summary { max-width:650px; margin:34px 0 0; color:var(--muted); font-size:clamp(1rem,1.6vw,1.25rem); line-height:1.65; }
.brand-hero-meta { display:flex; flex-wrap:wrap; gap:8px; margin:30px 0; }
.brand-meta-pill { padding:9px 12px; border:1px solid var(--ink); background:var(--paper-bright); color:var(--ink); font:500 .66rem/1 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.brand-notice { margin:28px 0; padding:18px 20px; border:1px solid var(--ink); background:var(--acid); color:var(--ink); font-weight:600; line-height:1.45; box-shadow:7px 7px 0 var(--purple); }
.brand-notice[hidden] { display:none; }
.brand-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.brand-hero-visual { position:relative; aspect-ratio:4/3; overflow:hidden; border:1px solid var(--ink); background:var(--paper-deep); box-shadow:16px 16px 0 var(--purple); }
.brand-hero-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.brand-hero-visual::after { content:"Current shelf"; position:absolute; left:14px; bottom:14px; padding:8px 11px; border:1px solid var(--ink); background:var(--paper-bright); color:var(--ink); font:500 .64rem/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.brand-overview { padding:clamp(70px,9vw,120px) 0; background:var(--ember); border-bottom:1px solid var(--ink); }
.brand-overview-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(40px,8vw,110px); align-items:start; }
.brand-overview h2 { margin:0; font-size:clamp(4rem,8vw,7.2rem); line-height:.82; }
.brand-overview-copy { margin:0; color:rgba(22,19,24,.8); font-size:1.08rem; line-height:1.75; }
.brand-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:42px; border:1px solid var(--ink); background:var(--ink); }
.brand-fact { min-height:170px; padding:22px; background:var(--paper-bright); }
.brand-fact span { display:block; margin-bottom:34px; color:var(--purple-2); font:500 .64rem/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.brand-fact strong { display:block; font:400 1.55rem/1.05 var(--serif); }
.brand-products-section { padding:clamp(70px,9vw,120px) 0; background:var(--paper-bright); }
.brand-products-head { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:42px; }
.brand-products-head h2 { margin:0; }
.brand-products-head p { max-width:430px; margin:0 0 8px; }
.brand-visit-band { padding:50px 0; border-block:1px solid var(--ink); background:var(--purple); color:white; }
.brand-visit-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:1px; background:rgba(255,255,255,.35); border:1px solid rgba(255,255,255,.45); }
.brand-visit-item { min-height:140px; padding:24px; background:var(--purple); }
.brand-visit-item span { display:block; margin-bottom:28px; color:rgba(255,255,255,.65); font:500 .62rem/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.brand-visit-item strong,.brand-visit-item a { color:white; font:400 1.35rem/1.1 var(--serif); }
.brand-page .footer { margin-top:0; }

@media (max-width:980px) {
  .brand-hero-grid,.brand-overview-grid { grid-template-columns:1fr; }
  .brand-hero-grid { gap:58px; }
  .brand-hero-visual { max-width:760px; }
  .brand-facts { grid-template-columns:1fr; }
  .brand-fact { min-height:auto; }
  .brand-visit-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:680px) {
  .brand-page-main { padding-top:70px; }
  .brand-hero { padding:48px 0 68px; }
  .brand-hero h1 { font-size:clamp(4.5rem,25vw,7rem); }
  .brand-hero-visual { box-shadow:9px 9px 0 var(--purple); }
  .brand-products-head { display:block; }
  .brand-products-head p { margin-top:18px; }
  .brand-visit-grid { grid-template-columns:1fr; }
  .brand-visit-item { min-height:auto; }
  .brand-tile-arrow { right:24px; top:24px; }
}


/* Faerie Fire spell palette */
.hero {
  background:
    radial-gradient(circle at 83% 22%, rgba(85,207,250,.24), transparent 24%),
    radial-gradient(circle at 76% 48%, rgba(117,240,138,.16), transparent 21%),
    linear-gradient(90deg, transparent 0 69%, rgba(124,77,255,.10) 69% 100%),
    var(--paper);
}
.hero::after {
  background:linear-gradient(135deg,var(--faerie-blue) 0%,var(--faerie-violet) 52%,var(--faerie-green) 100%);
  box-shadow:20px 20px 0 var(--purple);
}
.orb-1 { border-color:var(--faerie-violet); box-shadow:0 0 34px rgba(197,140,255,.34); }
.orb-2 { background:var(--faerie-green); box-shadow:0 0 30px rgba(117,240,138,.5); }
.hero-title .accent {
  color:transparent;
  background:linear-gradient(90deg,var(--purple),var(--faerie-blue) 48%,#48c96a);
  -webkit-background-clip:text;
  background-clip:text;
}
.announcement { background:linear-gradient(90deg,#171225,#29194b 50%,#153d4b); }
.announcement-item::after { color:var(--faerie-green); }
.about-visual { background:linear-gradient(155deg,var(--purple),#3f2b86 46%,#176273); box-shadow:18px 18px 0 var(--faerie-green); }
.brands-section { background:linear-gradient(135deg,var(--faerie-blue) 0%,var(--faerie-violet) 52%,var(--faerie-green) 115%); }
.visit-card { background:linear-gradient(145deg,var(--purple),#3c2d8e 58%,#176273); }
.brand-overview { background:linear-gradient(135deg,rgba(85,207,250,.96),rgba(197,140,255,.92) 55%,rgba(117,240,138,.86)); }
.brand-visit-band { background:linear-gradient(90deg,#4f2db2,#3658b8 55%,#18725f); }
.brand-visit-item { background:rgba(59,39,132,.9); }
.brand-kicker { color:var(--purple-2); }

.wizard-signature {
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:20px;
  padding:10px 14px 10px 10px;
  border:1px solid var(--ink);
  background:rgba(255,254,249,.78);
  box-shadow:6px 6px 0 var(--faerie-blue);
  transform:rotate(-1deg);
}
.wizard-sigil {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid var(--ink);
  border-radius:50%;
  color:var(--purple);
  background:linear-gradient(135deg,var(--faerie-green),var(--faerie-blue));
  font-size:1.15rem;
}
.wizard-signature small {
  display:block;
  color:var(--muted);
  font:500 .58rem/1.2 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.wizard-signature strong {
  display:block;
  margin-top:3px;
  color:var(--ink);
  font:500 1.28rem/.95 var(--serif);
}

/* Mobile sticky action bar */
.mobile-action-bar {
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:900;
  display:none;
  grid-template-columns:1fr 1fr 1fr;
  border-top:1px solid var(--line-strong);
  background:rgba(247,244,234,.96);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  padding-bottom:env(safe-area-inset-bottom);
  box-shadow:0 -10px 30px rgba(23,18,37,.12);
}
.mobile-action-bar a {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:56px;
  padding:8px 4px 10px;
  color:var(--ink-soft);
  font:500 .66rem/1 var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.mobile-action-bar a:active,
.mobile-action-bar a:focus-visible {
  color:var(--purple-2);
  background:rgba(124,77,255,.10);
  outline:none;
}
.mobile-action-bar svg {
  width:20px;
  height:20px;
}
@media (max-width: 720px) {
  .mobile-action-bar { display:grid; }
  body { padding-bottom:calc(56px + env(safe-area-inset-bottom)); }
}

/* Rewards hero callout */
.hero-rewards-callout {
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
  padding:12px 16px;
  border:1px solid var(--line-strong);
  border-radius:var(--radius);
  background:rgba(255,254,249,.85);
  box-shadow:4px 4px 0 var(--faerie-violet);
  max-width:100%;
}
.hero-rewards-callout .rewards-copy {
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.hero-rewards-callout .rewards-copy small {
  color:var(--muted);
  font:500 .62rem/1.3 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.hero-rewards-callout .rewards-copy strong {
  color:var(--ink);
  font:500 .92rem/1.35 var(--sans);
}
.hero-rewards-callout .rewards-cta {
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 16px;
  border:1px solid var(--ink);
  border-radius:var(--radius);
  background:linear-gradient(120deg,var(--faerie-violet),var(--faerie-blue));
  color:var(--ink);
  font:600 .74rem/1 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
}
.hero-rewards-callout .rewards-cta:hover,
.hero-rewards-callout .rewards-cta:focus-visible {
  box-shadow:3px 3px 0 var(--ink);
  transform:translate(-1px,-1px);
}
@media (max-width: 560px) {
  .hero-rewards-callout { flex-direction:column; align-items:stretch; }
  .hero-rewards-callout .rewards-cta { justify-content:center; }
}
.wizard-note {
  display:grid;
  grid-template-columns:58px 1fr;
  gap:18px;
  margin-top:30px;
  padding:20px;
  border:1px solid var(--ink);
  background:linear-gradient(120deg,rgba(197,140,255,.14),rgba(85,207,250,.14),rgba(117,240,138,.16));
  box-shadow:8px 8px 0 var(--faerie-violet);
}
.wizard-note-mark {
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border:1px solid var(--ink);
  border-radius:50%;
  color:var(--paper-bright);
  background:linear-gradient(135deg,var(--purple),var(--faerie-blue),#48c96a);
  font-size:1.4rem;
}
.wizard-note span {
  color:var(--purple-2);
  font:500 .62rem/1 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.wizard-note h3 {
  margin:5px 0 7px;
  font:500 2rem/.9 var(--serif);
}
.wizard-note p { margin:0; font-size:.86rem; line-height:1.55; }

@media (max-width:680px) {
  .hero::after { box-shadow:10px 10px 0 var(--faerie-green); }
  .about-visual { box-shadow:10px 10px 0 var(--faerie-green); }
  .wizard-note { grid-template-columns:1fr; }
}

/* ============================================================
   MENU PAGE
   ============================================================ */

.menu-deals {
  margin-bottom: var(--space-lg);
}
.menu-deals-track {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}
.menu-deal-chip {
  display:inline-flex;
  align-items:baseline;
  gap:8px;
  padding:10px 16px;
  border:1px solid var(--line-strong);
  border-radius:var(--radius);
  background:rgba(255,254,249,.9);
  box-shadow:3px 3px 0 var(--faerie-violet);
  text-decoration:none;
}
.menu-deal-chip strong {
  color:var(--purple-2);
  font:600 .82rem/1 var(--mono);
  letter-spacing:.04em;
}
.menu-deal-chip span {
  color:var(--muted);
  font:400 .72rem/1 var(--mono);
}
.menu-deal-chip:hover {
  box-shadow:4px 4px 0 var(--faerie-violet);
  transform:translate(-1px,-1px);
}
.menu-deal-note {
  color:var(--muted);
  font:400 .68rem/1.4 var(--mono);
  letter-spacing:.06em;
  text-transform:uppercase;
}

.menu-controls {
  display:flex;
  flex-direction:column;
  gap:var(--space-md);
  margin-bottom:var(--space-sm);
}
.menu-filters {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.menu-filter {
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.menu-filter-label {
  color:var(--muted);
  font:500 .64rem/1 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.menu-filter select {
  appearance:none;
  padding:8px 32px 8px 12px;
  border:1px solid var(--line-strong);
  border-radius:var(--radius);
  background:var(--paper-bright) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23171225' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 12px center;
  color:var(--ink);
  font:500 .78rem/1 var(--sans);
  cursor:pointer;
}
.menu-filter select:focus-visible {
  outline:2px solid var(--purple);
  outline-offset:2px;
}
@media (max-width: 560px) {
  .menu-filters { width:100%; }
  .menu-filter { flex:1 1 45%; }
  .menu-filter select { width:100%; }
}

/* ============================================================
   WIZARD'S PICKS
   ============================================================ */

.wizard-picks-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:var(--space-md);
}
.wizard-pick-card {
  display:flex;
  flex-direction:column;
  border:1px solid var(--line-strong);
  border-radius:var(--radius);
  background:var(--paper-bright);
  box-shadow:5px 5px 0 var(--faerie-blue);
  overflow:hidden;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease;
}
.wizard-pick-card:hover,
.wizard-pick-card:focus-visible {
  transform:translate(-2px,-2px);
  box-shadow:7px 7px 0 var(--faerie-blue);
}
.wizard-pick-slot {
  padding:10px 14px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(120deg,rgba(197,140,255,.14),rgba(85,207,250,.14));
  color:var(--purple-2);
  font:600 .64rem/1 var(--mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.wizard-pick-media {
  display:block;
  aspect-ratio:1/1;
  overflow:hidden;
  background:var(--paper-deep);
}
.wizard-pick-media img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.wizard-pick-copy {
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px;
}
.wizard-pick-copy strong {
  color:var(--ink);
  font:500 1.02rem/1.3 var(--serif);
}
.wizard-pick-meta {
  color:var(--muted);
  font:500 .68rem/1 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.wizard-pick-price {
  color:var(--purple-2);
  font:600 .86rem/1 var(--mono);
}

/* ============================================================
   INCOMING INVENTORY (Coming Soon)
   ============================================================ */

.product-card-incoming .placeholder {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  color:var(--muted);
  font:500 .78rem/1.4 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
}
.badge-incoming {
  background:linear-gradient(120deg,var(--faerie-violet),var(--faerie-blue)) !important;
  color:var(--ink) !important;
}
.product-card-availability {
  margin:8px 0 0;
  color:var(--purple-2);
  font:500 .72rem/1.4 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.product-card-price-pending {
  color:var(--muted);
  font-style:italic;
}
.product-card-link-muted {
  color:var(--muted);
  font:500 .7rem/1 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
