:root {
  --bg: #08090c;
  --bg-raised: #0e1015;
  --panel: #13161d;
  --panel-2: #191d25;
  --line: #292e39;
  --line-hot: #6d2028;
  --text: #f2f3f5;
  --muted: #959ba8;
  --accent: #f04452;
  --accent-hot: #ff5966;
  --accent-dark: #9f1f2b;
  --good: #4cc38a;
  --warning: #e5ad47;
  --radius: 8px;
  --shadow: 0 18px 45px rgba(0, 0, 0, .38);
  --font: Inter, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }

html {
  color-scheme: dark;
  scroll-behavior: smooth;
}

body {
  margin: 0 !important;
  min-width: 320px;
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-size: 16px;
  line-height: 1.55;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.015) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, #000, transparent 80%);
}

img { display: block; max-width: 100%; }
a { color: var(--text); text-decoration: none; }
a:hover { color: var(--accent-hot); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 {
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-weight: 800 !important;
  letter-spacing: -.035em;
  line-height: 1.05;
}
h1 { font-size: clamp(2.3rem, 5vw, 4.8rem) !important; }
h2 { font-size: clamp(1.8rem, 3.5vw, 3rem) !important; }
h3 { font-size: 1.25rem !important; }

input, textarea, select {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line) !important;
  border-radius: 5px !important;
  background: #0b0d12 !important;
  color: var(--text) !important;
  padding: 12px 14px !important;
  outline: none;
}
input::placeholder, textarea::placeholder { color: #676e7c; }
input:focus, textarea:focus, select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(240, 68, 82, .13) !important;
}

