@font-face { font-family: "Lexend"; src: url("../assets/fonts/lexend-var.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Orbitron"; src: url("../assets/fonts/orbitron-var.woff2") format("woff2"); font-weight: 400 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../assets/fonts/montserrat-var.woff2") format("woff2"); font-weight: 400 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../assets/fonts/poppins-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../assets/fonts/poppins-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../assets/fonts/poppins-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../assets/fonts/poppins-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Yellowtail"; src: url("../assets/fonts/yellowtail-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Dancing Script"; src: url("../assets/fonts/dancing-script-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Dancing Script"; src: url("../assets/fonts/dancing-script-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

:root {
  /* UIP Brand Kit 2026 — Electric Purple on White */
  --royal: #5B2EFF;
  --electric: #7A3CFF;
  --deep-plum: #2B1148;
  --lavender: #C8A2FF;
  --soft-lilac: #E9DDFF;
  --pink-hot: #FF2ED1;
  --pink: #FF2ED1;
  --black: #0B0B12;
  --white: #ffffff;
  --panel: #2B1148;
  --panel-2: #1E0B33;
  --panel-3: #160827;
  --purple: #5B2EFF;
  --purple-2: #7A3CFF;
  --purple-3: #C8A2FF;
  --lilac: #C8A2FF;
  --silver: #E9DDFF;
  --muted: #5E4D78;
  --ink: #0B0B12;
  --ink-soft: #3D2E55;
  --line: rgba(91, 46, 255, .3);
  --line-strong: rgba(136, 51, 255, .7);
  --success: #16a34a;
  --warning: #d97706;
  --danger: #dc2626;
  --shadow: 0 8px 32px rgba(91, 46, 255, .18);
  --glow: 0 0 18px rgba(91, 46, 255, .55), 0 0 50px rgba(91, 46, 255, .18);
  --radius: 18px;
  --radius-sm: 11px;
  --max: 1380px;
  --font-display: "Orbitron", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  --font-subhead: "Lexend", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Lexend", "Poppins", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-script: "Yellowtail", "Brush Script MT", cursive;
  color-scheme: light;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; overflow-x: hidden; font-size: 94%; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: #ffffff;
  font-family: var(--font-body);
  line-height: 1.6;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: .12;
  background-image:
    linear-gradient(rgba(91, 46, 255, .4) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91, 46, 255, .4) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: linear-gradient(to bottom, #000 0%, transparent 80%);
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
::selection { color: var(--black); background: var(--purple-3); }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  transform: translateY(-150%);
  padding: 12px 18px;
  color: #000;
  background: var(--white);
  border-radius: 999px;
  font-weight: 900;
}
.skip-link:focus { transform: none; }

.announcement {
  min-height: 42px;
  padding: 8px clamp(18px, 4vw, 58px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  border-bottom: 1px solid var(--line);
  color: #dfc8ed;
  background: rgba(6, 2, 10, .92);
  font-size: .82rem;
  letter-spacing: .04em;
}
.announcement span {
  color: var(--purple-3);
  font-family: Georgia, serif;
  font-size: 1rem;
  font-style: italic;
  white-space: nowrap;
}
.announcement p { margin: 0; }
.announcement a { color: var(--white); font-weight: 800; }
.announcement a:hover { color: var(--purple-3); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 82px;
  padding: 10px clamp(18px, 4vw, 58px);
  display: grid;
  grid-template-columns: minmax(175px, 260px) 1fr auto;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid var(--line);
  background: rgba(3, 1, 6, .88);
  backdrop-filter: blur(18px);
}
.site-brand { display: block; width: min(245px, 100%); }
.site-brand img { width: 100%; height: 56px; object-fit: contain; object-position: left center; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 2vw, 34px); }
.main-nav a {
  position: relative;
  padding: 12px 0;
  color: #d6c5e2;
  font-size: .9rem;
  font-weight: 750;
}
.main-nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: 3px;
  height: 2px;
  background: var(--purple-3);
  box-shadow: 0 0 10px var(--purple);
  transition: .2s ease;
}
.main-nav a:hover, .main-nav a.active { color: var(--white); }
.main-nav a:hover::after, .main-nav a.active::after { left: 0; right: 0; }
.header-actions { display: flex; align-items: center; gap: 10px; }
/* Auth success panel */
.auth-success-panel { padding: 24px; background: rgba(106, 0, 255,.1); border: 1px solid #6A00FF; border-radius: 12px; }
.auth-success-panel p { margin: 0 0 12px; }
/* Owner small action button */
.owner-btn-sm { padding: 6px 12px; border: 1px solid #6A00FF; border-radius: 6px; background: rgba(106, 0, 255,.1); color: #FF2ED1; font-size: .78rem; font-weight: 700; cursor: pointer; white-space: nowrap; }
.owner-btn-sm:hover { background: rgba(106, 0, 255,.2); }
/* Reset link inputs in owner panel */
.owner-reset-link { padding: 12px; border: 1px solid var(--line); border-radius: 8px; margin-bottom: 10px; display: flex; flex-direction: column; gap: 6px; }
.reset-link-input { width: 100%; padding: 8px; background: #000000; border: 1px solid var(--line); border-radius: 6px; color: var(--text); font-size: .8rem; font-family: monospace; }
.owner-btn {
  min-height: 42px;
  padding: 9px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #6A00FF;
  border-radius: 999px;
  color: #FF2ED1;
  font-size: .84rem;
  font-weight: 800;
  white-space: nowrap;
  background: rgba(106, 0, 255,.08);
}
.owner-btn:hover { border-color: #FF2ED1; box-shadow: 0 0 12px rgba(255, 46, 209,.4); }
.account-link, .cart-link {
  min-height: 42px;
  padding: 9px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #eadcf3;
  font-size: .84rem;
  font-weight: 800;
  white-space: nowrap;
}
.account-link:hover, .cart-link:hover { border-color: var(--line-strong); box-shadow: var(--glow); }
.cart-link span {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  display: grid;
  place-items: center;
  color: var(--black);
  background: var(--purple-3);
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 950;
}
.menu-toggle { display: none; }

main { min-height: 70vh; }
.page-shell, .home-section, .hero-inner {
  width: min(var(--max), calc(100% - clamp(32px, 7vw, 100px)));
  margin-inline: auto;
}

.button {
  min-height: 48px;
  padding: 12px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 900;
  letter-spacing: .01em;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.button:hover { transform: translateY(-2px); }
.button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.button-primary {
  color: var(--white);
  background: linear-gradient(135deg, #6A00FF, #A21CFF 45%, #FF2ED1);
  border-color: rgba(255,255,255,.2);
  box-shadow: 0 12px 34px rgba(106, 0, 255, .28), inset 0 1px rgba(255,255,255,.23);
}
.button-primary:hover { box-shadow: 0 0 24px rgba(162, 28, 255, .55), 0 18px 45px rgba(85, 0, 204, .35); }
.button-ghost { color: #eadcf3; background: rgba(255,255,255,.025); border-color: var(--line-strong); }
.button-ghost:hover { background: rgba(162, 28, 255,.1); box-shadow: var(--glow); }
.button-danger { color: #fff; background: rgba(255, 77, 119, .12); border-color: rgba(255, 100, 130, .45); }
.text-link { color: var(--purple-3); font-weight: 850; }
.text-link:hover { color: var(--white); }

.eyebrow {
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #C89BFF;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 36px; height: 1px; background: var(--purple-3); box-shadow: 0 0 10px var(--purple); }
.display-title {
  margin: 0;
  max-width: 980px;
  font-size: clamp(3.1rem, 7vw, 7.7rem);
  line-height: .91;
  letter-spacing: -.065em;
}
.display-title em { color: #5B2EFF; font-family: var(--font-script); font-weight: 400; }
.section-title {
  margin: 0;
  font-size: clamp(2.2rem, 4.6vw, 4.8rem);
  line-height: .98;
  letter-spacing: -.05em;
}
.section-copy { max-width: 680px; color: var(--muted); font-size: 1.05rem; }
.section-heading { margin-bottom: 34px; display: flex; align-items: end; justify-content: space-between; gap: 32px; }
.section-heading > p { max-width: 530px; margin: 0; color: var(--muted); }

.hero-home {
  position: relative;
  isolation: isolate;
  min-height: 720px;
  padding: clamp(32px, 5vw, 64px) 0 48px;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.hero-home::before {
  content: "α = 0.05";
  position: absolute;
  left: -30px;
  bottom: -80px;
  z-index: -1;
  color: rgba(162, 28, 255, .08);
  font-family: Georgia, serif;
  font-size: clamp(9rem, 25vw, 27rem);
  font-style: italic;
  line-height: 1;
  white-space: nowrap;
}
.hero-inner { display: grid; grid-template-columns: minmax(0, .95fr) minmax(460px, 1.05fr); align-items: center; gap: clamp(32px, 6vw, 92px); }
.hero-copy { position: relative; z-index: 2; }
.hero-copy .lead { max-width: 680px; margin: 28px 0 0; color: #cbb7d8; font-size: clamp(1.04rem, 1.6vw, 1.28rem); }
.hero-actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero-metrics { margin: 42px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; list-style: none; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; background: var(--line); }
.hero-metrics li { padding: 18px; background: rgba(6,2,10,.82); }
.hero-metrics strong { display: block; color: var(--purple-3); font-size: 1.45rem; line-height: 1; }
.hero-metrics span { display: block; margin-top: 7px; color: var(--muted); font-size: .78rem; }
.hero-visual { position: relative; min-height: 520px; display: grid; place-items: center; }
.hero-visual::before, .hero-visual::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(162, 28, 255,.35);
  border-radius: 50%;
  filter: drop-shadow(0 0 18px rgba(162, 28, 255,.25));
}
.hero-visual::before { width: 84%; aspect-ratio: 1; }
.hero-visual::after { width: 64%; aspect-ratio: 1; border-style: dashed; animation: spin 28s linear infinite; }
@keyframes spin { to { transform: rotate(1turn); } }
.hero-logo {
  position: relative;
  z-index: 2;
  width: min(100%, 820px);
  filter: drop-shadow(0 30px 55px rgba(0,0,0,.5));
}
.stat-chip {
  position: absolute;
  z-index: 3;
  padding: 10px 17px;
  border: 1px solid rgba(162, 28, 255,.46);
  border-radius: 999px;
  color: #C89BFF;
  background: rgba(7,2,12,.82);
  box-shadow: var(--glow);
  font-family: Georgia, serif;
  font-size: 1.15rem;
  font-style: italic;
  backdrop-filter: blur(10px);
}
.stat-chip.one { top: 12%; right: 2%; }
.stat-chip.two { bottom: 10%; left: 2%; }
.stat-chip.three { top: 50%; right: -1%; }

.trust-strip {
  padding: 18px clamp(20px, 5vw, 70px);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--line);
  background: rgba(8,3,13,.86);
}
.trust-item { padding: 10px clamp(10px, 2vw, 30px); display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: center; border-right: 1px solid var(--line); }
.trust-item:last-child { border-right: 0; }
.trust-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--purple-3); font-family: Georgia, serif; font-size: 1.25rem; }
.trust-item strong { display: block; font-size: .86rem; }
.trust-item span { color: var(--muted); font-size: .75rem; }

.home-section { padding: clamp(32px, 4vw, 56px) 0; }
.home-section + .home-section { border-top: 1px solid rgba(162, 28, 255,.13); }
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.product-card {
  min-width: 0;
  overflow: hidden;
  border: 2px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(160deg, rgba(19,7,29,.98), rgba(6,2,10,.98));
  box-shadow: var(--shadow);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
  zoom: 0.9;
}
.product-card:hover { transform: translateY(-5px); border-color: rgba(162, 28, 255,.7); box-shadow: 0 20px 60px rgba(0,0,0,.5), 0 0 30px rgba(162, 28, 255,.18); }
/* Portrait-friendly cover: contain keeps the full image visible on any orientation */
.product-cover { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: #1a0b2e; }
.product-cover img { width: 100%; height: 100%; object-fit: contain; transition: transform .2s ease; }
.product-card:hover .product-cover img { transform: scale(1.02); }
.product-status {
  position: absolute;
  left: 12px;
  top: 12px;
  padding: 5px 9px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(3,1,6,.76);
  color: #E6D9FF;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .04em;
  backdrop-filter: blur(8px);
}
.product-card-body { padding: 14px; }
.product-kicker { margin: 0 0 7px; color: #C89BFF; font-size: .68rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.product-title-line { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: start; }
.product-title-line h3 { margin: 0; font-size: 1.08rem; line-height: 1.2; }
.product-title-line h3 a:hover { color: var(--purple-3); }
.product-title-line strong { color: var(--purple-3); font-size: .95rem; }
.product-card-body > p:not(.product-kicker) { min-height: 2.8em; margin: 9px 0 14px; color: var(--muted); font-size: .84rem; }
.product-card-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.product-card-actions .button { width: 100%; }
.card-cart { width: 42px; height: 42px; border: 1px solid var(--line-strong); border-radius: 50%; background: transparent; color: var(--purple-3); cursor: pointer; font-size: 1.3rem; }
.card-cart:hover { background: rgba(162, 28, 255,.13); box-shadow: var(--glow); }

.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.category-card {
  position: relative;
  min-height: 270px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(145deg, rgba(39,7,57,.9), rgba(7,2,12,.96));
}
.category-card::before { content: attr(data-symbol); position: absolute; top: -25px; right: 5px; color: rgba(200, 155, 255,.16); font-family: Georgia, serif; font-size: 9rem; font-style: italic; line-height: 1; }
.category-card:hover { border-color: var(--line-strong); box-shadow: var(--glow); }
.category-card span { color: #C89BFF; font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.category-card h3 { margin: 10px 0 8px; font-size: 1.55rem; }
.category-card p { margin: 0; color: var(--muted); }
.category-card b { margin-top: 22px; color: var(--purple-3); }

.membership-band {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(162, 28, 255,.5);
  border-radius: 36px;
  background:
    linear-gradient(120deg, rgba(74, 0, 158,.34), rgba(8,3,13,.92) 48%),
    radial-gradient(circle at 86% 10%, rgba(255, 46, 209,.2), transparent 23rem);
  box-shadow: var(--shadow), var(--glow);
}
.membership-band::after { content: "α = 0.05"; position: absolute; right: -35px; bottom: -65px; color: rgba(200, 155, 255,.11); font-family: Georgia, serif; font-size: clamp(6rem, 15vw, 13rem); font-style: italic; }
.membership-inner { position: relative; z-index: 1; padding: clamp(36px, 6vw, 76px); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 60px; align-items: center; }
.membership-points { display: grid; gap: 12px; }
.membership-point { padding: 18px; display: grid; grid-template-columns: 38px 1fr; gap: 12px; border: 1px solid var(--line); border-radius: 16px; background: rgba(4,1,7,.55); }
.membership-point b { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--black); background: var(--purple-3); }
.membership-point strong { display: block; }
.membership-point span { color: var(--muted); font-size: .85rem; }

.page-hero {
  position: relative;
  padding: clamp(78px, 10vw, 140px) 0 clamp(58px, 8vw, 110px);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}
.page-hero::after { content: attr(data-symbol); position: absolute; right: -2vw; top: -2rem; color: rgba(162, 28, 255,.08); font-family: Georgia, serif; font-size: clamp(12rem, 35vw, 35rem); font-style: italic; line-height: 1; pointer-events: none; }
.page-hero .page-shell { position: relative; z-index: 1; }
.page-hero p { max-width: 730px; margin: 26px 0 0; color: var(--muted); font-size: 1.12rem; }
.page-hero-actions { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 12px; }

.shop-layout { padding: 60px 0 110px; }
.shop-toolbar { margin-bottom: 30px; padding: 20px; display: grid; grid-template-columns: 1fr minmax(260px, 370px); gap: 18px; border: 1px solid var(--line); border-radius: 20px; background: rgba(11,4,17,.8); }
.category-links { display: flex; flex-wrap: wrap; gap: 9px; }
.category-links a { padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; color: #d7c5e3; font-size: .82rem; font-weight: 800; }
.category-links a:hover, .category-links a.active { color: var(--white); border-color: var(--line-strong); background: rgba(162, 28, 255,.13); box-shadow: 0 0 17px rgba(162, 28, 255,.18); }
.search-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.search-form input { min-width: 0; }
.result-line { margin: 0 0 20px; display: flex; justify-content: space-between; gap: 20px; color: var(--muted); }
.result-line strong { color: var(--white); }

.field { display: grid; gap: 8px; }
.field label, .field > span { color: #eadcf3; font-size: .82rem; font-weight: 850; }
input, select, textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 15px;
  border: 2px solid rgba(162, 28, 255,.35);
  border-radius: 13px;
  outline: 0;
  color: var(--white);
  background: rgba(5,2,9,.84);
  transition: border-color .18s ease, box-shadow .18s ease;
}
textarea { min-height: 150px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--purple-3); box-shadow: 0 0 0 4px rgba(162, 28, 255,.13), 0 0 22px rgba(162, 28, 255,.13); }
input::placeholder, textarea::placeholder { color: #796c85; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.form-grid .full { grid-column: 1 / -1; }
.form-message { min-height: 24px; margin: 12px 0 0; color: var(--muted); font-size: .9rem; }
.form-message.error { color: var(--danger); }
.form-message.success { color: var(--success); }

.auth-page { padding: clamp(70px, 9vw, 120px) 0; }
.auth-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, .65fr); gap: clamp(40px, 8vw, 110px); align-items: center; }
.auth-copy .display-title { font-size: clamp(3.2rem, 7vw, 6.8rem); }
.auth-copy p { max-width: 620px; color: var(--muted); font-size: 1.05rem; }
.auth-symbols { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 12px; }
.auth-symbols span { padding: 10px 15px; border: 1px solid var(--line); border-radius: 999px; color: #C89BFF; font-family: Georgia, serif; font-style: italic; }
.auth-card { padding: clamp(28px, 5vw, 48px); border: 1px solid var(--line-strong); border-radius: 28px; background: linear-gradient(160deg, rgba(26,8,40,.98), rgba(5,2,9,.98)); box-shadow: var(--shadow), var(--glow); }
.auth-card h1, .auth-card h2 { margin: 0 0 8px; font-size: 2rem; }
.auth-card > p { margin: 0 0 28px; color: var(--muted); }
.auth-card form { display: grid; gap: 17px; }
.auth-card .button { width: 100%; margin-top: 4px; }
.auth-switch { margin: 22px 0 0; color: var(--muted); text-align: center; }
/* ── Forgot-password method tabs ───────────────────────────────────────────── */
.forgot-method-tabs { display: flex; gap: 8px; margin-bottom: 22px; border-bottom: 1px solid var(--line); padding-bottom: 14px; }
.forgot-tab { flex: 1; background: transparent; border: 1px solid var(--line); border-radius: 10px; padding: 9px 12px; color: var(--muted); font-size: .82rem; font-weight: 600; cursor: pointer; transition: background .15s, color .15s, border-color .15s; font-family: inherit; }
.forgot-tab:hover { color: var(--foreground); border-color: var(--line-strong); }
.forgot-tab--active { background: rgba(91,46,255,.18); border-color: #5B2EFF; color: var(--foreground); }
.demo-note { margin-top: 20px; padding: 14px; border: 1px solid rgba(255,209,102,.25); border-radius: 14px; color: #ffe5a4; background: rgba(255,209,102,.06); font-size: .82rem; }

.product-page { padding: clamp(60px, 8vw, 110px) 0; }
.product-detail { display: grid; grid-template-columns: minmax(360px, .85fr) minmax(0, 1.15fr); gap: clamp(40px, 7vw, 90px); align-items: start; }
.product-detail-cover { position: sticky; top: 118px; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 30px; box-shadow: var(--shadow), var(--glow); background: #1a0b2e; }
.product-detail-cover img { width: 100%; aspect-ratio: 3 / 4; object-fit: contain; }
.product-detail-info { padding-top: 14px; }
.product-detail-info h1 { margin: 0; font-size: clamp(3rem, 6vw, 6.3rem); line-height: .92; letter-spacing: -.06em; }
.product-detail-price { margin-top: 22px; color: var(--purple-3); font-size: 1.75rem; font-weight: 950; }
.product-detail-summary { margin: 24px 0; color: #d6c3e1; font-size: 1.16rem; }
.product-detail-description { color: var(--muted); font-size: 1rem; white-space: pre-line; }
.feature-list { margin: 30px 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; list-style: none; }
.feature-list li { padding: 14px 15px; display: grid; grid-template-columns: 22px 1fr; gap: 9px; border: 1px solid var(--line); border-radius: 14px; background: rgba(162,28,255,.05); }
.feature-list li::before { content: "✓"; color: var(--success); font-weight: 950; }
.product-buy-box { margin-top: 34px; padding: 22px; display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; border: 1px solid var(--line); border-radius: 20px; background: rgba(17,6,26,.72); }
.product-buy-box p { margin: 0; color: var(--muted); font-size: .88rem; }
.product-buy-actions { display: flex; gap: 10px; }

.account-page { padding: 60px 0 110px; }
.account-top { margin-bottom: 34px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.account-name { color: var(--purple-3); }
.account-grid { display: grid; grid-template-columns: minmax(220px, .28fr) minmax(0, .72fr); gap: 28px; }
.account-sidebar { padding: 24px; align-self: start; border: 1px solid var(--line); border-radius: 22px; background: rgba(12,4,18,.82); }
.account-avatar { width: 66px; height: 66px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--white); background: linear-gradient(135deg,#6A00FF,#FF2ED1); font-size: 1.4rem; font-weight: 950; box-shadow: var(--glow); }
.account-sidebar h2 { margin: 16px 0 2px; font-size: 1.1rem; }
.account-sidebar p { margin: 0; color: var(--muted); font-size: .84rem; overflow-wrap: anywhere; }
.account-sidebar .button { width: 100%; margin-top: 22px; }

/* ── Change password (member sidebar) ──────────────────────────────────────── */
.account-change-password { margin-top: 14px; border-top: 1px dashed var(--line); padding-top: 12px; }
.account-change-password summary { cursor: pointer; font-size: .82rem; color: var(--muted); font-weight: 600; list-style: none; user-select: none; }
.account-change-password summary::-webkit-details-marker { display: none; }
.account-change-password summary::before { content: '+ '; }
details[open].account-change-password summary::before { content: '− '; }
.account-change-password summary:hover { color: var(--foreground); }
.account-change-password form { margin-top: 12px; display: flex; flex-direction: column; gap: 10px; }
.account-change-password .field { display: flex; flex-direction: column; gap: 4px; }
.account-change-password label { font-size: .78rem; color: var(--muted); font-weight: 600; display: flex; flex-direction: column; gap: 4px; }
.account-change-password input { background: rgba(255,255,255,.05); border: 1px solid var(--line); border-radius: 10px; padding: 8px 11px; color: var(--foreground); font-size: .85rem; width: 100%; box-sizing: border-box; }
.account-change-password .button { margin-top: 2px; }
/* Username display + change panel — shares structural styles with change-password */
.member-username-display { font-size: .82rem !important; color: var(--muted); letter-spacing: .01em; }
.member-username-display:not([data-username-empty]) { color: var(--accent, #7c3aed); font-weight: 600; }
.member-username-display[data-username-empty] { font-style: italic; }
.account-change-username { margin-top: 14px; border-top: 1px dashed var(--line); padding-top: 12px; }
.account-change-username summary { cursor: pointer; font-size: .82rem; color: var(--muted); font-weight: 600; list-style: none; user-select: none; }
.account-change-username summary::-webkit-details-marker { display: none; }
.account-change-username summary::before { content: '+ '; }
details[open].account-change-username summary::before { content: '− '; }
.account-change-username summary:hover { color: var(--foreground); }
.account-change-username form { margin-top: 12px; display: flex; flex-direction: column; gap: 10px; }
.account-change-username .field { display: flex; flex-direction: column; gap: 4px; }
.account-change-username label { font-size: .78rem; color: var(--muted); font-weight: 600; display: flex; flex-direction: column; gap: 4px; }
.account-change-username input { background: rgba(255,255,255,.05); border: 1px solid var(--line); border-radius: 10px; padding: 8px 11px; color: var(--foreground); font-size: .85rem; width: 100%; box-sizing: border-box; }
.account-change-username .button { margin-top: 2px; }
/* ── Edit profile panel — same structural pattern as change-username ─────────── */
.account-edit-profile { margin-top: 14px; border-top: 1px dashed var(--line); padding-top: 12px; }
.account-edit-profile summary { cursor: pointer; font-size: .82rem; color: var(--muted); font-weight: 600; list-style: none; user-select: none; }
.account-edit-profile summary::-webkit-details-marker { display: none; }
.account-edit-profile summary::before { content: '+ '; }
details[open].account-edit-profile summary::before { content: '− '; }
.account-edit-profile summary:hover { color: var(--foreground); }
.account-edit-profile form { margin-top: 12px; display: flex; flex-direction: column; gap: 10px; }
.account-edit-profile .field { display: flex; flex-direction: column; gap: 4px; }
.account-edit-profile label { font-size: .78rem; color: var(--muted); font-weight: 600; display: flex; flex-direction: column; gap: 4px; }
.account-edit-profile input { background: rgba(255,255,255,.05); border: 1px solid var(--line); border-radius: 10px; padding: 8px 11px; color: var(--foreground); font-size: .85rem; width: 100%; box-sizing: border-box; }
.account-edit-profile .button { margin-top: 2px; }
.form-hint { font-size: .78rem !important; color: var(--muted); line-height: 1.5; margin: 0 !important; }
.form-hint code { font-family: monospace; background: rgba(255,255,255,.08); border-radius: 4px; padding: 0 3px; }
.form-message.success { color: #22c55e; font-size: .82rem; }
.form-message.error   { color: #f87171; font-size: .82rem; }
.library-panel { min-width: 0; }
.library-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.library-item { display: grid; grid-template-columns: 145px 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: rgba(11,4,17,.85); }
.library-item img { width: 100%; height: 100%; min-height: 210px; object-fit: cover; }
.library-item-body { padding: 20px; display: flex; flex-direction: column; }
.library-item-body h3 { margin: 8px 0 10px; line-height: 1.15; }
.library-item-body p { margin: 0; color: var(--muted); font-size: .85rem; }
.library-item-body .button { margin-top: auto; padding-inline: 15px; }

/* ── Member dashboard hero ─────────────────────────────────────────────────── */
.member-dash-hero {
  background: linear-gradient(135deg, #1a0a30 0%, #2B1148 45%, #5B2EFF 100%);
  border-radius: 22px;
  padding: 36px 40px 32px;
  margin-bottom: 28px;
  position: relative;
  overflow: hidden;
}
.member-dash-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 90% 50%, rgba(200,162,255,.12), transparent);
  pointer-events: none;
}
.member-dash-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}
.member-dash-date {
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #C8A2FF;
  margin: 0 0 8px;
}
.member-dash-greeting {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 900;
  color: #ffffff;
  margin: 0 0 6px;
  line-height: 1.1;
}
.member-dash-sub {
  font-size: .9rem;
  color: rgba(200,162,255,.75);
  margin: 0;
}
.member-dash-shop-btn {
  background: rgba(255,255,255,.12);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,.22);
  white-space: nowrap;
  flex-shrink: 0;
}
.member-dash-shop-btn:hover { background: rgba(255,255,255,.2); color: #ffffff; }
.member-dash-stats {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.member-dash-stat {
  display: flex;
  flex-direction: column;
  gap: 3px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 14px 20px;
  min-width: 110px;
}
.member-dash-stat strong {
  font-size: 1.5rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1;
}
.member-dash-stat span {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(200,162,255,.7);
}
.member-dash-stat--highlight strong { color: #C8A2FF; }

/* ── Credits ledger (paginated) ─────────────────────────────────────────────── */
.credits-activity { margin-top: 38px; padding-top: 28px; border-top: 1px solid var(--line); }
.credits-activity-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.credits-activity-title { font-size: 1rem; font-weight: 700; margin: 0; }
.credits-pager { display: flex; align-items: center; gap: 8px; }
.credits-pager-btn {
  width: 28px; height: 28px;
  display: grid; place-items: center;
  border: 1px solid var(--line); border-radius: 8px;
  background: transparent; cursor: pointer;
  font-size: 1rem; color: var(--foreground);
  transition: background .15s;
}
.credits-pager-btn:disabled { opacity: .35; cursor: default; }
.credits-pager-btn:not(:disabled):hover { background: rgba(91,46,255,.12); }
.credits-pager-info { font-size: .78rem; color: var(--muted); white-space: nowrap; }
.credit-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px 18px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
  font-size: .87rem;
}
.credit-row:last-child { border-bottom: none; }
.credit-row-desc { color: var(--foreground); }
.credit-row-date { color: var(--muted); font-size: .78rem; white-space: nowrap; }
.credit-row-amount { font-weight: 700; white-space: nowrap; }
.credit-row-amount.plus  { color: #22c55e; }
.credit-row-amount.minus { color: var(--muted); }
.credits-empty { color: var(--muted); font-size: .9rem; padding: 18px 0; margin: 0; }

.cart-page { padding: 60px 0 110px; }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; }
.cart-list { display: grid; gap: 15px; }
.cart-item { padding: 16px; display: grid; grid-template-columns: 120px 1fr auto; gap: 18px; align-items: center; border: 1px solid var(--line); border-radius: 18px; background: rgba(11,4,17,.82); }
.cart-item img { width: 120px; aspect-ratio: 1; object-fit: cover; border-radius: 13px; }
.cart-item h2 { margin: 0 0 6px; font-size: 1.15rem; }
.cart-item p { margin: 0; color: var(--muted); font-size: .85rem; }
.cart-item-price { text-align: right; }
.cart-item-price strong { display: block; color: var(--purple-3); }
.remove-link { margin-top: 12px; padding: 0; border: 0; color: var(--danger); background: transparent; cursor: pointer; font-size: .8rem; }
.cart-summary { position: sticky; top: 116px; padding: 26px; border: 1px solid var(--line-strong); border-radius: 22px; background: linear-gradient(150deg, rgba(30,8,44,.96), rgba(5,2,9,.98)); box-shadow: var(--shadow), var(--glow); }
.cart-summary h2 { margin-top: 0; }
.summary-row { padding: 14px 0; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); }
.summary-total { margin: 20px 0; display: flex; justify-content: space-between; font-size: 1.25rem; font-weight: 950; }
.summary-total strong { color: var(--purple-3); }
.cart-summary .button { width: 100%; }
.cart-summary small { display: block; margin-top: 14px; color: var(--muted); text-align: center; }

.content-section { padding: clamp(60px, 8vw, 110px) 0; }
.content-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(300px, .28fr); gap: 60px; }
.prose { color: #d7c6e2; }
.prose h2 { margin: 48px 0 13px; color: var(--white); font-size: 2rem; }
.prose h2:first-child { margin-top: 0; }
.prose h3 { margin-top: 30px; color: var(--white); }
.prose p, .prose li { color: var(--muted); }
.prose a { color: var(--purple-3); text-decoration: underline; text-underline-offset: 3px; }
.prose-card { padding: 28px; align-self: start; border: 1px solid var(--line); border-radius: 20px; background: rgba(11,4,17,.82); }
.prose-card h2 { margin-top: 0; font-size: 1.3rem; }
.prose-card p { color: var(--muted); }
.prose-card .button { width: 100%; }

.contact-grid { display: grid; grid-template-columns: minmax(0, .75fr) minmax(380px, .55fr); gap: 60px; align-items: start; }
.contact-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.contact-card { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: rgba(11,4,17,.74); }
.contact-card b { color: var(--purple-3); font-family: Georgia, serif; font-size: 1.4rem; }
.contact-card h2 { margin: 12px 0 5px; font-size: 1rem; }
.contact-card p { margin: 0; color: var(--muted); font-size: .85rem; }
.contact-form-card { padding: 32px; border: 1px solid var(--line-strong); border-radius: 24px; background: rgba(13,4,20,.92); box-shadow: var(--shadow); }
.contact-form-card form { display: grid; gap: 16px; }

.loading-state, .empty-panel { min-height: 300px; padding: 50px 24px; display: grid; place-items: center; align-content: center; text-align: center; border: 1px dashed var(--line); border-radius: 22px; color: var(--muted); }
.loading-state span { width: 48px; height: 48px; border: 3px solid rgba(162, 28, 255,.2); border-top-color: var(--purple-3); border-radius: 50%; animation: spin .8s linear infinite; }
.empty-symbol { color: var(--purple-3); font-family: Georgia, serif; font-size: 5rem; font-style: italic; line-height: 1; }
.empty-panel h2 { margin: 8px 0; color: var(--white); }
.empty-panel p { max-width: 520px; margin: 0 0 22px; }
.global-toast { position: fixed; right: 22px; bottom: 22px; z-index: 100; max-width: min(420px, calc(100vw - 44px)); padding: 15px 20px; transform: translateY(140%); opacity: 0; border: 1px solid var(--line-strong); border-radius: 14px; background: rgba(12,4,18,.96); box-shadow: var(--shadow), var(--glow); transition: .25s ease; }
.global-toast.show { transform: none; opacity: 1; }
.global-toast[data-tone="error"] { border-color: rgba(255,100,135,.65); }

.success-page { min-height: 70vh; padding: 80px 0; display: grid; place-items: center; }
.success-card { max-width: 760px; padding: clamp(38px, 7vw, 75px); border: 1px solid var(--line-strong); border-radius: 34px; background: linear-gradient(145deg, rgba(41,9,60,.92), rgba(5,2,9,.98)); box-shadow: var(--shadow), var(--glow); text-align: center; }
.success-icon { width: 90px; height: 90px; margin: 0 auto 24px; display: grid; place-items: center; border: 2px solid var(--success); border-radius: 50%; color: var(--success); font-size: 2.5rem; box-shadow: 0 0 30px rgba(117,255,200,.18); }
.success-card h1 { margin: 0; font-size: clamp(2.7rem, 7vw, 5.6rem); line-height: .95; letter-spacing: -.05em; }
.success-card p { color: var(--muted); }
.success-actions { margin-top: 28px; display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }

.site-footer {
  padding: 60px clamp(24px, 5vw, 72px) 24px;
  display: grid;
  grid-template-columns: minmax(280px, 1.5fr) repeat(3, minmax(150px, .55fr));
  gap: 42px;
  border-top: 1px solid var(--line);
  background: #020104;
}
.footer-brand img { width: min(360px, 100%); height: 110px; object-fit: contain; object-position: left center; }
.footer-brand p { max-width: 420px; color: var(--muted); }
.footer-equation { display: flex; flex-wrap: wrap; gap: 15px; color: var(--purple-3); font-family: Georgia, serif; font-size: 1.35rem; font-style: italic; }
.footer-links h2 { margin: 12px 0 16px; color: #e9d7f4; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; }
.footer-links a { margin: 9px 0; display: block; color: var(--muted); font-size: .88rem; }
.footer-links a:hover { color: var(--purple-3); }
.footer-bottom { grid-column: 1 / -1; padding-top: 24px; display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); color: #796b83; font-size: .78rem; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns: 210px 1fr auto; gap: 14px; }
  .main-nav { gap: 16px; }
  .main-nav a { font-size: .82rem; }
  .hero-inner { grid-template-columns: 1fr; }
  .hero-home { min-height: auto; }
  .hero-copy { max-width: 850px; }
  .hero-visual { min-height: 460px; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-strip { grid-template-columns: repeat(2, 1fr); }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .auth-layout { grid-template-columns: 1fr 440px; gap: 45px; }
  .library-grid { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1.2fr repeat(2, .6fr); }
  .site-footer .footer-links:last-of-type { grid-column: 2 / 4; display: grid; grid-template-columns: repeat(3, 1fr); align-content: start; }
  .site-footer .footer-links:last-of-type h2 { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .announcement p { display: none; }
  .site-header { grid-template-columns: 1fr auto auto; }
  .site-brand { width: 210px; }
  .menu-toggle { width: 44px; height: 44px; display: grid; place-content: center; gap: 5px; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; }
  .menu-toggle span { width: 19px; height: 2px; background: var(--white); }
  .main-nav { position: absolute; left: 16px; right: 16px; top: calc(100% + 9px); padding: 18px; display: none; align-items: stretch; flex-direction: column; gap: 3px; border: 1px solid var(--line-strong); border-radius: 18px; background: rgba(5,2,9,.98); box-shadow: var(--shadow); }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 12px 10px; }
  .main-nav a::after { display: none; }
  .header-actions .account-link { display: none; }
  .display-title { font-size: clamp(3.5rem, 12vw, 6.5rem); }
  .hero-visual { min-height: 390px; }
  .hero-metrics { grid-template-columns: 1fr; }
  .hero-metrics li + li { border-top: 1px solid var(--line); }
  .membership-inner { grid-template-columns: 1fr; gap: 30px; }
  .section-heading { align-items: start; flex-direction: column; }
  .shop-toolbar { grid-template-columns: 1fr; }
  .product-detail { grid-template-columns: 1fr; }
  .product-detail-cover { position: static; max-width: 650px; }
  .account-grid { grid-template-columns: 1fr; }
  .cart-layout { grid-template-columns: 1fr; }
  .cart-summary { position: static; }
  .auth-layout { grid-template-columns: 1fr; }
  .auth-copy { text-align: center; }
  .auth-copy .eyebrow { justify-content: center; }
  .auth-copy .eyebrow::before { display: none; }
  .auth-copy p { margin-inline: auto; }
  .auth-symbols { justify-content: center; }
  .contact-grid, .content-grid { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: repeat(2, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
  .site-footer .footer-links:last-of-type { grid-column: auto; display: block; }
  .site-footer .footer-links:last-of-type h2 { grid-column: auto; }
}

@media (max-width: 620px) {
  .announcement { justify-content: center; gap: 8px; }
  .announcement span { display: none; }
  .announcement a { font-size: .8rem; white-space: nowrap; }
  .site-header { min-height: 70px; padding-inline: 14px; gap: 8px; }
  .site-brand { width: 165px; }
  .site-brand img { height: 48px; }
  .cart-link { min-width: 44px; padding: 8px; font-size: 0; }
  .cart-link::before { content: "Cart"; font-size: .74rem; }
  .page-shell, .home-section, .hero-inner { width: min(100% - 28px, var(--max)); }
  .hero-home { padding-top: 56px; }
  .hero-visual { min-height: 315px; }
  .stat-chip { font-size: .82rem; }
  .trust-strip { grid-template-columns: 1fr; }
  .trust-item { border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-item:last-child { border-bottom: 0; }
  .product-grid, .category-grid { grid-template-columns: 1fr; }
  .category-card { min-height: 220px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .product-title-line { gap: 10px; }
  .feature-list { grid-template-columns: 1fr; }
  .product-buy-box { grid-template-columns: 1fr; }
  .product-buy-actions { flex-direction: column; }
  .library-item { grid-template-columns: 110px 1fr; }
  .library-item img { min-height: 205px; }
  .library-item-body { padding: 15px; }
  .cart-item { grid-template-columns: 80px 1fr; }
  .cart-item img { width: 80px; }
  .cart-item-price { grid-column: 2; text-align: left; }
  .contact-cards { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .global-toast { right: 14px; bottom: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* UIP glasses shield brand system */
.site-brand {
  width: auto;
  min-width: 215px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.site-brand img {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 0 12px rgba(106, 0, 255, .55));
}
.brand-wordmark { min-width: 0; display: grid; line-height: 1; }
.brand-wordmark strong {
  color: #5B2EFF;
  font-size: 1.35rem;
  font-weight: 950;
  letter-spacing: .05em;
}
.brand-wordmark small {
  margin-top: 7px;
  color: #C89BFF;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .18em;
  white-space: nowrap;
}
.hero-logo {
  width: min(92%, 690px);
  filter: drop-shadow(0 0 42px rgba(106, 0, 255, .38)) drop-shadow(0 26px 48px rgba(0, 0, 0, .55));
}
.footer-brand-lockup { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; }
.footer-brand-lockup img {
  width: 108px;
  height: 108px;
  flex: 0 0 108px;
  object-fit: contain;
  filter: drop-shadow(0 0 20px rgba(106, 0, 255, .45));
}
.footer-brand-lockup div { display: grid; gap: 8px; }
.footer-brand-lockup strong { font-size: 1.15rem; letter-spacing: .08em; }
.footer-brand-lockup span { color: #C89BFF; font-size: .7rem; font-weight: 900; letter-spacing: .14em; }
.brand-kit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.brand-kit-card { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(150deg,rgba(26,26,32,.96),rgba(0,0,16,.97)); }
.brand-kit-card h2 { margin: 0 0 10px; font-size: 1.35rem; }
.brand-kit-card p { margin: 0; color: var(--muted); }
.brand-kit-logo-panel { padding: 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: var(--radius); background: #000000; }
.brand-kit-logo-panel img { width: min(100%,520px); filter: drop-shadow(0 0 34px rgba(106, 0, 255, .3)); }
.swatch-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.swatch { min-height: 130px; padding: 18px; display: flex; flex-direction: column; justify-content: end; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; }
.swatch strong,.swatch span { text-shadow: 0 1px 4px #000; }
.swatch span { font-size: .78rem; letter-spacing: .08em; }
.brand-board { width: 100%; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
@media (max-width: 860px) {
  .site-brand { min-width: 0; }
  .brand-wordmark { display: none; }
  .site-brand img { width: 52px; height: 52px; flex-basis: 52px; }
  .brand-kit-grid,.swatch-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .site-brand { width: auto; }
  .site-brand img { width: 46px; height: 46px; flex-basis: 46px; border-radius: 14px; }
  .footer-brand-lockup { align-items: flex-start; flex-direction: column; }
}

.catalog-pagination {
  margin: 34px 0 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.catalog-pagination button {
  min-height: 46px;
  padding: 10px 19px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  color: var(--white);
  background: rgba(255,255,255,.025);
  cursor: pointer;
  font-weight: 850;
}
.catalog-pagination button:hover:not(:disabled) { box-shadow: var(--glow); }
.catalog-pagination button:disabled { opacity: .35; cursor: not-allowed; }
.catalog-pagination span { min-width: 210px; color: var(--muted); text-align: center; font-size: .86rem; }
@media (max-width: 520px) {
  .catalog-pagination { gap: 8px; }
  .catalog-pagination button { padding-inline: 13px; }
  .catalog-pagination span { min-width: 0; font-size: .75rem; }
}

/* Professional marketplace expansion */
.solution-tabs {
  position: relative;
  z-index: 42;
  padding: 0 clamp(16px,4vw,64px);
  display: flex;
  gap: 4px;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  background: rgba(4,1,8,.98);
  scrollbar-width: thin;
}
.solution-tabs a {
  min-width: max-content;
  padding: 12px 14px;
  color: #aa98b7;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .04em;
  border-bottom: 2px solid transparent;
}
.solution-tabs a:hover { color: #fff; border-bottom-color: var(--purple-3); background: rgba(162, 28, 255,.08); }
.future-product-card { border-color: rgba(194,71,255,.38); }
.live-product-card { border-color: rgba(255,46,209,.35); }
.future-status { color: #E6D9FF; border-color: rgba(200, 155, 255,.55); background: rgba(42, 8, 69,.88); }
.live-status { color: #FFB3F0; border-color: rgba(255,46,209,.5); background: rgba(90,0,65,.88); }
.future-slot-number {
  position: absolute;
  right: 16px;
  bottom: 15px;
  padding: 6px 9px;
  border: 1px solid rgba(200, 155, 255,.48);
  border-radius: 999px;
  color: #E6D9FF;
  background: rgba(4,1,8,.82);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.button-future { border-color: rgba(200, 155, 255,.55); background: linear-gradient(100deg,#2A0845,#5A10A0); color: #fff; }
.button-future:hover { box-shadow: 0 0 30px rgba(190,56,255,.32); }
.future-price { color: #C89BFF !important; font-size: .86rem !important; white-space: nowrap; }
.card-problem {
  min-height: 5.4em !important;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-problem b { color: #fff; }
.concept-meta { margin: -6px 0 18px; display: flex; flex-wrap: wrap; gap: 7px; }
.concept-meta span { padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: #cbb6da; background: rgba(255,255,255,.025); font-size: .65rem; font-weight: 850; }
.market-disclosure {
  margin: 34px 0;
  padding: 20px 22px;
  border: 1px solid rgba(200, 155, 255,.42);
  border-left: 5px solid var(--purple-3);
  border-radius: 16px;
  background: linear-gradient(105deg,rgba(104,24,145,.18),rgba(8,3,13,.92));
}
.market-disclosure strong { display:block; margin-bottom: 6px; color:#fff; font-size:1rem; }
.market-disclosure p { margin:0; color:var(--muted); }
.market-hub-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.market-hub-card { min-height: 160px; padding: 18px; display:grid; grid-template-columns:58px 1fr; gap:16px; align-items:start; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,rgba(34,9,49,.92),rgba(6,2,10,.97)); box-shadow:var(--shadow); }
.market-hub-card:hover { transform:translateY(-3px); border-color:var(--line-strong); box-shadow:var(--shadow),var(--glow); }
.market-hub-card>span { width:54px; height:54px; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:14px; color:var(--purple-3); background:#08030d; font-family:Georgia,serif; font-size:1.5rem; }
.market-hub-card h2 { margin:0 0 6px; font-size:1.05rem; }
.market-hub-card p { margin:0; color:var(--muted); font-size:.88rem; }
.market-hub-card b { margin-top:12px; display:block; color:var(--purple-3); font-size:.88rem; }
.format-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.concept-story { margin:18px 0; padding:18px; border:1px solid var(--line); border-radius:15px; background:rgba(162,28,255,.05); }
.concept-story span { color:#5B2EFF; font-size:.68rem; font-weight:950; letter-spacing:.12em; }
.concept-story p { margin:8px 0 0; color:#0B0B12; line-height:1.65; }
.outcome-story { border-left:4px solid #75ffc8; }
.problem-story { border-left:4px solid #FF2ED1; }
.concept-economics { margin:22px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.concept-economics>div { padding:14px; border:1px solid var(--line); border-radius:13px; background:rgba(162,28,255,.05); }
.concept-economics span { display:block; margin-bottom:6px; color:#8e7a9b; font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.concept-economics strong { display:block; color:#f3e7fa; font-size:.86rem; line-height:1.4; }
.guide-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.guide-grid article { padding:24px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(150deg,rgba(28,8,41,.9),rgba(6,2,10,.98)); }
.guide-grid article>b { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--purple); color:#fff; }
.guide-grid h2 { font-size:1.1rem; }
.guide-grid p { color:var(--muted); }
@media (max-width:980px) { .market-hub-grid,.format-grid{grid-template-columns:1fr 1fr}.guide-grid{grid-template-columns:1fr 1fr}.concept-economics{grid-template-columns:1fr} }
@media (max-width:660px) { .market-hub-grid,.format-grid,.guide-grid{grid-template-columns:1fr}.market-hub-card{grid-template-columns:62px 1fr;padding:18px}.market-hub-card>span{width:58px;height:58px;border-radius:16px}.solution-tabs{padding-inline:8px}.solution-tabs a{padding:10px 11px}.future-price{white-space:normal}.product-title-line{grid-template-columns:1fr}.card-problem{min-height:0!important} }



/* ================================================================
   UIP BRAND KIT 2026 — Electric Purple on White
   Royal Purple #5B2EFF · Electric Violet #7A3CFF · Deep Plum #2B1148
   Lavender Glow #C8A2FF · Soft Lilac #E9DDFF · White #FFFFFF
   ================================================================ */

/* ── Page background & global text ── */
body { background: #ffffff; color: #0B0B12; }
body.owner-body { background: #ffffff; }

/* ── Announcement bar ── */
.announcement {
  background: #5B2EFF;
  color: #ffffff;
  border-bottom: none;
}
.announcement span { color: #E9DDFF; font-style: normal; }
.announcement a { color: #ffffff; font-weight: 800; }
.announcement a:hover { color: #C8A2FF; }

/* ── Site header ── */
.site-header {
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(91,46,255,.15);
}
.brand-wordmark strong { color: #5B2EFF; font-size: 1.35rem; letter-spacing: .06em; }
.brand-wordmark small  { color: #2B1148; }
.main-nav a { color: #0B0B12; font-family: var(--font-subhead); }
.main-nav a:hover,
.main-nav a.active { color: #5B2EFF !important; }
.main-nav a::after { background: #5B2EFF; box-shadow: 0 0 8px rgba(91,46,255,.45); }
.account-link, .cart-link {
  color: #0B0B12;
  border-color: rgba(91,46,255,.35);
}
.account-link:hover, .cart-link:hover {
  color: #5B2EFF;
  border-color: #5B2EFF;
  box-shadow: 0 0 14px rgba(91,46,255,.2);
}
@media (max-width: 899px) {
  .main-nav {
    background: rgba(255,255,255,.99);
    border-color: rgba(91,46,255,.25);
  }
  .main-nav a { color: #0B0B12; }
  .main-nav a:hover, .main-nav a.active { color: #5B2EFF !important; }
  /* Hamburger lines must be dark on the white header */
  .menu-toggle { border-color: rgba(91,46,255,.35); }
  .menu-toggle span { background: #0B0B12; }
}

/* ── Solution tabs ── */
.solution-tabs {
  background: #ffffff;
  border-top: 1px solid rgba(91,46,255,.1);
  border-bottom: 1px solid rgba(91,46,255,.15);
}
.solution-tabs a { color: #4A3B5C; }
.solution-tabs a:hover { color: #5B2EFF; background: rgba(91,46,255,.06); }
.solution-tabs a.active { color: #5B2EFF; border-bottom-color: #5B2EFF; }

/* ── Buttons ── */
.button-primary {
  background: linear-gradient(135deg, #5B2EFF, #7A3CFF 55%, #9B5CFF);
  border-color: transparent;
  box-shadow: 0 6px 24px rgba(91,46,255,.35);
}
.button-primary:hover { box-shadow: 0 8px 32px rgba(91,46,255,.5); }
.button-ghost {
  color: #5B2EFF !important;
  background: rgba(91,46,255,.06);
  border-color: rgba(91,46,255,.4);
}
.button-ghost:hover {
  color: #5B2EFF !important;
  background: rgba(91,46,255,.12);
  border-color: #5B2EFF;
}
.button-outline { color: #0B0B12; border-color: rgba(91,46,255,.4); }
.button-outline:hover { color: #5B2EFF; border-color: #5B2EFF; }

/* ── Eyebrow & section text ── */
.eyebrow { color: #5B2EFF; }
.eyebrow::before { background: #5B2EFF; box-shadow: none; }
.section-title, .display-title { color: #0B0B12; }
.display-title em { color: #5B2EFF; }
.section-copy, .section-heading > p { color: #4A3B5C; }
.page-hero p { color: #4A3B5C; }
.hero-copy .lead { color: #4A3B5C; }
.text-link { color: #5B2EFF; }
.text-link:hover { color: #7A3CFF; }
.result-line { color: #4A3B5C; }
.result-line strong { color: #0B0B12; }
.auth-copy p { color: #4A3B5C; }
.prose h2, .prose h3 { color: #0B0B12; }
.prose p, .prose li { color: #4A3B5C; }
.prose a { color: #5B2EFF; }
.product-detail-price { color: #5B2EFF; }
.product-detail-summary { color: #4A3B5C; }
.product-detail-description { color: #4A3B5C; }
.catalog-pagination span { color: #4A3B5C; }
.auth-switch { color: #4A3B5C; }
.form-message { color: #4A3B5C; }
.contact-card p { color: #4A3B5C; }
.prose-card p { color: #4A3B5C; }

/* ── Trust strip ── */
.trust-strip {
  background: #E9DDFF;
  color: #2B1148;
  border-top: 1px solid rgba(91,46,255,.2);
  border-bottom: 1px solid rgba(91,46,255,.2);
}
.trust-item span { color: #4A3B5C; }
.trust-icon { color: #5B2EFF; }

/* ── Hero metrics chips ── */
.hero-metrics { border-color: rgba(91,46,255,.25); background: rgba(91,46,255,.06); }
.hero-metrics li { background: #ffffff; }
.hero-metrics strong { color: #5B2EFF; }
.hero-metrics span { color: #4A3B5C; }

/* ── Product cards ── */
.product-card {
  background: #ffffff;
  border-color: rgba(91,46,255,.22);
  box-shadow: 0 4px 18px rgba(91,46,255,.08);
  color: #0B0B12;
}
.product-card:hover {
  transform: translateY(-5px);
  border-color: rgba(91,46,255,.55);
  box-shadow: 0 10px 36px rgba(91,46,255,.18);
}
.product-card-body > p:not(.product-kicker) { color: #4A3B5C; }
.product-title-line h3 a { color: #0B0B12; }
.product-title-line strong { color: #5B2EFF; }
.product-kicker { color: #5B2EFF; }
.live-product-card { border-color: rgba(91,46,255,.25); }
.future-product-card { border-color: rgba(122,60,255,.2); }
.live-status {
  color: #FF2ED1;
  background: rgba(255,46,209,.1);
  border-color: rgba(255,46,209,.35);
}
.future-status {
  color: #5B2EFF;
  background: #E9DDFF;
  border-color: rgba(91,46,255,.35);
}
.future-price { color: #7A3CFF !important; }
.card-problem { background: #f8f5ff; border-color: rgba(91,46,255,.15); color: #4A3B5C; }
.card-problem b { color: #0B0B12; }

/* ── Market segment glow (cards) ── */
.product-card[data-market] {
  border-color: rgba(var(--seg),1,.22);
  box-shadow: 0 4px 18px rgba(var(--seg),1,.08);
}
.product-card[data-market]:hover {
  border-color: rgba(var(--seg),1,.6);
  box-shadow: 0 10px 36px rgba(var(--seg),1,.2);
}
.product-card[data-market] .product-kicker { color: rgb(var(--seg)); }

/* Segment RGB values */
.product-card, .market-hub-card { --seg: 91, 46, 255; }
[data-market="higher-education"]       { --seg: 91, 108, 255; }
[data-market="college-students"]       { --seg: 63, 169, 255; }
[data-market="graduate-doctoral"]      { --seg: 180, 140, 0; }
[data-market="professional-development"] { --seg: 200, 100, 0; }
[data-market="professional-agencies"]  { --seg: 170, 40, 210; }
[data-market="research-evaluation"]    { --seg: 30, 160, 80; }
[data-market="nonprofits"]             { --seg: 10, 160, 160; }
[data-market="government"]             { --seg: 210, 40, 60; }
[data-market="business"]               { --seg: 20, 160, 100; }
[data-market="workforce-community"]    { --seg: 200, 90, 0; }

/* ── Category & market hub cards ── */
.category-card {
  background: #ffffff;
  border-color: rgba(91,46,255,.2);
  box-shadow: 0 4px 16px rgba(91,46,255,.07);
  color: #0B0B12;
}
.category-card p { color: #4A3B5C; }
.market-hub-card {
  background: #ffffff;
  border-color: rgba(91,46,255,.22);
  box-shadow: 0 4px 18px rgba(91,46,255,.08);
  color: #0B0B12;
}
.market-hub-card p { color: #4A3B5C; }
.market-hub-card > span {
  background: #E9DDFF;
  color: #5B2EFF;
  border-color: rgba(91,46,255,.3);
}
.market-hub-card:hover {
  border-color: rgba(91,46,255,.55);
  box-shadow: 0 10px 32px rgba(91,46,255,.15);
}
.market-hub-card[data-market] { border-color: rgba(var(--seg),.25); }
.market-hub-card[data-market]:hover { border-color: rgba(var(--seg),.6); box-shadow: 0 10px 32px rgba(var(--seg),.18); }
.market-hub-card[data-market] > span { background: rgba(var(--seg),.1); color: rgb(var(--seg)); border-color: rgba(var(--seg),.3); }

/* ── Auth card ── */
.auth-card {
  background: #ffffff;
  color: #0B0B12;
  border: 2px solid rgba(91,46,255,.35);
  box-shadow: 0 8px 40px rgba(91,46,255,.12);
}
.auth-card > p { color: #4A3B5C; }
.auth-card label { color: #0B0B12; }
.auth-card .text-link { color: #5B2EFF; }
.auth-symbols span {
  background: #E9DDFF;
  color: #5B2EFF;
  border-color: rgba(91,46,255,.25);
}

/* ── Forms / inputs ── */
input, select, textarea {
  color: #0B0B12;
  background: #ffffff;
  border-color: rgba(91,46,255,.28);
}
input:focus, select:focus, textarea:focus {
  border-color: #5B2EFF;
  box-shadow: 0 0 0 3px rgba(91,46,255,.12);
}
input::placeholder, textarea::placeholder { color: #9B8BB0; }

/* ── Shop toolbar ── */
.shop-toolbar {
  background: #ffffff;
  border-color: rgba(91,46,255,.18);
  color: #0B0B12;
  box-shadow: none;
}
.shop-filter { color: #0B0B12; background: #ffffff; border-color: rgba(91,46,255,.28); }

/* ── Account / library / cart ── */
.account-sidebar {
  background: #ffffff;
  border-color: rgba(91,46,255,.2);
  color: #0B0B12;
  box-shadow: 0 4px 20px rgba(91,46,255,.08);
}
.account-sidebar p { color: #4A3B5C; }
.library-item {
  background: #ffffff;
  border-color: rgba(91,46,255,.18);
  color: #0B0B12;
}
.library-item-body p { color: #4A3B5C; }
.cart-item {
  background: #ffffff;
  border-color: rgba(91,46,255,.18);
  color: #0B0B12;
}
.cart-item p { color: #4A3B5C; }
.cart-summary {
  background: #ffffff;
  border: 2px solid rgba(91,46,255,.35);
  box-shadow: 0 8px 32px rgba(91,46,255,.1);
  color: #0B0B12;
}
.cart-summary small { color: #4A3B5C; }

/* ── Product buy box & detail ── */
.product-buy-box {
  background: #ffffff;
  border-color: rgba(91,46,255,.2);
  box-shadow: 0 6px 28px rgba(91,46,255,.1);
}
.product-buy-box p { color: #4A3B5C; }

/* ── Membership band ── */
.membership-band {
  background: linear-gradient(135deg, #2B1148 0%, #1E0B33 100%);
  border: none;
  box-shadow: 0 8px 40px rgba(91,46,255,.2);
}
.membership-band .section-title { color: #ffffff; }
.membership-band .section-copy  { color: #C8A2FF; }
.membership-band .eyebrow       { color: #C8A2FF; }
.membership-band .eyebrow::before { background: #C8A2FF; }
.membership-point { background: rgba(255,255,255,.06); border-color: rgba(200,162,255,.2); }
.membership-point b { background: #5B2EFF; color: #fff; }
.membership-point strong { color: #ffffff; }
.membership-point span { color: #C8A2FF; }

/* ── Empty / loading states ── */
.empty-panel, .loading-state {
  background: #f8f5ff;
  border-color: rgba(91,46,255,.2);
  color: #4A3B5C;
}
.empty-panel h2 { color: #0B0B12; }
.empty-symbol { color: #5B2EFF; }

/* ── Pagination ── */
.catalog-pagination button {
  background: #ffffff;
  border-color: rgba(91,46,255,.3);
  color: #5B2EFF;
}
.catalog-pagination button:hover:not(:disabled) {
  background: #5B2EFF;
  color: #ffffff;
  box-shadow: 0 4px 18px rgba(91,46,255,.35);
}

/* ── Prose / contact / brand-kit cards ── */
.prose-card {
  background: #ffffff;
  border-color: rgba(91,46,255,.18);
  box-shadow: 0 4px 20px rgba(91,46,255,.07);
}
.contact-card {
  background: #ffffff;
  border-color: rgba(91,46,255,.18);
  box-shadow: 0 4px 20px rgba(91,46,255,.07);
}
.contact-form-card {
  background: #ffffff;
  border: 1px solid rgba(91,46,255,.2);
  box-shadow: 0 8px 40px rgba(91,46,255,.1);
}
.brand-kit-card {
  background: #ffffff;
  border-color: rgba(91,46,255,.18);
}
.brand-kit-card p { color: #4A3B5C; }

/* ── Success / toast ── */
.success-card {
  background: #ffffff;
  border: 1px solid rgba(91,46,255,.2);
  box-shadow: 0 8px 40px rgba(91,46,255,.12);
}
.success-card p { color: #4A3B5C; }
.global-toast { background: #2B1148; color: #ffffff; }

/* ── Guide grid ── */
.guide-grid article {
  background: #ffffff;
  border-color: rgba(91,46,255,.2);
  box-shadow: 0 4px 16px rgba(91,46,255,.07);
  color: #0B0B12;
}
.guide-grid p { color: #4A3B5C; }

/* ── Market disclosure ── */
.market-disclosure {
  background: linear-gradient(105deg, rgba(91,46,255,.08), rgba(233,221,255,.5));
  border-color: rgba(91,46,255,.2);
}
.market-disclosure strong { color: #0B0B12; }
.market-disclosure p { color: #4A3B5C; }

/* ── Footer ── */
.site-footer {
  background: #2B1148;
  color: #C8A2FF;
}
.footer-brand p { color: #C8A2FF; }
.footer-links h2 { color: #ffffff; }
.footer-links a { color: #C8A2FF; }
.footer-links a:hover { color: #ffffff; }
.footer-legal { color: rgba(200,162,255,.55); }

/* ── Stat chip ── */
.stat-chip {
  background: rgba(91,46,255,.12);
  color: #5B2EFF;
  border: 1px solid rgba(91,46,255,.3);
}

/* ── Section dividers ── */
.home-section + .home-section { border-top-color: rgba(91,46,255,.1); }

/* ── Credits ── */
.credits-box { background: #ffffff; border-color: rgba(91,46,255,.2); }
.credits-box .credits-balance { color: #5B2EFF; }
.credits-box .credits-note { color: #4A3B5C; }
.credits-activity-title { color: #5B2EFF; }
.credit-row { color: #4A3B5C; border-bottom-color: rgba(91,46,255,.12); }
.credits-toggle { color: #5B2EFF; }
.credits-empty { color: #4A3B5C; }
/* member dash hero — intentionally stays dark/branded on light bg */
.member-dash-stat { background: rgba(91,46,255,.08); border-color: rgba(91,46,255,.18); }
.credits-pager-btn { border-color: rgba(91,46,255,.2); color: #0B0B12; }
.credits-pager-btn:not(:disabled):hover { background: rgba(91,46,255,.08); }
.credits-pager-info { color: #4A3B5C; }
.credit-row { border-bottom-color: rgba(91,46,255,.12); }
.credit-row-desc { color: #0B0B12; }
.credit-row-date { color: #4A3B5C; }
.demo-note { background: #fff8e6; border-color: rgba(217,119,6,.3); color: #0B0B12; }

/* ── Auth success panel ── */
.auth-success-panel { background: rgba(91,46,255,.07); border-color: #5B2EFF; }
/* ================================================================
   UIP BRAND KIT 2026 — Electric Purple on White
   Royal Purple #5B2EFF · Electric Violet #7A3CFF · Deep Plum #2B1148
   Lavender Glow #C8A2FF · Soft Lilac #E9DDFF · White #FFFFFF
   ================================================================ */

/* ── Page background & global text ── */
body { background: #ffffff; color: #0B0B12; }

/* ── Announcement bar ── */
.announcement {
  background: #5B2EFF;
  color: #ffffff;
  border-bottom: none;
}
.announcement span { color: #E9DDFF; font-style: normal; }
.announcement a { color: #ffffff; font-weight: 800; }
.announcement a:hover { color: #C8A2FF; }

/* ── Site header ── */
.site-header {
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(91,46,255,.15);
}
.brand-wordmark strong { color: #5B2EFF; font-size: 1.35rem; letter-spacing: .06em; }
.brand-wordmark small  { color: #2B1148; }
.main-nav a { color: #0B0B12; }
.main-nav a:hover,
.main-nav a.active { color: #5B2EFF !important; }
.main-nav a::after { background: #5B2EFF; box-shadow: 0 0 8px rgba(91,46,255,.4); }
.account-link, .cart-link {
  color: #0B0B12;
  border-color: rgba(91,46,255,.3);
}
.account-link:hover, .cart-link:hover {
  color: #5B2EFF;
  border-color: #5B2EFF;
  box-shadow: 0 0 14px rgba(91,46,255,.18);
}
@media (max-width: 899px) {
  .main-nav { background: #ffffff; border-color: rgba(91,46,255,.2); }
  .main-nav a { color: #0B0B12; }
  .main-nav a:hover, .main-nav a.active { color: #5B2EFF !important; }
}

/* ── Solution tabs ── */
.solution-tabs {
  background: #ffffff;
  border-top: 1px solid rgba(91,46,255,.08);
  border-bottom: 1px solid rgba(91,46,255,.12);
}
.solution-tabs a { color: #4A3B5C; }
.solution-tabs a:hover { color: #5B2EFF; background: rgba(91,46,255,.05); }
.solution-tabs a.active { color: #5B2EFF; border-bottom-color: #5B2EFF; }

/* ── Buttons ── */
.button-primary {
  background: linear-gradient(135deg, #5B2EFF, #7A3CFF 55%, #9B5CFF);
  border-color: transparent;
  box-shadow: 0 6px 24px rgba(91,46,255,.35);
}
.button-primary:hover { box-shadow: 0 8px 36px rgba(91,46,255,.5); }
.button-ghost {
  color: #5B2EFF !important;
  background: rgba(91,46,255,.06);
  border-color: rgba(91,46,255,.38);
}
.button-ghost:hover {
  color: #5B2EFF !important;
  background: rgba(91,46,255,.12);
  border-color: #5B2EFF;
}
.button-outline { color: #0B0B12; border-color: rgba(91,46,255,.35); }
.button-outline:hover { color: #5B2EFF; border-color: #5B2EFF; }
.button-future { background: linear-gradient(100deg,#2B1148,#5B2EFF); color: #fff; border-color: rgba(91,46,255,.5); }

/* ── Eyebrow & section text ── */
.eyebrow { color: #5B2EFF; }
.eyebrow::before { background: #5B2EFF; box-shadow: none; }
.section-title, .display-title { color: #0B0B12; }
.display-title em { color: #5B2EFF; }
.section-copy, .section-heading > p { color: #4A3B5C; }
.page-hero p { color: #4A3B5C; }
.hero-copy .lead { color: #4A3B5C; }
.text-link { color: #5B2EFF; }
.text-link:hover { color: #7A3CFF; }
.result-line { color: #4A3B5C; }
.result-line strong { color: #0B0B12; }
.auth-copy p { color: #4A3B5C; }
.prose h2, .prose h3 { color: #0B0B12; }
.prose p, .prose li { color: #4A3B5C; }
.prose a { color: #5B2EFF; }
.product-detail-price { color: #5B2EFF; }
.product-detail-summary, .product-detail-description { color: #4A3B5C; }
.catalog-pagination span { color: #4A3B5C; }
.auth-switch { color: #4A3B5C; }
.form-message { color: #4A3B5C; }
.contact-card p { color: #4A3B5C; }
.prose-card p { color: #4A3B5C; }

/* ── Trust strip ── */
.trust-strip { background: #E9DDFF; color: #2B1148; border-color: rgba(91,46,255,.15); }
.trust-item span { color: #4A3B5C; }
.trust-icon { color: #5B2EFF; }

/* ── Hero metrics ── */
.hero-metrics { border-color: rgba(91,46,255,.2); background: rgba(91,46,255,.04); }
.hero-metrics li { background: #ffffff; }
.hero-metrics strong { color: #5B2EFF; }
.hero-metrics span { color: #4A3B5C; }

/* ── Product cards ── */
.product-card {
  background: #ffffff;
  border-color: rgba(91,46,255,.2);
  box-shadow: 0 4px 18px rgba(91,46,255,.07);
  color: #0B0B12;
}
.product-card:hover {
  border-color: rgba(91,46,255,.5);
  box-shadow: 0 10px 36px rgba(91,46,255,.16);
}
.product-card-body > p:not(.product-kicker) { color: #4A3B5C; }
.product-title-line h3 a { color: #0B0B12; }
.product-title-line strong { color: #5B2EFF; }
.product-kicker { color: #5B2EFF; }
.live-product-card  { border-color: rgba(91,46,255,.22); }
.future-product-card{ border-color: rgba(91,46,255,.15); }
.live-status   { color: #FF2ED1; background: rgba(255,46,209,.08); border-color: rgba(255,46,209,.3); }
.future-status { color: #5B2EFF; background: #E9DDFF; border-color: rgba(91,46,255,.3); }
.future-price  { color: #7A3CFF !important; }
.card-problem  { background: #f8f5ff; border-color: rgba(91,46,255,.12); color: #4A3B5C; }
.card-problem b{ color: #0B0B12; }

/* ── Market segment glows (RGB triplets) ── */
.product-card, .market-hub-card { --seg: 91, 46, 255; }
[data-market="higher-education"]        { --seg: 91, 108, 255; }
[data-market="college-students"]        { --seg: 63, 169, 255; }
[data-market="graduate-doctoral"]       { --seg: 180, 140, 0; }
[data-market="professional-development"]{ --seg: 200, 100, 0; }
[data-market="professional-agencies"]   { --seg: 170, 40, 210; }
[data-market="research-evaluation"]     { --seg: 30, 160, 80; }
[data-market="nonprofits"]              { --seg: 10, 160, 160; }
[data-market="government"]              { --seg: 210, 40, 60; }
[data-market="business"]                { --seg: 20, 160, 100; }
[data-market="workforce-community"]     { --seg: 200, 90, 0; }

.product-card[data-market] {
  border-color: rgba(var(--seg), .22);
  box-shadow: 0 4px 18px rgba(var(--seg), .08);
}
.product-card[data-market]:hover {
  border-color: rgba(var(--seg), .55);
  box-shadow: 0 10px 36px rgba(var(--seg), .18);
}
.product-card[data-market] .product-kicker { color: rgb(var(--seg)); }

/* ── Market hub cards ── */
.market-hub-card {
  background: #ffffff;
  border-color: rgba(91,46,255,.18);
  box-shadow: 0 4px 16px rgba(91,46,255,.07);
  color: #0B0B12;
}
.market-hub-card p { color: #4A3B5C; }
.market-hub-card > span { background: #E9DDFF; color: #5B2EFF; border-color: rgba(91,46,255,.25); }
.market-hub-card:hover { border-color: rgba(91,46,255,.5); box-shadow: 0 10px 32px rgba(91,46,255,.14); }
.market-hub-card[data-market]       { border-color: rgba(var(--seg), .22); }
.market-hub-card[data-market]:hover { border-color: rgba(var(--seg), .55); box-shadow: 0 10px 32px rgba(var(--seg), .16); }
.market-hub-card[data-market] > span{ background: rgba(var(--seg), .1); color: rgb(var(--seg)); border-color: rgba(var(--seg), .28); }

/* ── Category cards ── */
.category-card { background: #ffffff; border-color: rgba(91,46,255,.18); box-shadow: 0 4px 14px rgba(91,46,255,.06); color: #0B0B12; }
.category-card p { color: #4A3B5C; }

/* ── Guide grid ── */
.guide-grid article { background: #ffffff; border-color: rgba(91,46,255,.18); box-shadow: 0 4px 14px rgba(91,46,255,.06); color: #0B0B12; }
.guide-grid p { color: #4A3B5C; }

/* ── Auth card ── */
.auth-card { background: #ffffff; color: #0B0B12; border: 1px solid rgba(91,46,255,.18); box-shadow: 0 8px 40px rgba(91,46,255,.1); }
.auth-card > p { color: #4A3B5C; }
.auth-card label { color: #0B0B12; }
.auth-card .text-link { color: #5B2EFF; }
.auth-symbols span { background: #E9DDFF; color: #5B2EFF; border-color: rgba(91,46,255,.2); }

/* ── Forms / inputs ── */
input, select, textarea {
  color: #0B0B12;
  background: #ffffff;
  border-color: rgba(91,46,255,.25);
}
input:focus, select:focus, textarea:focus {
  border-color: #5B2EFF;
  box-shadow: 0 0 0 3px rgba(91,46,255,.1);
}
input::placeholder, textarea::placeholder { color: #9B8BB0; }

/* ── Shop toolbar ── */
.shop-toolbar { background: #ffffff; border-color: rgba(91,46,255,.15); color: #0B0B12; box-shadow: none; }
.shop-filter  { color: #0B0B12; background: #ffffff; border-color: rgba(91,46,255,.25); }

/* ── Account / library / cart ── */
.account-sidebar { background: #ffffff; border-color: rgba(91,46,255,.15); color: #0B0B12; box-shadow: 0 4px 20px rgba(91,46,255,.07); }
.account-sidebar p { color: #4A3B5C; }
.library-item { background: #ffffff; border-color: rgba(91,46,255,.15); color: #0B0B12; }
.library-item-body p { color: #4A3B5C; }
.cart-item { background: #ffffff; border-color: rgba(91,46,255,.15); color: #0B0B12; }
.cart-item p { color: #4A3B5C; }
.cart-summary { background: #ffffff; border: 1px solid rgba(91,46,255,.18); box-shadow: 0 8px 32px rgba(91,46,255,.09); color: #0B0B12; }
.cart-summary small { color: #4A3B5C; }

/* ── Product buy box ── */
.product-buy-box { background: #ffffff; border-color: rgba(91,46,255,.18); box-shadow: 0 6px 28px rgba(91,46,255,.09); }
.product-buy-box p { color: #4A3B5C; }

/* ── Membership band (kept dark for contrast) ── */
.membership-band { background: linear-gradient(135deg,#2B1148,#1E0B33); border: none; box-shadow: 0 8px 40px rgba(91,46,255,.2); }
.membership-band .section-title { color: #ffffff; }
.membership-band .section-copy  { color: #C8A2FF; }
.membership-band .eyebrow       { color: #C8A2FF; }
.membership-band .eyebrow::before { background: #C8A2FF; }
.membership-point { background: rgba(255,255,255,.06); border-color: rgba(200,162,255,.18); }
.membership-point b      { background: #5B2EFF; color: #fff; }
.membership-point strong { color: #ffffff; }
.membership-point span   { color: #C8A2FF; }

/* ── Empty / loading ── */
.empty-panel, .loading-state { background: #f8f5ff; border-color: rgba(91,46,255,.18); color: #4A3B5C; }
.empty-panel h2 { color: #0B0B12; }
.empty-symbol { color: #5B2EFF; }

/* ── Pagination ── */
.catalog-pagination button { background: #ffffff; border-color: rgba(91,46,255,.28); color: #5B2EFF; }
.catalog-pagination button:hover:not(:disabled) { background: #5B2EFF; color: #ffffff; box-shadow: 0 4px 18px rgba(91,46,255,.3); }

/* ── Prose / contact / brand-kit ── */
.prose-card     { background: #ffffff; border-color: rgba(91,46,255,.15); box-shadow: 0 4px 18px rgba(91,46,255,.06); }
.contact-card   { background: #ffffff; border-color: rgba(91,46,255,.15); box-shadow: 0 4px 18px rgba(91,46,255,.06); }
.contact-form-card { background: #ffffff; border: 1px solid rgba(91,46,255,.18); box-shadow: 0 8px 40px rgba(91,46,255,.09); }
.brand-kit-card { background: #ffffff; border-color: rgba(91,46,255,.15); }
.brand-kit-card p { color: #4A3B5C; }

/* ── Success / toast / demo ── */
.success-card { background: #ffffff; border: 1px solid rgba(91,46,255,.18); box-shadow: 0 8px 40px rgba(91,46,255,.1); }
.success-card p { color: #4A3B5C; }
.global-toast { background: #2B1148; color: #ffffff; }
.demo-note { background: #fffbeb; border-color: rgba(217,119,6,.28); color: #0B0B12; }
.auth-success-panel { background: rgba(91,46,255,.06); border-color: #5B2EFF; }

/* ── Market disclosure ── */
.market-disclosure { background: linear-gradient(105deg,rgba(91,46,255,.07),rgba(233,221,255,.4)); border-color: rgba(91,46,255,.18); }
.market-disclosure strong { color: #0B0B12; }
.market-disclosure p { color: #4A3B5C; }

/* ── Footer ── */
.site-footer { background: #2B1148; color: #C8A2FF; }
.footer-brand p   { color: #C8A2FF; }
.footer-links h2  { color: #ffffff; }
.footer-links a   { color: #C8A2FF; }
.footer-links a:hover { color: #ffffff; }
.footer-legal { color: rgba(200,162,255,.5); }

/* ── Stat chip ── */
.stat-chip { background: rgba(91,46,255,.1); color: #5B2EFF; border: 1px solid rgba(91,46,255,.25); }

/* ── Credits ── */
.credits-box { background: #ffffff; border-color: rgba(91,46,255,.18); }
.credits-box .credits-balance { color: #5B2EFF; }
.credits-box .credits-note   { color: #4A3B5C; }
.credits-activity-title { color: #5B2EFF; }
.credit-row   { color: #4A3B5C; border-bottom-color: rgba(91,46,255,.1); }
.credits-toggle { color: #5B2EFF; }
.credits-empty  { color: #4A3B5C; }
/* member dash hero — stays dark/branded */
.member-dash-stat { background: rgba(91,46,255,.07); border-color: rgba(91,46,255,.15); }
.credits-pager-btn { border-color: rgba(91,46,255,.18); color: #0B0B12; }
.credits-pager-btn:not(:disabled):hover { background: rgba(91,46,255,.07); }
.credits-pager-info { color: #4A3B5C; }
.credit-row { border-bottom-color: rgba(91,46,255,.1); }
.credit-row-desc { color: #0B0B12; }
.credit-row-date { color: #4A3B5C; }

/* ================================================================
   NEON PURPLE SYSTEM — Brand Kit 2026
   Neon electric purple glows, circuit motifs, deep plum darks
   ================================================================ */

/* ── Neon body: pure white + faint circuit grid ── */
body { background: #ffffff; }
body::before {
  opacity: .18;
  background-image:
    linear-gradient(rgba(91,46,255,.5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91,46,255,.5) 1px, transparent 1px);
  background-size: 38px 38px;
  mask-image: linear-gradient(to bottom, #000 0%, transparent 75%);
}

/* ── Announcement bar: deep plum + neon border ── */
.announcement {
  background: #2B1148;
  border-bottom: 2px solid #5B2EFF;
  color: #ffffff;
}
.announcement span { color: #C8A2FF; }
.announcement a { color: #C8A2FF; font-weight: 900; letter-spacing: .04em; }
.announcement a:hover { color: #ffffff; text-shadow: 0 0 12px rgba(192,144,255,.8); }

/* ── Header: white with neon underline ── */
.site-header { border-bottom: 2px solid rgba(91,46,255,.3); }
.brand-wordmark strong { color: #5B2EFF; font-family: var(--font-display); font-size: 1.35rem; font-weight: 950; letter-spacing: .05em; }
.brand-wordmark small  { color: #2B1148; font-weight: 700; letter-spacing: .1em; }
.main-nav a { color: #0B0B12; font-weight: 700; }
.main-nav a:hover, .main-nav a.active { color: #5B2EFF !important; }
.main-nav a.active::after { background: #5B2EFF; box-shadow: 0 0 10px rgba(91,46,255,.6); }

/* ── Buttons: neon electric purple ── */
.button-primary {
  background: linear-gradient(135deg, #5B2EFF, #7A3CFF 55%, #9B6BFF);
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 4px 20px rgba(91,46,255,.45), 0 0 0 0 rgba(91,46,255,0);
  transition: box-shadow .2s, transform .15s;
}
.button-primary:hover {
  box-shadow: 0 6px 30px rgba(91,46,255,.65), 0 0 40px rgba(91,46,255,.2);
  transform: translateY(-1px);
}
.button-ghost {
  color: #5B2EFF !important;
  border-color: #5B2EFF;
  background: rgba(91,46,255,.05);
  box-shadow: inset 0 0 0 1px rgba(91,46,255,.2);
}
.button-ghost:hover {
  background: rgba(91,46,255,.1);
  box-shadow: 0 0 18px rgba(91,46,255,.25), inset 0 0 0 1px #5B2EFF;
}

/* ── Product cards: white + neon purple glow ── */
.product-card {
  border: 1px solid rgba(91,46,255,.2);
  box-shadow: 0 2px 12px rgba(91,46,255,.07);
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.product-card:hover {
  border-color: #5B2EFF;
  box-shadow: 0 8px 32px rgba(91,46,255,.25), 0 0 0 1px rgba(91,46,255,.15);
  transform: translateY(-4px);
}
.product-kicker { color: #5B2EFF; }
.product-title-line strong { color: #5B2EFF; }
.live-status { color: #FF2ED1; background: rgba(255,46,209,.08); border-color: rgba(255,46,209,.3); }
.future-price { color: #7A3CFF !important; }

/* ── Market segment glows (brighter neon) ── */
.product-card[data-market]:hover {
  box-shadow: 0 8px 32px rgba(var(--seg),.3), 0 0 0 1px rgba(var(--seg),.2);
}

/* ── Market hub cards ── */
.market-hub-card {
  border: 1px solid rgba(91,46,255,.2);
  box-shadow: 0 2px 12px rgba(91,46,255,.06);
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.market-hub-card:hover {
  border-color: #5B2EFF;
  box-shadow: 0 8px 28px rgba(91,46,255,.22), 0 0 0 1px rgba(91,46,255,.12);
  transform: translateY(-3px);
}
.market-hub-card > span {
  background: linear-gradient(135deg, #E9DDFF, #DDD0FF);
  color: #5B2EFF;
  border: 1px solid rgba(91,46,255,.25);
  font-weight: 900;
  box-shadow: inset 0 0 12px rgba(91,46,255,.1);
}
.market-hub-card[data-market] > span {
  background: rgba(var(--seg),.1);
  color: rgb(var(--seg));
  border-color: rgba(var(--seg),.3);
}

/* ── Trust strip: lilac with neon line ── */
.trust-strip {
  background: #E9DDFF;
  border-top: 1.5px solid rgba(91,46,255,.25);
  border-bottom: 1.5px solid rgba(91,46,255,.25);
}
.trust-icon { color: #5B2EFF; filter: drop-shadow(0 0 4px rgba(91,46,255,.4)); }

/* ── Hero metrics: neon purple numbers ── */
.hero-metrics li { background: #ffffff; border: none; }
.hero-metrics strong { color: #5B2EFF; text-shadow: 0 0 20px rgba(91,46,255,.3); }
.hero-metrics { border-color: rgba(91,46,255,.2); background: #E9DDFF; }

/* ── Eyebrow: neon purple ── */
.eyebrow { color: #5B2EFF; }
.eyebrow::before { background: #5B2EFF; box-shadow: 0 0 8px rgba(91,46,255,.5); }
.display-title em { color: #5B2EFF; }
.section-title { color: #0B0B12; }

/* ── Auth card neon border ── */
.auth-card {
  border: 1px solid rgba(91,46,255,.25);
  box-shadow: 0 8px 40px rgba(91,46,255,.14), 0 0 0 1px rgba(91,46,255,.08);
}
input:focus, select:focus, textarea:focus {
  border-color: #5B2EFF;
  box-shadow: 0 0 0 3px rgba(91,46,255,.15);
}

/* ── Owner button: hot pink neon ── */
.owner-btn {
  border-color: #FF2ED1 !important;
  color: #FF2ED1 !important;
  box-shadow: 0 0 12px rgba(255,46,209,.25);
}
.owner-btn:hover { box-shadow: 0 0 20px rgba(255,46,209,.5) !important; }

/* ── Cart & sign in: neon border ── */
.account-link, .cart-link { border-color: rgba(91,46,255,.3); }
.account-link:hover, .cart-link:hover {
  border-color: #5B2EFF;
  box-shadow: 0 0 14px rgba(91,46,255,.25);
}

/* ── Stat chip: neon ── */
.stat-chip {
  background: #2B1148;
  color: #C8A2FF;
  border: 1px solid rgba(91,46,255,.5);
  box-shadow: 0 0 12px rgba(91,46,255,.3);
  font-weight: 800;
  letter-spacing: .1em;
}

/* ── Membership band: deep plum + neon ── */
.membership-band {
  background: linear-gradient(135deg, #2B1148 0%, #160827 100%);
  box-shadow: 0 8px 40px rgba(91,46,255,.25);
  position: relative;
  overflow: hidden;
}
.membership-band::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(91,46,255,.15) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91,46,255,.15) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}
.membership-point {
  background: rgba(91,46,255,.12);
  border: 1px solid rgba(192,144,255,.2);
  box-shadow: inset 0 0 16px rgba(91,46,255,.05);
}
.membership-point b { background: #5B2EFF; box-shadow: 0 0 14px rgba(91,46,255,.5); }

/* ── Footer: deep plum neon ── */
.site-footer {
  background: #2B1148;
  border-top: 2px solid rgba(91,46,255,.4);
  position: relative; overflow: hidden;
}
.site-footer::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(91,46,255,.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91,46,255,.1) 1px, transparent 1px);
  background-size: 36px 36px;
  pointer-events: none;
}
.footer-links h2 { color: #C8A2FF; }
.footer-links a { color: rgba(192,144,255,.7); }
.footer-links a:hover { color: #C8A2FF; text-shadow: 0 0 8px rgba(192,144,255,.4); }

/* ── Solution tabs: white with neon active ── */
.solution-tabs { border-bottom: 2px solid rgba(91,46,255,.15); }
.solution-tabs a.active { color: #5B2EFF; border-bottom-color: #5B2EFF; text-shadow: 0 0 10px rgba(91,46,255,.3); }

/* ── Guide grid cards ── */
.guide-grid article:hover {
  border-color: rgba(91,46,255,.4);
  box-shadow: 0 6px 24px rgba(91,46,255,.14);
}

/* ── Brand mono (logo SVG) in header ── */
.brand-mono { filter: drop-shadow(0 0 6px rgba(91,46,255,.35)); }

/* ── Shop toolbar readability on white background ── */
.shop-toolbar {
  background: #ffffff;
  border: 1px solid rgba(91,46,255,.2);
  box-shadow: 0 2px 12px rgba(91,46,255,.06);
}
.category-links a {
  color: #3D2E55;
  border-color: rgba(91,46,255,.3);
  background: #ffffff;
}
.category-links a:hover {
  color: #5B2EFF;
  border-color: #5B2EFF;
  background: rgba(91,46,255,.06);
  box-shadow: none;
}
.category-links a.active {
  color: #ffffff;
  border-color: #5B2EFF;
  background: #5B2EFF;
  box-shadow: 0 0 14px rgba(91,46,255,.35);
}
.field label, .field > span { color: #0B0B12; }
input, select, textarea {
  color: #0B0B12;
  background: #ffffff;
  border-color: rgba(91,46,255,.28);
}
input::placeholder, textarea::placeholder { color: #9B8BB0; }

/* ── UP icon logo treatments (dark orb mark) ── */
.brand-mono { border-radius: 50%; }
.hero-logo { border-radius: 36px; box-shadow: 0 24px 90px rgba(91,46,255,.35), 0 0 0 1px rgba(91,46,255,.15); }
.kit-logo-stage img { border-radius: 32px; }
.kit-badge-row img { border-radius: 22px; }
.founder-card img { border-radius: 50%; }

/* ── Footer readability: bright text on deep plum ── */
.site-footer { color: #D8C7F5; }
.footer-brand p { color: #D8C7F5; }
.footer-equation { color: #C8A2FF; opacity: .85; }
.footer-brand-lockup strong { color: #ffffff; }
.footer-brand-lockup span { color: #C8A2FF; }
.footer-links h2 { color: #ffffff; }
.footer-links a { color: #CDB6F5; font-weight: 600; }
.footer-links a:hover { color: #ffffff; text-shadow: 0 0 10px rgba(200,162,255,.5); }
.footer-bottom { color: #B49BE0; border-top-color: rgba(200,162,255,.25); }
.footer-bottom a { color: #C8A2FF; }

/* ── Readable script + Orbitron headlines per brand kit ── */
.display-title, .section-title { font-family: var(--font-display); }
.display-title { font-size: clamp(2.5rem, 5.2vw, 5.4rem); letter-spacing: -.01em; line-height: 1.04; }
.section-title { letter-spacing: .01em; }
.display-title em {
  font-family: var(--font-script);
  font-style: normal;
  font-size: .95em;
  letter-spacing: .025em;
  line-height: 1.2;
  display: inline-block;
  padding: .06em .15em .16em 0;
}

/* ── Compact shop toolbar: chips fit one row ── */
.shop-toolbar { grid-template-columns: 1fr minmax(230px, 320px); padding: 14px 16px; gap: 12px; align-items: center; }
.category-links { gap: 7px; }
.category-links a { padding: 7px 12px; font-size: .78rem; white-space: nowrap; }
.search-form input { min-height: 42px; padding: 8px 14px; }
.search-form button { min-height: 42px; padding: 0 20px; border-radius: 12px; }
@media (max-width: 900px) { .shop-toolbar { grid-template-columns: 1fr; } }

/* ── Denser layout: bigger body type, tighter cards & sections ── */
body { font-size: 1.02rem; }
.product-grid { grid-template-columns: repeat(auto-fill, minmax(235px, 1fr)); gap: 16px; }
.product-card .card-body, .product-card > div { padding: 14px 16px 16px; }
.section-heading { margin-bottom: 22px; gap: 20px; }
.home-section { padding: clamp(26px, 3.2vw, 44px) 0; }
.hero-home { padding: clamp(24px, 3.5vw, 44px) 0 36px; }
.page-hero { padding: clamp(24px, 3.5vw, 44px) 0 32px; }
.page-hero::after { font-size: clamp(9rem, 24vw, 22rem); }
.display-title { font-size: clamp(2.3rem, 4.6vw, 4.6rem); }
.hero-metrics { margin-top: 22px; }
.trust-strip { padding: 14px 0; }

/* ── Very light gray page background ── */
body { background: #F5F5F7; }
.page-hero, .home-section { background: transparent; }

/* ── Slightly darker page gray + final chip squeeze ── */
body { background: #EDEDF1; }
@media (min-width: 901px) { .shop-toolbar { grid-template-columns: 1fr minmax(220px, 300px); } }
.category-links { gap: 6px; }
.category-links a { padding: 6px 11px; font-size: .76rem; }

/* ── No background grid ── */
body::before, body::after { background-image: none !important; }

/* ── Darker page background ── */
body { background: #E2E2E8; }

/* ── Even darker page background ── */
body { background: #D5D5DC; }

/* ── Product card: black border + 10-colour glow cycle ── */
.product-card {
  border: 2px solid #000;
  box-shadow: 0 0 0 1px var(--cc, #7A3CFF),
              0 0 18px 2px color-mix(in srgb, var(--cc, #7A3CFF) 55%, #000),
              0 8px 28px rgba(0,0,0,.55);
}
.product-card:hover {
  transform: translateY(-6px);
  border-color: #000;
  box-shadow: 0 0 0 2px var(--cc, #7A3CFF),
              0 0 38px 6px color-mix(in srgb, var(--cc, #7A3CFF) 70%, #000),
              0 18px 55px rgba(0,0,0,.7);
}

/* 10 colours — cycles every 10 cards in any grid */
.product-grid .product-card:nth-child(10n+1)  { --cc: #7A3CFF; }
.product-grid .product-card:nth-child(10n+2)  { --cc: #FF3CAC; }
.product-grid .product-card:nth-child(10n+3)  { --cc: #3CF0FF; }
.product-grid .product-card:nth-child(10n+4)  { --cc: #3CFF8F; }
.product-grid .product-card:nth-child(10n+5)  { --cc: #FF8C3C; }
.product-grid .product-card:nth-child(10n+6)  { --cc: #3C7AFF; }
.product-grid .product-card:nth-child(10n+7)  { --cc: #FF3C6E; }
.product-grid .product-card:nth-child(10n+8)  { --cc: #FFD700; }
.product-grid .product-card:nth-child(10n+9)  { --cc: #3CFFCF; }
.product-grid .product-card:nth-child(10n+10) { --cc: #FF3CFF; }

/* ── Card glow: replace color-mix with direct rgba per colour ── */
.product-card {
  box-shadow: 0 0 0 1px var(--cc, #7A3CFF),
              0 0 18px 2px var(--cg, rgba(122,60,255,.5)),
              0 8px 28px rgba(0,0,0,.55);
}
.product-card:hover {
  box-shadow: 0 0 0 2px var(--cc, #7A3CFF),
              0 0 38px 8px var(--cg, rgba(122,60,255,.65)),
              0 18px 55px rgba(0,0,0,.7);
}
.product-grid .product-card:nth-child(10n+1)  { --cc:#7A3CFF; --cg:rgba(122,60,255,.55); }
.product-grid .product-card:nth-child(10n+2)  { --cc:#FF3CAC; --cg:rgba(255,60,172,.55); }
.product-grid .product-card:nth-child(10n+3)  { --cc:#3CF0FF; --cg:rgba(60,240,255,.50); }
.product-grid .product-card:nth-child(10n+4)  { --cc:#3CFF8F; --cg:rgba(60,255,143,.50); }
.product-grid .product-card:nth-child(10n+5)  { --cc:#FF8C3C; --cg:rgba(255,140,60,.55); }
.product-grid .product-card:nth-child(10n+6)  { --cc:#3C7AFF; --cg:rgba(60,122,255,.55); }
.product-grid .product-card:nth-child(10n+7)  { --cc:#FF3C6E; --cg:rgba(255,60,110,.55); }
.product-grid .product-card:nth-child(10n+8)  { --cc:#FFD700; --cg:rgba(255,215,0,.55);  }
.product-grid .product-card:nth-child(10n+9)  { --cc:#3CFFCF; --cg:rgba(60,255,207,.50); }
.product-grid .product-card:nth-child(10n+10) { --cc:#FF3CFF; --cg:rgba(255,60,255,.55); }

/* ── 2 px border pass (all visible boxes) ─────────────────────────── */
.product-card,
.market-hub-card,
.live-product-card,
.future-product-card    { border-width: 2px; }

input, select, textarea { border-width: 2px; }

.shop-toolbar           { border-width: 2px; }
.shop-filter            { border-width: 2px; }

.account-sidebar        { border-width: 2px; }
.library-item           { border-width: 2px; }
.cart-item              { border-width: 2px; }
.product-buy-box        { border-width: 2px; }

.concept-story          { border-width: 2px; }
.category-links a       { border-width: 2px; }

.auth-symbols span      { border-width: 2px; }
.account-link,
.cart-link              { border-width: 2px; }

/* ════════════════════════════════════════════════════════════════════
   PINK INJECTION — #FF2ED1 accent woven throughout every page
   ════════════════════════════════════════════════════════════════════ */

/* Eyebrow accent dash → pink */
.eyebrow::before {
  background: #FF2ED1 !important;
  box-shadow: 0 0 10px rgba(255,46,209,.55) !important;
}

/* Cursive / script em lines ("Lead in purple.", etc.) → pink */
.display-title em,
em { color: #FF2ED1 !important; }

/* Section-title script emphasis */
.section-title em { color: #FF2ED1 !important; }

/* Feature list tick marks → pink */
.feature-list li::before { color: #FF2ED1 !important; }

/* Outcome-story left bar → pink (mirrors problem-story) */
.outcome-story { border-left-color: #FF2ED1 !important; }

/* Product detail price → pink */
.product-detail-price { color: #FF2ED1 !important; }

/* Account name label → pink */
.account-name { color: #FF2ED1 !important; }

/* Stat chips → pink */
.stat-chip {
  color: #FF2ED1 !important;
  border-color: rgba(255,46,209,.35) !important;
  background: rgba(255,46,209,.08) !important;
}

/* Announcement bar CTA link → pink */
.announcement a { color: #FF2ED1 !important; }
.announcement a:hover { color: #ffffff !important; text-shadow: 0 0 14px rgba(255,46,209,.8) !important; }

/* Sign in / Cart nav buttons hover → pink glow */
.account-link:hover,
.cart-link:hover {
  border-color: #FF2ED1 !important;
  box-shadow: 0 0 16px rgba(255,46,209,.35) !important;
}

/* Footer bottom rule → pink */
.footer-bottom { border-top-color: rgba(255,46,209,.3) !important; }
.footer-equation { color: #FF2ED1 !important; opacity: 1 !important; }
.footer-bottom a { color: #FF2ED1 !important; }

/* Nav active underline → pink glow */
.main-nav a.active::after,
.main-nav a:hover::after {
  background: #FF2ED1 !important;
  box-shadow: 0 0 10px rgba(255,46,209,.7) !important;
}

/* "Owner" portal button → already pink — reinforce */
.account-link.button-owner {
  border-color: #FF2ED1 !important;
  color: #FF2ED1 !important;
}

/* Live product status badge → pink accent (base rules already pink above) */

/* Concept-story label spans → pink */
.problem-story > span { color: #FF2ED1 !important; }
.outcome-story > span { color: #FF2ED1 !important; }

/* Cart summary total → pink */
.cart-total-row strong,
.cart-summary .total-price { color: #FF2ED1 !important; }

/* Library item title hover → pink */
.library-item:hover .library-item-title { color: #FF2ED1 !important; }

/* Product kicker on plain (non-market) cards → pink */
.product-grid .product-card:not([data-market]) .product-kicker { color: #FF2ED1 !important; }

/* Mobile menu links active → pink */
@media (max-width: 768px) {
  .main-nav a.active { color: #FF2ED1 !important; }
}

/* ── Hero logo: slightly smaller ── */
.hero-logo { width: min(78%, 560px) !important; }

/* ── Global 5 % zoom ── */
html { zoom: 1.05; }

/* ── Market pages only — pink cursive tagline ── */
.market-hero p:not(.eyebrow) {
  color: #FF2ED1 !important;
  font-family: "Dancing Script", cursive !important;
  font-size: 1.9rem !important;
  line-height: 1.55 !important;
  letter-spacing: 0.01em !important;
}

/* ── All other page heroes — description stays black, upright ── */
.page-hero:not(.market-hero) p:not(.eyebrow) {
  color: #0B0B12 !important;
  font-family: var(--font-body, 'Lexend', sans-serif) !important;
  font-size: 1.05rem !important;
  font-style: normal !important;
  line-height: 1.6 !important;
  letter-spacing: normal !important;
}

/* ── Market page hero — eyebrow label: purple, upright, no cursive ── */
.page-hero .eyebrow {
  color: #5B2EFF !important;
  font-family: var(--font-body, 'Lexend', sans-serif) !important;
  font-style: normal !important;
  letter-spacing: .18em !important;
}
.page-hero .eyebrow::before { background: #5B2EFF !important; box-shadow: 0 0 8px rgba(91,46,255,.5) !important; }

/* ── List / grid pager ────────────────────────────────────────────────────── */
.list-pager { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 16px 0 4px; font-size: .85rem; color: #6b6b8a; }
.list-pager button { min-height: 34px; padding: 5px 18px; border-radius: 8px; border: 1.5px solid #c8bef0; background: transparent; cursor: pointer; font-size: .84rem; font-weight: 600; color: #5B2EFF; transition: background .15s; }
.list-pager button:hover:not(:disabled) { background: rgba(91,46,255,.08); }
.list-pager button:disabled { opacity: .35; cursor: default; }
.list-pager .pager-info { min-width: 90px; text-align: center; white-space: nowrap; }

/* ═══════════════════════════════════════════════════════════════════════════
   TUTORING PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

/* Hero */
.tutoring-hero { padding: clamp(72px,12vw,140px) 0; text-align: center; background: linear-gradient(160deg, #07001a 0%, #160035 50%, #07001a 100%); position: relative; overflow: hidden; }
.tutoring-hero::before { content: '▶'; position: absolute; top: -60px; right: -40px; font-size: 22rem; color: rgba(162,28,255,.04); line-height: 1; pointer-events: none; }
.tutoring-hero-inner { max-width: 680px; margin: 0 auto; padding: 0 24px; position: relative; }
.tutoring-hero h1 { font-size: clamp(2.4rem,6vw,4rem); margin: 12px 0 18px; color: #fff; line-height: 1.1; }
.tutoring-pink { color: #FF2ED1; font-style: italic; font-family: Georgia, serif; }
.tutoring-hero-sub { font-size: 1.05rem; color: rgba(255,255,255,.72); max-width: 520px; margin: 0 auto 30px; line-height: 1.65; }
.tutoring-hero .eyebrow { color: rgba(200,155,255,.85); }

/* How-it-works steps */
.tutoring-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.tutoring-step { padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: rgba(91,46,255,.03); }
.tutoring-step-num { font-size: 2.6rem; font-weight: 900; color: rgba(91,46,255,.2); line-height: 1; display: block; margin-bottom: 12px; }
.tutoring-step h3 { margin: 0 0 8px; font-size: 1.05rem; }
.tutoring-step p { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.55; }

/* Credits note */
.tutoring-credits-note { margin-bottom: 20px; padding: 12px 18px; border-radius: 14px; background: rgba(91,46,255,.06); border: 1px solid rgba(91,46,255,.2); color: #5B2EFF; font-size: .9rem; font-weight: 600; }

/* Session grid — reuses .product-card, just needs a grid wrapper */
.tutoring-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(280px,1fr)); gap: 20px; }

/* Tutoring-specific card additions */
.tutoring-card .tutoring-includes { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 14px; }
.tutoring-tag { padding: 3px 10px; border-radius: 999px; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; border: 1px solid; }
.tutoring-tag-video { color: #FF2ED1; border-color: rgba(255,46,209,.3); background: rgba(255,46,209,.07); }
.tutoring-tag-tool  { color: #5B2EFF; border-color: rgba(91,46,255,.3); background: rgba(91,46,255,.06); }

/* Buy row */
.tutoring-buy-row { display: flex; flex-direction: column; gap: 10px; }
.tutoring-price { font-size: 1.25rem; font-weight: 900; color: #5B2EFF; }
.tutoring-buy-actions { display: flex; gap: 8px; }
.tutoring-buy-actions .button { flex: 1; justify-content: center; }

/* Owned row */
.tutoring-owned-row { display: flex; flex-direction: column; gap: 8px; }
.tutoring-owned-badge { display: inline-block; padding: 4px 12px; border-radius: 999px; background: #ecfdf5; color: #1a6b3e; border: 1px solid #86efac; font-size: .72rem; font-weight: 700; letter-spacing: .04em; width: fit-content; }
.tutoring-owned-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.tutoring-owned-actions .button { flex: 1; justify-content: center; }

/* What-you-get bundle section */
.tutoring-bundle-section { background: #07001a; }
.tutoring-bundle-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.tutoring-bundle-text .eyebrow { color: rgba(200,155,255,.8); }
.tutoring-bundle-text h2 { color: #fff; font-size: clamp(1.6rem,3.5vw,2.4rem); margin: 10px 0 16px; }
.tutoring-bundle-text p { color: rgba(255,255,255,.68); font-size: .95rem; line-height: 1.7; }
.tutoring-bundle-cards { display: grid; gap: 16px; }
.tutoring-bundle-card { padding: 22px; border-radius: 18px; border: 1px solid rgba(162,28,255,.25); background: rgba(91,46,255,.08); }
.tutoring-bundle-icon { font-size: 2rem; display: block; margin-bottom: 10px; }
.tutoring-bundle-card h3 { color: #fff; font-size: 1rem; margin-bottom: 6px; }
.tutoring-bundle-card p { color: rgba(255,255,255,.6); font-size: .85rem; line-height: 1.55; margin: 0; }

/* Library two-button actions */
.library-item-actions { margin-top: auto; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.library-item-actions .button { padding-inline: 14px; }
/* Remove old single-button margin-top from .library-item-body .button */
.library-item-body > .button { margin-top: auto; }
.library-item-body .library-item-actions ~ .button { margin-top: 0; }

/* Responsive */
@media (max-width: 900px) {
  .tutoring-bundle-inner { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 700px) {
  .tutoring-steps { grid-template-columns: 1fr; }
  .tutoring-buy-actions { flex-direction: column; }
  .tutoring-owned-actions { flex-direction: column; }
}

/* Light theme overrides for tutoring */
[data-theme="light"] .tutoring-step { background: #fff; border-color: rgba(91,46,255,.12); }
[data-theme="light"] .tutoring-credits-note { background: rgba(91,46,255,.05); }

/* ── Paid product card — disabled state ─────────────────────────────────── */
.card-buy-disabled { opacity: .55; cursor: not-allowed; font-size: .8rem; pointer-events: none; }
.card-buy-now { white-space: nowrap; }

/* ── Member library search bar (v54) ─────────────────────────────────────── */
.lib-search-bar {
  display: flex; gap: 10px; flex-wrap: wrap; align-items: center;
  margin: 18px 0 10px;
}
.lib-search-input {
  flex: 1 1 200px; min-width: 0;
  padding: 11px 14px; border-radius: 12px;
  border: 1.5px solid var(--line); background: transparent;
  color: inherit; font: inherit; font-size: .9rem;
  transition: border-color .15s;
}
.lib-search-input:focus { outline: none; border-color: #5B2EFF; }
.lib-search-input::placeholder { color: var(--muted); }
.lib-type-select {
  padding: 11px 14px; border-radius: 12px;
  border: 1.5px solid var(--line); background: transparent;
  color: inherit; font: inherit; font-size: .9rem; cursor: pointer;
}
.lib-showing-label {
  font-size: .82rem; color: var(--muted); margin: 0 0 14px;
  min-height: 1.2em; display: block;
}
@media (max-width: 540px) {
  .lib-search-bar { flex-direction: column; }
  .lib-type-select { width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE POLISH
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Solution tabs: momentum scroll on iOS + hide scrollbar track ── */
.solution-tabs { -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.solution-tabs::-webkit-scrollbar { display: none; }

/* ── Page hero: clip the huge decorative symbol within the hero box ── */
.page-hero { overflow: hidden; }

/* ── Hero visual: clip stat-chip.three (right:-1%) before it bleeds ── */
.hero-visual { overflow: hidden; }

/* ── Small phones ≤620px: hide stat chips (crowded) + shrink visual ── */
@media (max-width: 620px) {
  .stat-chip { display: none; }
  .hero-visual { min-height: 230px; }
}

/* ── Very small phones ≤480px: auth copy title won't crush layout ── */
@media (max-width: 480px) {
  .auth-copy .display-title { font-size: clamp(2rem, 11vw, 3rem) !important; }
}

/* ── Sub-400px phones: footer bottom text stays readable ── */
@media (max-width: 400px) {
  .footer-bottom { font-size: .72rem; gap: 6px; }
  .catalog-pagination { flex-wrap: wrap; justify-content: center; }
}

/* ── Market hero cursive tagline: less dramatic on small phones ── */
@media (max-width: 620px) {
  .market-hero p:not(.eyebrow) {
    font-size: 1.5rem !important;
    line-height: 1.45 !important;
  }
}

/* ── Search form: stack on ultra-narrow viewports (≤380px) ── */
@media (max-width: 380px) {
  .search-form { grid-template-columns: 1fr; }
  .search-form button { width: 100%; }
}

/* ── Tutoring steps: already 1-col at 700px; force on 540px tablets ── */
@media (max-width: 540px) {
  .tutoring-bundle-inner { gap: 18px; }
}

/* ── Announcement bar: single link, no orphan dash on tiny screens ── */
@media (max-width: 380px) {
  .announcement p { display: none; }
  .announcement span { display: none; }
}

/* ── Neon purple site border ── */
html::after {
  content: '';
  position: fixed;
  inset: 0;
  border: 3px solid #7B2EFF;
  box-shadow:
    0 0 10px 2px rgba(123,46,255,.9),
    0 0 28px 6px rgba(123,46,255,.5),
    0 0 55px 12px rgba(123,46,255,.25),
    inset 0 0 10px 2px rgba(123,46,255,.7),
    inset 0 0 28px 6px rgba(123,46,255,.35);
  pointer-events: none;
  z-index: 99999;
}