.button,
button[type="submit"],
.search-form button,
.search-bar button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 1px solid var(--accent) !important;
  border-radius: 5px !important;
  background: var(--accent) !important;
  color: #fff !important;
  padding: 10px 18px !important;
  font-weight: 800 !important;
  line-height: 1;
  text-decoration: none;
  transition: background .18s, border-color .18s, transform .18s;
}
.button:hover,
button[type="submit"]:hover,
.search-form button:hover,
.search-bar button:hover {
  background: var(--accent-hot) !important;
  border-color: var(--accent-hot) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.button.ghost {
  background: transparent !important;
  border-color: #434956 !important;
  color: var(--text) !important;
}
.button.ghost:hover { border-color: var(--accent) !important; }
.button.small { min-height: 34px; padding: 8px 12px !important; font-size: .8rem; }
.button:disabled, button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.text-button { border: 0; background: none; color: var(--muted); padding: 0; }
.text-button:hover { color: var(--accent-hot); }

.brand {
  color: #fff !important;
  font: 900 1.35rem/1 var(--font) !important;
  letter-spacing: -.07em;
  text-transform: uppercase;
  white-space: nowrap;
}
.brand span { color: var(--accent); font-style: normal; }
.eyebrow {
  margin-bottom: 12px;
  color: var(--accent) !important;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

/* Shared modern header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  min-height: 68px;
  display: grid;
  grid-template-columns: auto auto minmax(180px, 340px) auto;
  align-items: center;
  gap: clamp(18px, 3vw, 48px);
  padding: 11px clamp(16px, 4vw, 64px);
  border-bottom: 1px solid var(--line);
  background: rgba(8, 9, 12, .96) !important;
  backdrop-filter: blur(14px);
}
.site-nav, .account-nav { display: flex; align-items: center; gap: 20px; }
.site-nav a, .account-nav > a:not(.button) {
  color: #bdc1ca;
  font-size: .84rem;
  font-weight: 750;
}
.site-nav a:hover, .site-nav a.active { color: #fff; }
.header-search { display: flex; border: 0; }
.header-search input { height: 40px; }
.header-search button {
  min-height: 40px;
  width: 42px;
  margin-left: 6px;
  padding: 0 !important;
}
.menu-toggle {
  display: none;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: transparent;
  color: #fff;
  padding: 8px 11px;
  font-weight: 800;
}

/* Legacy headers: artwork, stories and search */
body > header:not(.site-header):not(.admin-topbar),
.site-wrapper > header:not(.site-header) {
  width: 100% !important;
  min-height: 68px !important;
  display: grid !important;
  grid-template-columns: auto minmax(240px, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 10px clamp(16px, 4vw, 64px) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  background: #090a0e !important;
  color: var(--text) !important;
  box-shadow: none !important;
}
body > header:not(.site-header):not(.admin-topbar) h1,
.site-wrapper > header:not(.site-header) h1 {
  margin: 0 !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
  text-transform: uppercase;
}
body > header:not(.site-header):not(.admin-topbar) h1 a,
.site-wrapper > header:not(.site-header) h1 a {
  color: #fff !important;
  text-shadow: none !important;
}
body > header:not(.site-header):not(.admin-topbar) h1 a::first-letter,
.site-wrapper > header:not(.site-header) h1 a::first-letter { color: var(--accent); }
.search-form { width: 100%; display: flex !important; gap: 7px !important; margin: 0 !important; }
.search-form input { height: 42px !important; margin: 0 !important; }
.search-form button { flex: 0 0 auto; margin: 0 !important; }
#guest-nav, #user-nav { display: flex; align-items: center; justify-content: flex-end; gap: 14px; white-space: nowrap; }
#guest-nav a, #user-nav a, #user-greeting { color: #b8bdc7 !important; font-size: .82rem; }

/* Homepage */
.hero-v2 {
  position: relative;
  min-height: calc(100vh - 68px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, .72fr);
  align-items: center;
  gap: clamp(40px, 7vw, 120px);
  overflow: hidden;
  padding: clamp(60px, 8vw, 120px) clamp(18px, 6vw, 100px);
  background: #090a0d !important;
}
.hero-v2::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: clamp(8px, 2vw, 30px);
  width: 2px;
  background: var(--accent);
  opacity: .7;
}
.hero-copy { max-width: 800px; }
.hero-copy h1 {
  max-width: 800px;
  margin-bottom: 22px;
  font-size: clamp(3rem, 6.8vw, 6.7rem) !important;
  text-transform: uppercase;
  letter-spacing: -.065em;
}
.hero-copy h1 em { color: var(--accent); font-style: normal; }
.hero-copy > p:not(.eyebrow) { max-width: 610px; color: #a2a7b1; font-size: 1.04rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0; }
.trust-row { display: flex; flex-wrap: wrap; gap: 18px; color: #747b88; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.hero-art {
  position: relative;
  width: min(100%, 510px);
  aspect-ratio: 4 / 5;
  justify-self: center;
  overflow: hidden;
  border: 1px solid #3b404c;
  border-radius: 4px !important;
  background: var(--panel);
  box-shadow: 22px 22px 0 #151820, var(--shadow);
  transform: none !important;
}
.hero-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 58%, rgba(0,0,0,.86)); }
.hero-art img { width: 100%; height: 100%; object-fit: cover; }
.hero-art-caption { position: absolute; z-index: 2; left: 22px; right: 22px; bottom: 20px; display: flex; flex-direction: column; color: #fff; }
.hero-art-caption small { color: var(--accent-hot); font-size: .65rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.hero-art-caption b { font-size: 1.2rem; }
.marquee { overflow: hidden; padding: 11px 0; background: var(--accent-dark) !important; color: #fff; white-space: nowrap; font-size: .68rem; font-weight: 900; letter-spacing: .18em; }
.marquee div { width: max-content; animation: marquee 28s linear infinite; }
@keyframes marquee { to { transform: translateX(-50%); } }

.section-shell,
.homepage-sections,
.content-container,
.gallery-main {
  width: min(100%, 1540px) !important;
  margin: 0 auto !important;
  padding: clamp(36px, 6vw, 88px) clamp(14px, 3vw, 44px) !important;
  background: transparent !important;
  color: var(--text) !important;
}
.homepage-sections { min-height: calc(100vh - 68px); }
.content-section { margin: 0 !important; padding: 0 !important; background: transparent !important; }
.content-section > h2,
.gallery-main > h2,
.content-container > h2 {
  margin: 0 0 28px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid var(--line) !important;
  font-size: clamp(1.9rem, 4vw, 3.2rem) !important;
  text-transform: uppercase;
}
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.section-heading h2 { margin: 0; text-transform: uppercase; }
.section-heading p { max-width: 650px; color: var(--muted); }
.section-heading > a:not(.button) { color: var(--accent); font-size: .8rem; font-weight: 800; text-transform: uppercase; }

.content-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(10px, 1.6vw, 22px) !important;
  width: 100% !important;
}
.content-grid.compact { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.content-card,
.content-grid > .card {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 5px !important;
  background: var(--panel) !important;
  color: var(--text) !important;
  box-shadow: none !important;
  transition: border-color .18s, transform .18s;
}
.content-card:hover,
.content-grid > .card:hover { border-color: #525966 !important; transform: translateY(-3px); }
.card-media,
.content-grid > .card > a,
.content-grid > .card > .blurred-image-container,
.content-grid > .card > .card {
  position: relative;
  display: block;
  width: 100% !important;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: #0b0d12 !important;
}
.content-grid > .card > .card { height: 100%; aspect-ratio: auto; }
.card-media img,
.content-grid .card img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 4 / 5;
  object-fit: cover !important;
  border-radius: 0 !important;
  transition: transform .25s, filter .25s;
}
.content-card:hover img,
.content-grid > .card:hover img { transform: scale(1.025); }
.content-grid .card h4 {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 13px 14px 15px !important;
  color: #e9eaf0 !important;
  font-size: .9rem !important;
  font-weight: 750 !important;
  line-height: 1.25;
}
.card-copy { padding: 14px; }
.card-copy h3 { margin: 5px 0 9px; font-size: 1rem !important; }
.card-copy h3 a { color: #fff; }
.card-category { color: var(--accent); font-size: .62rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.card-meta { display: flex; gap: 14px; color: #747b88; font-size: .72rem; }
.premium-chip { position: absolute; z-index: 3; top: 10px; right: 10px; padding: 5px 8px; border-radius: 3px; background: rgba(8,9,12,.9); color: #fff; font-size: .64rem; font-weight: 800; }
.lock-layer { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; padding: 30px 14px 14px; background: linear-gradient(transparent, rgba(0,0,0,.92)); color: white; display: flex; flex-direction: column; }
.lock-layer small { color: #a9aeb8; }
.is-premium .card-media img { filter: blur(7px) brightness(.45); transform: scale(1.05); }

.blurred-image-container { position: relative !important; z-index: 1 !important; overflow: hidden !important; }
.blurred-image-container img.blurred, .content-grid img.blurred {
  filter: blur(8px) brightness(.4) !important;
  transform: scale(1.08) !important;
}
.blurred-image-container .overlay-text {
  position: absolute !important;
  z-index: 5 !important;
  inset: auto 0 0 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 36px 14px 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(transparent, rgba(0,0,0,.95)) !important;
  color: #fff !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  transform: none !important;
  animation: none !important;
  box-shadow: none !important;
}

.search-bar {
  width: min(100%, 620px) !important;
  display: flex !important;
  gap: 8px !important;
  margin: 0 0 20px !important;
}
.search-bar input { margin: 0 !important; }
.search-bar button { width: auto !important; margin: 0 !important; }
.content-section a[style*="background-color"] {
  border: 1px solid #333844 !important;
  border-radius: 4px !important;
  background: #171a21 !important;
  color: #c7cad1 !important;
  font-size: .72rem !important;
  font-weight: 750;
}
.content-section a[style*="background-color"]:hover { border-color: var(--accent) !important; color: #fff !important; }

.pagination { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 34px 0 0 !important; }
.pagination a, .pagination span, .pagination strong {
  min-width: 38px;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line) !important;
  border-radius: 4px !important;
  background: var(--panel) !important;
  color: #c6cad2 !important;
  padding: 7px 10px !important;
}
.pagination a:hover, .pagination a.active, .pagination .active, .pagination strong {
  border-color: var(--accent) !important;
  background: var(--accent-dark) !important;
  color: #fff !important;
}

/* Stories */
.story-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.story-tile,
.story-card {
  min-height: 0 !important;
  margin: 0 0 14px !important;
  padding: 24px !important;
  border: 1px solid var(--line) !important;
  border-left: 3px solid #383e49 !important;
  border-radius: 5px !important;
  background: var(--panel) !important;
  color: var(--text) !important;
  box-shadow: none !important;
}
.story-tile { display: flex; min-height: 285px !important; flex-direction: column; }
.story-tile:nth-child(2n) { background: #11141a !important; }
.story-tile:hover, .story-card:hover { border-left-color: var(--accent) !important; transform: none !important; box-shadow: none !important; }
.story-tile span { color: var(--accent); font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.story-tile h3, .story-card h2 { margin: 10px 0 14px !important; font-size: 1.35rem !important; }
.story-tile p, .story-card p { color: #a1a6b0 !important; }
.story-tile b { margin-top: auto; color: var(--accent); font-size: .78rem; text-transform: uppercase; }
.story-card .blurred { color: #767d89 !important; filter: blur(3px); }

/* Packs and collections */
.collection-feature { max-width: none !important; border-block: 1px solid var(--line); background: #0d0f14 !important; }
.pack-preview-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.pack-preview { padding: 12px; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); }
.pack-preview img, .pack-placeholder { width: 100%; aspect-ratio: 1; object-fit: cover; margin-bottom: 14px; border-radius: 3px; }
.pack-placeholder { display: grid; place-items: center; background: #171b23; color: var(--accent); font-size: 3rem; }
.pack-preview span, .pack-preview small { color: #7e8591; font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pack-preview h3 { margin: 7px 0; }
.pack-preview p { color: var(--muted); font-size: .86rem; }
.collection-page { width: min(100%, 1480px); margin: auto; padding: clamp(34px, 6vw, 80px) clamp(14px, 3vw, 44px); }
.collection-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.reward-stats { display: flex; overflow: hidden; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); }
.reward-stats div { min-width: 110px; padding: 15px; border-right: 1px solid var(--line); text-align: center; }
.reward-stats div:last-child { border: 0; }
.reward-stats strong, .reward-stats span { display: block; }
.reward-stats strong { font-size: 1.7rem; color: #fff; }
.reward-stats span { color: #777e8a; font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.pack-grid-v2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.pack-card-v2 { display: grid; grid-template-columns: 170px 1fr; padding: 12px; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); }
.pack-cover { display: grid; place-items: center; overflow: hidden; aspect-ratio: 1; border-radius: 3px; background: #1b1f28; color: var(--accent); font-size: 3rem; }
.pack-cover img { width: 100%; height: 100%; object-fit: cover; }
.pack-body { padding: 10px 16px; }
.pack-body h2 { margin: 6px 0 10px; font-size: 1.7rem !important; }
.pack-body p { color: var(--muted); font-size: .84rem; }
.collection-progress, .progress { height: 5px; overflow: hidden; margin: 11px 0; border-radius: 0; background: #292e38; }
.collection-progress span, .progress span { display: block; height: 100%; background: var(--accent); }
.owned-card-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.owned-card { position: relative; overflow: hidden; padding: 6px; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); }
.owned-card.rarity-epic { border-color: #8057c8; box-shadow: inset 0 0 0 1px #8057c8; }
.owned-card.rarity-high { border-color: #a87c2d; box-shadow: inset 0 0 0 1px #a87c2d; }
.owned-card img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 2px; }
.owned-card > div { padding: 9px 5px; }
.owned-card span { color: #7f8692; font-size: .56rem; text-transform: uppercase; }
.owned-card h3 { margin: 4px 0; font-size: .95rem !important; }
.owned-card b { position: absolute; top: 12px; right: 12px; padding: 3px 6px; border-radius: 3px; background: #07080a; color: #fff; }
.empty-state { padding: 65px 20px; border: 1px dashed #333945; border-radius: 5px; color: var(--muted); text-align: center; }

/* Artwork detail */
.artwork-page { min-height: calc(100vh - 68px); display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr); background: #07080a; }
.artwork-stage { position: relative; min-height: 620px; display: grid; place-items: center; overflow: hidden; border-right: 1px solid var(--line); background: #030405; }
.artwork-stage > img { width: 100%; height: 100%; max-height: calc(100vh - 68px); object-fit: contain; }
.artwork-stage.locked > img { filter: blur(18px) brightness(.4); transform: scale(1.06); }
.artwork-lock { position: absolute; max-width: 360px; padding: 28px; border: 1px solid #4a3035; border-radius: 5px; background: rgba(8,9,12,.94); color: white; text-align: center; }
.artwork-lock span { color: var(--accent); font-size: 2rem; }
.artwork-lock h2 { margin: 8px 0; font-size: 1.8rem !important; }
.artwork-info { align-self: center; padding: clamp(28px, 5vw, 70px); }
.artwork-info h1 { margin-bottom: 24px; font-size: clamp(2.4rem, 4.5vw, 4.8rem) !important; text-transform: uppercase; }
.artwork-description { color: #a2a7b1; }
.artwork-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0; }
.share-list, .artwork-meta { display: flex; flex-wrap: wrap; gap: 15px; color: #777e8a; font-size: .74rem; }
.share-list a { color: #aeb3bd; font-weight: 700; }
.artwork-meta { margin-top: 24px; }

/* Newsletter */
.newsletter-band {
  width: min(calc(100% - 28px), 1440px);
  margin: 40px auto 90px !important;
  padding: clamp(26px, 5vw, 65px) !important;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(30px, 7vw, 90px);
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: 5px !important;
  background: #0e1117 !important;
  color: var(--text) !important;
}
.newsletter-band h2 { text-transform: uppercase; }
.newsletter-band > div > p:last-child { max-width: 510px; color: var(--muted); }
.newsletter-form { padding: clamp(18px, 3vw, 32px); border: 1px solid var(--line); border-radius: 5px; background: #0a0c10; }
.newsletter-fields, .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.newsletter-form fieldset { margin: 17px 0; padding: 0; border: 0; }
.newsletter-form legend { margin-bottom: 8px; color: #a9aeb8; font-size: .75rem; font-weight: 800; }
.interest-pill { position: relative; display: inline-block; margin: 2px; }
.interest-pill input { position: absolute; opacity: 0; }
.interest-pill span { display: block; padding: 7px 10px; border: 1px solid var(--line); border-radius: 3px; background: #12151b; color: #9ea4af; font-size: .72rem; }
.interest-pill input:checked + span { border-color: var(--accent); background: var(--accent-dark); color: #fff; }
label { display: flex; flex-direction: column; gap: 5px; color: #9da3ae; font-size: .75rem; font-weight: 750; }
.check { flex-direction: row; align-items: flex-start; }
.check input { width: auto; margin-top: 3px; }
.consent { margin: 14px 0; font-size: .68rem; }
.honey { position: absolute !important; left: -9999px !important; opacity: 0 !important; }
.form-message { margin: 9px 0 0; font-size: .8rem; }
.form-message.success { color: var(--good); }
.form-message.error { color: var(--accent-hot); }

/* Authentication and account */
.auth-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: #08090c !important;
}
.auth-card {
  width: min(100%, 500px);
  padding: clamp(24px, 5vw, 48px);
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  border-radius: 5px;
  background: var(--panel);
  box-shadow: var(--shadow);
}
.auth-card .brand { display: block; margin-bottom: 45px; }
.auth-card h1 { margin-bottom: 28px; font-size: clamp(2.3rem, 8vw, 4.2rem) !important; text-transform: uppercase; }
.stack { display: flex; flex-direction: column; gap: 13px; }
.notice { margin: 14px 0; padding: 11px 13px; border: 1px solid var(--line); border-radius: 4px; font-size: .82rem; }
.notice.error { border-color: #71313a; background: #261015; color: #ff9aa3; }
.notice.success { border-color: #245c43; background: #0e241a; color: #75d8a8; }

/* Age gate and popups */
.age-gate { position: fixed; z-index: 9999; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(4,5,7,.97); }
.age-gate[hidden] { display: none; }
.age-card { width: min(100%, 620px); padding: clamp(30px, 6vw, 66px); border: 1px solid #3a3f49; border-top: 4px solid var(--accent); border-radius: 5px; background: #0e1015; color: #fff; text-align: left; box-shadow: var(--shadow); }
.age-card .spark { color: var(--accent); font-size: 2rem; }
.age-card h1 { font-size: clamp(2.5rem, 7vw, 5rem) !important; text-transform: uppercase; }
.age-card p { color: #9da3ae; }
.age-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.modal { position: fixed !important; z-index: 500; inset: 0; display: none; place-items: center; padding: 18px; background: rgba(0,0,0,.82) !important; }
.modal-content { width: min(100%, 430px); margin: auto; padding: 28px !important; border: 1px solid var(--line) !important; border-top: 3px solid var(--accent) !important; border-radius: 5px !important; background: var(--panel) !important; color: #fff !important; box-shadow: var(--shadow) !important; }
.campaign-modal { position: fixed; z-index: 500; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(0,0,0,.84); }
.campaign-card { position: relative; width: min(100%, 780px); display: grid; grid-template-columns: .8fr 1fr; overflow: hidden; border: 1px solid #3a3f49; border-radius: 5px; background: #0e1116; box-shadow: var(--shadow); }
.campaign-card > img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.campaign-copy { align-self: center; padding: clamp(24px, 4vw, 48px); }
.campaign-copy h2 { text-transform: uppercase; }
.campaign-close, .dialog-close { position: absolute; z-index: 3; top: 10px; right: 10px; width: 36px; height: 36px; border: 1px solid #444a56; border-radius: 3px; background: #0a0c10; color: #fff; font-size: 1.2rem; }
.card-reveal { width: min(calc(100% - 24px), 460px); padding: 22px; border: 1px solid #3a3f49; border-radius: 5px; background: #0d0f14; color: #fff; box-shadow: var(--shadow); }
.card-reveal::backdrop { background: rgba(0,0,0,.88); }
.reveal-card { text-align: center; }
.reveal-card img { max-height: 60vh; margin: auto; border-radius: 3px; }
.reveal-card h2 { margin: 15px 0 5px; }
.reveal-bonus { color: var(--accent-hot); font-weight: 800; }

/* Footer */
.site-footer, body > footer {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  margin: 0 !important;
  padding: 34px clamp(16px, 5vw, 75px) !important;
  border-top: 1px solid var(--line);
  background: #07080a !important;
  color: #777e89 !important;
}
.site-footer nav { display: flex; justify-content: center; gap: 16px; }
.site-footer p, .site-footer small, body > footer p { margin: 0; color: #777e89; }

/* Admin remains compact and dark */
.admin-body { background: #0a0b0f !important; }
.admin-topbar { position: sticky; top: 0; z-index: 100; min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 11px clamp(16px,3vw,44px); border-bottom: 1px solid var(--line); background: #08090c; }
.admin-nav { display: flex; flex-wrap: wrap; gap: 14px; }
.admin-nav a { color: #9ca2ad; font-size: .75rem; font-weight: 700; }
.admin-shell { width: min(100%, 1480px); margin: auto; padding: clamp(26px,4vw,60px); }
.admin-heading h1 { font-size: clamp(2.5rem,6vw,4.8rem) !important; text-transform: uppercase; }
.metric-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; margin: 24px 0; }
.metric-grid.compact { grid-template-columns: repeat(3,1fr); }
.metric-card, .panel, .admin-action { border: 1px solid var(--line); border-radius: 5px; background: var(--panel); color: #fff; }
.metric-card { padding: 18px; }
.metric-card strong { display: block; font-size: 2rem; }
.metric-card span { color: #7d8490; font-size: .63rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.metric-card small { display: block; margin-top: 7px; color: #776672; font-size: .66rem; }
.analytics-note { margin: -7px 0 14px; color: #8d7886; font-size: .72rem; }
.admin-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.admin-action { min-height: 130px; display: flex; flex-direction: column; padding: 24px; }
.admin-action:hover { border-color: #505662; transform: translateY(-2px); }
.admin-action b { margin-bottom: 7px; font-size: 1.2rem; }
.admin-action span { color: var(--muted); font-size: .8rem; }
.panel { margin-bottom: 12px; padding: clamp(16px,2.5vw,28px); }
.panel h2 { font-size: 1.65rem !important; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.two-col.wide-left { grid-template-columns: 2fr 1fr; }
.span-2 { grid-column: 1 / -1; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; font-size: .8rem; }
th, td { padding: 11px; border-bottom: 1px solid var(--line); color: #c4c8d0; text-align: left; vertical-align: top; }
th { color: #7e8591; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
td small { display: block; color: #777e89; }
.filter-bar, .inline-form { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.reward-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 12px; }
.editor-toolbar { display: flex; flex-wrap: wrap; gap: 4px; padding: 7px; border: 1px solid var(--line); background: #0b0d11; }
.editor-toolbar button, .upload-button { width: auto; min-height: 32px; padding: 5px 8px !important; border: 1px solid #343a45 !important; border-radius: 3px !important; background: #171a20 !important; color: #fff !important; font-size: .7rem; }
.email-editor { min-height: 350px; padding: 25px; border: 1px solid var(--line); border-top: 0; background: #fff; color: #17191e; outline: none; }
.email-editor h1, .email-editor h2, .email-editor h3 { color: #17191e !important; }
.secret-output { display: block; overflow: auto; margin-top: 8px; padding: 9px; background: #07130e; color: #72d7a5; }
.bar-chart { height: 250px; display: flex; align-items: flex-end; gap: 6px; border-bottom: 1px solid var(--line); }
.bar-column { height: 100%; min-width: 10px; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; }
.bar-column span { width: 100%; max-width: 26px; background: var(--accent); }
.bar-column small { height: 38px; margin-top: 3px; color: #6f7682; font-size: .52rem; writing-mode: vertical-rl; }
.status { display: inline-block; padding: 3px 6px; border-radius: 3px; background: #222630; }
.status-completed { color: #72d7a5; }
.status-sending { color: #efbb5a; }
.status-failed { color: #ff7f8a; }

@media (min-width: 1500px) {
  .content-grid { grid-template-columns: repeat(5, minmax(0,1fr)) !important; }
  .content-grid.compact { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
}

@media (max-width: 1120px) {
  .site-header { grid-template-columns: auto 1fr auto; }
  .header-search { display: none; }
  .content-grid, .content-grid.compact { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .story-grid, .pack-preview-grid { grid-template-columns: repeat(2,1fr); }
  .owned-card-grid { grid-template-columns: repeat(4,1fr); }
  .metric-grid { grid-template-columns: repeat(3,1fr); }
  .admin-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
  body { font-size: 15px; }
  .site-header { position: sticky; min-height: 60px; grid-template-columns: auto auto 1fr; gap: 10px; padding: 10px 13px; }
  .menu-toggle { display: block; }
  .site-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 13px 13px; border-bottom: 1px solid var(--line); background: #090a0e; }
  .site-nav a { padding: 11px 4px; border-bottom: 1px solid #1c2028; }
  .site-header.menu-open .site-nav { display: flex; }
  .account-nav { justify-self: end; gap: 10px; }
  .account-nav .button { display: none; }

  body > header:not(.site-header):not(.admin-topbar),
  .site-wrapper > header:not(.site-header) {
    grid-template-columns: auto auto !important;
    gap: 10px !important;
    padding: 10px 13px !important;
  }
  body > header:not(.site-header):not(.admin-topbar) .search-form,
  .site-wrapper > header:not(.site-header) .search-form { grid-column: 1 / -1; grid-row: 2; }
  #guest-nav, #user-nav { justify-self: end; }
  #user-greeting { display: none; }

  .hero-v2 { min-height: auto; grid-template-columns: 1fr; gap: 46px; padding: 60px 18px 70px 28px; }
  .hero-copy h1 { font-size: clamp(2.8rem, 15vw, 5rem) !important; }
  .hero-art { width: min(92%,430px); box-shadow: 12px 12px 0 #151820; }
  .hero-actions .button { flex: 1 1 180px; }
  .trust-row { gap: 8px 14px; }

  .section-shell, .homepage-sections, .content-container, .gallery-main { padding: 34px 12px !important; }
  .section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 20px; }
  .content-grid, .content-grid.compact { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 8px !important; }
  .content-grid .card h4 { padding: 10px !important; font-size: .78rem !important; }
  .card-copy { padding: 10px; }
  .card-copy h3 { font-size: .86rem !important; }
  .premium-chip { top: 6px; right: 6px; }

  .story-grid, .pack-preview-grid, .newsletter-band { grid-template-columns: 1fr; }
  .newsletter-band { width: calc(100% - 18px); margin-bottom: 45px !important; padding: 22px !important; }
  .newsletter-fields, .form-grid { grid-template-columns: 1fr; }
  .span-2 { grid-column: auto; }
  .site-footer, body > footer { grid-template-columns: 1fr; text-align: center; }
  .site-footer nav { flex-wrap: wrap; }

  .artwork-page { grid-template-columns: 1fr; }
  .artwork-stage { min-height: 52vh; border-right: 0; border-bottom: 1px solid var(--line); }
  .artwork-stage > img { max-height: 74vh; }
  .artwork-info { padding: 28px 15px; }
  .artwork-info h1 { font-size: clamp(2.2rem, 13vw, 4rem) !important; }
  .artwork-actions .button { flex: 1; }

  .collection-page { padding: 30px 12px; }
  .collection-hero { align-items: flex-start; flex-direction: column; }
  .reward-stats { width: 100%; }
  .reward-stats div { min-width: 0; flex: 1; padding: 12px 5px; }
  .pack-grid-v2 { grid-template-columns: 1fr; }
  .pack-card-v2 { grid-template-columns: 110px 1fr; }
  .pack-body { padding: 4px 10px; }
  .pack-body h2 { font-size: 1.35rem !important; }
  .owned-card-grid { grid-template-columns: repeat(2,1fr); gap: 8px; }

  .campaign-card { grid-template-columns: 1fr; }
  .campaign-card > img { min-height: 0; height: 210px; }

  .admin-topbar { align-items: flex-start; flex-direction: column; gap: 10px; }
  .admin-nav { max-width: 100%; flex-wrap: nowrap; overflow: auto; }
  .admin-shell { padding: 22px 12px; }
  .metric-grid, .metric-grid.compact, .admin-grid, .two-col, .two-col.wide-left, .reward-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .content-grid, .content-grid.compact { gap: 6px !important; }
  .card-media, .content-grid > .card > a, .content-grid > .card > .blurred-image-container { aspect-ratio: 3 / 4; }
  .hero-actions .button { width: 100%; }
  .pack-card-v2 { grid-template-columns: 1fr; }
  .pack-cover { max-height: 220px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

/* Black / pink neon finish */
:root {
  --bg: #050407;
  --bg-raised: #0b080d;
  --panel: #110d13;
  --panel-2: #19111a;
  --line: #372433;
  --line-hot: #9b215e;
  --text: #fff7fb;
  --muted: #ac98a5;
  --accent: #ff2d8d;
  --accent-hot: #ff65ad;
  --accent-dark: #a90d58;
  --radius: 16px;
  --shadow: 0 18px 55px rgba(0,0,0,.55);
  --pink-glow: 0 0 0 1px rgba(255,45,141,.12), 0 15px 42px rgba(153,0,72,.17);
  --pink-glow-hot: 0 0 0 1px rgba(255,83,166,.52), 0 18px 55px rgba(255,0,119,.27), 0 0 26px rgba(255,45,141,.14);
}

body {
  background:
    radial-gradient(circle at 14% 5%, rgba(255, 20, 126, .095), transparent 26%),
    radial-gradient(circle at 88% 42%, rgba(180, 0, 86, .065), transparent 28%),
    #050407 !important;
  background-attachment: fixed !important;
}

body::before {
  opacity: .75;
  background:
    linear-gradient(90deg, rgba(255,75,161,.023) 1px, transparent 1px),
    linear-gradient(rgba(255,75,161,.017) 1px, transparent 1px);
  background-size: 48px 48px;
}

body::after {
  content: "";
  position: fixed;
  z-index: -1;
  top: -220px;
  left: 50%;
  width: min(90vw, 1100px);
  height: 430px;
  pointer-events: none;
  border-radius: 50%;
  background: rgba(255, 25, 132, .075);
  filter: blur(110px);
  transform: translateX(-50%);
}

::selection { background: #ff2d8d; color: #fff; }

.brand,
body > header:not(.site-header):not(.admin-topbar) h1 a,
.site-wrapper > header:not(.site-header) h1 a {
  text-shadow: 0 0 18px rgba(255, 45, 141, .34) !important;
}

.brand span { text-shadow: 0 0 14px rgba(255, 45, 141, .72); }

.site-header,
body > header:not(.site-header):not(.admin-topbar),
.site-wrapper > header:not(.site-header) {
  border-bottom-color: rgba(255,45,141,.24) !important;
  background: rgba(6,4,8,.93) !important;
  box-shadow: 0 8px 35px rgba(0,0,0,.42), 0 1px 0 rgba(255,45,141,.08) !important;
}

.site-nav a,
.account-nav > a:not(.button),
#guest-nav a,
#user-nav a { position: relative; }

.site-nav a::after,
.account-nav > a:not(.button)::after,
#guest-nav a::after,
#user-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  height: 2px;
  border-radius: 2px;
  background: var(--accent);
  box-shadow: 0 0 9px var(--accent);
  opacity: 0;
  transform: scaleX(.25);
  transition: opacity .2s, transform .2s;
}

.site-nav a:hover::after,
.site-nav a.active::after,
.account-nav > a:not(.button):hover::after,
#guest-nav a:hover::after,
#user-nav a:hover::after { opacity: 1; transform: scaleX(1); }

input, textarea, select {
  border-color: #3b2938 !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #0e0a10, #09070b) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), inset 0 0 18px rgba(0,0,0,.26);
}

input:focus, textarea:focus, select:focus {
  border-color: rgba(255,45,141,.8) !important;
  box-shadow: 0 0 0 3px rgba(255,45,141,.12), 0 0 22px rgba(255,45,141,.1) !important;
}

.button,
button[type="submit"],
.search-form button,
.search-bar button {
  overflow: hidden;
  position: relative;
  border-color: #ff4c9e !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #ff348f, #bd0f61) !important;
  box-shadow: 0 7px 22px rgba(208, 9, 97, .25), inset 0 1px 0 rgba(255,255,255,.22) !important;
}

.button::before,
button[type="submit"]::before,
.search-form button::before,
.search-bar button::before {
  content: "";
  position: absolute;
  top: -80%;
  bottom: -80%;
  left: -55%;
  width: 35%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform: rotate(20deg);
  transition: left .45s ease;
}

.button:hover::before,
button[type="submit"]:hover::before,
.search-form button:hover::before,
.search-bar button:hover::before { left: 125%; }

.button:hover,
button[type="submit"]:hover,
.search-form button:hover,
.search-bar button:hover {
  border-color: #ff74b7 !important;
  background: linear-gradient(135deg, #ff58a8, #d51a75) !important;
  box-shadow: 0 11px 30px rgba(255,20,126,.34), 0 0 18px rgba(255,45,141,.16), inset 0 1px 0 rgba(255,255,255,.25) !important;
}

.button.ghost {
  border-color: rgba(255,72,157,.4) !important;
  background: rgba(255,35,135,.035) !important;
  box-shadow: inset 0 0 18px rgba(255,35,135,.035) !important;
}

.button.ghost:hover {
  border-color: var(--accent) !important;
  background: rgba(255,35,135,.1) !important;
  box-shadow: 0 0 24px rgba(255,35,135,.12), inset 0 0 18px rgba(255,35,135,.07) !important;
}

.hero-v2 {
  background:
    linear-gradient(90deg, rgba(5,4,7,.98), rgba(5,4,7,.88)),
    radial-gradient(circle at 78% 50%, rgba(255,31,132,.13), transparent 35%) !important;
}

.hero-v2::before {
  width: 3px;
  border-radius: 4px;
  background: linear-gradient(transparent 2%, var(--accent) 25%, #ff82bc 55%, var(--accent) 80%, transparent 98%);
  box-shadow: 0 0 20px rgba(255,45,141,.65);
}

.hero-copy h1 em {
  background: linear-gradient(90deg, #ff2d8d, #ff83bd);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  filter: drop-shadow(0 0 18px rgba(255,45,141,.18));
}

.hero-art {
  overflow: hidden;
  border: 1px solid rgba(255,78,161,.5);
  border-radius: 22px !important;
  box-shadow: 18px 18px 0 rgba(39,14,30,.85), 0 28px 80px rgba(0,0,0,.58), 0 0 38px rgba(255,24,129,.15);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.hero-art::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: inherit;
  box-shadow: inset 0 0 35px rgba(255,29,133,.08);
}

.hero-art:hover {
  border-color: rgba(255,112,184,.88);
  box-shadow: 13px 13px 0 rgba(55,15,38,.9), 0 34px 95px rgba(0,0,0,.65), 0 0 48px rgba(255,24,129,.25);
  transform: translateY(-6px) !important;
}

.hero-art img { transition: transform .6s ease, filter .4s ease; }
.hero-art:hover img { transform: scale(1.035); filter: saturate(1.08) contrast(1.03); }

.marquee {
  border-block: 1px solid rgba(255,106,176,.35);
  background: linear-gradient(90deg, #7d053f, #db176f 48%, #7d053f) !important;
  box-shadow: 0 0 28px rgba(255,17,121,.2);
}

.section-heading,
.content-section > h2,
.gallery-main > h2,
.content-container > h2 { position: relative; }

.section-heading::after,
.content-section > h2::after,
.gallery-main > h2::after,
.content-container > h2::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: min(180px, 34%);
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--accent), transparent);
  box-shadow: 0 0 12px rgba(255,45,141,.45);
}

.content-card,
.content-grid > .card {
  position: relative;
  isolation: isolate;
  overflow: hidden !important;
  border-color: rgba(255,64,151,.26) !important;
  border-radius: 17px !important;
  background: linear-gradient(155deg, #171019, #0d0a0f) !important;
  box-shadow: var(--pink-glow) !important;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease !important;
}

.content-card::before,
.content-grid > .card::before {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: inherit;
  pointer-events: none;
}

.content-card::after,
.content-grid > .card::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: -40%;
  left: -90%;
  width: 45%;
  height: 180%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.09), transparent);
  transform: rotate(18deg);
  transition: left .7s ease;
}

.content-card:hover,
.content-grid > .card:hover {
  border-color: rgba(255,85,166,.72) !important;
  box-shadow: var(--pink-glow-hot) !important;
  transform: translateY(-7px) scale(1.008) !important;
}

.content-card:hover::after,
.content-grid > .card:hover::after { left: 145%; }

.card-media,
.content-grid > .card > a,
.content-grid > .card > .blurred-image-container {
  border-radius: 16px 16px 0 0 !important;
}

.card-media img,
.content-grid .card img {
  border-radius: 16px 16px 0 0 !important;
  filter: saturate(1.02) contrast(1.015);
}

.content-card:hover img,
.content-grid > .card:hover img {
  transform: scale(1.045);
  filter: saturate(1.1) contrast(1.04);
}

.card-copy,
.content-grid .card h4 {
  position: relative;
  background: linear-gradient(180deg, rgba(24,15,25,.94), rgba(12,9,13,.98));
}

.premium-chip {
  border: 1px solid rgba(255,93,171,.42);
  border-radius: 9px;
  background: rgba(17,8,15,.88);
  box-shadow: 0 0 20px rgba(255,45,141,.15);
  backdrop-filter: blur(10px);
}

.blurred-image-container .overlay-text {
  border-radius: 0 0 16px 16px !important;
  background: linear-gradient(transparent, rgba(24,3,15,.96)) !important;
  text-shadow: 0 0 12px rgba(255,45,141,.65);
}

.content-section a[style*="background-color"] {
  border-color: rgba(255,55,148,.25) !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #181019, #0c090e) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.content-section a[style*="background-color"]:hover {
  border-color: rgba(255,73,158,.85) !important;
  background: rgba(255,45,141,.1) !important;
  box-shadow: 0 0 18px rgba(255,45,141,.12);
}

.pagination a,
.pagination span,
.pagination strong {
  border-color: rgba(255,45,141,.22) !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #171019, #0d0a0f) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.pagination a:hover,
.pagination a.active,
.pagination .active,
.pagination strong {
  border-color: #ff55a3 !important;
  background: linear-gradient(135deg, #d51570, #8f0a4a) !important;
  box-shadow: 0 0 20px rgba(255,45,141,.18) !important;
}

.story-tile,
.story-card,
.pack-preview,
.pack-card-v2,
.owned-card,
.panel,
.metric-card,
.admin-action {
  border-color: rgba(255,50,144,.22) !important;
  border-radius: 15px !important;
  background: linear-gradient(145deg, #171019, #0c0a0e) !important;
  box-shadow: var(--pink-glow) !important;
}

.story-tile,
.story-card { border-left: 3px solid rgba(255,45,141,.48) !important; }

.story-tile:hover,
.story-card:hover,
.pack-preview:hover,
.pack-card-v2:hover,
.owned-card:hover,
.admin-action:hover {
  border-color: rgba(255,85,166,.72) !important;
  box-shadow: var(--pink-glow-hot) !important;
}

.pack-preview img,
.pack-placeholder,
.pack-cover,
.owned-card img { border-radius: 12px !important; }

.collection-feature {
  border-color: rgba(255,45,141,.2);
  background:
    radial-gradient(circle at 80% 10%, rgba(255,45,141,.08), transparent 28%),
    linear-gradient(135deg, #100a11, #080709) !important;
  box-shadow: inset 0 1px 0 rgba(255,90,170,.05), inset 0 -1px 0 rgba(255,90,170,.04);
}

.collection-progress,
.progress {
  height: 7px;
  border-radius: 99px;
  background: #2b1624;
  box-shadow: inset 0 2px 4px rgba(0,0,0,.45);
}

.collection-progress span,
.progress span {
  border-radius: 99px;
  background: linear-gradient(90deg, #ae0b58, #ff3e96, #ff82ba);
  box-shadow: 0 0 14px rgba(255,45,141,.38);
}

.artwork-stage {
  border-color: rgba(255,45,141,.19);
  background:
    radial-gradient(circle at 50% 45%, rgba(255,45,141,.07), transparent 45%),
    #030204;
}

.artwork-stage > img {
  filter: drop-shadow(0 22px 38px rgba(0,0,0,.6));
}

.artwork-lock {
  border-color: rgba(255,62,153,.5);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(25,12,22,.97), rgba(8,6,9,.97));
  box-shadow: var(--pink-glow-hot);
  backdrop-filter: blur(18px);
}

.newsletter-band {
  overflow: hidden;
  position: relative;
  border-color: rgba(255,45,141,.34);
  border-left-width: 1px;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 4% 15%, rgba(255,45,141,.13), transparent 30%),
    linear-gradient(135deg, #170d16, #09070a 64%) !important;
  box-shadow: var(--pink-glow-hot);
}

.newsletter-band::before {
  content: "";
  position: absolute;
  top: 0;
  right: 8%;
  left: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #ff50a2, transparent);
  box-shadow: 0 0 16px rgba(255,45,141,.55);
}

.newsletter-form,
.auth-card,
.age-card,
.modal-content,
.campaign-card,
.card-reveal {
  border-color: rgba(255,49,145,.38) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #171019, #0a080c) !important;
  box-shadow: var(--pink-glow-hot) !important;
}

.auth-card,
.age-card,
.modal-content { border-top: 1px solid rgba(255,78,161,.66) !important; }

.age-card .spark,
.artwork-lock span {
  text-shadow: 0 0 20px rgba(255,45,141,.72);
}

.reward-stats {
  border-color: rgba(255,45,141,.28);
  border-radius: 14px;
  background: linear-gradient(145deg, #171019, #0b090c);
  box-shadow: var(--pink-glow);
}

.reward-stats div { border-color: rgba(255,45,141,.16); }
.reward-stats strong { color: #ff74b6; text-shadow: 0 0 16px rgba(255,45,141,.3); }

.site-footer,
body > footer {
  border-top-color: rgba(255,45,141,.2);
  background: linear-gradient(180deg, #080609, #030204) !important;
  box-shadow: 0 -14px 38px rgba(0,0,0,.25);
}

.admin-topbar {
  border-bottom-color: rgba(255,45,141,.24);
  background: rgba(6,4,8,.96);
  box-shadow: 0 8px 30px rgba(0,0,0,.38);
}

@media (max-width: 760px) {
  .hero-art {
    border-radius: 18px !important;
    box-shadow: 10px 10px 0 rgba(39,14,30,.85), 0 24px 65px rgba(0,0,0,.58), 0 0 30px rgba(255,24,129,.14);
  }

  .content-card,
  .content-grid > .card { border-radius: 13px !important; }

  .card-media,
  .content-grid > .card > a,
  .content-grid > .card > .blurred-image-container,
  .card-media img,
  .content-grid .card img { border-radius: 12px 12px 0 0 !important; }

  .content-card:hover,
  .content-grid > .card:hover { transform: translateY(-3px) !important; }

  .newsletter-band { border-radius: 15px !important; }
}
