/* =========================================================
   NVM Members — design system (v3, "app" look)
   Colours come only from the NVM badge: plum #5E1251, white and the flame
   (amber -> orange -> red). Gradients carry depth.
   Every colour is a token; components use tokens only.
   ========================================================= */
:root {
  /* Plum scale built around the NVM badge plum #5E1251 */
  --plum-100: #f7eaf4;
  --plum-200: #ecc9e2;
  --plum-300: #dca2cb;
  --plum-400: #bb68a7;
  --plum-500: #8e2e7e;
  --plum-600: #5e1251;          /* logo ring */
  --plum-700: #4a0e40;
  --plum-800: #360a2f;
  --plum-900: #22061d;

  /* Flame (the fire in the logo): amber -> orange -> red */
  --flame-1: #f8b018;
  --flame-2: #f86c00;
  --flame-3: #f80000;

  /* Surfaces (dark plum-black) */
  --bg: #0c040b;
  --bg-2: #150812;
  --surface: rgba(255, 255, 255, .045);
  --surface-strong: #1c0b19;
  --surface-3: #261023;
  --line: rgba(220, 162, 203, .15);
  --line-strong: rgba(220, 162, 203, .36);
  --ink: #fdf6fb;
  --ink-2: #ecd9e6;
  --muted: #b89cb1;
  --black: #000000;

  /* Status — expressed with logo colours only */
  --success: #ecc9e2;
  --success-soft: rgba(142, 46, 126, .28);
  --warning: #f8b018;
  --warning-soft: rgba(248, 176, 24, .12);
  --danger: #ff5a3c;
  --danger-soft: rgba(248, 60, 20, .14);

  /* Tier metals, drawn from the flame + white */
  --gold: #f8b018;
  --gold-bright: #ffd27a;
  --silver: #ece3ea;

  /* Gradients (about half of all surfaces use one) */
  --g-page:
    radial-gradient(1100px 620px at 8% -8%, rgba(142, 46, 126, .42), transparent 62%),
    radial-gradient(900px 520px at 108% 12%, rgba(248, 108, 0, .10), transparent 60%),
    radial-gradient(700px 500px at 50% 115%, rgba(94, 18, 81, .55), transparent 65%),
    linear-gradient(180deg, var(--bg-2), var(--bg));
  --g-brand: linear-gradient(135deg, var(--plum-500) 0%, var(--plum-600) 50%, var(--plum-800) 100%);
  --g-brand-hover: linear-gradient(135deg, #a33c91 0%, #6e1a60 50%, var(--plum-700) 100%);
  --g-flame: linear-gradient(135deg, var(--flame-1) 0%, var(--flame-2) 55%, var(--flame-3) 100%);
  --g-card: linear-gradient(160deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .018));
  --g-card-strong: linear-gradient(160deg, #2a1026, #150812);
  --g-border: linear-gradient(135deg, rgba(220, 162, 203, .8), rgba(220, 162, 203, .08) 55%, rgba(248, 108, 0, .55));
  --g-text: linear-gradient(92deg, #ffffff 10%, var(--plum-300) 60%, var(--flame-1) 100%);
  --g-line: linear-gradient(90deg, transparent, var(--plum-500) 20%, var(--flame-2) 50%, var(--plum-500) 80%, transparent);
  --g-deep: linear-gradient(160deg, #2a0d25 0%, #0c040b 100%);
  --g-silver: linear-gradient(135deg, #ffffff 0%, #e3d6e0 50%, #a998a6 100%);
  --g-gold: linear-gradient(135deg, #ffd27a 0%, #f8b018 45%, #f86c00 100%);
  --g-presidential: linear-gradient(135deg, #2a0d25 0%, #0c040b 60%, #3a1406 100%);

  /* Payment-provider marks (their own logos) */
  --mark-visa: #1a1f71;
  --mark-mc-red: #eb001b;
  --mark-mc-yellow: #f79e1b;
  --mark-paypal-navy: #003087;
  --mark-paypal-blue: #009cde;
  --mark-momo: #ffcc00;

  /* The ID card: white paper, plum print */
  --paper: #ffffff;
  --paper-ink: #1a0617;
  --paper-muted: #6b5566;
  --paper-label: #5e1251;
  --paper-soft: #f7eaf4;
  --guilloche: rgba(94, 18, 81, .06);
  --sig-ink: #2a0d25;

  --overlay: rgba(8, 2, 7, .74);
  --shadow-1: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 8px 24px rgba(0, 0, 0, .38);
  --shadow-2: 0 18px 44px rgba(0, 0, 0, .52);
  --shadow-3: 0 30px 70px rgba(0, 0, 0, .62);
  --glow: 0 10px 34px rgba(142, 46, 126, .45);
  --glow-flame: 0 10px 30px rgba(248, 108, 0, .35);
  --focus: #dca2cb;

  --font-display: "Montserrat", system-ui, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-sign: "Mrs Saint Delafield", "Segoe Script", cursive;
  --font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  --r-sm: 10px;
  --r: 14px;
  --r-lg: 20px;
  --gutter: 16px;
  --maxw: 560px;
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-t: env(safe-area-inset-top, 0px);
  color-scheme: dark;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; background: var(--bg); }
body {
  margin: 0; min-height: 100vh;
  font-family: var(--font-body); font-size: 16px; line-height: 1.55;
  color: var(--ink); background: var(--g-page); background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
}
img, svg, canvas { display: block; max-width: 100%; }
a { color: var(--plum-300); text-decoration: none; }
a:hover { color: var(--plum-200); text-decoration: underline; }
h1, h2, h3, h4 { font-family: var(--font-display); line-height: 1.15; margin: 0 0 .45em; letter-spacing: -.015em; color: var(--ink); }
h1 { font-size: 1.8rem; font-weight: 800; }
h2 { font-size: 1.22rem; font-weight: 700; }
h3 { font-size: 1.02rem; font-weight: 700; }
p { margin: 0 0 1em; }
small, .small { font-size: .8125rem; }
.muted { color: var(--muted); }
.center { text-align: center; }
.mono { font-family: var(--font-mono); font-size: .84rem; }
.eyebrow { font: 700 .7rem var(--font-display); letter-spacing: .18em; text-transform: uppercase; color: var(--plum-300); }
.grad-text { background: var(--g-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.chat-wrap{max-width:900px}.chat-card{height:clamp(420px,calc(100dvh - 210px),760px);padding:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.preview-bar~.chat-page .chat-card{height:clamp(420px,calc(100dvh - 238px),760px)}.chat-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.chat-head h1{margin:0 0 4px}.chat-head p{margin:0;color:var(--muted)}.chat-live{font-size:12px;font-weight:800;color:#157347;background:#dff5e7;border-radius:99px;padding:6px 10px}.chat-messages{height:auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px;background:linear-gradient(145deg,rgba(94,18,81,.04),transparent)}.chat-message{display:flex;gap:10px;align-items:flex-end;margin:0 0 16px;min-width:0}.chat-message.is-mine{flex-direction:row-reverse}.chat-bubble{max-width:min(72%,560px);min-width:0;padding:10px 13px;border:1px solid var(--line);border-radius:16px 16px 16px 4px;background:var(--card)}.is-mine .chat-bubble{border-radius:16px 16px 4px 16px;background:#5e1251;color:#fff;border-color:#5e1251}.chat-meta{font-size:11px;font-weight:700;opacity:.7;margin-bottom:4px}.chat-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.chat-compose{display:flex;gap:10px;padding:14px;border-top:1px solid var(--line);background:var(--surface-strong)}.chat-compose textarea{flex:1;resize:none;min-height:46px;max-height:120px;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit}.chat-compose .btn{min-width:90px}@media(max-width:600px){.chat-page{padding-block:8px}.chat-wrap{padding-inline:8px}.chat-card{height:calc(100dvh - 208px);min-height:350px}.preview-bar~.chat-page .chat-card{height:calc(100dvh - 236px)}.chat-messages{padding:14px}.chat-bubble{max-width:84%}.chat-head{padding:14px 16px}.bottomnav__in a{font-size:10px}}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid>label{min-width:0}.form-grid .input,.form-grid .select{width:100%;margin-top:6px}
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 8px; }
::selection { background: rgba(142, 46, 126, .45); }

/* ---------- Layout ---------- */
.wrap { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); }
.page { padding: 22px 0 36px; }
.page--with-nav { padding-bottom: calc(104px + var(--safe-b)); }
.page--with-bar { padding-bottom: calc(124px + var(--safe-b)); }
.stack > * + * { margin-top: var(--gap, 16px); }
.row { display: flex; gap: 12px; align-items: center; }
.row--between { justify-content: space-between; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
/* Thin glowing brand line (under headers, hero bottom) */
.flag-rule { height: 2px; background: var(--g-line); opacity: .9; }

/* Entrance motion */
@keyframes rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.page > .wrap > *, .reg__main > *, .auth > * { animation: rise .5s cubic-bezier(.2, .8, .2, 1) both; }
.page > .wrap > *:nth-child(2), .reg__main > *:nth-child(2), .auth > *:nth-child(2) { animation-delay: .05s; }
.page > .wrap > *:nth-child(3), .reg__main > *:nth-child(3), .auth > *:nth-child(3) { animation-delay: .1s; }
.page > .wrap > *:nth-child(n+4), .reg__main > *:nth-child(n+4), .auth > *:nth-child(n+4) { animation-delay: .15s; }

/* ---------- Preview banner ---------- */
.preview-bar {
  display: flex; align-items: center; justify-content: center; gap: clamp(16px,5vw,44px);
  min-height: 28px; padding: 4px var(--gutter); padding-top: calc(4px + var(--safe-t));
  background: rgba(94,18,81,.92); border-bottom:1px solid rgba(255,255,255,.08); color: var(--plum-100); font-size: .68rem; letter-spacing:.035em; font-weight: 600;
}
.preview-bar a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
.preview-bar .dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--success); margin-right: 6px; box-shadow: 0 0 8px var(--success); }

/* ---------- Top bar ---------- */
.topbar {
  position: sticky; top: 0; z-index: 20;
  background: rgba(12, 4, 11, .72);
  backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px);
}
.topbar__in { display: flex; align-items: center; gap: 10px; height: 60px; }
.topbar__brand { display: flex; align-items: center; gap: 10px; color: var(--ink); min-width: 0; }
.topbar__brand:hover { text-decoration: none; color: var(--ink); }
.topbar__brand img { width: 36px; height: 36px; border-radius: 50%; background: var(--paper); box-shadow: 0 0 0 2px rgba(220, 162, 203, .25); }
.is-reg .topbar__brand img { width: 72px; height: 72px; }
.is-reg .topbar__in { height: 96px; }
.topbar__title { font: 800 .95rem/1.1 var(--font-display); letter-spacing: .02em; }
.topbar__title small { display: block; font-weight: 600; font-size: .64rem; letter-spacing: .16em; color: var(--muted); text-transform: uppercase; margin-top: 2px; }
.topbar__back { display: grid; place-items: center; width: 40px; height: 40px; margin-left: -8px; border-radius: 12px; color: var(--ink); }
.topbar__back:hover { background: var(--surface); color: var(--ink); text-decoration: none; }
.topbar__end { margin-left: auto; display: flex; gap: 6px; align-items: center; }
.icon-btn { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); cursor: pointer; }
.icon-btn:hover { border-color: var(--line-strong); color: var(--ink); }
.icon-btn svg { width: 20px; height: 20px; }

/* ---------- Bottom nav (member area) ---------- */
.bottomnav {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 30;
  background: rgba(12, 4, 11, .86); border-top: 1px solid var(--line);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  padding-bottom: var(--safe-b);
}
.bottomnav__in { display: grid; grid-template-columns: repeat(4, 1fr); max-width: var(--maxw); margin: 0 auto; }
.bottomnav a { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 9px 4px 8px; font-size: .7rem; font-weight: 600; color: var(--muted); }
.bottomnav a:hover { text-decoration: none; color: var(--ink); }
.bottomnav a[aria-current="page"] { color: var(--ink); }
.bottomnav a[aria-current="page"] svg { background: var(--g-brand); box-shadow: var(--glow); color: var(--ink); }
.bottomnav svg { width: 46px; height: 30px; padding: 5px 12px; border-radius: 12px; }

/* ---------- Buttons ---------- */
.btn {
  --btn-bg: var(--g-brand); --btn-hover: var(--g-brand-hover); --btn-fg: #ffffff; --btn-bd: transparent;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 52px; padding: 13px 22px;
  font: 700 .95rem/1.1 var(--font-display); letter-spacing: .01em;
  color: var(--btn-fg); background: var(--btn-bg); border: 1px solid var(--btn-bd); border-radius: var(--r);
  cursor: pointer; text-align: center; text-decoration: none;
  box-shadow: var(--glow);
  transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover { background: var(--btn-hover); color: var(--btn-fg); text-decoration: none; transform: translateY(-1px); }
.btn:active { transform: translateY(0) scale(.985); }
.btn[disabled], .btn.is-disabled { opacity: .5; pointer-events: none; }
.btn--block { display: flex; width: 100%; }
.btn--sm { min-height: 40px; padding: 8px 14px; font-size: .82rem; border-radius: 11px; }
.btn--ghost, .btn--outline-light {
  --btn-bg: var(--surface); --btn-hover: rgba(255, 255, 255, .09); --btn-fg: var(--ink); --btn-bd: var(--line-strong);
  box-shadow: none;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.btn--inverse { --btn-bg: #ffffff; --btn-hover: var(--plum-200); --btn-fg: var(--plum-800); --btn-bd: transparent; box-shadow: none; }
.btn--dark { --btn-bg: var(--g-deep); --btn-hover: var(--g-card-strong); --btn-bd: var(--line-strong); }
.btn--success { --btn-bg: linear-gradient(135deg, #8e2e7e, #4a0e40); --btn-hover: linear-gradient(135deg, #a33c91, #5e1251); box-shadow: 0 10px 30px rgba(142, 46, 126, .3); }
.btn--danger { --btn-bg: var(--danger-soft); --btn-hover: rgba(248, 60, 20, .2); --btn-fg: var(--danger); --btn-bd: rgba(248, 60, 20, .4); box-shadow: none; }
.btn--gold { --btn-bg: var(--g-gold); --btn-hover: linear-gradient(135deg, #ffe0a0, #f8b018 50%, #c2410c); --btn-fg: #2a0d05; box-shadow: 0 10px 30px rgba(248, 176, 24, .3); }
.btn svg { width: 20px; height: 20px; flex: none; }

/* ---------- Cards / surfaces ---------- */
.card, .status-card, .order, .preview-card, .prose-card {
  background: var(--g-card); border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: 20px; box-shadow: var(--shadow-1);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.card--flush { padding: 0; overflow: hidden; }
.card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.card__head h2, .card__head h3 { margin: 0; }
/* Highlight card: gradient border */
.status-card, .preview-card {
  border: 1px solid transparent;
  background: linear-gradient(var(--surface-strong), var(--surface-strong)) padding-box, var(--g-border) border-box;
}
.list { list-style: none; margin: 0; padding: 0; }
.list > li { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-top: 1px solid var(--line); }
.list > li:first-child { border-top: 0; }
.list a.li-link { display: flex; align-items: center; gap: 12px; flex: 1; color: inherit; min-width: 0; }
.list a.li-link:hover { text-decoration: none; }
.li-link--btn { display: flex; align-items: center; gap: 12px; flex: 1; background: none; border: 0; padding: 0; font: inherit; color: inherit; text-align: left; cursor: pointer; width: 100%; }
.chev { margin-left: auto; color: var(--muted); width: 18px; height: 18px; flex: none; }
.kv { display: grid; grid-template-columns: auto 1fr; gap: 10px 16px; margin: 0; }
.kv dt { color: var(--muted); font-size: .85rem; }
.kv dd { margin: 0; font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.divider { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: .78rem; margin: 18px 0; }
.divider::before, .divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }

.tile {
  display: flex; flex-direction: column; gap: 10px; padding: 16px;
  background: var(--g-card); border: 1px solid var(--line); border-radius: var(--r-lg); color: var(--ink);
  transition: border-color .15s, transform .15s;
}
.tile:hover { text-decoration: none; color: var(--ink); border-color: var(--line-strong); transform: translateY(-2px); }
.tile__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; flex: none; background: var(--g-brand); color: #fff; box-shadow: var(--glow); }
.tile__icon svg { width: 20px; height: 20px; }
.tile__icon--danger { background: var(--danger-soft); color: var(--danger); box-shadow: none; }
.tile strong { font: 700 .92rem var(--font-display); }
.tile span { font-size: .78rem; color: var(--muted); }

/* ---------- Pills / tier badges ---------- */
.pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 999px;
  font-size: .72rem; font-weight: 700; letter-spacing: .02em; white-space: nowrap;
  background: var(--surface); border: 1px solid var(--line); color: var(--ink-2);
}
.pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
.pill--active, .pill--paid, .pill--valid { background: var(--success-soft); border-color: rgba(142, 46, 126, .35); color: var(--success); }
.pill--pending { background: var(--warning-soft); border-color: rgba(248, 176, 24, .35); color: var(--warning); }
.pill--lapsed, .pill--expired, .pill--cancelled { color: var(--muted); }
.pill--rejected, .pill--failed, .pill--invalid { background: var(--danger-soft); border-color: rgba(248, 60, 20, .35); color: var(--danger); }

.tier {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px 5px 9px; border-radius: 999px;
  font: 800 .66rem/1 var(--font-display); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap;
  color: #fff; background: var(--g-brand); box-shadow: 0 4px 14px rgba(142, 46, 126, .35);
}
.tier svg { width: 11px; height: 11px; }
.tier--silver { background: var(--g-silver); color: #2a0d25; box-shadow: 0 4px 14px rgba(236, 227, 234, .25); }
.tier--gold { background: var(--g-gold); color: #2a0d05; box-shadow: 0 4px 14px rgba(248, 176, 24, .3); }
.tier--presidential { background: var(--g-presidential); color: var(--gold-bright); box-shadow: inset 0 0 0 1px var(--gold), 0 4px 14px rgba(248, 176, 24, .25); }

/* ---------- Forms ---------- */
.field { display: flex; flex-direction: column; gap: 7px; }
.field + .field { margin-top: 16px; }
.label { font-weight: 600; font-size: .86rem; color: var(--ink-2); }
.hint { font-size: .78rem; color: var(--muted); }
.error { font-size: .8rem; color: var(--danger); font-weight: 600; display: none; }
.field.is-invalid .error { display: block; }
.field.is-invalid .input, .field.is-invalid .select { border-color: var(--danger); }
.input, .select, textarea.input {
  width: 100%; min-height: 52px; padding: 13px 15px;
  font: 500 1rem/1.3 var(--font-body); color: var(--ink);
  background-color: rgba(12, 4, 11, .55); border: 1px solid var(--line-strong); border-radius: 12px;
  transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.input::placeholder { color: var(--muted); opacity: .85; }
.input:focus, .select:focus { outline: none; border-color: var(--plum-400); box-shadow: 0 0 0 4px rgba(142, 46, 126, .22); background-color: rgba(12, 4, 11, .8); }
.input[readonly] { color: var(--muted); }
.select {
  appearance: none; -webkit-appearance: none; padding-right: 42px;
  background-image: linear-gradient(45deg, transparent 50%, var(--plum-300) 50%), linear-gradient(135deg, var(--plum-300) 50%, transparent 50%);
  background-position: right 21px center, right 16px center; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat;
}
.select option, .select optgroup { background: var(--surface-strong); color: var(--ink); }
.input-group { display: flex; }
.input-group .input-addon {
  display: grid; place-items: center; padding: 0 13px; min-width: 66px;
  background: var(--surface-3); border: 1px solid var(--line-strong); border-right: 0;
  border-radius: 12px 0 0 12px; font-weight: 700; font-size: .9rem; color: var(--plum-200);
}
.input-group .input { border-radius: 0 12px 12px 0; }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; cursor: pointer; color: var(--ink-2); }
.check input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--plum-500); flex: none; }
.search { min-width: 0; }

/* Segmented choice */
.choice { display: grid; gap: 10px; grid-template-columns: repeat(var(--cols, 2), 1fr); }
.choice input { position: absolute; opacity: 0; pointer-events: none; }
.choice label {
  display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 10px;
  border: 1px solid var(--line-strong); border-radius: 12px; background: rgba(12, 4, 11, .45); color: var(--ink);
  font-weight: 600; cursor: pointer; transition: all .15s;
}
.choice input:checked + label { border-color: transparent; background: var(--g-brand); color: #fff; box-shadow: var(--glow); }
.choice input:focus-visible + label { outline: 2px solid var(--focus); outline-offset: 2px; }

/* Location cards */
.loc-card {
  display: flex; gap: 12px; align-items: center; min-height: 72px; padding: 10px 14px;
  border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--g-card); cursor: pointer;
  transition: border-color .15s, box-shadow .15s;
}
.loc-card:hover { border-color: var(--line-strong); }
.loc-card__icon { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; flex: none; overflow: hidden; }
.loc-card strong { display: block; font: 700 1rem var(--font-display); color: var(--ink); }
.loc-card span { font-size: .82rem; color: var(--muted); }
.loc-card::after { content: ""; margin-left: auto; width: 22px; height: 22px; border-radius: 50%; flex: none; border: 2px solid var(--line-strong); }
input:checked + .loc-card { border-color: transparent; background: linear-gradient(var(--surface-strong), var(--surface-strong)) padding-box, var(--g-border) border-box; box-shadow: var(--glow); }
input:checked + .loc-card::after { border: 7px solid var(--plum-400); background: #fff; }
input:focus-visible + .loc-card { outline: 2px solid var(--focus); outline-offset: 2px; }
.flag-gh { background: linear-gradient(var(--gh-red) 0 33.3%, var(--gh-gold) 33.3% 66.6%, var(--gh-green) 66.6%); position: relative; }
.flag-gh::after { content: "★"; position: absolute; inset: 0; display: grid; place-items: center; color: #000; font-size: 16px; line-height: 1; }
.globe { background: var(--g-brand); color: #fff; }

/* Photo upload */
.photo-drop { display: flex; gap: 14px; align-items: center; min-height: 92px; padding: 10px 12px; border: 1px dashed var(--line-strong); border-radius: var(--r-lg); background: rgba(12, 4, 11, .4); }
.photo-drop__img { width: 96px; height: 66px; border-radius: 11px; flex: 0 0 96px; overflow: hidden; background: var(--surface-3); display: grid; place-items: center; color: var(--muted); border: 1px solid var(--line); }
.photo-drop__img img { width: 100%; height: 100%; object-fit: cover; }
.photo-drop__img .i3d { width: 96px; height: 96px; max-width: none; transform: translateY(-28px); }
.photo-drop__img svg { width: 36px; height: 36px; }
.photo-drop__content{display:grid;gap:8px;min-width:0;flex:1}.photo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.avatar-picker{grid-template-columns:repeat(4,54px);gap:8px;padding-top:4px}.avatar-picker:not([hidden]){display:grid}.avatar-picker button{width:54px;height:54px;padding:0;overflow:hidden;border:2px solid var(--line);border-radius:12px;background:var(--surface-3);cursor:pointer;transition:border-color .15s,transform .15s}.avatar-picker button:hover{transform:translateY(-1px);border-color:var(--plum-300)}.avatar-picker button[aria-pressed="true"]{border-color:var(--plum-300);box-shadow:0 0 0 3px rgba(142,46,126,.25)}.avatar-picker img{width:100%;height:100%;object-fit:cover}

/* Signature pad: white paper, it's what gets printed on the card */
.sig { border: 1px solid var(--line-strong); border-radius: var(--r-lg); background: var(--surface-strong); overflow: hidden; }
.sig__tabs { display: flex; border-bottom: 1px solid var(--line); }
.sig__tabs button { flex: 1; padding: 12px; border: 0; background: transparent; font: 600 .85rem var(--font-body); color: var(--muted); cursor: pointer; border-bottom: 2px solid transparent; }
.sig__tabs button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--plum-400); }
.sig__pad { position: relative; height: 170px; touch-action: none; background: var(--paper); }
.sig__pad::before { content: ""; position: absolute; left: 14px; right: 14px; bottom: 44px; height: 1px; background: var(--paper-muted); opacity: .4; }
.sig__pad canvas { position: relative; width: 100%; height: 100%; cursor: crosshair; }
.sig__x { position: absolute; left: 14px; bottom: 48px; color: var(--paper-muted); font-weight: 700; }
.sig__hint { position: absolute; inset: 0 0 50px; display: grid; place-items: center; color: var(--paper-muted); font-size: .85rem; pointer-events: none; }
.sig__foot { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px; border-top: 1px solid var(--line); }
.sig__upload { padding: 18px; }
.sig__upload img { max-height: 110px; margin: 12px auto 0; background: var(--paper); border-radius: 8px; }

/* ---------- Stepper ---------- */
.stepper { padding: 18px 0 6px; }
.stepper__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }
.stepper__list::before { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 15px; height: 2px; background: var(--line); }
.stepper__list li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 7px; font-size: .7rem; font-weight: 600; color: var(--muted); text-align: center; }
.stepper__dot {
  position: relative; z-index: 1; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
  background: var(--surface-strong); border: 1px solid var(--line-strong); color: var(--muted); font: 800 .78rem var(--font-display);
}
.stepper__dot svg { width: 15px; height: 15px; }
.stepper__list li.is-done .stepper__dot { background: var(--g-brand); border-color: transparent; color: #fff; }
.stepper__list li.is-current .stepper__dot { background: var(--g-brand); border-color: transparent; color: #fff; box-shadow: 0 0 0 5px rgba(142, 46, 126, .22), var(--glow); }
.stepper__list li.is-current, .stepper__list li.is-done { color: var(--ink); }
.stepper__list li.is-done::after { content: ""; position: absolute; top: 15px; left: 50%; width: 100%; height: 2px; background: linear-gradient(90deg, var(--plum-500), var(--plum-300)); }
.stepper__list li:last-child::after { display: none; }

.actionbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 25;
  background: rgba(12, 4, 11, .86); border-top: 1px solid var(--line);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  padding: 12px 0 calc(12px + var(--safe-b));
}
.actionbar .wrap { display: flex; gap: 10px; align-items: center; }
.actionbar .btn { flex: 1; }
.actionbar .btn--ghost { flex: 0 0 auto; }
.actionbar__sum { display: none; flex-direction: column; line-height: 1.2; min-width: 0; }
.actionbar__sum small { color: var(--muted); font-size: .72rem; }
.actionbar__sum b { font: 800 1.05rem var(--font-display); white-space: nowrap; }

/* ---------- Registration layout ---------- */
.reg__head h1 { margin: 16px 0 6px; }
.reg__head p { margin: 0 0 18px; }
.reg__aside { display: none; }
.preview-card { padding: 16px; }
.preview-card__label { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.mini-preview { margin: 0 0 18px; }

/* ---------- Tier select ---------- */
.tiers { display: grid; gap: 14px; }
.tier-opt { display: block; }
.tier-opt input { position: absolute; opacity: 0; pointer-events: none; }
.tier-card {
  position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 4px 14px; align-items: center;
  padding: 18px; border-radius: var(--r-lg); border: 1px solid var(--line); background: var(--g-card);
  cursor: pointer; color: var(--ink); transition: border-color .15s, box-shadow .2s, transform .15s;
}
.tier-card:hover { border-color: var(--line-strong); transform: translateY(-2px); }
.tier-medal {
  grid-row: span 2; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; flex: none;
  background: var(--g-brand); color: #fff; box-shadow: var(--glow);
}
.tier-medal svg { width: 21px; height: 21px; }
.tier-card--silver .tier-medal, .tier-medal--silver { background: var(--g-silver); color: #2a0d25; box-shadow: 0 8px 24px rgba(236, 227, 234, .25); }
.tier-card--gold .tier-medal, .tier-medal--gold { background: var(--g-gold); color: #2a0d05; box-shadow: 0 8px 24px rgba(248, 176, 24, .35); }
.tier-card--presidential .tier-medal, .tier-medal--presidential { background: var(--g-presidential); color: var(--gold-bright); box-shadow: inset 0 0 0 1px var(--gold), 0 8px 24px rgba(248, 176, 24, .25); }
.tier-card__name { font: 800 1.04rem/1.2 var(--font-display); }
.tier-card__tag { font-size: .82rem; color: var(--muted); grid-column: 2; }
.tier-card__price { grid-row: span 2; text-align: right; font: 800 1.55rem/1 var(--font-display); white-space: nowrap; }
.tier-card__price small { display: block; font-size: .7rem; font-weight: 600; color: var(--muted); margin-top: 4px; }
.tier-card__perks { grid-column: 1 / -1; display: grid; gap: 7px; margin: 12px 0 0; padding: 12px 0 0; border-top: 1px solid var(--line); font-size: .85rem; color: var(--ink-2); }
.tier-card__perk { display: flex; gap: 8px; align-items: flex-start; }
.tier-card__perks svg { width: 15px; height: 15px; color: var(--plum-300); flex: none; margin-top: 3px; }
.tier-opt input:checked + .tier-card {
  border-color: transparent; transform: none;
  background: linear-gradient(var(--surface-strong), var(--surface-strong)) padding-box, var(--g-border) border-box;
  box-shadow: var(--glow);
}
.tier-opt input:focus-visible + .tier-card { outline: 2px solid var(--focus); outline-offset: 2px; }
.tier-card__check {
  position: absolute; top: -10px; left: 18px; display: none; align-items: center; gap: 4px;
  padding: 3px 10px; border-radius: 999px; background: var(--g-brand); color: #fff; box-shadow: var(--glow);
  font: 800 .62rem var(--font-display); letter-spacing: .12em; text-transform: uppercase;
}
.tier-card__check svg { width: 11px; height: 11px; }
.tier-opt input:checked + .tier-card .tier-card__check { display: inline-flex; }
.tier-card--gold { background: linear-gradient(160deg, rgba(248, 176, 24, .12), rgba(255, 255, 255, .02)); }
.tier-card--presidential { background: linear-gradient(160deg, rgba(58, 20, 6, .8), #000 70%); border-color: rgba(248, 176, 24, .45); }
.tier-card--presidential .tier-card__perks svg { color: var(--gold-bright); }
.tier-opt input:checked + .tier-card--presidential { background: linear-gradient(#12060f, #12060f) padding-box, var(--g-gold) border-box; box-shadow: 0 10px 34px rgba(248, 176, 24, .3); }
.tier-opt input:checked + .tier-card--presidential .tier-card__check { background: var(--g-gold); color: #2a0d05; }

/* ---------- Payment ---------- */
.test-banner { display: flex; gap: 10px; align-items: center; padding: 11px 14px; margin-bottom: 16px; border-radius: var(--r); background: var(--warning-soft); color: var(--ink-2); font-size: .82rem; border: 1px solid rgba(248, 176, 24, .35); }
.test-banner svg { width: 18px; height: 18px; color: var(--warning); flex: none; }
.order { padding: 0; overflow: hidden; }
.order__head { display: flex; align-items: center; gap: 12px; padding: 16px; border-bottom: 1px solid var(--line); }
.order__head .tier-medal { grid-row: auto; width: 42px; height: 42px; }
.order__head b { display: block; font: 800 1rem var(--font-display); }
.order__head small { color: var(--muted); }
.order__rows { margin: 0; padding: 14px 16px; display: grid; gap: 9px; font-size: .88rem; }
.order__rows div { display: flex; justify-content: space-between; gap: 12px; }
.order__rows dt { color: var(--muted); }
.order__rows dd { margin: 0; font-weight: 600; text-align: right; }
.order__total { display: flex; justify-content: space-between; align-items: baseline; padding: 16px; background: linear-gradient(135deg, rgba(142, 46, 126, .22), rgba(142, 46, 126, .04)); border-top: 1px solid var(--line); }
.order__total span { font-weight: 600; }
.order__total b { font: 800 1.6rem var(--font-display); }
.order__total b small { font-size: .75rem; color: var(--muted); font-weight: 600; }
.trust { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 9px; font-size: .8rem; color: var(--muted); }
.trust li { display: flex; gap: 9px; align-items: center; }
.trust svg { width: 16px; height: 16px; color: var(--success); flex: none; }

.methods { display: grid; gap: 10px; }
.method { position: relative; display: block; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--g-card); transition: border-color .15s, box-shadow .2s; }
.method:hover { border-color: var(--line-strong); }
.method > input { position: absolute; opacity: 0; pointer-events: none; }
.method__row { display: flex; align-items: center; gap: 12px; padding: 15px 16px; cursor: pointer; }
.method__icon { width: 44px; height: 34px; border-radius: 9px; display: grid; place-items: center; flex: none; background: var(--g-brand); color: #fff; }
.method__icon svg { width: 20px; height: 20px; }
.method__text { flex: 1; min-width: 0; }
.method__text b { display: block; font-size: .95rem; }
.method__text small { color: var(--muted); font-size: .78rem; }
.method__marks { display: flex; gap: 4px; align-items: center; }
.method__radio { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--line-strong); flex: none; }
.method:has(> input:checked) { border-color: transparent; background: linear-gradient(var(--surface-strong), var(--surface-strong)) padding-box, var(--g-border) border-box; box-shadow: var(--glow); }
.method > input:checked + .method__row .method__radio { border: 6px solid var(--plum-400); background: #fff; }
.method > input:focus-visible + .method__row { outline: 2px solid var(--focus); outline-offset: -2px; border-radius: var(--r-lg); }
.method:has(> input:disabled) { opacity: .58; box-shadow: none; }
.method:has(> input:disabled) .method__row { cursor: not-allowed; }
.method__panel { display: none; padding: 4px 16px 16px; }
.method > input:checked ~ .method__panel { display: block; }
.mark { display: inline-flex; align-items: center; justify-content: center; height: 22px; padding: 0 6px; border-radius: 5px; font: 800 .62rem/1 var(--font-body); background: #fff; }
.mark--visa { color: var(--mark-visa); font-style: italic; font-size: .72rem; }
.mark--stripe { background: #635bff; border-color: #7f78ff; color: #fff; font-size: .68rem; font-weight: 800; letter-spacing: -.02em; text-transform: lowercase; }
.mark--mc { padding: 0 5px; }
.mark--mc i { width: 12px; height: 12px; border-radius: 50%; display: block; background: var(--mark-mc-red); }
.mark--mc i + i { margin-left: -5px; background: var(--mark-mc-yellow); opacity: .9; }
.mark--paypal { font-style: italic; font-size: .74rem; color: var(--mark-paypal-navy); }
.mark--paypal span { color: var(--mark-paypal-blue); }
.mark--momo { background: var(--mark-momo); color: #000; }
.mark--unavailable { background: rgba(255,255,255,.1); color: var(--muted); border: 1px solid var(--line); font-size: .54rem; }
.mock-field { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; padding: 13px 15px; border: 1px solid var(--line-strong); border-radius: 12px; color: var(--muted); background: rgba(12, 4, 11, .5); font-size: .95rem; }
.mock-field svg { width: 20px; height: 20px; }

/* ---------- Hero (welcome, coming soon) ---------- */
.hero { position: relative; overflow: hidden; min-height: 100svh; display: flex; flex-direction: column; color: var(--ink); }
.hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(60% 50% at 30% 30%, rgba(142, 46, 126, .35), transparent 70%),
    radial-gradient(40% 40% at 90% 90%, rgba(54, 10, 47, .6), transparent 70%);
}
.hero__in { position: relative; flex: 1; display: flex; flex-direction: column; width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 18px var(--gutter) calc(26px + var(--safe-b)); }
.hero__media { position: relative; margin: 4px auto 0; width: min(100%, 340px); }
.hero__portrait { width: 100%; height: auto; -webkit-mask-image: linear-gradient(to bottom, #000 62%, transparent 98%); mask-image: linear-gradient(to bottom, #000 62%, transparent 98%); }
.hero__badge { position: absolute; right: 0; bottom: 12%; width: 88px; height: 88px; border-radius: 50%; box-shadow: 0 0 0 4px var(--bg), 0 0 0 5px var(--line-strong), 0 14px 36px rgba(0, 0, 0, .55); animation: badge-in .6s ease-out .15s both; }
@keyframes badge-in { from { opacity: 0; transform: scale(.8) rotate(-10deg); } to { opacity: 1; transform: none; } }
.hero__content { position: relative; display: flex; flex-direction: column; flex: 1; }
.hero__wordmark { width: 176px; height: auto; margin: 0 auto 4px; }
.hero__kicker { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 8px 0 12px; font: 700 .68rem var(--font-display); letter-spacing: .26em; color: var(--plum-300); text-transform: uppercase; }
.hero__kicker::before, .hero__kicker::after { content: ""; width: 26px; height: 1px; background: var(--g-line); }
.hero h1 { font-size: 2.05rem; font-weight: 800; text-align: center; margin-bottom: 12px; letter-spacing: -.025em; }
.hero h1 em { font-style: normal; background: var(--g-flame); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero__lead { text-align: center; color: var(--ink-2); max-width: 36ch; margin: 0 auto 20px; }
.hero__points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 18px; }
.hero__points div { padding: 13px 6px; border-radius: var(--r); text-align: center; background: var(--g-card); border: 1px solid var(--line); font-size: .72rem; font-weight: 600; color: var(--ink-2); }
.hero__points svg { width: 22px; height: 22px; margin: 0 auto 6px; color: var(--plum-300); }
.hero__cta { display: grid; gap: 10px; margin-top: auto; }
.hero__links { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 18px; margin-top: 6px; }
.hero__link { color: var(--plum-300); font-size: .82rem; font-weight: 600; }
.hero__motto { text-align: center; font: 700 .68rem var(--font-display); letter-spacing: .3em; color: var(--muted); margin: 14px 0 0; }
.hero .flag-rule { position: absolute; left: 0; right: 0; bottom: 0; }

.install-card { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--r-lg); background: var(--g-card); border: 1px solid var(--line); margin-bottom: 14px; }
.install-card img { width: 44px; height: 44px; border-radius: 11px; background: var(--paper); flex: none; }
.install-card b { display: block; font-size: .9rem; }
.install-card span { font-size: .76rem; color: var(--muted); }
.install-card .btn { margin-left: auto; }
.soon-pill { display: inline-flex; align-items: center; gap: 8px; margin: 0 auto 14px; padding: 6px 14px; border-radius: 999px; background: var(--g-brand); color: #fff; font: 800 .68rem var(--font-display); letter-spacing: .2em; text-transform: uppercase; box-shadow: var(--glow); }
.soon-pill i { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: pulse 1.8s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .3; } }
.soon-foot { text-align: center; font-size: .75rem; color: var(--muted); margin: 18px 0 4px; }

/* Bottom sheet */
.sheet-backdrop { position: fixed; inset: 0; background: var(--overlay); z-index: 60; opacity: 0; pointer-events: none; transition: opacity .2s; }
.sheet {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 61; color: var(--ink);
  background: var(--g-card-strong); border: 1px solid var(--line); border-bottom: 0;
  border-radius: 24px 24px 0 0; padding: 10px var(--gutter) calc(24px + var(--safe-b));
  max-width: var(--maxw); margin: 0 auto; transform: translateY(105%); transition: transform .28s cubic-bezier(.2, .8, .2, 1);
}
.sheet::before { content: ""; display: block; width: 40px; height: 4px; border-radius: 2px; background: var(--line-strong); margin: 0 auto 16px; }
.is-sheet-open .sheet-backdrop { opacity: 1; pointer-events: auto; }
.is-sheet-open .sheet { transform: none; }
.steps-list { counter-reset: s; list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 12px; }
.steps-list li { counter-increment: s; display: flex; gap: 12px; align-items: center; font-size: .92rem; }
.steps-list li::before { content: counter(s); flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--g-brand); color: #fff; font-weight: 800; font-size: .8rem; }
.steps-list svg, .sheet p svg { display: inline; width: 18px; height: 18px; vertical-align: -4px; color: var(--plum-300); }

/* ---------- NVM ID card (white "paper" object) ---------- */
.idcard-wrap { perspective: 1400px; container-type: inline-size; }
/* Tier palettes: the card colours follow the membership tier */
.idcard {
  --card-paper: var(--paper); --card-ink: var(--paper-ink); --card-muted: var(--paper-muted);
  --card-label: var(--paper-label); --card-soft: var(--paper-soft); --card-guilloche: var(--guilloche);
  --card-head: linear-gradient(110deg, #0c040b 0%, #360a2f 60%, #5e1251 100%);
  --card-rule: var(--plum-400); --card-org: #ffffff; --card-sub: var(--plum-200);
  --card-stripe: linear-gradient(90deg, var(--plum-800), var(--plum-500), var(--plum-300), var(--plum-500), var(--plum-800));
  --card-back: linear-gradient(150deg, #360a2f 0%, #0c040b 70%);
}
.idcard--silver {
  --card-paper: linear-gradient(135deg, #ffffff 0%, #efe4ec 55%, #f7f0f5 100%); --card-ink: #2a0d25; --card-muted: #6b5566;
  --card-label: #6b4a66; --card-soft: #f3e8f0; --card-guilloche: rgba(74, 85, 102, .08);
  --card-head: linear-gradient(110deg, #2a0d25 0%, #6b4a66 60%, #c9b3c4 100%);
  --card-rule: #d8c5d3; --card-sub: #efe4ec;
  --card-stripe: linear-gradient(90deg, #a998a6, #ffffff, #e3d6e0, #ffffff, #a998a6);
  --card-back: linear-gradient(150deg, #6b4a66 0%, #1a0617 75%);
}
.idcard--gold {
  --card-paper: linear-gradient(135deg, #fff8ec 0%, #ffe2b0 55%, #fff0d6 100%); --card-ink: #2a0d05; --card-muted: #8a4a1a;
  --card-label: #c2410c; --card-soft: #ffe9cc; --card-guilloche: rgba(139, 101, 19, .09);
  --card-head: linear-gradient(110deg, #1a0617 0%, #5e1251 55%, #f86c00 100%);
  --card-rule: var(--gold); --card-sub: var(--gold-bright);
  --card-stripe: var(--g-gold);
  --card-back: linear-gradient(150deg, #5e1251 0%, #12060f 75%);
}
.idcard--presidential {
  --card-paper: linear-gradient(135deg, #111 0%, #000 55%, #2a0d25 100%); --card-ink: #fff4e6; --card-muted: #f8b018;
  --card-label: var(--gold-bright); --card-soft: #1f0a18; --card-guilloche: rgba(248, 176, 24, .1);
  --card-head: linear-gradient(110deg, #000 0%, #1f0a18 60%, #5a2206 100%);
  --card-rule: var(--gold); --card-org: var(--gold-bright); --card-sub: #ffd27a;
  --card-stripe: var(--g-gold);
  --card-back: linear-gradient(150deg, #3a1406 0%, #000 70%);
}
.idcard { position: relative; width: 100%; aspect-ratio: 85.6 / 54; border-radius: 4cqw; transform-style: preserve-3d; transition: transform .7s cubic-bezier(.2, .8, .2, 1); box-shadow: var(--shadow-3), 0 0 0 1px rgba(255, 255, 255, .06); }
.idcard.is-flipped { transform: rotateY(180deg); }
.idcard__face { position: absolute; inset: 0; border-radius: inherit; overflow: hidden; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.idcard__front {
  background: repeating-radial-gradient(circle at 88% 64%, transparent 0 1.1cqw, var(--card-guilloche) 1.1cqw 1.25cqw), var(--card-paper);
  color: var(--card-ink); display: grid; grid-template-rows: auto 1fr auto;
}
.idcard__head { display: flex; align-items: center; gap: 2.2cqw; padding: 2.2cqw 3.4cqw; background: var(--card-head); color: #fff; box-shadow: inset 0 -.6cqw 0 var(--card-rule); }
.idcard__head img { width: 9cqw; height: 9cqw; border-radius: 50%; background: var(--paper); }
.idcard__org { font: 800 3.2cqw/1.05 var(--font-display); letter-spacing: .06em; color: var(--card-org); }
.idcard__org small { display: block; font-weight: 600; font-size: 1.9cqw; letter-spacing: .22em; color: var(--card-sub); margin-top: .6cqw; }
.idcard__flag { display: none; }
.idcard__flag.flag-gh::after { font-size: 3.2cqw; }
.idcard__body { display: grid; grid-template-columns: 22cqw 1fr 17cqw; gap: 3cqw; padding: 3cqw 3.4cqw 0; min-height: 0; }
.idcard__photo { width: 100%; aspect-ratio: 3 / 4; border-radius: 1.4cqw; overflow: hidden; background: var(--card-soft); box-shadow: 0 0 0 .4cqw var(--card-soft), 0 0 0 .65cqw var(--card-label); display: grid; place-items: center; color: var(--card-label); font: 800 7cqw var(--font-display); }
.idcard__photo img { width: 100%; height: 100%; object-fit: cover; }
.idcard__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6cqw 2cqw; align-content: start; min-width: 0; margin: 0; }
.idcard__f { min-width: 0; }
.idcard__f--wide { grid-column: 1 / -1; }
.idcard__f dt { font: 700 1.55cqw/1 var(--font-display); letter-spacing: .14em; color: var(--card-label); text-transform: uppercase; margin-bottom: .5cqw; }
.idcard__f dd { margin: 0; font: 600 2.6cqw/1.15 var(--font-body); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--card-ink); }
.idcard__f--name dd { font: 800 3.6cqw/1.1 var(--font-display); white-space: normal; text-transform: uppercase; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.idcard__f--no dd { font-family: var(--font-mono); letter-spacing: .04em; }
.idcard__side { display: flex; flex-direction: column; align-items: center; gap: 1.6cqw; }
.idcard__qr { width: 100%; aspect-ratio: 1; background: var(--paper); padding: .9cqw; border-radius: 1cqw; box-shadow: 0 0 0 .2cqw #ecdfe8; }
.idcard__qr svg, .idcard__qr img { width: 100%; height: 100%; }
.idcard .tier { font-size: 1.5cqw; padding: .9cqw 1.6cqw .9cqw 1.2cqw; gap: .8cqw; box-shadow: none; }
.idcard .tier svg { width: 1.8cqw; height: 1.8cqw; }
.idcard__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 3cqw; padding: 0 3.4cqw; position: relative; }
.idcard__sig { flex: 0 0 34cqw; padding-bottom: 1.8cqw; }
.idcard__sig-img { height: 7cqw; display: flex; align-items: flex-end; border-bottom: .2cqw solid var(--card-muted); }
.idcard__sig-img img { max-height: 100%; max-width: 100%; }
.idcard__sig-img span { font: 400 6.2cqw/1 var(--font-sign); color: var(--sig-ink); white-space: nowrap; overflow: hidden; }
.idcard__sig small { display: block; font: 700 1.45cqw var(--font-display); letter-spacing: .16em; color: var(--card-muted); margin-top: .6cqw; }
.idcard__motto { font: 800 1.7cqw var(--font-display); letter-spacing: .3em; color: var(--card-label); padding-bottom: 2.4cqw; }
.idcard__stripe { position: absolute; left: 0; right: 0; bottom: 0; height: .9cqw; background: var(--card-stripe); }
.idcard__back { transform: rotateY(180deg); background: var(--card-back); color: #fff; display: grid; grid-template-columns: 34cqw 1fr; gap: 4cqw; align-items: center; padding: 4cqw 5cqw 5cqw; }
.idcard__back .idcard__qr { padding: 1.6cqw; border-radius: 1.6cqw; box-shadow: none; }
.idcard__back h4 { font: 800 3.3cqw/1.1 var(--font-display); margin: 0 0 1.4cqw; color: #fff; }
.idcard__back p { font-size: 2.1cqw; line-height: 1.4; margin: 0 0 1.8cqw; color: var(--card-sub); }
.idcard__back .url { font: 600 2.1cqw var(--font-mono); color: #fff; word-break: break-all; }
.idcard__back .idcard__badge-lg { position: absolute; right: -8cqw; bottom: -8cqw; width: 40cqw; opacity: .08; border-radius: 50%; }
.card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

/* ---------- Dashboard ---------- */
.greet { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.avatar { width: 50px; height: 50px; border-radius: 50%; flex: none; display: grid; place-items: center; overflow: hidden; background: var(--g-brand); color: #fff; font: 800 1rem var(--font-display); box-shadow: 0 0 0 2px rgba(220, 162, 203, .3); }
.avatar--sm { width: 36px; height: 36px; font-size: .8rem; }
.avatar--lg { width: 92px; height: 92px; font-size: 1.6rem; box-shadow: 0 0 0 3px rgba(220, 162, 203, .35), var(--glow); }
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.meter { height: 7px; border-radius: 4px; background: rgba(255, 255, 255, .08); overflow: hidden; margin: 14px 0 8px; }
.meter span { display: block; height: 100%; background: linear-gradient(90deg, var(--plum-500), var(--plum-300)); border-radius: inherit; box-shadow: 0 0 12px rgba(187, 104, 167, .6); }
.notice { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: var(--r); background: linear-gradient(135deg, rgba(142, 46, 126, .18), rgba(142, 46, 126, .05)); border: 1px solid var(--line-strong); color: var(--ink-2); font-size: .88rem; }
.notice svg { width: 20px; height: 20px; flex: none; margin-top: 1px; color: var(--plum-300); }
.notice--warn { background: var(--warning-soft); border-color: rgba(248, 176, 24, .35); }
.notice--warn svg { color: var(--warning); }
.notice--ok { background: var(--success-soft); border-color: rgba(142, 46, 126, .35); }
.notice--ok svg { color: var(--success); }

/* ---------- Downloads ---------- */
.dl-hero { aspect-ratio: 16 / 10; background: var(--surface-3); overflow: hidden; }
.dl-hero img { width: 100%; height: 100%; object-fit: cover; }
.file-ico { width: 44px; height: 44px; border-radius: 11px; flex: none; display: grid; place-items: center; font: 800 .68rem var(--font-display); letter-spacing: .04em; color: #fff; background: var(--g-brand); box-shadow: var(--glow); }
.empty { padding: 30px 18px; text-align: center; color: var(--muted); font-size: .9rem; }
.empty svg { width: 38px; height: 38px; margin: 0 auto 10px; color: var(--plum-300); }

/* ---------- Verify ---------- */
.verify-hero { padding: 30px 0 110px; text-align: center; background: linear-gradient(180deg, rgba(94, 18, 81, .35), transparent); }
.verify-hero img { width: 64px; height: 64px; margin: 0 auto 10px; border-radius: 50%; background: var(--paper); box-shadow: var(--glow); }
.verify-hero__title { font: 800 1.15rem var(--font-display); }
.verify-card { margin-top: -60px; text-align: center; background: linear-gradient(var(--surface-strong), var(--surface-strong)) padding-box, var(--g-border) border-box; border: 1px solid transparent; }
.verify-seal { width: 76px; height: 76px; border-radius: 50%; margin: -58px auto 12px; display: grid; place-items: center; border: 4px solid var(--surface-strong); color: #fff; }
.verify-seal svg { width: 34px; height: 34px; }
.verify-seal--valid { background: linear-gradient(135deg, #8e2e7e, #4a0e40); box-shadow: 0 10px 30px rgba(142, 46, 126, .4); }
.verify-seal--invalid { background: linear-gradient(135deg, #f86c00, #f80000); box-shadow: 0 10px 30px rgba(248, 60, 20, .35); }
.verify-seal--expired { background: linear-gradient(135deg, #b89cb1, #4a2a44); }
.verify-status { font: 800 1.35rem var(--font-display); margin-bottom: 2px; }
.verify-status--valid { color: var(--success); }
.verify-status--invalid { color: var(--danger); }
.verify-status--expired { color: var(--muted); }
.verify-photo { width: 110px; height: 138px; margin: 18px auto; border-radius: 14px; overflow: hidden; box-shadow: 0 0 0 3px rgba(220, 162, 203, .35); display: grid; place-items: center; background: var(--g-brand); color: #fff; font: 800 2rem var(--font-display); }
.verify-photo img { width: 100%; height: 100%; object-fit: cover; }
.verify-card .kv { text-align: left; margin-top: 8px; }

/* ---------- Auth ---------- */
.auth { min-height: calc(100svh - 60px); display: flex; flex-direction: column; justify-content: center; padding: 36px var(--gutter); }
.auth__badge { width: 84px; height: 84px; margin: 0 auto 16px; border-radius: 50%; box-shadow: 0 0 0 4px rgba(220, 162, 203, .18), var(--glow); }
.auth h1 { background: var(--g-text); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ---------- Success ---------- */
.success-head { text-align: center; padding: 10px 0 18px; }
.success-tick { width: 66px; height: 66px; border-radius: 50%; margin: 0 auto 14px; display: grid; place-items: center; background: linear-gradient(135deg, #8e2e7e, #4a0e40); color: #fff; box-shadow: 0 0 0 10px var(--success-soft), 0 12px 34px rgba(142, 46, 126, .35); animation: pop .45s cubic-bezier(.2, .8, .2, 1.3) both; }
.success-tick svg { width: 32px; height: 32px; }
@keyframes pop { from { transform: scale(.5); opacity: 0; } to { transform: none; opacity: 1; } }
.member-no { display: inline-block; padding: 7px 15px; border-radius: 10px; background: var(--g-brand); font: 700 1rem var(--font-mono); color: #fff; letter-spacing: .05em; box-shadow: var(--glow); }

/* ---------- Toast ---------- */
.toast { position: fixed; left: 50%; bottom: calc(104px + var(--safe-b)); z-index: 90; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; background: var(--g-card-strong); border: 1px solid var(--line-strong); color: var(--ink); padding: 12px 18px; border-radius: 12px; font-size: .88rem; font-weight: 600; box-shadow: var(--shadow-2); transition: all .25s; max-width: calc(100% - 32px); text-align: center; }
.toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* ---------- Info pages (benefits, terms, privacy) ---------- */
.info-hero { text-align: center; padding: clamp(24px,4vw,54px) 0 clamp(30px,4vw,52px); }
.info-hero h1 { font-size: clamp(2rem,4vw,3.35rem); margin: 8px auto 16px; max-width: 18ch; background: var(--g-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.info-hero p { color: var(--ink-2); max-width: 68ch; margin: 0 auto; font-size: clamp(.94rem,1.3vw,1.08rem); line-height: 1.75; }
.info-page { padding-top: clamp(16px,2vw,30px); }
.info-page > .wrap { max-width: 1440px; padding-inline: clamp(16px,3vw,36px); }
.is-benefits .topbar .wrap,.is-benefits .legal-footer .wrap{max-width:1440px;padding-inline:clamp(16px,3vw,36px)}
.benefit-grid { display: grid; grid-template-columns: 1fr; align-items: stretch; gap: clamp(16px,2vw,26px); }
.benefit-card { position: relative; display: flex; flex-direction: column; min-width: 0; gap: 20px; padding: clamp(22px,2.2vw,32px); border-radius: clamp(20px,2vw,26px); background: linear-gradient(155deg,rgba(255,255,255,.072),rgba(255,255,255,.018)); border: 1px solid var(--line); box-shadow:inset 0 1px rgba(255,255,255,.035),0 18px 45px rgba(0,0,0,.18); overflow: hidden; }
.benefit-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--g-brand); }
.benefit-card--silver::before { background: var(--g-silver); }
.benefit-card--gold::before { background: var(--g-gold); }
.benefit-card--gold { border-color:rgba(248,176,24,.26); }
.benefit-card--presidential { background: linear-gradient(155deg, rgba(58, 20, 6, .68), rgba(12,4,11,.98) 72%); border-color: rgba(248, 176, 24, .42); box-shadow:inset 0 1px rgba(255,210,122,.11),0 18px 46px rgba(248,108,0,.08); }
.benefit-card--presidential::before { background: var(--g-gold); }
.benefit-card__top { display: grid; grid-template-columns:minmax(0,1fr) auto; justify-content: space-between; align-items: end; gap: 14px; min-height:92px; }
.benefit-card__identity{min-width:0}.benefit-card__top .eyebrow{line-height:1.4;min-height:2.8em;display:flex;align-items:flex-end}.benefit-card__top h2 { margin: 7px 0 0; font-size: clamp(1.25rem,1.65vw,1.6rem); overflow-wrap:anywhere; }
.benefit-card__price { font: 800 clamp(2rem,2.8vw,2.75rem)/.92 var(--font-display); text-align: right; white-space: nowrap; letter-spacing:-.045em; }
.benefit-card__price small { display: block; font-size: .72rem; color: var(--muted); font-weight: 600; margin-top: 8px; letter-spacing:0; }
.benefit-card__rule{height:1px;background:linear-gradient(90deg,var(--line-strong),transparent)}
.benefit-card ul { list-style: none; margin: 0; padding: 0; display: grid; align-content:start; gap: 13px; font-size: .92rem; line-height:1.5; color: var(--ink-2); flex: 1; }
.benefit-card li { display: flex; gap: 10px; align-items: flex-start; min-width:0; }
.benefit-card li span{min-width:0;overflow-wrap:anywhere}.benefit-card li svg { width: 17px; height: 17px; color: var(--plum-300); flex: 0 0 17px; margin-top: 3px; }
.benefit-card--presidential li svg { color: var(--gold-bright); }
.benefit-card > .btn{margin-top:auto;min-height:50px;padding-inline:14px;white-space:normal;line-height:1.25}
.benefit-note{display:flex;align-items:flex-start;gap:12px;margin-top:clamp(18px,2.5vw,30px);padding:clamp(16px,2vw,22px);border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.028);color:var(--muted);font-size:.84rem;line-height:1.65}.benefit-note svg{width:19px;height:19px;flex:0 0 19px;color:var(--plum-300);margin-top:2px}
.prose-card { max-width: 780px; padding: 28px; }
.prose-card h1 { font-size: 1.9rem; }
.prose-card h2 { font-size: 1.05rem; margin-top: 1.6em; color: var(--plum-200); }
.prose-card p, .prose-card li { color: var(--ink-2); }
.site-footer{position:relative;margin-top:clamp(48px,7vw,90px);border-top:1px solid var(--line);background:radial-gradient(700px 260px at 16% 0,rgba(94,18,81,.2),transparent 65%),#090308;color:var(--muted)}.site-footer__wrap{width:100%;max-width:1400px;margin:0 auto;padding-inline:clamp(16px,3vw,36px)}.site-footer__trust{border-bottom:1px solid var(--line);background:rgba(255,255,255,.018)}.site-footer__trust .site-footer__wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:14px clamp(24px,5vw,60px);padding-block:16px}.site-footer__trust span{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:650;color:var(--ink-2)}.site-footer__trust svg{width:17px;height:17px;color:var(--plum-300)}.site-footer__grid{display:grid;grid-template-columns:1fr;gap:34px;padding-block:clamp(42px,6vw,70px)}.site-footer__brand{max-width:430px}.site-footer__brand>a{display:flex;align-items:center;gap:12px;color:#fff}.site-footer__brand>a:hover{text-decoration:none}.site-footer__brand img{width:52px;height:52px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(220,162,203,.22)}.site-footer__brand b{display:block;font:800 1.05rem var(--font-display)}.site-footer__brand small{display:block;margin-top:2px;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--plum-300)}.site-footer__brand p{margin:18px 0 0;max-width:44ch;font-size:.86rem;line-height:1.75}.site-footer__grid>nav{display:grid;align-content:start;gap:9px}.site-footer__grid h2{margin:0 0 7px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#fff}.site-footer__grid nav a{width:max-content;max-width:100%;padding:2px 0;color:var(--muted);font-size:.86rem;transition:color .2s ease,transform .2s ease}.site-footer__grid nav a:hover{color:var(--plum-200);text-decoration:none;transform:translateX(3px)}.site-footer__bottom{border-top:1px solid var(--line);background:rgba(0,0,0,.18)}.site-footer__bottom .site-footer__wrap{min-height:64px;padding-block:18px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:.76rem}.site-footer__bottom nav{display:flex;gap:18px}.site-footer__bottom a{color:var(--ink-2)}
@media(min-width:600px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__brand{grid-column:1/-1}.site-footer__bottom .site-footer__wrap{flex-direction:row;align-items:center;justify-content:space-between}}
@media(min-width:960px){.site-footer__grid{grid-template-columns:minmax(320px,1.7fr) repeat(3,minmax(140px,.7fr));gap:clamp(30px,5vw,72px)}.site-footer__brand{grid-column:auto}}

/* =========================================================
   Admin
   ========================================================= */
.admin { --maxw: 1200px; }
.admin-top { position: sticky; top: 0; z-index: 20; background: linear-gradient(110deg, #0c040b 0%, #360a2f 70%, #4a0e40 100%); border-bottom: 1px solid var(--line); }
.admin-top__in { display: flex; align-items: center; gap: 12px; height: 62px; }
.admin-top img { width: 34px; height: 34px; border-radius: 50%; background: var(--paper); }
.admin-top b { font: 800 .98rem var(--font-display); }
.admin-top small { color: var(--plum-200); display: block; font-size: .64rem; letter-spacing: .16em; text-transform: uppercase; }
.admin-top .avatar { margin-left: auto; width: 36px; height: 36px; font-size: .75rem; }
.admin-nav { background: rgba(12, 4, 11, .8); border-bottom: 1px solid var(--line); position: sticky; top: 62px; z-index: 19; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.admin-nav .wrap { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.admin-nav .wrap::-webkit-scrollbar { display: none; }
.admin-nav a, .admin-nav__btn { padding: 15px 12px; font: 600 .88rem var(--font-body); color: var(--muted); white-space: nowrap; background: none; border: 0; border-bottom: 2px solid transparent; cursor: pointer; }
.admin-nav a:hover, .admin-nav__btn:hover { text-decoration: none; color: var(--ink); }
.admin-nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--plum-400); }
.admin .page { padding-top: 24px; }
.stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.stat { background: var(--g-card); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 16px 18px; }
.stat b { display: block; font: 800 1.7rem/1.1 var(--font-display); }
.stat span { font-size: .78rem; color: var(--muted); font-weight: 600; }
.stat--accent { background: var(--g-brand); border-color: transparent; box-shadow: var(--glow); }
.stat--accent span { color: var(--plum-200); }
.filters { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.filters .search { grid-column: 1 / -1; }
.filters .input, .filters .select { min-height: 44px; padding-top: 9px; padding-bottom: 9px; font-size: .88rem; }
.filters .select { padding-left: 12px; padding-right: 32px; background-position: right 17px center, right 12px center; }
.table-wrap { overflow-x: auto; }
.table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.table th { text-align: left; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: 12px 14px; background: rgba(255, 255, 255, .03); border-bottom: 1px solid var(--line); white-space: nowrap; }
.table td { padding: 13px 14px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.table tr:last-child td { border-bottom: 0; }
.table tbody tr:hover { background: rgba(142, 46, 126, .07); }
.who { display: flex; align-items: center; gap: 10px; min-width: 0; }
.who b { display: block; font-size: .9rem; white-space: nowrap; }
.who small { color: var(--muted); }
.bars { display: grid; gap: 11px; }
.bars div { display: grid; grid-template-columns: 110px 1fr 28px; gap: 10px; align-items: center; font-size: .82rem; }
.bars i { display: block; height: 8px; border-radius: 4px; background: linear-gradient(90deg, var(--plum-500), var(--plum-300)); box-shadow: 0 0 10px rgba(187, 104, 167, .45); }
.bars em { font-style: normal; font-weight: 700; text-align: right; }

@media (max-width: 719px) {
  .form-grid{grid-template-columns:1fr;gap:12px}
  .legal-footer .wrap{align-items:flex-start}.legal-footer nav{display:flex;flex-wrap:wrap;gap:8px 14px}.legal-footer a{margin:0}
  .admin .page .row{max-width:100%}.admin form.row{flex-wrap:wrap;width:100%}.admin form.row .input{flex:1 1 180px;min-width:0}.admin form.row .btn{flex:0 0 auto}
  .chat-page{padding-top:10px}.chat-wrap{padding-inline:8px}.chat-card{border-radius:16px}.chat-compose{padding:10px;gap:8px;position:sticky;bottom:0;background:var(--surface-strong)}.chat-compose textarea{min-width:0}.chat-compose .btn{min-width:72px;padding-inline:14px}.chat-meta{overflow-wrap:anywhere}
  .info-page .topbar__title{min-width:0}.benefit-card__top{min-height:0}.benefit-card__top .eyebrow{min-height:0}.benefit-card{gap:17px}.benefit-card__price{font-size:clamp(1.9rem,10vw,2.4rem)}
  .table--stack thead { display: none; }
  .table--stack, .table--stack tbody, .table--stack tr, .table--stack td { display: block; width: 100%; }
  .table--stack tr { padding: 12px 14px; border-bottom: 1px solid var(--line); }
  .table--stack td { padding: 3px 0; border: 0; display: flex; justify-content: space-between; gap: 12px; }
  .table--stack td[data-label]::before { content: attr(data-label); color: var(--muted); font-size: .78rem; font-weight: 600; }
  .table--stack td.cell-main { display: block; padding-bottom: 8px; }
  .table--stack td.cell-main::before { display: none; }
}
@media (max-width: 380px) {
  :root{--gutter:14px}.topbar__title small{letter-spacing:.11em}.is-reg .topbar__brand img{width:58px;height:58px}.is-reg .topbar__in{height:82px}
  .grid-2{grid-template-columns:1fr}.choice{grid-template-columns:repeat(2,minmax(0,1fr))}.choice label{padding-inline:8px}
  .benefit-card{padding:20px}.benefit-card__top{gap:10px}.benefit-card__top h2{font-size:1.18rem}.benefit-card__price{font-size:1.9rem}.benefit-card__top .eyebrow{font-size:.62rem;letter-spacing:.12em}.benefit-note{font-size:.8rem}
  .chat-head p{font-size:.82rem}.chat-live{display:none}.chat-message{gap:7px}.chat-message>.avatar{width:30px;height:30px;font-size:.65rem}.chat-bubble{max-width:86%;padding:9px 11px}
}

@media (min-width: 720px) {
  :root { --gutter: 24px; }
  h1 { font-size: 2.05rem; }
  .stats { grid-template-columns: repeat(4, 1fr); }
  .filters { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
  .filters .search { grid-column: 1 / -1; }
  .admin-split { display: grid; grid-template-columns: 340px 1fr; gap: 20px; align-items: start; }
  .benefit-grid { grid-template-columns: repeat(2, 1fr); }
  .info-page { --maxw: 1440px; }
}

@media (min-width: 960px) {
  /* Keep the phone dashboard compact, but use the available desktop canvas. */
  .is-member-dashboard .topbar .wrap,
  .is-member-dashboard .page > .wrap { max-width: 1180px; }
  .is-member-dashboard .page > .wrap { padding-inline: clamp(24px, 3vw, 44px); }
  .is-member-dashboard .grid-2 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .is-member-dashboard .tile { min-height: 176px; }

  .is-reg, .reg { --maxw: 1080px; }
  .reg__grid { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 40px; align-items: start; margin-top:26px; }
  .location-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .reg__aside { display: block; position: sticky; top: 90px; }
  .reg .mini-preview { display: none; }
  .actionbar .wrap { max-width: 1080px; }
  .actionbar__sum { display: flex; margin-right: auto; }
  .actionbar .btn:not(.btn--ghost) { flex: 0 0 300px; margin-left: auto; }
  .benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* Split hero like kofikoranteng.com: portrait left, content right */
  .hero__in { max-width: 1240px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: 48px; padding-top: 32px; padding-bottom: 40px; }
  .hero__media { width: 100%; max-width: 600px; margin: 0; align-self: end; }
  .hero__portrait { -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent 100%); mask-image: linear-gradient(to bottom, #000 70%, transparent 100%); }
  .hero__badge { width: 118px; height: 118px; right: 4%; bottom: 16%; }
  .hero__content { flex: none; max-width: 520px; }
  .hero__wordmark { width: 300px; margin: 0 0 6px; }
  .hero__kicker { justify-content: flex-start; }
  .hero__kicker::before { display: none; }
  .hero h1 { font-size: 3.2rem; text-align: left; }
  .hero__lead { text-align: left; margin-left: 0; font-size: 1.05rem; }
  .hero__cta { grid-template-columns: 1fr 1fr; margin-top: 6px; }
  .hero__links { justify-content: flex-start; grid-column: 1 / -1; }
  .hero__motto { text-align: left; }
  .soon-pill { margin-left: 0; }
}
@media (min-width: 1180px) {
  .benefit-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* =========================================================
   3D icons (Fluent 3D, recoloured to the NVM plum)
   ========================================================= */
.i3d { width: 56px; height: 56px; object-fit: contain; filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .45)); }
.tile__icon--3d { width: 54px; height: 54px; background: radial-gradient(circle at 30% 25%, rgba(220, 162, 203, .25), rgba(220, 162, 203, .04) 70%); border: 1px solid var(--line); box-shadow: none; border-radius: 16px; }
.tile__icon--3d .i3d { width: 44px; height: 44px; }
.list .tile__icon--3d { width: 44px; height: 44px; border-radius: 12px; }
.list .tile__icon--3d .i3d { width: 34px; height: 34px; }
.loc-card__icon--3d { background: radial-gradient(circle at 30% 25%, rgba(220, 162, 203, .28), rgba(220, 162, 203, .04) 70%); border: 1px solid var(--line); }
.loc-card__icon--3d .i3d { width: 40px; height: 40px; }
.method__icon--3d { width: 48px; height: 40px; background: radial-gradient(circle at 30% 25%, rgba(220, 162, 203, .25), rgba(220, 162, 203, .04) 70%); border: 1px solid var(--line); }
.method__icon--3d .i3d { width: 34px; height: 34px; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .4)); }
.hero__points .i3d { width: 40px; height: 40px; margin: 0 auto 6px; }
.empty__3d { width: 72px !important; height: 72px !important; margin: 0 auto 10px; }
.verify-hero__3d { width: 76px; height: 76px; margin: 0 auto 8px; }
.verify-search .input { text-align: center; font-size: 1.1rem; letter-spacing: .08em; text-transform: uppercase; }

/* Bigger buttons */
.btn--lg { min-height: 58px; padding: 16px 26px; font-size: 1.02rem; border-radius: 16px; }

/* Floating pill bottom nav (app style) */
.bottomnav { left: 12px; right: 12px; bottom: calc(10px + var(--safe-b)); padding-bottom: 0; border: 1px solid var(--line-strong); border-radius: 22px; box-shadow: var(--shadow-2); max-width: 540px; margin: 0 auto; }
.bottomnav a { padding: 8px 4px 7px; }

/* =========================================================
   Landing page
   ========================================================= */
.lnav { position: sticky; top: 0; z-index: 40; background: rgba(12, 4, 11, .72); border-bottom: 1px solid rgba(220,162,203,.12); backdrop-filter: saturate(1.4) blur(16px); -webkit-backdrop-filter: saturate(1.4) blur(16px); }
.lnav__in { width:100%; max-width: 1400px; min-height:72px; margin: 0 auto; padding: 10px clamp(16px,3vw,36px); display: flex; align-items: center; gap: 20px; }
.lnav__brand { display: flex; align-items: center; gap: 10px; color: var(--ink); }
.lnav__brand:hover { text-decoration: none; color: var(--ink); }
.lnav__brand img { width: 44px; height: 44px; flex:none; border-radius: 50%; background: var(--paper); box-shadow: 0 0 0 2px rgba(220, 162, 203, .3); }
.lnav__brand b { display: block; font: 800 1rem/1.1 var(--font-display); }
.lnav__brand small { display: block; font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.lnav__links { display: none; align-items:center; gap: 4px; margin-left: 12px; }
.lnav__links a { padding: 10px 12px; border-radius: 10px; color: var(--ink-2); font-weight: 600; font-size: .88rem; white-space:nowrap; }
.lnav__links a:hover { background: var(--surface); color: var(--ink); text-decoration: none; }
.lnav__links a[aria-current="page"]{color:#fff;background:rgba(142,46,126,.14)}.lnav__links a[aria-current="page"]::after{transform:scaleX(1)}
.lnav__actions { margin-left: auto; display: none; align-items:center; gap: 10px; }
.lnav__actions .btn{min-height:44px;padding:10px 18px;border-radius:12px}.lnav__join,.lnav__dashboard{display:inline-flex}
.lnav__menu{margin-left:auto;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer}.lnav__menu svg{width:22px;height:22px}
.mobile-menu{position:fixed;z-index:70;inset:0;background:rgba(8,2,7,.72);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.mobile-menu__panel{position:absolute;top:0;right:0;width:min(88vw,390px);height:100%;overflow-y:auto;padding:18px;background:linear-gradient(165deg,#241020,#0c040b 72%);border-left:1px solid var(--line-strong);box-shadow:-24px 0 60px rgba(0,0,0,.48);transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}.menu-open .mobile-menu{opacity:1;visibility:visible}.menu-open .mobile-menu__panel{transform:none}.menu-open{overflow:hidden}.mobile-menu__head{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 16px;border-bottom:1px solid var(--line);font:800 1rem var(--font-display)}.mobile-menu__head button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:12px;background:var(--surface);color:var(--ink)}.mobile-menu__head svg{width:21px}.mobile-menu nav{display:grid;padding:14px 0}.mobile-menu nav a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:10px 12px;border-radius:12px;color:var(--ink-2);font-weight:650}.mobile-menu nav a:hover,.mobile-menu nav a[aria-current="page"]{color:#fff;text-decoration:none;background:rgba(142,46,126,.16)}.mobile-menu nav svg{width:18px;color:var(--plum-300)}.mobile-menu__actions{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--line)}

.hero--landing { min-height: calc(100svh - 58px); }
.hero--landing::before { display: none; }
.orb { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; pointer-events: none; animation: drift 14s ease-in-out infinite alternate; }
.orb--1 { width: 460px; height: 460px; left: -120px; top: -80px; background: radial-gradient(circle, var(--plum-500), transparent 70%); }
.orb--2 { width: 380px; height: 380px; right: -100px; top: 20%; background: radial-gradient(circle, var(--plum-700), transparent 70%); animation-duration: 18s; }
.orb--3 { width: 520px; height: 520px; left: 30%; bottom: -260px; background: radial-gradient(circle, var(--plum-800), transparent 70%); animation-duration: 22s; }
@keyframes drift { to { transform: translate(40px, 30px) scale(1.08); } }
.hero--landing .hero__media { position: relative; }
.hero__card { position: absolute; left: -2%; bottom: 4%; width: 48%; transform: rotate(-9deg); animation: floaty 6s ease-in-out infinite; filter: drop-shadow(0 24px 40px rgba(0, 0, 0, .6)); z-index: 2; }
@keyframes floaty { 50% { transform: rotate(-7deg) translateY(-10px); } }
.hero__stats { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.hero__stats li { padding: 12px 8px; border-radius: 14px; text-align: center; background: var(--g-card); border: 1px solid var(--line); }
.hero__stats b { display: block; font: 800 1.3rem var(--font-display); background: var(--g-flame); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero__stats span { font-size: .7rem; color: var(--muted); font-weight: 600; }
.hero--landing .hero__cta { margin-top: 4px; }

.landing { position: relative; }
.movement-gallery{width:min(1440px,calc(100% - 32px));margin:clamp(28px,4vw,56px) auto 12px;padding:clamp(22px,3vw,42px);color:#2a0d25;background:linear-gradient(145deg,#fff 0%,#fffaf5 55%,#f9eef6 100%);border:1px solid rgba(94,18,81,.12);border-radius:clamp(24px,3vw,38px);box-shadow:0 30px 80px rgba(0,0,0,.28);overflow:hidden}.movement-gallery__intro{display:grid;gap:12px;margin-bottom:clamp(20px,2.5vw,32px)}.movement-gallery__intro .eyebrow{color:#8e2e7e;margin-bottom:8px}.movement-gallery__intro h2{max-width:760px;margin:0;color:#250b20;font-size:clamp(1.7rem,3.1vw,3rem);line-height:1.06}.movement-gallery__intro>p{max-width:660px;margin:0;color:#6b5566;line-height:1.7}.movement-gallery__viewport{position:relative;overflow:hidden;border-radius:clamp(18px,2vw,28px);background:#180713;box-shadow:0 18px 44px rgba(42,13,37,.2);touch-action:pan-y}.movement-gallery__viewport:focus-visible{outline:3px solid #bb68a7;outline-offset:4px}.movement-gallery__track{display:flex;transition:transform .7s cubic-bezier(.2,.8,.2,1);will-change:transform}.movement-gallery__slide{position:relative;flex:0 0 100%;margin:0;aspect-ratio:16/8;overflow:hidden}.movement-gallery__slide::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(180deg,transparent,rgba(17,3,14,.88))}.movement-gallery__slide img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 7s ease}.movement-gallery__slide[aria-hidden="false"] img{transform:scale(1.035)}.movement-gallery__slide figcaption{position:absolute;z-index:2;left:clamp(18px,3vw,42px);right:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,38px);display:flex;align-items:flex-start;gap:16px;color:#fff}.movement-gallery__slide figcaption>span{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid rgba(255,255,255,.42);border-radius:50%;font:700 .72rem var(--font-display);letter-spacing:.1em;backdrop-filter:blur(10px)}.movement-gallery__slide h3{margin:0 0 6px;color:#fff;font-size:clamp(1.25rem,2.2vw,2rem)}.movement-gallery__slide p{max-width:650px;margin:0;color:rgba(255,255,255,.82);font-size:clamp(.82rem,1.3vw,1rem)}.movement-gallery__arrow{position:absolute;z-index:3;top:50%;display:grid;place-items:center;width:50px;height:50px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;background:rgba(20,5,17,.46);backdrop-filter:blur(12px);cursor:pointer;transform:translateY(-50%);transition:background-color .2s ease,transform .2s ease}.movement-gallery__arrow:hover{background:rgba(94,18,81,.82);transform:translateY(-50%) scale(1.05)}.movement-gallery__arrow svg{width:21px}.movement-gallery__arrow--prev{left:18px}.movement-gallery__arrow--next{right:18px}.movement-gallery__footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:18px}.movement-gallery__dots{display:flex;align-items:center;gap:8px}.movement-gallery__dots button{width:9px;height:9px;padding:0;border:0;border-radius:99px;background:rgba(94,18,81,.2);cursor:pointer;transition:width .25s ease,background-color .25s ease}.movement-gallery__dots button[aria-current="true"]{width:34px;background:#8e2e7e}.movement-gallery__count{display:flex;align-items:baseline;gap:7px;font:700 .78rem var(--font-display);color:#927b8c}.movement-gallery__count b{color:#5e1251;font-size:1.05rem}.movement-gallery__count span{letter-spacing:.08em}
.lsec { max-width: 1240px; margin: 0 auto; padding: 64px var(--gutter) 16px; }
.lsec__head { text-align: center; max-width: 700px; margin: 0 auto 34px; }
.lsec__head .eyebrow { margin-bottom: 10px; }
.lsec__head h2 { font-size: 1.7rem; font-weight: 800; line-height: 1.18; margin-bottom: 16px; background: var(--g-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lsec__head p { color: var(--ink-2); line-height: 1.7; margin: 0; }
.feature-grid { display: grid; gap: 14px; }
.feature { position: relative; padding: 22px; border-radius: 22px; background: var(--g-card); border: 1px solid var(--line); overflow: hidden; transition: transform .2s, border-color .2s; }
.feature::after { content: ""; position: absolute; right: -60px; top: -60px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(142, 46, 126, .28), transparent 70%); }
.feature:hover { transform: translateY(-4px); border-color: var(--line-strong); }
.feature .i3d { width: 72px; height: 72px; margin-bottom: 14px; }
.feature h3 { font-size: 1.08rem; margin-bottom: 6px; }
.feature p { color: var(--muted); font-size: .9rem; margin: 0; }

.tier-rail { display: grid; grid-auto-flow: column; grid-auto-columns: 82%; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 2px 18px; scrollbar-width: thin; }
.tier-carousel{position:relative;min-width:0}.tier-carousel__nav{display:none}.tier-carousel__dots{display:flex;align-items:center;justify-content:center;gap:7px}.tier-carousel__dots button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:var(--line-strong);transition:width .2s ease,background-color .2s ease}.tier-carousel__dots button[aria-current="true"]{width:24px;background:var(--plum-300)}
.tier-show { scroll-snap-align: center; display: flex; flex-direction: column; gap: 16px; padding: 18px; border-radius: 22px; background: var(--g-card); border: 1px solid var(--line); }
.tier-show .idcard { box-shadow: 0 16px 34px rgba(0, 0, 0, .5); }
.tier-show__meta { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.tier-show__meta h3 { margin: 0; font-size: 1.1rem; }
.tier-show__meta span { font-size: .8rem; color: var(--muted); }
.tier-show__meta b { font: 800 1.5rem/1 var(--font-display); white-space: nowrap; text-align: right; }
.tier-show__meta b small { display: block; font-size: .68rem; color: var(--muted); font-weight: 600; margin-top: 4px; }
.tier-show__perks { display: grid; gap: 7px; list-style: none; margin: 0; padding: 0; color: var(--ink-2); font-size: .78rem; line-height: 1.35; }
.tier-show__perks li { display: flex; align-items: flex-start; gap: 7px; }
.tier-show__perks svg { width: 14px; height: 14px; margin-top: 1px; flex: none; color: var(--plum-300); }
.tier-show--gold .tier-show__perks svg, .tier-show--presidential .tier-show__perks svg { color: var(--gold-bright); }
.tier-show--presidential { background: linear-gradient(160deg, rgba(58, 20, 6, .7), rgba(0, 0, 0, .9)); border-color: rgba(248, 176, 24, .4); }
.tier-show--gold { border-color: rgba(248, 176, 24, .3); }
.tier-show > .btn { margin-top: auto; }

.how { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: how; }
.how li { counter-increment: how; position: relative; display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; align-items: center; padding: 18px 20px; border-radius: 20px; background: var(--g-card); border: 1px solid var(--line); }
.how li .i3d { grid-row: span 2; width: 60px; height: 60px; }
.how li b { font: 800 1rem var(--font-display); }
.how li b::before { content: counter(how) ". "; color: var(--plum-300); }
.how li span { color: var(--muted); font-size: .88rem; }

.lcta { max-width: 1240px; margin: 56px auto 40px; padding: 0 var(--gutter); }
.lcta__in { position: relative; overflow: hidden; display: grid; gap: 16px; justify-items: center; text-align: center; padding: 34px 22px; border-radius: 28px; background: radial-gradient(90% 120% at 0% 0%, rgba(187, 104, 167, .45), transparent 60%), var(--g-brand); box-shadow: var(--glow); }
.lcta__icon { width: 92px; height: 92px; }
.lcta__text h2 { font-size: 1.6rem; font-weight: 800; margin-bottom: 6px; }
.lcta__text p { margin: 0; color: var(--plum-200); }
.lcta__actions { display: grid; align-items: center; gap: 10px; width: 100%; max-width: 440px; }
.lcta__actions .btn { align-self: center; height: 58px; min-height: 58px; max-height: 58px; padding: 12px 20px; font-size: .92rem; }
.lcta .btn:not(.btn--ghost) { --btn-bg: #fff; --btn-hover: var(--plum-200); --btn-fg: var(--plum-800); box-shadow: 0 10px 30px rgba(0, 0, 0, .3); }
.lcta__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 20px; }
.lcta__links a { color: #fff; font-weight: 600; font-size: .86rem; text-decoration: underline; text-underline-offset: 3px; }

/* Premium landing motion: opacity/transform only; JS reveals each item once. */
.motion-ready [data-reveal]{opacity:0;filter:blur(7px);transform:translate3d(0,18px,0);transition:opacity .65s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms),filter .55s ease var(--reveal-delay,0ms)}
.motion-ready [data-reveal].is-revealed{opacity:1;filter:blur(0);transform:translate3d(0,0,0)}
.motion-ready .hero__media[data-reveal]{transform:translate3d(-12px,18px,0) scale(.985)}
.motion-ready .hero__media[data-reveal].is-revealed{transform:translate3d(var(--mx,0),var(--my,0),0) scale(1);transition:opacity .75s ease var(--reveal-delay,0ms),filter .7s ease var(--reveal-delay,0ms),transform 1.2s cubic-bezier(.2,.8,.2,1)}
.lnav{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,backdrop-filter .25s ease}.lnav.is-scrolled{background:rgba(12,4,11,.88);border-bottom-color:rgba(220,162,203,.24);box-shadow:0 9px 28px rgba(0,0,0,.22);backdrop-filter:saturate(1.5) blur(20px);-webkit-backdrop-filter:saturate(1.5) blur(20px)}
.lnav__links a{position:relative;transition:color .22s ease,background-color .22s ease}.lnav__links a::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:1px;background:var(--plum-300);transform:scaleX(0);transform-origin:center;transition:transform .22s ease}.lnav__links a:hover::after{transform:scaleX(1)}
.hero--landing{background-size:160% 160%;animation:hero-ambient 18s ease-in-out infinite alternate}.hero--landing .btn{position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .25s ease,border-color .25s ease}.hero--landing .btn::before{content:"";position:absolute;inset:-2px;background:linear-gradient(100deg,transparent 22%,rgba(255,255,255,.18) 48%,transparent 75%);transform:translateX(-120%);transition:transform .65s ease;pointer-events:none}.hero--landing .btn:hover::before{transform:translateX(120%)}.hero--landing .btn:hover{box-shadow:0 12px 30px rgba(142,46,126,.28)}.btn:active{transform:scale(.985)}.hero__cta .btn:first-child:hover svg{transform:translateX(4px)}.hero__cta .btn svg{transition:transform .22s ease}
@keyframes hero-ambient{to{background-position:65% 42%}}
.feature{transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s ease,box-shadow .25s ease}.feature:hover{transform:translateY(-5px);border-color:rgba(220,162,203,.48);box-shadow:0 15px 34px rgba(94,18,81,.22)}.feature .i3d{transition:transform .28s cubic-bezier(.2,.8,.2,1),filter .28s ease}.feature:hover .i3d{transform:translateY(-2px) scale(1.04);filter:brightness(1.06)}
.tier-show{position:relative;overflow:hidden;transition:transform .26s cubic-bezier(.2,.8,.2,1),border-color .26s ease,box-shadow .26s ease}.tier-show::before{content:"";position:absolute;z-index:2;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(110deg,transparent 18%,rgba(255,255,255,.35) 45%,transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;transform:translateX(-115%);transition:transform .75s ease;pointer-events:none}.tier-show:hover{transform:translateY(-5px);border-color:var(--line-strong);box-shadow:0 17px 38px rgba(0,0,0,.32)}.tier-show:hover::before{transform:translateX(115%)}.tier-show--gold,.tier-show--presidential{box-shadow:0 10px 30px rgba(248,176,24,.06)}.tier-show .btn{transition:transform .2s ease,box-shadow .22s ease,background-color .22s ease}.tier-show .btn:hover{transform:translateY(-2px)}
.how li{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.how li:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 14px 32px rgba(94,18,81,.18)}.how li .i3d{animation:how-float 6.5s ease-in-out infinite}.how li:nth-child(2) .i3d{animation-delay:-2.1s}.how li:nth-child(3) .i3d{animation-delay:-4.2s}@keyframes how-float{50%{transform:translateY(-5px) scale(1.015)}}
@media(min-width:720px){.how li:not(:last-child)::after{content:"";position:absolute;z-index:3;top:50%;left:calc(100% + 1px);width:15px;height:1px;background:linear-gradient(90deg,var(--plum-400),transparent);transform:scaleX(0);transform-origin:left;opacity:.75}.how li.is-revealed:not(:last-child)::after{animation:connector-in .45s ease forwards;animation-delay:calc(var(--reveal-delay,0ms) + 520ms)}@keyframes connector-in{to{transform:scaleX(1)}}}
.lcta__in::after{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(240px circle at var(--light-x,20%) var(--light-y,20%),rgba(255,255,255,.13),transparent 70%);pointer-events:none;transition:opacity .25s ease}.lcta__in>*{position:relative;z-index:1}.lcta__in{background-size:140% 140%;animation:cta-ambient 12s ease-in-out infinite alternate}.lcta__actions .btn{transition:transform .22s ease,box-shadow .25s ease,border-color .25s ease}.lcta__actions .btn:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(0,0,0,.25)}@keyframes cta-ambient{to{background-position:70% 35%}}
input,select,textarea,.input,.select{transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}a{transition:color .2s ease,opacity .2s ease}.i3d,svg{transform-origin:center}

@media (min-width: 720px) {
  .movement-gallery__intro{grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);align-items:end}.movement-gallery__intro>p{justify-self:end}
  .lnav__join { display: inline-flex; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .tier-rail { grid-auto-flow: row; grid-template-columns: repeat(2, 1fr); overflow: visible; }
  .how { grid-template-columns: repeat(3, 1fr); }
  .how li { grid-template-columns: 1fr; text-align: center; justify-items: center; padding: 26px 20px; }
  .how li .i3d { grid-row: auto; width: 76px; height: 76px; }
  .lcta__in { grid-template-columns: auto 1fr auto; text-align: left; justify-items: start; padding: 34px 40px; }
  .lcta__actions { grid-template-columns: 1fr 1fr; max-width: 420px; }
  .lcta__links { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (min-width: 960px) {
  .lnav__links { display: flex; }
  .lnav__actions { display: flex; }
  .lnav__menu { display: none; }
  #features { max-width: 1500px; }
  .feature-grid { grid-template-columns: repeat(4, 1fr); gap: 20px; }
  .feature { min-height: 350px; padding: 34px 30px; display: flex; flex-direction: column; justify-content: center; }
  .feature .i3d { width: 92px; height: 92px; margin-bottom: 20px; }
  .feature h3 { font-size: 1.22rem; margin-bottom: 10px; }
  .feature p { font-size: .98rem; line-height: 1.65; }
  .tier-rail { grid-template-columns: repeat(4, 1fr); }
  .tier-show { min-height: 440px; }
  .lsec { padding-top: 92px; }
  .lsec + .lsec { margin-top: 10px; }
  #tiers { max-width: 1440px; }
  #tiers .lsec__head { margin-bottom: 40px; }
  #how { max-width: 1500px; }
  #how .how { gap: 20px; }
  #how .how li { min-height: 300px; padding: 36px 34px; align-content: center; }
  #how .how li .i3d { width: 104px; height: 104px; margin-bottom: 10px; }
  #how .how li b { font-size: 1.22rem; }
  #how .how li span { max-width: 340px; font-size: .98rem; line-height: 1.6; }
  .lsec__head h2 { font-size: 2.3rem; }
  .hero--landing .hero__in { padding-top: 28px; grid-template-rows:auto auto; align-items:start; align-content:start; column-gap:48px; row-gap:16px; }
  .hero--landing .hero__media { grid-column:1; grid-row:1 / 3; align-self:start; }
  .hero--landing .hero__content { grid-column:2; grid-row:1; align-self:start; }
  .hero--landing .hero__stats { grid-column:2; grid-row:2; align-self:start; margin-top:0; }
  .hero--landing h1 { font-size: 3.4rem; }
  .hero__card { width: 44%; left: -4%; bottom: 6%; }
}

@media (max-width: 959px) {
  .location-options { display:grid; gap:12px; }
  .hero--landing{min-height:auto}
  .hero--landing .hero__in{display:flex;max-width:680px;padding-top:clamp(24px,5vw,42px);padding-bottom:clamp(34px,7vw,58px)}
  .hero--landing .hero__content{order:2;flex:none}
  .hero--landing .hero__media{order:1}
  .hero--landing .hero__stats{order:3;width:100%}
  .hero--landing .hero__kicker{order:1}.hero--landing h1{order:2}.hero--landing .hero__lead{order:3}.hero--landing .hero__cta{order:4}.hero--landing .hero__wordmark{order:5}
}

@media (max-width: 719px) {
  .movement-gallery{width:calc(100% - 24px);margin-top:24px;padding:18px 14px 16px;border-radius:24px}.movement-gallery__intro{padding-inline:4px}.movement-gallery__intro h2{font-size:1.65rem}.movement-gallery__intro>p{font-size:.88rem;line-height:1.6}.movement-gallery__slide{aspect-ratio:4/5}.movement-gallery__slide figcaption{left:16px;right:16px;bottom:18px;gap:11px}.movement-gallery__slide figcaption>span{width:36px;height:36px;flex-basis:36px}.movement-gallery__slide h3{font-size:1.2rem}.movement-gallery__slide p{font-size:.78rem;line-height:1.45}.movement-gallery__arrow{width:42px;height:42px;top:42%}.movement-gallery__arrow--prev{left:10px}.movement-gallery__arrow--next{right:10px}.movement-gallery__footer{padding:14px 3px 0}.movement-gallery__dots{gap:6px}.movement-gallery__dots button{width:7px;height:7px}.movement-gallery__dots button[aria-current="true"]{width:24px}
  .motion-ready [data-reveal] { transform: translate3d(0,10px,0); transition-duration: .48s; }
  .motion-ready .hero__media[data-reveal] { transform: translate3d(0,10px,0) scale(.99); }
  .motion-ready .hero__media[data-reveal].is-revealed { transform: none; }
  .lcta__in::after { display: none; }
  .hero--landing .hero__kicker { letter-spacing: .18em; font-size: .62rem; }
  .hero--landing .hero__kicker::before, .hero--landing .hero__kicker::after { display: none; }
  .hero--landing .hero__in{padding:22px 18px 38px}
  .hero--landing .hero__wordmark{display:none}
  .hero--landing h1{font-size:clamp(1.9rem,8.2vw,2.35rem);line-height:1.08;max-width:none;width:100%;margin:0 auto 14px}
  .hero--landing h1>span,.hero--landing h1>em{display:block}
  .hero--landing .hero__lead{font-size:.94rem;line-height:1.65;max-width:35ch;margin-bottom:18px}
  .hero--landing .hero__cta{gap:9px;margin:0 auto;width:100%;max-width:430px}.hero--landing .hero__cta .btn{min-height:50px;padding:12px 18px;border-radius:14px;font-size:.94rem}
  .hero--landing .hero__media{position:relative;width:min(100%,360px);height:225px;margin:8px auto 6px;overflow:hidden;border-radius:28px;background:radial-gradient(circle at 50% 68%,rgba(142,46,126,.3),transparent 62%);isolation:isolate}
  .hero--landing .hero__portrait{position:absolute;left:50%;top:0;bottom:auto;transform:translateX(-50%);width:255px;max-width:70%;height:auto;mask-image:linear-gradient(to bottom,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent 100%)}
  .hero--landing .hero__card{left:12px;bottom:18px;width:145px;max-width:43%;transform:rotate(-6deg);animation:none;z-index:3}
  .hero--landing .hero__badge{right:14px;bottom:20px;width:60px;height:60px;z-index:4;animation:none;box-shadow:0 0 0 3px var(--bg),0 10px 24px rgba(0,0,0,.45)}
  .hero--landing .hero__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:14px 0 0}.hero--landing .hero__stats li{display:grid;align-content:center;min-width:0;min-height:66px;padding:9px 4px;border-radius:12px}.hero--landing .hero__stats li:last-child{grid-column:auto}.hero--landing .hero__stats b{font-size:1.22rem;line-height:1}.hero--landing .hero__stats span{display:block;font-size:clamp(.58rem,2.65vw,.7rem);line-height:1.25;margin-top:5px;overflow-wrap:anywhere}
  .feature-grid{grid-template-columns:1fr;gap:12px}.feature { display: grid; grid-template-columns:52px minmax(0,1fr); gap: 2px 14px; min-height:0;padding:16px; align-items: center;border-radius:18px }
  .feature .i3d { grid-row: span 2; width: 52px; height: 52px; margin: 0; }
  .feature h3 { margin: 0; align-self: end;font-size:1rem }
  .feature p { grid-column: 2; font-size: .86rem;line-height:1.55 }
  .tier-rail{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:100%;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:5px 0 10px;scrollbar-width:none}.tier-rail::-webkit-scrollbar{display:none}.tier-show{width:100%;min-height:0;scroll-snap-align:start;scroll-snap-stop:always}.tier-carousel__nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;margin-top:12px}.tier-carousel__nav>button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer}.tier-carousel__nav>button svg{width:19px}.tier-carousel__nav>button:disabled{opacity:.3;cursor:default}
  #how .how{display:grid;grid-template-columns:1fr;gap:14px;padding-left:38px}#how .how li{display:grid;grid-template-columns:48px minmax(0,1fr);text-align:left;justify-items:start;min-height:112px;padding:16px;overflow:visible;border-radius:18px}#how .how li .i3d{grid-row:1 / 3;width:48px;height:48px;margin:0}#how .how li b{align-self:end;font-size:1rem}#how .how li b::before{display:none}#how .how li span{grid-column:2;align-self:start;font-size:.84rem;line-height:1.5}#how .how li::before{content:counter(how,decimal-leading-zero);position:absolute;left:-38px;top:16px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--g-brand);border:1px solid var(--line-strong);color:#fff;font:800 .65rem var(--font-display);box-shadow:0 0 0 4px var(--bg)}#how .how li:not(:last-child)::after{content:"";position:absolute;left:-24px;top:44px;width:1px;height:calc(100% + 14px);background:linear-gradient(var(--plum-400),rgba(187,104,167,.12));transform:scaleY(0);transform-origin:top}#how .how li.is-revealed:not(:last-child)::after{animation:mobile-line .45s ease forwards;animation-delay:calc(var(--reveal-delay,0ms) + 380ms)}@keyframes mobile-line{to{transform:scaleY(1)}}
  .lcta{margin-top:40px}.lcta__in{padding:30px 20px;gap:0}.lcta__icon{width:70px;height:70px;margin-bottom:18px}.lcta__text h2{font-size:clamp(1.35rem,7vw,1.65rem);margin-bottom:10px}.lcta__text p{line-height:1.6;margin-bottom:24px}.lcta__actions{max-width:none;gap:12px;margin-bottom:22px}.lcta__actions .btn{height:52px;min-height:52px;max-height:52px;width:100%}.lcta__links{display:grid;justify-items:center;gap:11px;width:100%}.lcta__links a{font-size:.84rem}
  .lsec { padding-top: 44px; }
}

.mobile-menu__head>a{display:flex;align-items:center;gap:10px;color:#fff}.mobile-menu__head>a:hover{text-decoration:none}.mobile-menu__head img{width:38px;height:38px;border-radius:50%;background:#fff}.mobile-menu__head b{display:block;font:800 .9rem var(--font-display)}.mobile-menu__head small{display:block;color:var(--plum-300);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.mobile-menu__head>button{width:44px;height:44px}.mobile-menu nav a{opacity:0;transform:translateX(10px)}.menu-open .mobile-menu nav a{animation:menu-link-in .28s ease forwards}.menu-open .mobile-menu nav a:nth-child(2){animation-delay:.035s}.menu-open .mobile-menu nav a:nth-child(3){animation-delay:.07s}.menu-open .mobile-menu nav a:nth-child(4){animation-delay:.105s}.menu-open .mobile-menu nav a:nth-child(5){animation-delay:.14s}@keyframes menu-link-in{to{opacity:1;transform:none}}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .mobile-menu nav a { opacity: 1 !important; transform: none !important; }
  .motion-ready [data-reveal], .motion-ready .hero__media[data-reveal] { opacity: 1 !important; filter: none !important; transform: none !important; }
  .movement-gallery__track,.movement-gallery__slide img{transition:none!important}
}

/* Selective light content blocks; the core NVM interface remains dark. */
.visual-story,.community-story{--ink:#24101f;--ink-2:#513c4b;--muted:#806b79;--line:rgba(94,18,81,.12);width:calc(100% - 2 * var(--gutter));max-width:1440px;margin:82px auto 22px;border:1px solid var(--line);border-radius:30px;background:#fff;color:var(--ink);box-shadow:0 20px 48px rgba(66,18,57,.16);overflow:hidden}
.visual-story{display:grid}.visual-story__copy{padding:clamp(30px,5vw,74px)}
.visual-story__copy h2,.community-story__copy h2{font-size:clamp(1.7rem,3.5vw,3rem);max-width:15ch;margin:10px 0 16px}
.visual-story__copy p,.community-story__copy p{color:var(--ink-2);max-width:54ch;line-height:1.75}
.visual-story__copy ul{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:11px;color:var(--ink-2)}
.visual-story__copy li{display:flex;align-items:flex-start;gap:10px}.visual-story__copy li svg{width:18px;height:18px;flex:none;margin-top:4px;color:var(--plum-600)}
.visual-story__media{min-height:300px;background:#fff7fb}.visual-story__media img{width:100%;height:100%;object-fit:cover;object-position:right center}
.community-story{position:relative;min-height:480px;display:flex;align-items:center}.community-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.community-story::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 36%,rgba(255,255,255,.08) 72%)}
.community-story__copy{position:relative;z-index:1;width:min(54%,620px);padding:clamp(30px,5vw,68px)}
.community-story__copy .btn{margin-top:10px}

@media(min-width:800px){.visual-story{grid-template-columns:.9fr 1.1fr;align-items:stretch}.visual-story__media{min-height:clamp(510px,38vw,580px)}}
@media(max-width:799px){.visual-story{margin-top:44px}.visual-story__media{grid-row:1}.visual-story__media img{object-position:76% center}.visual-story__copy{grid-row:2}.community-story{min-height:610px;align-items:flex-end}.community-story>img{object-position:66% center}.community-story::after{background:linear-gradient(0deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.93) 48%,rgba(255,255,255,.05) 80%)}.community-story__copy{width:100%;padding-top:250px}.community-story__copy h2{max-width:18ch}}

/* Final product-audit responsive corrections */
.chat-bubble{background:var(--surface-strong)}
@media(max-width:600px){.chat-compose{position:sticky;bottom:0;background:var(--surface-strong);padding-bottom:max(14px,env(safe-area-inset-bottom))}.chat-compose .btn{min-width:72px;min-height:46px}}
@media(max-width:799px){
  .visual-story__media{min-height:0;background:#fff}
  .visual-story__media img{width:100%;height:auto;object-fit:contain;object-position:center}
  .community-story{display:block;min-height:0}
  .community-story>img{position:relative;inset:auto;width:100%;height:auto;object-fit:contain;object-position:center}
  .community-story::after{display:none}
  .community-story__copy{width:100%;padding:28px 22px 32px}
  .tier-rail{grid-auto-columns:88%;scroll-padding-inline:0 12%}
}
@media (max-width:959px){
  .motion-ready [data-reveal],
  .motion-ready [data-reveal-stagger] > *{
    opacity:1;
    filter:none;
    transform:none;
    transition:none;
  }
}

/* Verification sits directly beneath the public header without empty viewport bands. */
.verify-search-page{
  min-height:0;
  place-items:start center;
  padding-top:clamp(24px,4vw,46px);
  padding-bottom:clamp(30px,5vw,58px);
}

/* Admin forms use crisp light fields; dark filter controls keep their own styling. */
.admin .card .input,
.admin .card .select,
.admin .card textarea{
  color:#2a1025;
  background-color:#fff;
  border-color:rgba(94,18,81,.2);
  box-shadow:0 5px 16px rgba(52,13,45,.045);
}
.admin .card .input::placeholder,
.admin .card textarea::placeholder{color:#a18f9c}
.admin .card .input:focus,
.admin .card .select:focus,
.admin .card textarea:focus{
  background-color:#fff;
  border-color:#8e2e7e;
  box-shadow:0 0 0 4px rgba(142,46,126,.11);
}

/* Both home actions use the same clear white mobile treatment. */
@media(max-width:719px){
  .hero--landing .hero__cta .btn,
  .hero--landing .hero__cta .btn.btn--ghost{
    border-color:#fff;
    background:#fff;
    color:#3c0d33;
    box-shadow:0 10px 25px rgba(0,0,0,.22);
  }
  .hero--landing .hero__cta .btn:hover,
  .hero--landing .hero__cta .btn.btn--ghost:hover{
    border-color:#f4dbea;
    background:#fff5fb;
    color:#3c0d33;
  }
}

/* The fourth tier remains readable against its presidential dark surface. */
.is-light-page .benefit-card--presidential .eyebrow{color:#ffd27a}
.is-light-page .benefit-card--presidential h2,
.is-light-page .benefit-card--presidential .benefit-card__price{color:#fff}

/* Final desktop CTA alignment: override the earlier wide-column component rule. */
@media(min-width:960px){
  .lcta__in{
    grid-template-columns:minmax(0,48%) minmax(0,52%);
    column-gap:0;
  }
  .lcta__main{
    grid-column:1;
    padding-right:22px;
  }
  .lcta__panel{
    grid-column:2;
    width:auto;
    justify-self:stretch;
    margin:30px 30px 30px 0;
  }
}

/* Desktop closing CTA: use the centre space for a focused campaign visual. */
.lcta__visual{display:none}
@media(min-width:960px){
  .lcta__in{
    grid-template-columns:minmax(0,1.12fr) minmax(190px,.34fr) minmax(370px,.82fr);
    column-gap:0;
  }
  .lcta__main{grid-column:1;z-index:2;padding-right:28px}
  .lcta__main::after{display:none}
  .lcta__visual{
    position:relative;
    z-index:1;
    grid-column:2;
    display:flex;
    align-self:stretch;
    align-items:flex-end;
    justify-content:center;
    min-width:0;
    overflow:hidden;
  }
  .lcta__visual::before{
    content:"";
    position:absolute;
    left:50%;
    bottom:36px;
    width:220px;
    height:220px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(142,46,126,.4),transparent 68%);
    transform:translateX(-50%);
    filter:blur(8px);
  }
  .lcta__visual img{
    position:relative;
    z-index:1;
    display:block;
    width:min(230px,125%);
    max-width:none;
    height:94%;
    object-fit:contain;
    object-position:center bottom;
    filter:drop-shadow(0 18px 28px rgba(0,0,0,.42));
  }
  .lcta__panel{grid-column:3;margin:30px 30px 30px 8px}
}

/* CTA correction: no centre artwork, just a tight balanced two-column layout. */
@media(min-width:960px){
  .lcta__in{
    grid-template-columns:minmax(500px,40%) minmax(0,60%);
    column-gap:0;
  }
  .lcta__main{
    grid-column:1;
    padding-right:16px;
  }
  .lcta__visual{display:none}
  .lcta__panel{
    grid-column:2;
    width:min(620px,calc(100% - 44px));
    justify-self:start;
    margin:30px 22px;
  }
}
.is-light-page .benefit-card--presidential .benefit-card__price small{color:#ead5e2}

/* Final mobile verification spacing: normal document flow directly under the header. */
@media(max-width:719px){
  .verify-search-page{
    display:block;
    min-height:auto;
    padding:14px 12px 24px;
  }
  .verify-search-panel{margin:0 auto}
}

/* Mobile hero: white primary action, branded secondary action. */
@media(max-width:719px){
  .hero--landing .hero__cta .btn:first-child{
    border-color:#fff;
    background:#fff;
    color:#3c0d33;
    box-shadow:0 10px 25px rgba(0,0,0,.22);
  }
  .hero--landing .hero__cta .btn.btn--ghost:last-child{
    border-color:rgba(220,162,203,.36);
    background:linear-gradient(135deg,#a52a8e 0%,#5e1251 58%,#3b0a33 100%);
    color:#fff;
    box-shadow:0 10px 25px rgba(94,18,81,.3);
  }
  .hero--landing .hero__cta .btn.btn--ghost:last-child:hover{
    border-color:#dca2cb;
    background:linear-gradient(135deg,#b83aa0,#68175b 58%,#460c3d);
    color:#fff;
  }

  /* Closing CTA follows the same white + brand pairing. */
  .lcta__actions .btn:first-child{
    border-color:#fff;
    background:#fff;
    color:#3c0d33;
  }
  .lcta__actions .btn.btn--ghost:last-child{
    border-color:rgba(220,162,203,.36);
    background:linear-gradient(135deg,#a52a8e 0%,#5e1251 58%,#3b0a33 100%);
    color:#fff;
    box-shadow:0 10px 25px rgba(94,18,81,.3);
  }
  .lcta__actions .btn.btn--ghost:last-child:hover{
    border-color:#dca2cb;
    background:linear-gradient(135deg,#b83aa0,#68175b 58%,#460c3d);
    color:#fff;
  }
}

/* Presidential pricing uses the NVM palette instead of a muddy brown surface. */
.is-light-page .benefit-card--presidential{
  background:radial-gradient(320px 190px at 100% 0,rgba(248,176,24,.13),transparent 68%),linear-gradient(155deg,#651355 0%,#310a2a 48%,#150711 100%);
  border-color:rgba(248,176,24,.62);
  box-shadow:0 22px 52px rgba(94,18,81,.24),inset 0 1px rgba(255,218,140,.15);
}
.is-light-page .benefit-card--presidential::before{background:linear-gradient(90deg,#ffd16a,#ff8a19)}
.is-light-page .benefit-card--presidential .eyebrow{color:#ffd66f}
.is-light-page .benefit-card--presidential .benefit-card__rule{background:linear-gradient(90deg,rgba(255,210,122,.65),transparent)}
/* ---------- NVM connected membership pricing ---------- */
#tiers{position:relative}
#tiers::before{content:"";position:absolute;z-index:-1;width:min(760px,80vw);height:420px;left:50%;top:170px;transform:translateX(-50%);background:radial-gradient(circle,rgba(248,176,24,.1),rgba(142,46,126,.08) 42%,transparent 72%);filter:blur(12px);pointer-events:none}
.tier-rail{gap:12px;align-items:stretch}
.tier-show{isolation:isolate;gap:14px;padding:14px;border-radius:26px;background:linear-gradient(155deg,rgba(44,18,39,.96),rgba(17,7,15,.98));border:1px solid rgba(220,162,203,.2);box-shadow:0 22px 55px rgba(0,0,0,.24)}
.tier-show::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.045),transparent 36%);pointer-events:none}
.tier-show__top{display:flex;align-items:center;justify-content:space-between;min-height:30px;gap:12px;padding:0 4px}
.tier-show__number{font:800 .68rem var(--font-display);letter-spacing:.16em;color:var(--plum-300)}
.tier-show__label{padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font:700 .59rem var(--font-display);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.tier-show__visual{position:relative;padding:10px;border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012));border:1px solid var(--line);overflow:hidden}
.tier-show__visual::before{content:"";position:absolute;width:100px;height:100px;right:-35px;top:-42px;border-radius:50%;background:var(--plum-500);filter:blur(42px);opacity:.38;pointer-events:none}
.tier-show__visual .idcard{position:relative;z-index:1;transform:none;box-shadow:0 16px 32px rgba(0,0,0,.42)}
.tier-show__meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:3px 4px 0}
.tier-show__title h3{font-size:1.18rem;line-height:1.05;margin:0 0 5px}
.tier-show__title span{display:block;font-size:.73rem;line-height:1.35;color:var(--muted)}
.tier-show__price{text-align:right}
.tier-show__price b{display:block;font:800 clamp(1.65rem,2vw,2.05rem)/.9 var(--font-display);letter-spacing:-.045em;color:var(--ink)}
.tier-show__price small{display:block;margin-top:7px;color:var(--muted);font-size:.57rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.tier-show__rule{height:1px;margin:1px 4px 0;background:linear-gradient(90deg,var(--line-strong),transparent)}
.tier-show__perks{gap:9px;padding:0 4px;font-size:.75rem}
.tier-show__perks li{gap:9px;align-items:center;min-height:20px}
.tier-show__perks svg{width:18px;height:18px;margin:0;padding:3px;border-radius:50%;color:#fff;background:var(--plum-500)}
.tier-show>.btn{min-height:46px;margin-top:auto;border-radius:14px}
.tier-show--silver{background:linear-gradient(155deg,rgba(54,45,58,.97),rgba(17,11,18,.99));border-color:rgba(226,222,229,.22)}
.tier-show--gold{background:linear-gradient(155deg,rgba(58,35,10,.96),rgba(20,10,3,.99));border-color:rgba(248,176,24,.52);box-shadow:0 24px 60px rgba(248,176,24,.1)}
.tier-show--presidential{background:linear-gradient(155deg,rgba(74,22,58,.97),rgba(19,5,15,.99));border-color:rgba(255,142,38,.48);box-shadow:0 24px 60px rgba(142,46,126,.16)}
.tier-show--gold .tier-show__label,.tier-show--presidential .tier-show__label{color:var(--gold-bright);border-color:rgba(248,176,24,.38);background:rgba(248,176,24,.08)}
.tier-show--gold .tier-show__number,.tier-show--presidential .tier-show__number{color:var(--gold-bright)}
.tier-show--gold .tier-show__rule,.tier-show--presidential .tier-show__rule{background:linear-gradient(90deg,rgba(248,176,24,.65),transparent)}
.tier-show--gold .tier-show__perks svg,.tier-show--presidential .tier-show__perks svg{background:var(--gold);color:#241000}
@media(min-width:960px){
  #tiers{max-width:1500px}
  #tiers .tier-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:24px 0 30px}
  #tiers .tier-show{min-width:0;min-height:520px;border-radius:26px;box-shadow:0 18px 48px rgba(0,0,0,.24)}
  #tiers .tier-show:first-child{border-radius:26px}
  #tiers .tier-show:last-child{border-radius:26px}
  #tiers .tier-show+.tier-show{margin-left:0}
  #tiers .tier-show--gold{z-index:3;margin:-12px 0;border-radius:28px;box-shadow:0 30px 75px rgba(0,0,0,.42),0 0 0 1px rgba(248,176,24,.25)}
  #tiers .tier-show:hover{z-index:5}
}
@media(max-width:719px){
  #tiers::before{top:130px;height:330px}
  #tiers .tier-rail{grid-auto-columns:88%;gap:16px;padding:10px 0 16px}
  #tiers .tier-show{min-height:0;padding:14px;border-radius:24px}
  #tiers .tier-show__visual{padding:8px}
  #tiers .tier-show__meta{grid-template-columns:minmax(0,1fr) auto}
  #tiers .tier-show__price b{font-size:1.7rem}
  #tiers .tier-show__perks{font-size:.76rem}
}
/* ---------- Official Kofi portrait assets ---------- */
@media(min-width:960px){
  .hero--landing .hero__media{height:min(650px,calc(100svh - 120px));display:block;overflow:visible}
  .hero--landing .hero__portrait{position:absolute;top:0;left:50%;bottom:auto;display:block;width:clamp(650px,46vw,720px);height:auto;max-width:none;transform:translateX(-50%);object-fit:contain;object-position:center top}
}
@media(min-width:720px) and (max-width:959px){
  .hero--landing .hero__media{width:min(100%,460px);height:440px;overflow:hidden}
  .hero--landing .hero__portrait{display:block;width:auto;height:100%;max-width:none;margin:0 auto;object-fit:contain;object-position:center top}
}
@media(max-width:719px){
  .hero--landing .hero__portrait{width:270px;max-width:74%;height:auto}
}

/* ---------- Premium closing CTA ---------- */
.lcta{width:calc(100% - 2 * var(--gutter));max-width:1440px;margin:76px auto 52px;padding:0}
.lcta__in{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:112px minmax(0,1fr) minmax(360px,450px);grid-template-rows:auto auto;align-items:center;column-gap:34px;row-gap:24px;min-height:286px;padding:46px 52px;border:1px solid rgba(240,190,225,.22);border-radius:32px;text-align:left;background:radial-gradient(700px 320px at 4% 8%,rgba(196,91,176,.34),transparent 62%),linear-gradient(118deg,#421038 0%,#69175c 48%,#3a0c32 100%);box-shadow:0 30px 75px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.08);animation:none}
.lcta__in::before{content:"";position:absolute;z-index:-1;top:-110px;right:-70px;width:330px;height:330px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.018)}
.lcta__in::after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:3px;background:linear-gradient(90deg,#e09bcf,#ffad19 58%,#ff5d1d);opacity:.9}
.lcta__icon{grid-column:1;grid-row:1 / 3;width:104px;height:104px;padding:15px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:rgba(22,4,19,.24);box-shadow:inset 0 1px rgba(255,255,255,.09),0 18px 40px rgba(0,0,0,.22)}
.lcta__text{grid-column:2;grid-row:1;align-self:end;max-width:660px}
.lcta__eyebrow{margin-bottom:9px;color:#f3b9df;font:800 .7rem var(--font-display);letter-spacing:.22em;text-transform:uppercase}
.lcta__text h2{margin:0 0 9px;font-size:clamp(1.75rem,2.25vw,2.35rem);line-height:1.12;letter-spacing:-.025em}
.lcta__text p{max-width:58ch;margin:0;color:rgba(255,255,255,.72);font-size:1rem;line-height:1.65}
.lcta__actions{grid-column:3;grid-row:1 / 3;align-self:center;display:grid;grid-template-columns:1fr;gap:12px;width:100%;max-width:none}
.lcta__actions .btn{width:100%;height:58px;min-height:58px;max-height:none;border-radius:16px;font-size:.95rem}
.lcta .btn:not(.btn--ghost){--btn-bg:#fff;--btn-hover:#fff4fb;--btn-fg:#431039;box-shadow:0 14px 34px rgba(0,0,0,.25)}
.lcta .btn--ghost{border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.055);color:#fff}
.lcta__links{grid-column:2;grid-row:2;align-self:start;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px}
.lcta__links a{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(12,3,11,.16);color:rgba(255,255,255,.82);font-size:.78rem;font-weight:700;text-decoration:none}
.lcta__links a::after{content:"→";margin-left:8px;color:#f6b51b;transition:transform .2s ease}
.lcta__links a:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.09);color:#fff}
.lcta__links a:hover::after{transform:translateX(3px)}
@media(max-width:959px){
  .lcta__in{grid-template-columns:90px minmax(0,1fr);grid-template-rows:auto auto auto;padding:38px;column-gap:26px}
  .lcta__icon{grid-column:1;grid-row:1 / 3;width:86px;height:86px;border-radius:24px}
  .lcta__text{grid-column:2;grid-row:1}
  .lcta__links{grid-column:2;grid-row:2}
  .lcta__actions{grid-column:1 / -1;grid-row:3;grid-template-columns:1fr 1fr}
}
@media(max-width:719px){
  .lcta{width:calc(100% - 32px);margin:48px auto 34px}
  .lcta__in{display:flex;flex-direction:column;align-items:flex-start;min-height:0;padding:28px 22px;border-radius:26px;gap:0;text-align:left}
  .lcta__icon{width:76px;height:76px;margin:0 0 22px;padding:11px;border-radius:21px}
  .lcta__text h2{font-size:clamp(1.55rem,7vw,1.9rem);margin-bottom:10px}
  .lcta__text p{font-size:.92rem;line-height:1.6}
  .lcta__actions{order:3;display:grid;grid-template-columns:1fr;width:100%;margin:24px 0 18px;gap:10px}
  .lcta__actions .btn{height:52px;min-height:52px}
  .lcta__links{order:4;display:flex;justify-content:flex-start;width:100%;gap:8px}
  .lcta__links a{font-size:.72rem;min-height:36px;padding:7px 11px}
}

/* ---------- Editorial membership CTA ---------- */
.lcta{width:calc(100% - 2 * var(--gutter));max-width:1440px;margin:82px auto 54px;padding:0}
.lcta__in{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);min-height:430px;padding:0;border:1px solid rgba(226,166,210,.2);border-radius:34px;text-align:left;background:linear-gradient(132deg,#170711 0%,#26091f 52%,#12060f 100%);box-shadow:0 36px 90px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.055);animation:none}
.lcta__in::before{content:"NVM";position:absolute;z-index:-1;left:-24px;bottom:-58px;color:rgba(255,255,255,.025);font:800 clamp(9rem,17vw,17rem)/.8 var(--font-display);letter-spacing:-.08em;pointer-events:none}
.lcta__in::after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(560px 360px at 18% 20%,rgba(142,46,126,.3),transparent 72%),linear-gradient(90deg,transparent 0 66%,rgba(255,255,255,.018) 66%);pointer-events:none}
.lcta__main{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:44px 54px 42px}
.lcta__main::after{content:"";position:absolute;top:44px;right:0;bottom:44px;width:1px;background:linear-gradient(transparent,rgba(226,166,210,.25) 20% 80%,transparent)}
.lcta__brand{display:flex;align-items:center;gap:13px;color:#fff}
.lcta__brand img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}
.lcta__brand span{display:grid;gap:2px}
.lcta__brand b{font:750 .82rem var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.lcta__brand small{color:var(--plum-300);font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.lcta__text{max-width:720px;margin:34px 0 30px}
.lcta__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:15px;color:#e9afd8;font:800 .69rem var(--font-display);letter-spacing:.22em;text-transform:uppercase}
.lcta__eyebrow::before{content:"";width:28px;height:2px;background:linear-gradient(90deg,#f8b018,#ff5c19)}
.lcta__text h2{margin:0 0 18px;color:#fff;font-size:clamp(2.25rem,4vw,4.15rem);line-height:.98;letter-spacing:-.045em}
.lcta__text h2 em{font-style:normal;background:linear-gradient(100deg,#e7a8d4,#ffb31a 70%,#ff681d);-webkit-background-clip:text;background-clip:text;color:transparent}
.lcta__text p{max-width:55ch;margin:0;color:rgba(255,255,255,.68);font-size:1rem;line-height:1.68}
.lcta__proof{display:flex;flex-wrap:wrap;gap:9px 22px}
.lcta__proof span{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.72);font-size:.73rem;font-weight:700}
.lcta__proof span::before{content:"";width:6px;height:6px;border-radius:50%;background:#f8b018;box-shadow:0 0 0 4px rgba(248,176,24,.1)}
.lcta__panel{position:relative;z-index:1;align-self:center;margin:34px;padding:38px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:linear-gradient(155deg,rgba(255,255,255,.105),rgba(255,255,255,.045));box-shadow:0 24px 60px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.lcta__panel::before{content:"";position:absolute;top:0;left:30px;right:30px;height:2px;background:linear-gradient(90deg,transparent,#e1a2ce,#ffb018,transparent)}
.lcta__panel-label{display:block;margin-bottom:12px;color:#efb9df;font:800 .68rem var(--font-display);letter-spacing:.18em;text-transform:uppercase}
.lcta__panel h3{margin:0 0 10px;color:#fff;font-size:clamp(1.35rem,1.8vw,1.75rem);line-height:1.2}
.lcta__panel>p{margin:0 0 24px;color:rgba(255,255,255,.65);font-size:.88rem;line-height:1.6}
.lcta__actions{display:grid;grid-template-columns:1fr;gap:11px;width:100%;max-width:none;margin:0}
.lcta__actions .btn{width:100%;height:56px;min-height:56px;max-height:none;border-radius:14px;font-size:.9rem}
.lcta__actions .btn svg{width:17px;margin-left:8px}
.lcta .btn:not(.btn--ghost){--btn-bg:#fff;--btn-hover:#fff5fb;--btn-fg:#3c0d33;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.lcta .btn--ghost{border-color:rgba(255,255,255,.2);background:rgba(5,1,4,.2);color:#fff}
.lcta__links{display:flex;justify-content:center;gap:18px;margin-top:20px}
.lcta__links a{min-height:0;padding:0;border:0;border-radius:0;background:none;color:rgba(255,255,255,.7);font-size:.74rem;font-weight:700;text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:4px}
.lcta__links a::after{display:none}
.lcta__links a:hover{border:0;background:none;color:#fff}
@media(max-width:959px){
  .lcta__in{grid-template-columns:1fr;min-height:0}
  .lcta__main{padding:40px 42px 28px}
  .lcta__main::after{display:none}
  .lcta__text{margin:30px 0 26px}
  .lcta__text h2{font-size:clamp(2.35rem,7vw,3.6rem)}
  .lcta__panel{margin:0 34px 34px;padding:32px}
  .lcta__actions{grid-template-columns:1fr 1fr}
}
@media(max-width:719px){
  .lcta{width:calc(100% - 32px);margin:50px auto 36px}
  .lcta__in{display:grid;border-radius:26px}
  .lcta__main{padding:28px 22px 24px}
  .lcta__brand img{width:42px;height:42px}
  .lcta__brand b{font-size:.72rem}.lcta__brand small{font-size:.57rem}
  .lcta__text{margin:28px 0 24px}
  .lcta__eyebrow{font-size:.6rem;letter-spacing:.17em}
  .lcta__text h2{font-size:clamp(2rem,10.5vw,2.8rem);line-height:1.02;margin-bottom:16px}
  .lcta__text p{font-size:.9rem;line-height:1.62}
  .lcta__proof{display:grid;gap:11px}
  .lcta__panel{margin:0 12px 12px;padding:25px 20px;border-radius:21px}
  .lcta__panel h3{font-size:1.35rem}
  .lcta__actions{grid-template-columns:1fr;margin:0}
  .lcta__links{justify-content:flex-start;gap:16px;margin-top:18px}
  .lcta__links a{font-size:.7rem;padding:0}
}

/* ---------- Integrated footer trust panel ---------- */
.is-hero .site-footer{margin-top:28px}
.site-footer__trust{position:relative;border-top:1px solid rgba(226,166,210,.1);border-bottom:1px solid rgba(226,166,210,.13);background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.008))}
.site-footer__trust .site-footer__wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-block:0}
.site-footer__trust-item{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;min-width:0;padding:25px clamp(20px,3vw,38px)}
.site-footer__trust-item:not(:last-child)::after{content:"";position:absolute;top:22px;right:0;bottom:22px;width:1px;background:linear-gradient(transparent,rgba(226,166,210,.2),transparent)}
.site-footer__trust-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(226,166,210,.2);border-radius:14px;background:linear-gradient(145deg,rgba(142,46,126,.2),rgba(255,255,255,.025));box-shadow:inset 0 1px rgba(255,255,255,.05)}
.site-footer__trust-icon svg{width:20px;height:20px;color:#e4a5d1}
.site-footer__trust-item>span:last-child{display:grid;gap:4px;min-width:0}
.site-footer__trust-item b{color:rgba(255,255,255,.9);font:700 .78rem var(--font-display);line-height:1.25}
.site-footer__trust-item small{color:var(--muted);font-size:.68rem;line-height:1.35}
@media(max-width:719px){
  .is-hero .site-footer{margin-top:18px}
  .site-footer__trust .site-footer__wrap{grid-template-columns:1fr;padding:10px 18px}
  .site-footer__trust-item{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:15px 4px}
  .site-footer__trust-item:not(:last-child)::after{top:auto;left:0;right:0;bottom:0;width:auto;height:1px;background:linear-gradient(90deg,transparent,rgba(226,166,210,.18),transparent)}
  .site-footer__trust-icon{width:40px;height:40px;border-radius:12px}
  .site-footer__trust-icon svg{width:18px;height:18px}
}

/* Footer trust icon optical alignment */
.site-footer__trust-item{grid-template-columns:54px minmax(0,1fr);gap:16px}
.site-footer__trust-icon{position:relative;width:52px;height:52px;border-radius:50%;border:1px solid rgba(231,171,215,.3);background:linear-gradient(145deg,rgba(142,46,126,.32),rgba(55,10,46,.7));box-shadow:inset 0 1px rgba(255,255,255,.1),0 10px 24px rgba(0,0,0,.22)}
.site-footer__trust-icon::after{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.07);border-radius:50%;pointer-events:none}
.site-footer__trust-icon svg{display:block;width:23px;height:23px;overflow:visible;color:#f0b5df;stroke-width:1.8}
.site-footer__trust-item:nth-child(2) .site-footer__trust-icon{border-color:rgba(248,176,24,.32);background:linear-gradient(145deg,rgba(248,176,24,.2),rgba(72,34,4,.5))}
.site-footer__trust-item:nth-child(2) .site-footer__trust-icon svg{color:#ffc84d}
.site-footer__trust-item:nth-child(3) .site-footer__trust-icon{border-color:rgba(255,101,25,.3);background:linear-gradient(145deg,rgba(255,101,25,.18),rgba(75,22,9,.48))}
.site-footer__trust-item:nth-child(3) .site-footer__trust-icon svg{color:#ff9a64}
@media(max-width:719px){
  .site-footer__trust-item{grid-template-columns:46px minmax(0,1fr);gap:13px}
  .site-footer__trust-icon{width:44px;height:44px}
  .site-footer__trust-icon svg{width:20px;height:20px}
}

/* Keep trust icons contained inside their cards */
.site-footer__trust .site-footer__wrap{gap:14px;padding-block:18px}
.site-footer__trust-item{grid-template-columns:52px minmax(0,1fr);gap:16px;padding:17px 20px;border:1px solid rgba(226,166,210,.12);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));overflow:hidden}
.site-footer__trust-item:not(:last-child)::after{display:none}
.site-footer__trust-icon{flex:none;align-self:center;justify-self:start;box-sizing:border-box}
.site-footer__trust-item>span:last-child{align-self:center}
.site-footer__trust .site-footer__trust-icon{display:grid;place-items:center;justify-content:center;align-items:center;padding:0;gap:0}
.site-footer__trust .site-footer__trust-icon svg{margin:0;transform:none}
@media(max-width:719px){
  .site-footer__trust .site-footer__wrap{gap:9px;padding:12px 16px}
  .site-footer__trust-item{grid-template-columns:44px minmax(0,1fr);gap:13px;padding:14px;border-radius:15px}
}

/* Footer social profiles */
.site-footer__social{display:flex;align-items:center;gap:10px;margin-top:22px}
.site-footer__grid .site-footer__social a{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(226,166,210,.2);border-radius:50%;background:rgba(255,255,255,.025);color:#dca2cb;transition:transform .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease}
.site-footer__grid .site-footer__social a:hover{transform:translateY(-3px);border-color:rgba(248,176,24,.5);background:rgba(248,176,24,.1);color:#ffc33b}
.site-footer__social svg{display:block;width:19px;height:19px;margin:0}
.site-footer__social a:focus-visible{outline:2px solid #f8b018;outline-offset:3px}
@media(max-width:719px){
  .site-footer__social{margin-top:18px}
  .site-footer__grid .site-footer__social a{width:40px;height:40px}
  .site-footer__social svg{width:18px;height:18px}
}

/* Premium social motion and smooth in-page navigation */
html{scroll-behavior:smooth;scroll-padding-top:92px}
.motion-ready .site-footer__social a[data-reveal]{opacity:0;filter:blur(5px);transform:translate3d(0,18px,0) scale(.76) rotate(-8deg)}
.motion-ready .site-footer__social a[data-reveal].is-revealed{opacity:1;filter:blur(0);transform:none;transition:opacity .5s ease var(--reveal-delay,0ms),filter .5s ease var(--reveal-delay,0ms),transform .72s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .25s ease}
.site-footer__grid .site-footer__social a:hover{transform:translateY(-4px) scale(1.07);box-shadow:0 12px 28px rgba(142,46,126,.28),0 0 0 4px rgba(248,176,24,.07)}
.site-footer__grid .site-footer__social a:hover svg{animation:social-icon-pulse .55s cubic-bezier(.16,1,.3,1)}
@keyframes social-icon-pulse{45%{transform:scale(.84)}75%{transform:scale(1.12)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .motion-ready .site-footer__social a[data-reveal],.motion-ready .site-footer__social a[data-reveal].is-revealed{opacity:1;filter:none;transform:none}
}

/* Cinematic social icon interaction */
.site-footer__grid .site-footer__social a{position:relative;isolation:isolate;overflow:visible;will-change:transform}
.site-footer__grid .site-footer__social a::before{content:"";position:absolute;z-index:-2;inset:-4px;border-radius:inherit;background:conic-gradient(from 0deg,transparent 0 18%,#dca2cb 32%,#f8b018 50%,#ff6519 67%,transparent 82%);opacity:0;filter:blur(.2px);transform:rotate(-35deg) scale(.82);transition:opacity .25s ease,transform .55s cubic-bezier(.16,1,.3,1)}
.site-footer__grid .site-footer__social a::after{content:"";position:absolute;z-index:-1;inset:-2px;border-radius:inherit;background:#10050d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}
.site-footer__grid .site-footer__social a:hover::before,.site-footer__grid .site-footer__social a:focus-visible::before{opacity:1;transform:rotate(145deg) scale(1)}
.site-footer__grid .site-footer__social a:hover svg,.site-footer__grid .site-footer__social a:focus-visible svg{filter:drop-shadow(0 0 7px currentColor)}
.site-footer__social a:nth-child(1){--social-accent:#86a8ff}.site-footer__social a:nth-child(2){--social-accent:#f2a3d4}.site-footer__social a:nth-child(3){--social-accent:#ff9d65}
.site-footer__grid .site-footer__social a:hover,.site-footer__grid .site-footer__social a:focus-visible{color:var(--social-accent);border-color:transparent}
@media(prefers-reduced-motion:reduce){
  .site-footer__grid .site-footer__social a{will-change:auto}
  .site-footer__grid .site-footer__social a::before{display:none}
}


/* Mobile tiers: show exactly one complete card at a time */
@media(max-width:719px){
  #tiers .tier-rail{grid-auto-columns:100%;column-gap:0;scroll-padding-inline:0;padding-inline:0}
  #tiers .tier-show{width:100%;max-width:100%;scroll-snap-align:start}
}

/* Compact movement gallery: editorial copy + a 530x405px maximum image card. */
.movement-gallery{display:block;width:calc(100% - 32px);max-width:680px;margin:clamp(28px,4vw,52px) auto 18px;padding:clamp(24px,3vw,40px);border-radius:32px}
.movement-gallery__intro{display:block;margin:0 0 24px;padding:0 4px;text-align:left}
.movement-gallery__intro h2{max-width:13ch;font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.08}
.movement-gallery__intro>p{max-width:54ch;margin-top:16px;font-size:.94rem;line-height:1.68}
.movement-gallery__viewport{width:100%;max-width:530px;aspect-ratio:530/405;margin:0 auto;border-radius:24px}
.movement-gallery__slide{height:100%;aspect-ratio:auto}
.movement-gallery__slide::after{inset:48% 0 0}
.movement-gallery__slide figcaption{left:22px;right:22px;bottom:20px;gap:12px}
.movement-gallery__slide figcaption>span{width:38px;height:38px;flex-basis:38px}
.movement-gallery__slide h3{font-size:clamp(1.05rem,1.8vw,1.35rem);margin-bottom:3px}
.movement-gallery__slide p{font-size:.78rem;line-height:1.45}
.movement-gallery__arrow{width:42px;height:42px}
.movement-gallery__arrow--prev{left:12px}.movement-gallery__arrow--next{right:12px}
.movement-gallery__footer{width:100%;max-width:530px;margin:0 auto;padding-top:14px}
@media(min-width:900px){
  .movement-gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,530px);grid-template-rows:auto auto;column-gap:clamp(34px,5vw,72px);row-gap:0;align-items:center;width:calc(100% - 48px);max-width:1500px;padding:clamp(34px,4vw,58px)}
  .movement-gallery__intro{grid-column:1;grid-row:1 / 3;align-self:center;margin:0;padding:0}
  .movement-gallery__viewport{grid-column:2;grid-row:1;margin:0;justify-self:end}
  .movement-gallery__footer{grid-column:2;grid-row:2;margin:0;justify-self:end}
}
@media(max-width:719px){
  .movement-gallery{width:calc(100% - 24px);max-width:560px;padding:22px 14px 16px;border-radius:24px}
  .movement-gallery__intro{margin-bottom:18px;padding-inline:4px}
  .movement-gallery__intro h2{font-size:1.6rem}
  .movement-gallery__viewport{aspect-ratio:4/3;border-radius:19px}
  .movement-gallery__slide{aspect-ratio:auto}
  .movement-gallery__slide figcaption{left:15px;right:15px;bottom:14px}
  .movement-gallery__slide figcaption>span{display:none}
  .movement-gallery__slide h3{font-size:1.05rem}
  .movement-gallery__slide p{font-size:.73rem}
  .movement-gallery__arrow{width:38px;height:38px;top:43%}
}

/* NVM highlights carousel — three editorial cards on desktop, one on mobile. */

/* Keep the desktop chat composer close to the floating navigation without overlap. */
@media(min-width:601px){
  .chat-card{height:clamp(420px,calc(100dvh - 178px),760px)}
  .preview-bar~.chat-page .chat-card{height:clamp(420px,calc(100dvh - 206px),760px)}
}

/* Desktop member navigation follows the content instead of covering dashboard/chat cards. */
@media(min-width:720px){
  .page--with-nav{padding-bottom:12px}
  .bottomnav{position:relative;left:auto;right:auto;bottom:auto;margin:10px auto 22px}
}

/* Admin console — balanced light workspace with dark NVM navigation. */
.admin{
  color-scheme:light;
  --bg:#f7f1f5;
  --bg-2:#fffafd;
  --surface:rgba(94,18,81,.055);
  --surface-strong:#ffffff;
  --surface-3:#f3e8f0;
  --line:rgba(66,22,57,.12);
  --line-strong:rgba(94,18,81,.24);
  --ink:#2a1025;
  --ink-2:#563c50;
  --muted:#806b7a;
  --success:#5e1251;
  --success-soft:#f4e5f0;
  --g-card:linear-gradient(145deg,#ffffff 0%,#fcf7fa 100%);
  --g-card-strong:linear-gradient(145deg,#ffffff,#f7edf4);
  --shadow-1:0 1px 0 rgba(255,255,255,.9) inset,0 10px 30px rgba(52,13,45,.08);
  --shadow-2:0 20px 48px rgba(52,13,45,.12);
  background:
    radial-gradient(760px 360px at 5% 0,rgba(187,104,167,.16),transparent 64%),
    radial-gradient(680px 320px at 100% 8%,rgba(248,176,24,.08),transparent 65%),
    linear-gradient(180deg,#f7eef4 0%,#fff 42%,#f8f2f6 100%);
}
.admin-top{background:linear-gradient(112deg,#160713 0%,#3a0b32 57%,#651355 100%);border-bottom-color:rgba(255,255,255,.1);box-shadow:0 9px 30px rgba(42,6,36,.16)}
.admin-top b{color:#fff}.admin-top small{color:#e8bedf}.admin-top .avatar{color:#fff}
.admin-nav{background:rgba(255,255,255,.92);border-bottom-color:var(--line);box-shadow:0 6px 22px rgba(52,13,45,.06)}
.admin-nav a,.admin-nav__btn{color:#745f6e}
.admin-nav a:hover,.admin-nav__btn:hover{color:var(--plum-600)}
.admin-nav a[aria-current="page"]{color:var(--plum-600);border-bottom-color:var(--plum-600)}
.admin .page{padding-top:30px}
.admin .card{background:var(--g-card);box-shadow:var(--shadow-1)}
.admin .stat{background:#fff;border-color:var(--line);box-shadow:0 10px 28px rgba(52,13,45,.07)}
.admin .stat--accent{background:linear-gradient(135deg,#7c216b 0%,#5e1251 52%,#360a2f 100%);border-color:transparent;box-shadow:0 16px 34px rgba(94,18,81,.24)}
.admin .stat--accent b{color:#fff}.admin .stat--accent span{color:#f1d7eb}
.admin .admin-split>aside.card{background:linear-gradient(155deg,#32102c 0%,#180716 100%);border-color:rgba(94,18,81,.18);color:#fff;box-shadow:0 18px 38px rgba(42,6,36,.16)}
.admin .admin-split>aside.card h3{color:#fff}
.admin .admin-split>aside.card .muted{color:#ceb5c7}
.admin .bars i{background:linear-gradient(90deg,#d56cbd,#f0b1de);box-shadow:0 0 12px rgba(213,108,189,.28)}
.admin .card--flush{background:#fff}
.admin .filters{background:linear-gradient(125deg,#34102e 0%,#21091d 100%);border-bottom:1px solid rgba(255,255,255,.08)}
.admin .filters .input,.admin .filters .select{color:#fff;background-color:rgba(255,255,255,.075);border-color:rgba(255,255,255,.2)}
.admin .filters .input::placeholder{color:#d8bfd1}
.admin .filters .input:focus,.admin .filters .select:focus{background-color:rgba(255,255,255,.12);border-color:#dca2cb;box-shadow:0 0 0 4px rgba(220,162,203,.15)}
.admin .filters .select{background-image:linear-gradient(45deg,transparent 50%,#e6b8da 50%),linear-gradient(135deg,#e6b8da 50%,transparent 50%)}
.admin .filters .select option,.admin .filters .select optgroup{background:#fff;color:#2a1025}
.admin .table th{background:#f4e9f1;color:#725c6c;border-bottom-color:var(--line)}
.admin .table td{border-bottom-color:var(--line)}
.admin .table tbody tr:hover{background:#fcf2f9}
.admin .btn--ghost{--btn-bg:#fff;--btn-hover:#f7eaf4;--btn-fg:#5e1251;--btn-bd:rgba(94,18,81,.22)}
.admin .pill--pending{color:#9a6200;background:#fff6df}
@media(max-width:719px){
  .admin .page{padding-top:20px}
  .admin .admin-split>aside.card{background:linear-gradient(145deg,#401137,#21091d)}
  .admin .table--stack tr:nth-child(even){background:#fcf5fa}
}

/* Slim branded scrollbars for the admin workspace and data tables. */
.admin,.admin *{scrollbar-width:thin;scrollbar-color:#8e2e7e transparent}
.admin::-webkit-scrollbar,.admin *::-webkit-scrollbar{width:7px;height:7px}
.admin::-webkit-scrollbar-track,.admin *::-webkit-scrollbar-track{background:transparent}
.admin::-webkit-scrollbar-thumb,.admin *::-webkit-scrollbar-thumb{
  min-width:42px;min-height:42px;
  border:2px solid transparent;
  border-radius:999px;
  background:linear-gradient(180deg,#bb68a7,#5e1251) padding-box;
}
.admin::-webkit-scrollbar-thumb:hover,.admin *::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#d282bd,#741d64) padding-box}
.admin::-webkit-scrollbar-corner,.admin *::-webkit-scrollbar-corner{background:transparent}
.admin .table-wrap{scrollbar-color:#8e2e7e #f2e7ef}
.admin .table-wrap::-webkit-scrollbar-track{margin-inline:8px;border-radius:999px;background:#f2e7ef}
.admin-root{scrollbar-width:thin;scrollbar-color:#8e2e7e #f4edf2;background:#f7f1f5}
.admin-root::-webkit-scrollbar{width:7px;height:7px}
.admin-root::-webkit-scrollbar-track{background:#f4edf2}
.admin-root::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:linear-gradient(180deg,#bb68a7,#5e1251) padding-box}
.admin-root::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#d282bd,#741d64) padding-box}
.admin-root::-webkit-scrollbar-corner{background:#f4edf2}

/* Member sign-in — photographic brand panel with a clean light form. */
.login-page{min-height:100svh;display:grid;place-items:center;padding:clamp(18px,4vw,54px);background:radial-gradient(800px 480px at 8% 8%,rgba(142,46,126,.35),transparent 68%),radial-gradient(620px 420px at 94% 90%,rgba(248,108,0,.1),transparent 68%),#0c040b}
.login-split{width:min(1180px,100%);height:min(740px,calc(100svh - 72px));min-height:640px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);overflow:hidden;border:1px solid rgba(220,162,203,.2);border-radius:30px;background:#fff;box-shadow:0 34px 90px rgba(0,0,0,.5)}
.login-story{position:relative;min-height:620px;overflow:hidden;background:#250820 url('../img/nvm-community-v1.webp') center/cover no-repeat;color:#fff}
.login-story__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,3,18,.96) 0%,rgba(50,7,43,.83) 48%,rgba(26,4,22,.34) 100%),linear-gradient(0deg,rgba(12,4,11,.92),transparent 58%)}
.login-story__content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;padding:clamp(30px,4vw,54px)}
.login-story__brand{display:flex;align-items:center;gap:13px;width:max-content;color:#fff}.login-story__brand:hover{color:#fff;text-decoration:none}.login-story__brand img{width:56px;height:56px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.14)}
.login-story__brand b{display:block;font:800 1rem var(--font-display)}.login-story__brand small{display:block;margin-top:3px;color:#e0b9d8;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}
.login-story__copy{margin:auto 0 34px;max-width:470px}.login-story__copy .eyebrow{color:#e3acd6}.login-story__copy h1{margin:12px 0 18px;color:#fff;font-size:clamp(2.35rem,4.1vw,4rem);line-height:1.02;letter-spacing:-.045em}.login-story__copy h1 span{background:linear-gradient(90deg,#fff,#dca2cb 55%,#ffd27a);-webkit-background-clip:text;background-clip:text;color:transparent}.login-story__copy p{max-width:44ch;margin-bottom:26px;color:#eadce7;font-size:1rem;line-height:1.72}
.login-story__copy ul{display:grid;gap:13px;margin:0;padding:0;list-style:none}.login-story__copy li{display:flex;align-items:center;gap:11px;color:#f7eaf4;font-size:.88rem;font-weight:600}.login-story__copy li svg{width:21px;height:21px;padding:4px;border-radius:50%;background:linear-gradient(135deg,#bb68a7,#5e1251);color:#fff;box-shadow:0 6px 16px rgba(142,46,126,.35)}
.login-story__foot{color:#cbaec4;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase}
.login-panel{display:grid;place-items:center;padding:clamp(34px,5vw,72px);background:radial-gradient(460px 300px at 70% 16%,rgba(220,162,203,.13),transparent 65%),#fff;color:#2a1025}
.login-panel__inner{width:min(440px,100%)}.login-panel__mobile-brand{display:none}.login-panel__head{margin-bottom:30px}.login-panel__head .eyebrow{margin-bottom:9px;color:#8e2e7e}.login-panel__head h1{margin-bottom:10px;color:#2a1025;font-size:clamp(1.75rem,2.5vw,2.25rem)}.login-panel__head p{margin:0;color:#796675;font-size:.93rem}
.login-panel .notice{margin-bottom:18px}.login-form{display:grid;gap:18px}.login-form .field+.field{margin-top:0}.login-form .label{color:#4b3546}.login-form .small{color:#7b216b;font-weight:700}.login-form .input{min-height:54px;color:#2a1025;background:#fff;border-color:rgba(94,18,81,.2);box-shadow:0 5px 18px rgba(52,13,45,.045)}.login-form .input::placeholder{color:#a08f9c}.login-form .input:focus{background:#fff;border-color:#8e2e7e;box-shadow:0 0 0 4px rgba(142,46,126,.12)}.login-form .btn{margin-top:4px;min-height:54px}
.login-panel__join{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:27px;padding-top:23px;border-top:1px solid rgba(94,18,81,.12);color:#806d7b;font-size:.85rem}.login-panel__join a{display:inline-flex;align-items:center;gap:4px;color:#6b185d;font-weight:800}.login-panel__join svg{width:15px;height:15px}.login-panel__home{display:flex;align-items:center;gap:7px;width:max-content;margin:22px auto 0;color:#806d7b;font-size:.78rem;transition:color .2s ease,transform .2s ease}.login-panel__home svg{width:17px;height:17px;transition:transform .2s ease}.login-panel__home:hover{color:#5e1251;text-decoration:none;transform:translateX(-2px)}.login-panel__home:hover svg{transform:translateX(-2px)}
@media(max-width:820px){
  .login-page{display:block;padding:0;background:#fff}
  .login-split{min-height:100svh;grid-template-columns:1fr;border:0;border-radius:0;box-shadow:none}
  .login-story{display:none}
  .login-panel{min-height:100svh;padding:30px 22px;background:radial-gradient(420px 240px at 50% 0,rgba(220,162,203,.18),transparent 68%),#fff}
  .login-panel__mobile-brand{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:clamp(38px,10vh,76px)}
  .login-panel__mobile-brand img{width:52px;height:52px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(94,18,81,.1)}
  .login-panel__mobile-brand b{display:block;color:#2a1025;font:800 .95rem var(--font-display)}.login-panel__mobile-brand small{display:block;margin-top:2px;color:#8c7485;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}
  .login-panel__head{text-align:center}.login-panel__head h1{font-size:1.8rem}
}
@media(max-width:380px){.login-panel{padding:24px 17px}.login-panel__mobile-brand{margin-bottom:34px}.login-panel__join{align-items:flex-start;flex-direction:column}.login-panel__join a{align-self:center}}
.admin-login__story{background-image:url('../img/nvm-community-v1.webp');background-position:58% center}
.admin-login__security{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding:12px 14px;border:1px solid rgba(94,18,81,.12);border-radius:12px;background:#faf4f8;color:#75616f;font-size:.75rem;line-height:1.45}.admin-login__security svg{width:17px;height:17px;flex:0 0 17px;color:#7d236d}
.admin-login .login-panel__head h1{max-width:13ch}
@media(max-width:820px){.admin-login .login-panel__head h1{max-width:none}.admin-login__security{text-align:left}}

/* Landing navigation stays optically centred between brand and actions. */
@media(min-width:960px){
  .lnav__in{display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(250px,1fr);gap:20px}
  .lnav__brand{justify-self:start}
  .lnav__links{justify-self:center;margin-left:0}
  .lnav__actions{justify-self:end;margin-left:0}
}

/* Pending member dashboard — compact two-column action area. */
.dashboard-pending-grid{display:grid;gap:14px;margin-top:16px}
.dashboard-next-step h2{margin:5px 0 7px}.dashboard-next-step p{margin-bottom:16px;line-height:1.6}
.dashboard-plan-card{display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.dashboard-plan-card__price{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-top:15px;border-top:1px solid var(--line)}
.dashboard-plan-card__price>span{color:var(--muted);font-size:.78rem}.dashboard-plan-card__price>b{font:800 1.55rem/1 var(--font-display);white-space:nowrap}.dashboard-plan-card__price small{margin-left:4px;color:var(--muted);font-size:.62rem;text-transform:uppercase}
@media(min-width:760px){.dashboard-pending-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.dashboard-next-step,.dashboard-plan-card{min-height:190px}}
@media(min-width:960px){
  .is-member-dashboard .page>.wrap{width:min(1280px,calc(100% - 298px));max-width:1280px;margin-left:max(274px,calc(50vw - 500px));margin-right:0;padding-inline:20px}
  .is-member-dashboard .page>.wrap>.notice:first-child{display:flex;width:fit-content;max-width:100%;margin-right:auto;padding:12px 16px}
  .is-member-dashboard .bottomnav{position:fixed;z-index:24;left:max(24px,calc(50vw - 750px));right:auto;top:132px;bottom:auto;width:220px;max-width:none;margin:0;padding:14px;border-radius:22px}
  .is-member-dashboard .bottomnav__in{grid-template-columns:1fr!important;gap:5px}
  .is-member-dashboard .bottomnav a{min-height:58px;flex-direction:row;justify-content:flex-start;gap:11px;padding:9px 12px;border-radius:13px;font-size:.78rem}
  .is-member-dashboard .bottomnav a:hover{background:rgba(142,46,126,.1)}
  .is-member-dashboard .bottomnav svg{width:34px;height:28px;padding:5px 8px}
  .is-member-dashboard .grid-2{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .is-member-dashboard .tile{min-height:142px}
}

/* Premium verified-payment thank-you screen. */
.is-payment-success{background:radial-gradient(760px 440px at 10% 0,rgba(142,46,126,.38),transparent 66%),radial-gradient(620px 360px at 100% 20%,rgba(248,176,24,.09),transparent 68%),var(--g-page)}
.payment-success{padding:clamp(22px,4vw,52px) 0 44px}.payment-success__shell{max-width:1040px}
.payment-success__hero{text-align:center;max-width:940px;margin:0 auto 32px}.payment-success__mark{position:relative;display:grid;place-items:center;width:94px;height:94px;margin:0 auto 18px;border-radius:50%;background:radial-gradient(circle,rgba(187,104,167,.24),transparent 68%)}.payment-success__mark::before,.payment-success__mark::after{content:"";position:absolute;inset:4px;border:1px solid rgba(220,162,203,.3);border-radius:50%;animation:success-ring 2.2s ease-out infinite}.payment-success__mark::after{animation-delay:1.1s}.payment-success__mark>span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--g-brand);box-shadow:var(--glow);color:#fff}.payment-success__mark svg{width:30px;height:30px;stroke-width:2.5}.payment-success__hero h1{max-width:24ch;margin:9px auto 12px;font-size:clamp(2rem,4vw,3.6rem);background:var(--g-text);-webkit-background-clip:text;background-clip:text;color:transparent}.payment-success__hero>p{max-width:680px;margin:0 auto;color:var(--ink-2);font-size:clamp(.9rem,1.5vw,1.05rem)}
.payment-success__number{display:inline-flex;align-items:center;gap:11px;margin-top:18px;padding:8px 9px 8px 16px;border:1px solid var(--line-strong);border-radius:99px;background:rgba(255,255,255,.05)}.payment-success__number span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.payment-success__number b{padding:7px 13px;border-radius:99px;background:var(--g-brand);color:#fff;font:800 .78rem var(--font-display);letter-spacing:.08em}
.payment-success__content{position:relative;display:grid;gap:clamp(22px,3vw,38px);align-items:center;padding:clamp(20px,3.5vw,38px);border:1px solid var(--line-strong);border-radius:28px;background:radial-gradient(420px 260px at 12% 50%,rgba(142,46,126,.13),transparent 72%),linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.02));box-shadow:var(--shadow-2);overflow:hidden}.payment-success__content::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--g-line)}.payment-success__card{width:100%;max-width:500px;margin:auto}.payment-success__card .idcard-wrap{width:100%;min-width:0}.payment-success__card-label{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:var(--ink-2)}.payment-success__card-label>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface)}.payment-success__card-label svg{width:19px;height:19px;color:var(--plum-300)}.payment-success__card-label b,.payment-success__card-label small{display:block}.payment-success__card-label b{font:700 .82rem var(--font-display);color:var(--ink)}.payment-success__card-label small{margin-top:2px;color:var(--muted);font-size:.68rem}.payment-success__details{min-width:0}.payment-success__welcome{display:flex;align-items:flex-start;gap:14px}.payment-success__welcome h2{margin:2px 0 7px;font-size:1.2rem}.payment-success__welcome p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.6;overflow-wrap:anywhere}.payment-success__list{display:grid;gap:11px;margin:24px 0;padding:20px 0;border-block:1px solid var(--line);list-style:none}.payment-success__list li{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:.86rem;font-weight:600}.payment-success__list svg{width:20px;height:20px;padding:4px;border-radius:50%;background:var(--success-soft);color:var(--plum-300)}.payment-success__actions{display:grid;gap:10px}.payment-success__actions .btn{min-height:50px}.payment-success__actions .btn svg{width:18px}.payment-success__note{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 0;color:var(--muted);font-size:.72rem}.payment-success__note svg{width:16px;height:16px;color:var(--plum-300)}
@keyframes success-ring{0%{opacity:.65;transform:scale(.72)}80%,100%{opacity:0;transform:scale(1.35)}}
@media(min-width:760px){.payment-success__content{grid-template-columns:minmax(330px,.95fr) minmax(0,1.05fr)}.payment-success__actions{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.payment-success__mark::before,.payment-success__mark::after{animation:none}}
@media(min-width:1100px){
  .is-payment-success .topbar .wrap{max-width:1320px;padding-inline:28px}
  .is-payment-success .bottomnav{position:fixed;z-index:32;left:auto;right:max(24px,calc((100vw - 1320px)/2 + 28px));top:8px;bottom:auto;width:500px;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .is-payment-success .preview-bar~.bottomnav{top:36px}
  .is-payment-success .bottomnav__in{max-width:none}
  .is-payment-success .bottomnav a{min-height:44px;flex-direction:row;justify-content:center;gap:7px;padding:6px 8px;border-radius:10px;font-size:.7rem}
  .is-payment-success .bottomnav a:hover{background:rgba(142,46,126,.12)}
  .is-payment-success .bottomnav svg{width:27px;height:27px;padding:5px 6px}
  .is-payment-success .bottomnav a[aria-current="page"] svg{box-shadow:none}
}

/* Light public pages balance the dark landing, registration and member app. */
.is-light-page{background:#f7f1f5}
.is-light-page .page{
  --ink:#2a1025;
  --ink-2:#584151;
  --muted:#806b79;
  --surface:rgba(94,18,81,.055);
  --surface-strong:#fff;
  --surface-3:#f3e7ef;
  --line:rgba(94,18,81,.12);
  --line-strong:rgba(94,18,81,.24);
  --g-card:linear-gradient(145deg,#fff,#fbf5f9);
  --shadow-1:0 1px 0 rgba(255,255,255,.9) inset,0 12px 30px rgba(55,14,47,.08);
  min-height:calc(100svh - 120px);
  color:var(--ink);
  background:radial-gradient(720px 330px at 5% 0,rgba(220,162,203,.2),transparent 67%),radial-gradient(620px 300px at 100% 15%,rgba(248,176,24,.075),transparent 68%),linear-gradient(180deg,#fff 0%,#faf5f8 100%);
}
.is-light-page .page h1,.is-light-page .page h2,.is-light-page .page h3{color:var(--ink)}
.is-light-page .page .eyebrow{color:#8e2e7e}
.is-light-page .page .muted,.is-light-page .page .hint{color:var(--muted)}
.is-light-page .page .card,.is-light-page .page .prose-card{background:linear-gradient(145deg,#fff,#fcf8fb);border-color:var(--line);box-shadow:var(--shadow-1)}
.is-light-page .prose-card h2{color:#68185a}
.is-light-page .prose-card p,.is-light-page .prose-card li{color:var(--ink-2)}
.is-light-page .info-hero h1{background:linear-gradient(92deg,#2a1025 8%,#7d236d 62%,#c65314 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.is-light-page .info-hero p{color:var(--ink-2)}
.is-light-page .benefit-card:not(.benefit-card--presidential){background:linear-gradient(150deg,#fff,#faf3f8);border-color:rgba(94,18,81,.14);box-shadow:0 14px 34px rgba(63,18,54,.08)}
.is-light-page .benefit-card:not(.benefit-card--presidential) ul{color:var(--ink-2)}
.is-light-page .benefit-card--presidential,.is-light-page .benefit-card--presidential h2{color:#fff}
.is-light-page .benefit-card--presidential ul{color:#f0dfe9}.is-light-page .benefit-card--presidential .benefit-card__price small{color:#d7bdce}
.is-light-page .benefit-note{background:#fff;border-color:var(--line);color:var(--muted);box-shadow:var(--shadow-1)}
.is-light-page .table th{background:#f4e9f1}
.is-light-page .list>li{border-color:var(--line)}

.payment-success__actions .btn{padding-inline:15px;font-size:.86rem;white-space:nowrap}

/* Landing polish: clearer mobile composition and a light trust strip. */
.site-footer__trust{
  border-color:rgba(94,18,81,.12);
  background:#fff;
  color:#2a1025;
}
.site-footer__trust-item{
  border-color:rgba(94,18,81,.12);
  background:linear-gradient(145deg,#fff,#faf4f8);
  box-shadow:0 10px 28px rgba(54,13,46,.07);
}
.site-footer__trust-item b{color:#2a1025}
.site-footer__trust-item small{color:#786473}
.site-footer__trust-item:not(:last-child)::after{background:linear-gradient(transparent,rgba(94,18,81,.15),transparent)}

@media(max-width:719px){
  /* Give the campaign portrait more presence without enlarging the whole hero. */
  .hero--landing .hero__media{
    width:min(100%,390px);
    height:242px;
    margin-top:4px;
  }
  .hero--landing .hero__portrait{
    top:-5px;
    width:318px;
    max-width:88%;
  }


  /* Crop the illustration around the product and centre its call to action. */
  .visual-story__media{
    height:180px;
    min-height:180px;
    overflow:hidden;
  }
  .visual-story__media img{
    width:128%;
    max-width:none;
    height:100%;
    object-fit:cover;
    object-position:72% center;
    transform:translateX(-11%);
  }
  .visual-story__copy>.btn{
    display:flex;
    width:max-content;
    max-width:100%;
    margin-inline:auto;
  }

  /* Each step number now belongs visually to its own card. */
  #how .how{padding-left:35px}
  #how .how li::before{
    left:-35px;
    top:50%;
    transform:translateY(-50%);
  }
  #how .how li:not(:last-child)::after{
    left:-21px;
    top:50%;
    height:calc(100% + 14px);
  }

  .community-story__copy .btn{
    display:flex;
    width:max-content;
    max-width:100%;
    margin:18px auto 0;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  }
  .community-story__copy .btn:hover{
    transform:translateY(-2px);
    border-color:var(--plum-500);
    box-shadow:0 12px 26px rgba(94,18,81,.18);
  }

  /* Keep the closing invitation substantial, but much shorter on phones. */
  .lcta{margin:48px auto 34px}
  .lcta__in{min-height:0;border-radius:24px}
  .lcta__main{padding:22px 18px 18px}
  .lcta__brand{gap:10px}
  .lcta__brand img{width:38px;height:38px}
  .lcta__brand b{font-size:.7rem}
  .lcta__brand small{font-size:.56rem}
  .lcta__text{margin:20px 0 17px}
  .lcta__eyebrow{margin-bottom:10px;font-size:.59rem;letter-spacing:.17em}
  .lcta__text h2{margin-bottom:12px;font-size:2rem;line-height:1}
  .lcta__text p{font-size:.82rem;line-height:1.5}
  .lcta__proof{gap:7px}
  .lcta__proof span{font-size:.65rem}
  .lcta__panel{margin:0 8px 8px;padding:19px 17px;border-radius:19px}
  .lcta__panel-label{margin-bottom:8px;font-size:.59rem}
  .lcta__panel h3{margin-bottom:7px;font-size:1.15rem}
  .lcta__panel>p{margin-bottom:15px;font-size:.78rem;line-height:1.48}
  .lcta__actions{gap:8px}
  .lcta__actions .btn{height:48px;min-height:48px;font-size:.79rem}
  .lcta__links{margin-top:13px}

  .site-footer__trust .site-footer__wrap{gap:10px;padding:14px 12px}
  .site-footer__trust-item{padding:14px 15px;background:#fff}
}

/* Active dashboard card stays useful without taking over the desktop canvas. */
.is-member-dashboard .page>.wrap>a[aria-label="Open my ID card"]{
  width:min(100%,680px);
  margin:18px auto 0;
}
.is-member-dashboard .page>.wrap>a[aria-label="Open my ID card"]+.status-card{
  width:min(100%,860px);
  margin-inline:auto;
}

@media(max-width:719px){
  /* Primary landing actions remain side by side on phones. */
  .hero--landing .hero__cta{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    gap:8px;
    width:100%;
  }
  .hero--landing .hero__cta .btn{
    width:100%;
    min-width:0;
    min-height:48px;
    padding:9px 10px;
    font-size:.72rem;
    line-height:1.2;
    white-space:nowrap;
  }
  .hero--landing .hero__cta .btn svg{width:15px;margin-left:3px}

  /* Closing CTA actions are smaller and inline on mobile. */
  .lcta__actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .lcta__actions .btn{
    width:100%;
    min-width:0;
    height:44px;
    min-height:44px;
    padding:8px 9px;
    border-radius:12px;
    font-size:.69rem;
    line-height:1.15;
    white-space:nowrap;
  }
  .lcta__actions .btn svg{width:14px;margin-left:3px}
}

/* Registration progress uses clean white markers in both layouts. */
.stepper__dot,
.stepper__list li.is-done .stepper__dot,
.stepper__list li.is-current .stepper__dot{
  border-color:rgba(220,162,203,.5);
  background:#fff;
  color:#5e1251;
}
.stepper__list li.is-current .stepper__dot{
  border-color:#bb68a7;
  box-shadow:0 0 0 5px rgba(220,162,203,.2),0 8px 22px rgba(94,18,81,.24);
}

/* Light trust cards need light icon treatments, not dark-theme discs. */
.site-footer__trust .site-footer__trust-icon{
  border-color:#e7bfdc;
  background:linear-gradient(145deg,#f9e9f5,#efd3e8);
  box-shadow:0 8px 20px rgba(94,18,81,.12),inset 0 1px #fff;
}
.site-footer__trust .site-footer__trust-icon::after{border-color:rgba(94,18,81,.08)}
.site-footer__trust .site-footer__trust-icon svg{color:#7d236d}
.site-footer__trust .site-footer__trust-item:nth-child(2) .site-footer__trust-icon{
  border-color:#f1ce76;
  background:linear-gradient(145deg,#fff9df,#ffedb4);
}
.site-footer__trust .site-footer__trust-item:nth-child(2) .site-footer__trust-icon svg{color:#a66b00}
.site-footer__trust .site-footer__trust-item:nth-child(3) .site-footer__trust-icon{
  border-color:#f3b18f;
  background:linear-gradient(145deg,#fff2e9,#ffd9c5);
}
.site-footer__trust .site-footer__trust-item:nth-child(3) .site-footer__trust-icon svg{color:#bc4b13}

@media(max-width:719px){
  /* Scale the person itself, not just the surrounding hero frame. */
  .hero--landing .hero__media{height:258px}
  .hero--landing .hero__portrait{
    top:-9px;
    width:354px;
    max-width:98%;
  }

  /* The artwork is right-weighted internally, so offset it to centre the product. */
  .visual-story__media img{
    position:absolute;
    top:50%;
    left:50%;
    width:145%;
    height:auto;
    object-position:center;
    transform:translate(-65%,-50%);
  }
}

/* The active dashboard uses the same compact shell; the full card lives on its own screen. */
.is-member-dashboard .page>.wrap>.status-card{max-width:none;width:100%}

/* Payment-success navigation remains comfortably readable on desktop. */
@media(min-width:1100px){
  .is-payment-success .bottomnav{width:680px}
  .is-payment-success .bottomnav a{min-height:52px;gap:9px;padding:7px 12px;font-size:.82rem}
  .is-payment-success .bottomnav svg{width:32px;height:32px;padding:6px 7px}
}

@media(max-width:719px){
  .lcta__links{justify-content:center;text-align:center}
}

/* Member verification — clean, focused light card on the NVM background. */
.verify-search-page{
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:clamp(28px,6vw,70px) var(--gutter);
  background:radial-gradient(650px 360px at 15% 5%,rgba(142,46,126,.3),transparent 68%),radial-gradient(520px 300px at 95% 92%,rgba(248,108,0,.1),transparent 70%),#0c040b;
}
.verify-search-panel{
  width:min(560px,100%);
  padding:clamp(26px,5vw,48px);
  border:1px solid rgba(94,18,81,.14);
  border-radius:28px;
  background:radial-gradient(380px 220px at 85% 0,rgba(220,162,203,.15),transparent 68%),#fff;
  color:#2a1025;
  box-shadow:0 30px 80px rgba(0,0,0,.42);
}
.verify-search-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px;text-align:left}
.verify-search-brand__icon{display:grid;place-items:center;width:56px;height:56px;flex:0 0 56px;border:1px solid #dca2cb;border-radius:17px;background:linear-gradient(145deg,#8e2e7e,#4c0d41);box-shadow:0 12px 28px rgba(94,18,81,.25)}
.verify-search-brand__icon svg{display:block;width:28px;height:28px;color:#fff}
.verify-search-brand b,.verify-search-brand small{display:block}.verify-search-brand b{font:800 .86rem var(--font-display)}.verify-search-brand small{margin-top:3px;color:#8a7383;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}
.verify-search-heading{text-align:center}.verify-search-heading .eyebrow{color:#8e2e7e}.verify-search-heading h1{margin:9px 0 10px;color:#2a1025;font-size:clamp(1.75rem,4vw,2.35rem)}.verify-search-heading p{max-width:42ch;margin:0 auto;color:#715d6c;font-size:.9rem;line-height:1.65}
.verify-search-form{display:grid;gap:12px;margin-top:28px;padding:22px;border:1px solid rgba(94,18,81,.12);border-radius:19px;background:#faf5f8}.verify-search-form .label{color:#4b3546}.verify-search-form .input{min-height:54px;text-align:center;color:#2a1025;background:#fff;border-color:rgba(94,18,81,.22);font-size:1rem;letter-spacing:.08em;text-transform:uppercase}.verify-search-form .input:focus{border-color:#8e2e7e;box-shadow:0 0 0 4px rgba(142,46,126,.12)}.verify-search-form .btn{min-height:52px}
.verify-search-home{display:flex;align-items:center;gap:7px;width:max-content;margin:22px auto 0;color:#796675;font-size:.78rem;transition:color .2s,transform .2s}.verify-search-home svg{width:17px}.verify-search-home:hover{color:#5e1251;text-decoration:none;transform:translateX(-2px)}
@media(max-width:600px){.verify-search-page{padding:22px 14px}.verify-search-panel{padding:24px 18px;border-radius:23px}.verify-search-brand{margin-bottom:22px}.verify-search-form{margin-top:22px;padding:16px}.verify-search-heading p{font-size:.84rem}}

/* Footer trust: keep the strip dark and make only the three trust cards light. */
.site-footer__trust{
  border-color:rgba(226,166,210,.13);
  background:linear-gradient(180deg,#120610,#090308);
}
.site-footer__trust-item{
  border-color:rgba(94,18,81,.14);
  background:#fff;
}

/* Closing actions share one clean white treatment on phones. */
@media(max-width:719px){
  .lcta__actions .btn,
  .lcta__actions .btn.btn--ghost{
    border-color:#fff;
    background:#fff;
    color:#3c0d33;
    box-shadow:0 10px 24px rgba(0,0,0,.2);
  }
  .lcta__actions .btn:hover,
  .lcta__actions .btn.btn--ghost:hover{
    border-color:#f4dbea;
    background:#fff5fb;
    color:#3c0d33;
  }

}

/* Responsive product artwork stays inside its own media slot on every screen. */
.visual-story__media{position:relative;overflow:hidden;background:#fff}
.visual-story__media img{
  position:static;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:none;
}
@media(max-width:799px){
  .visual-story__media{
    min-height:0;
    height:auto;
    aspect-ratio:2/1;
  }
  .visual-story__media img{
    position:static;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transform:none;
  }
}

/* Final cascade overrides — keep these after all component definitions. */
@media(max-width:719px){
  .verify-search-page{
    display:block;
    min-height:0;
    padding:40px 12px 25px!important;
  }
  .verify-search-panel{margin:0 auto}
}

.hero--landing .hero__cta .btn:first-child{
  border-color:#fff;
  background:#fff;
  color:#3c0d33;
  box-shadow:0 10px 25px rgba(0,0,0,.22);
}
.hero--landing .hero__cta .btn.btn--ghost:last-child{
  border-color:rgba(220,162,203,.36);
  background:linear-gradient(135deg,#a52a8e 0%,#5e1251 58%,#3b0a33 100%);
  color:#fff;
  box-shadow:0 10px 25px rgba(94,18,81,.3);
}
.hero--landing .hero__cta .btn.btn--ghost:last-child:hover{
  border-color:#dca2cb;
  background:linear-gradient(135deg,#b83aa0,#68175b 58%,#460c3d);
  color:#fff;
}

@media(max-width:719px){
  .lcta__actions .btn:first-child{
    border-color:#fff;
    background:#fff;
    color:#3c0d33;
  }
  .lcta__actions .btn.btn--ghost:last-child{
    border-color:rgba(220,162,203,.36);
    background:linear-gradient(135deg,#a52a8e 0%,#5e1251 58%,#3b0a33 100%);
    color:#fff;
    box-shadow:0 10px 25px rgba(94,18,81,.3);
  }
}

.admin .card label:not(.toggle){display:block;margin-bottom:7px}
.admin .card label:not(.toggle)>.input,
.admin .card label:not(.toggle)>.select,
.admin .card label:not(.toggle)>textarea{margin-top:6px}

.is-light-page .benefit-card--presidential{
  background:radial-gradient(320px 190px at 100% 0,rgba(248,176,24,.13),transparent 68%),linear-gradient(155deg,#651355 0%,#310a2a 48%,#150711 100%);
  border-color:rgba(248,176,24,.62);
}
.is-light-page .benefit-card--presidential .eyebrow{color:#fff}
.is-light-page .benefit-card--presidential h2,
.is-light-page .benefit-card--presidential .benefit-card__price{color:#fff}

/* Absolute final desktop CTA alignment. */
@media(min-width:960px){
  .lcta__in{grid-template-columns:minmax(0,48%) minmax(0,52%);column-gap:0}
  .lcta__main{grid-column:1;padding-right:22px}
  .lcta__panel{grid-column:2;width:auto;justify-self:stretch;margin:30px 30px 30px 0}
}

/* Desktop membership visual fills its entire media column; mobile remains unchanged. */
@media(min-width:800px){
  .visual-story__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }
}

/* Member sidebar layout (desktop): dashboard, profile, billing. Brand in sidebar, top header hidden. */
.bottomnav .bottomnav__brand,.bottomnav__sub,.profile-meta{display:none}
@media(min-width:960px){
  .is-member-side .topbar{display:none}
  .is-member-side .page{padding-top:32px}
  .is-member-side .page{padding-left:260px}
  .is-member-side .page>.wrap{width:auto;max-width:1320px;margin-inline:auto;padding-inline:clamp(24px,3vw,44px)}
  .is-member-side .bottomnav{position:fixed;z-index:24;left:0;right:auto;top:0;bottom:0;width:260px;max-width:none;margin:0;padding:22px 16px;border:0;border-right:1px solid var(--line-strong);border-radius:0;overflow-y:auto;overscroll-behavior:contain}
  .is-member-side .bottomnav__in{grid-template-columns:1fr!important;gap:5px}
  .is-member-side .bottomnav a{min-height:58px;flex-direction:row;justify-content:flex-start;gap:11px;padding:9px 12px;border-radius:13px;font-size:.95rem}
  .is-member-side .bottomnav a:hover{background:rgba(142,46,126,.1)}
  .is-member-side .bottomnav svg{width:34px;height:28px;padding:5px 8px}
  .is-member-side .bottomnav .bottomnav__brand{display:flex;align-items:center;gap:11px;min-height:0;margin:0 0 12px;padding:4px 6px 16px;border-radius:0;border-bottom:1px solid var(--line);color:var(--ink)}
  .is-member-side .bottomnav .bottomnav__brand:hover{background:none}
  .bottomnav__brand img{width:40px;height:40px;border-radius:50%;background:var(--paper);box-shadow:0 0 0 2px rgba(220,162,203,.25)}
  .bottomnav__brand span{display:flex;flex-direction:column;line-height:1.1}
  .bottomnav__brand b{font:800 .95rem var(--font-display);letter-spacing:.02em}
  .bottomnav__brand small{margin-top:3px;font-weight:600;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

  .is-member-profile .profile-layout{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);grid-template-areas:"head form";gap:20px 24px;align-items:stretch}
  .is-member-profile .profile-meta{display:block;margin-top:22px;padding-top:20px;border-top:1px solid var(--line);text-align:left}
  .profile-meta__tags{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}
  .profile-meta dl{display:grid;gap:10px;margin:0}
  .profile-meta dl>div{display:flex;justify-content:space-between;gap:12px;font-size:.82rem}
  .profile-meta dt{color:var(--muted)}.profile-meta dd{margin:0;font-weight:600;text-align:right}
  .profile-meta__sig{margin-top:18px}
  .profile-meta__sig span{display:block;margin-bottom:8px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
  .profile-meta__sig img{display:block;width:100%;height:84px;object-fit:contain;padding:10px;border-radius:14px;background:#fff}
  .profile-meta .btn{margin-top:18px}
  .is-member-profile .profile-head{grid-area:head;margin:0!important;padding:28px 20px;border:1px solid var(--line);border-radius:22px;background:var(--g-card);box-shadow:var(--shadow-1)}
  .is-member-profile .profile-form{grid-area:form;padding:26px 28px}
  .is-member-profile .profile-links{display:none}
  .is-member-profile .profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
  .is-member-profile .profile-fields .field:first-child{grid-column:1/-1}
  .is-member-billing .page>.wrap>*,.is-member-card .page>.wrap>*,.is-member-downloads .page>.wrap>*,.is-member-password .page>.wrap>*{max-width:900px}
  .is-member-side .chat-page{padding-block:28px}
  .is-member-side .chat-wrap{max-width:1320px}
  .is-member-side .chat-card{height:calc(100dvh - 56px);max-height:none}
  .is-member-side .bottomnav__sub{display:grid;gap:2px;margin:2px 0 4px 28px;padding-left:12px;border-left:1px solid var(--line)}
  .is-member-side .bottomnav .bottomnav__sub a,.is-member-side .bottomnav__sub button{display:block;min-height:0;width:100%;padding:9px 12px;border:0;border-radius:10px;background:none;color:var(--muted);font:600 .86rem var(--font-body,inherit);text-align:left;cursor:pointer}
  .is-member-side .bottomnav .bottomnav__sub a:hover,.is-member-side .bottomnav__sub button:hover{background:rgba(142,46,126,.1);color:var(--ink)}
  .is-member-side .bottomnav .bottomnav__sub a[aria-current="page"]{color:var(--ink);background:rgba(142,46,126,.16)}
  .is-member-side .bottomnav__sub form{margin:0}
  .is-member-side .bottomnav__sub button{color:#f08a8a}
}

/* Member chat: locked state for non-active members. */
.chat-locked{max-width:560px;margin:40px auto;padding:40px 28px;text-align:center}
.chat-locked__icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--g-brand);box-shadow:var(--glow);color:#fff}
.chat-locked__icon svg{width:28px;height:28px}
.chat-locked h1{margin:0 0 10px}.chat-locked p{margin:0 0 22px;line-height:1.6}

/* Profile: status notice above the two columns. */
.profile-notice{margin-bottom:14px}
@media(min-width:960px){
  .is-member-profile .profile-layout:has(.profile-notice){grid-template-areas:"notice notice" "head form"}
  .is-member-profile .profile-notice{grid-area:notice;margin:0}
}

/* Mobile member header: status chip + settings on the right; greeting gear hidden (now in header). */
.topbar__status{font-size:.7rem;white-space:nowrap}
@media(max-width:959px){.is-member-dashboard .greet .icon-btn{display:none}}

/* Community section button: same hover on desktop as on phones */
.community-story__copy .btn{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.community-story__copy .btn:hover{transform:translateY(-2px);border-color:var(--plum-500);box-shadow:0 12px 26px rgba(94,18,81,.18)}

/* =========================================================
   Movement highlights — spotlight slider (stage + playlist)
   ========================================================= */
.hl{--hl-dur:4s;position:relative;isolation:isolate;width:calc(100% - 32px);max-width:1440px;margin:clamp(34px,5vw,72px) auto 18px;padding:clamp(26px,4vw,56px);overflow:hidden;border:1px solid var(--line);border-radius:32px;background:radial-gradient(800px 420px at 12% 0%,rgba(142,46,126,.34),transparent 65%),radial-gradient(600px 360px at 100% 100%,rgba(248,108,0,.10),transparent 70%),linear-gradient(150deg,#1a0917 0%,#0c040b 70%);box-shadow:0 30px 80px rgba(0,0,0,.38)}
.hl::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(220,162,203,.10) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000,transparent 60%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 60%)}
.hl__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(20px,3vw,34px)}
.hl__intro{max-width:640px}
.hl__badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:7px 13px;border:1px solid rgba(248,176,24,.5);border-radius:999px;background:rgba(94,18,81,.35);color:var(--plum-200);font:700 .66rem var(--font-display);letter-spacing:.12em;text-transform:uppercase}
.hl__badge svg{width:14px;height:14px;color:var(--gold)}
.hl__intro h2{margin:0 0 10px;color:#fff;font-size:clamp(1.9rem,3.6vw,3.3rem);line-height:1.05}
.hl__intro h2 em{font-style:normal;background:var(--g-flame);-webkit-background-clip:text;background-clip:text;color:transparent}
.hl__intro p{margin:0;color:var(--ink-2);font-size:clamp(.9rem,1.2vw,1.02rem);max-width:52ch}
.hl__nav{display:flex;align-items:center;gap:10px;flex:none}
.hl__count{display:flex;align-items:center;gap:10px;margin-right:8px;font:800 .95rem var(--font-display);color:var(--muted);font-variant-numeric:tabular-nums}
.hl__count b{font-size:1.9rem;color:#fff;line-height:1}
.hl__count i{width:34px;height:2px;border-radius:2px;background:var(--g-flame)}
.hl__arrow{display:grid;place-items:center;width:50px;height:50px;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;cursor:pointer;transition:transform .2s,background-color .2s,border-color .2s}
.hl__arrow:hover{transform:translateY(-2px);border-color:var(--gold);background:var(--plum-700)}
.hl__arrow svg{width:20px;height:20px}

.hl__body{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:18px;align-items:stretch}
.hl__stage{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:24px;background:#160712;border:1px solid rgba(220,162,203,.22);box-shadow:0 26px 60px rgba(0,0,0,.5);touch-action:pan-y}
.hl__stage:focus-visible{outline:2px solid var(--plum-300);outline-offset:4px}
.hl__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s linear .8s}
.hl__slide.is-active{opacity:1;visibility:visible;z-index:1;transition:opacity .8s ease}
.hl__slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.14);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.hl__slide.is-active>img{transform:scale(1.02);transition:transform calc(var(--hl-dur) + 1.5s) linear}
.hl__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,4,11,.88) 0%,rgba(12,4,11,.45) 45%,transparent 75%),linear-gradient(0deg,rgba(12,4,11,.9) 0%,transparent 55%)}
.hl__num{position:absolute;right:22px;bottom:-.18em;font:800 clamp(5rem,11vw,9.5rem)/1 var(--font-display);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.22);pointer-events:none}
.hl__copy{position:absolute;left:0;bottom:0;z-index:2;max-width:min(560px,78%);padding:clamp(22px,3.4vw,44px);color:#fff}
.hl__copy>*{opacity:0;transform:translateY(22px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.hl__slide.is-active .hl__copy>*{opacity:1;transform:none}
.hl__slide.is-active .hl__copy>:nth-child(1){transition-delay:.25s}
.hl__slide.is-active .hl__copy>:nth-child(2){transition-delay:.35s}
.hl__slide.is-active .hl__copy>:nth-child(3){transition-delay:.45s}
.hl__slide.is-active .hl__copy>:nth-child(4){transition-delay:.55s}
.hl__label{display:inline-flex;margin-bottom:12px;padding:6px 12px;border-radius:999px;background:var(--g-brand);border:1px solid rgba(220,162,203,.35);font:700 .64rem var(--font-display);letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--glow)}
.hl__copy h3{margin:0 0 10px;color:#fff;font-size:clamp(1.5rem,2.9vw,2.6rem);line-height:1.05;letter-spacing:-.02em}
.hl__copy p{margin:0 0 18px;color:rgba(255,255,255,.82);font-size:clamp(.84rem,1.1vw,1rem);line-height:1.55;max-width:44ch}
.hl__cta{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;background:#fff;color:var(--plum-800);font:700 .8rem var(--font-display);box-shadow:0 12px 28px rgba(0,0,0,.35);transition:transform .2s,box-shadow .2s}
.hl__cta:hover{color:var(--plum-800);text-decoration:none;transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.45)}
.hl__cta svg{width:16px;height:16px;transition:transform .2s}.hl__cta:hover svg{transform:translateX(3px)}

/* story-style progress bars */
.hl__bars{position:absolute;z-index:3;top:16px;left:18px;right:18px;display:flex;gap:6px}
.hl__bars span{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.25);overflow:hidden}
.hl__bars i{display:block;height:100%;width:0;background:var(--g-flame);border-radius:inherit}
.hl__bars span.is-done i{width:100%}
.hl__bars span.is-active i{animation:hl-fill var(--hl-dur) linear forwards}
@keyframes hl-fill{from{width:0}to{width:100%}}
.hl.is-paused .hl__bars i,.hl.is-paused .hl__prog i{animation-play-state:paused}

/* playlist */
.hl__list{list-style:none;margin:0;padding:0;display:grid;grid-template-rows:repeat(6,1fr);gap:8px}
.hl__item{position:relative;display:flex;align-items:center;gap:14px;width:100%;height:100%;min-height:62px;padding:8px 14px 8px 8px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.03);color:var(--ink-2);text-align:left;font:inherit;cursor:pointer;transition:background-color .25s,border-color .25s,transform .25s}
.hl__item:hover{background:rgba(255,255,255,.06);border-color:var(--line-strong);transform:translateX(3px)}
.hl__item.is-active{border-color:transparent;background:linear-gradient(#24101f,#24101f) padding-box,var(--g-border) border-box;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.hl__thumb{flex:none;width:76px;aspect-ratio:4/3;border-radius:11px;overflow:hidden;background:#160712}
.hl__thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.75);transition:filter .3s,transform .4s}
.hl__item:hover .hl__thumb img,.hl__item.is-active .hl__thumb img{filter:none;transform:scale(1.06)}
.hl__meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.hl__meta small{font:700 .62rem var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--plum-300)}
.hl__item.is-active .hl__meta small{color:var(--gold)}
.hl__meta b{font:700 .9rem/1.25 var(--font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hl__prog{position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent}
.hl__prog i{display:block;height:100%;width:0;background:var(--g-flame)}
.hl__item.is-active .hl__prog i{animation:hl-fill var(--hl-dur) linear forwards}

@media(max-width:959px){
  .hl__body{grid-template-columns:1fr}
  .hl__list{grid-template-rows:none;grid-auto-flow:column;grid-auto-columns:minmax(220px,38%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
  .hl__list::-webkit-scrollbar{display:none}
  .hl__list li{scroll-snap-align:start}
  .hl__item:hover{transform:none}
}
@media(max-width:719px){
  .hl{width:calc(100% - 24px);padding:26px 14px 18px;border-radius:26px}
  .hl__head{flex-direction:column;align-items:center;text-align:center;gap:0;margin-bottom:20px}
  .hl__intro h2{font-size:1.9rem}
  .hl__intro p{font-size:.86rem;line-height:1.6}
  .hl__nav{display:none}
  .hl__stage{aspect-ratio:4/5;border-radius:20px}
  .hl__shade{background:linear-gradient(0deg,rgba(12,4,11,.96) 0%,rgba(12,4,11,.75) 38%,transparent 68%)}
  .hl__slide>img{object-position:center 20%}
  .hl__copy{max-width:none;padding:22px 20px 22px}
  .hl__copy h3{font-size:1.55rem}
  .hl__copy p{font-size:.84rem;margin-bottom:16px}
  .hl__num{top:30px;bottom:auto;right:14px;font-size:4.6rem}
  .hl__bars{top:12px;left:14px;right:14px;gap:4px}
  .hl__list{margin-top:4px;grid-auto-columns:max-content;gap:8px}
  .hl__item{min-height:0;padding:5px 12px 5px 5px;border-radius:999px;gap:9px}
  .hl__thumb{width:34px;aspect-ratio:1;border-radius:50%}
  .hl__meta small{display:none}
  .hl__meta b{font-size:.78rem}
}
@media(prefers-reduced-motion:reduce){
  .hl__slide,.hl__slide>img,.hl__copy>*{transition:none!important}
  .hl__bars span.is-active i,.hl__item.is-active .hl__prog i{animation:none;width:100%}
}

/* Gradient buttons: paint the gradient under the border too (removes the edge seam). */
.btn{background-origin:border-box}

/* Tablet hero: wordmark on top, card fully visible, buttons side by side. */
@media(min-width:720px) and (max-width:959px){
  .hero--landing .hero__wordmark{order:0;display:block;width:230px;height:auto;margin:0 auto 10px}
  .hero--landing .hero__media{overflow:visible}
  .hero--landing .hero__card{left:0;width:40%}
  .hero--landing .hero__cta{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:600px;margin-inline:auto}
}

/* Payment methods on phones: provider marks move under the text so the label is not squeezed. */
@media(max-width:480px){
  .method__row{flex-wrap:wrap}
  .method__text{flex:1 1 calc(100% - 100px)}
  .method__marks{order:4;width:100%;padding-left:60px}
}

/* slider polish */
.hl__meta small{white-space:nowrap}
@media(max-width:719px){.hl__num{display:none}}

/* =========================================================
   Benefits / pricing page — premium
   ========================================================= */
@property --tc-a{syntax:'<angle>';inherits:false;initial-value:0deg}
.is-benefits{background:#0a0309}
.pricing{position:relative;isolation:isolate;overflow:hidden;padding:clamp(36px,6vw,84px) clamp(16px,3vw,40px) clamp(40px,6vw,90px);color:#fff}
.pricing::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.pricing__aurora{position:absolute;z-index:-2;inset:-20% -10% auto;height:900px;pointer-events:none;filter:blur(60px);opacity:.9;
  background:radial-gradient(40% 50% at 20% 30%,rgba(142,46,126,.55),transparent 70%),radial-gradient(35% 45% at 80% 20%,rgba(248,108,0,.22),transparent 70%),radial-gradient(45% 50% at 55% 60%,rgba(94,18,81,.6),transparent 70%);
  animation:aurora 18s ease-in-out infinite alternate}
@keyframes aurora{to{transform:translate3d(4%,3%,0) scale(1.08) rotate(3deg)}}

.pricing__hero{max-width:860px;margin:0 auto clamp(40px,5vw,64px);text-align:center;animation:pr-rise .8s cubic-bezier(.2,.8,.2,1) both}
.pricing__eyebrow{display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border:1px solid rgba(220,162,203,.28);border-radius:999px;background:rgba(255,255,255,.04);backdrop-filter:blur(10px);font:700 .66rem var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--plum-200)}
.pricing__eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--flame-1);box-shadow:0 0 0 4px rgba(248,176,24,.18),0 0 14px var(--flame-1)}
.pricing__hero h1{margin:18px auto 16px;max-width:16ch;font:800 clamp(2.3rem,5.4vw,4.6rem)/1.02 var(--font-display);letter-spacing:-.035em;color:#fff}
.pricing__hero h1 em{font-style:normal;background:linear-gradient(92deg,#fff 0%,#ecc9e2 35%,#f8b018 75%,#f86c00 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pricing__hero p{max-width:60ch;margin:0 auto;color:#d9c6d4;font-size:clamp(.95rem,1.3vw,1.1rem);line-height:1.7}
.pricing__assure{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:24px 0 0;padding:0}
.pricing__assure li{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:#ecdde8}
.pricing__assure svg{width:17px;height:17px;color:var(--flame-1)}

/* ---------- tier cards ---------- */
.tiers3{display:grid;grid-template-columns:1fr;gap:20px;max-width:1320px;margin:0 auto;perspective:1400px}
.tc{
  --c1:#a33c91;--c2:#5e1251;--tick:#dca2cb;--btn-ink:#fff;--glow:rgba(142,46,126,.45);
  --rx:0deg;--ry:0deg;--lift:0px;--mx:50%;--my:0%;
  position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;padding:22px 22px 26px;border-radius:28px;
  background:linear-gradient(170deg,rgba(255,255,255,.075) 0%,rgba(255,255,255,.02) 40%,rgba(255,255,255,.01) 100%),#130610;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 30px 60px -20px rgba(0,0,0,.7);
  transform:rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift));transform-style:preserve-3d;
  transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .4s ease;
  animation:pr-rise .9s cubic-bezier(.2,.8,.2,1) both
}
.tc:nth-child(2){animation-delay:.08s}.tc:nth-child(3){animation-delay:.16s}.tc:nth-child(4){animation-delay:.24s}
@keyframes pr-rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.tc:hover{--lift:-8px;border-color:rgba(255,255,255,.16);box-shadow:0 1px 0 rgba(255,255,255,.1) inset,0 40px 80px -24px var(--glow)}
/* rotating light around the border */
.tc::after{content:"";position:absolute;inset:-1px;z-index:2;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--tc-a),transparent 0deg,transparent 250deg,var(--c1) 300deg,#fff 330deg,var(--c1) 345deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  opacity:0;transition:opacity .5s;animation:tc-spin 4.5s linear infinite}
.tc:hover::after,.tc--presidential::after{opacity:1}
@keyframes tc-spin{to{--tc-a:360deg}}
.tc__spot{position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--mx) var(--my),var(--glow),transparent 45%)}
.tc:hover .tc__spot{opacity:1}

.tc__flag{position:absolute;z-index:3;top:18px;right:18px;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:linear-gradient(135deg,#ffd27a,#f8b018 50%,#f86c00);color:#2a0d05;font:800 .6rem var(--font-display);letter-spacing:.14em;text-transform:uppercase;box-shadow:0 8px 20px rgba(248,108,0,.4)}
.tc__flag svg{width:11px;height:11px}

/* ---------- tier ID card ---------- */
.tc__card{margin:4px 4px 24px;transform:translateZ(40px);transform-style:preserve-3d}


/* ---------- card body ---------- */
.tc__body{display:flex;flex-direction:column;flex:1;padding:0 4px}
.tc__name h2{margin:0;font:800 1.45rem/1.15 var(--font-display);letter-spacing:-.02em;color:#fff;white-space:nowrap}
.tc__name p{margin:5px 0 0;font-size:.86rem;color:#bba4b5}
.tc__price{display:flex;align-items:flex-start;gap:2px;margin:20px 0 20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08)}
.tc__price sup{top:0;margin-top:8px;font:800 1.35rem var(--font-display);color:var(--tick)}
.tc__price b{font:800 3.6rem/1 var(--font-display);letter-spacing:-.055em;background:linear-gradient(180deg,#fff 30%,#d9c2d3);-webkit-background-clip:text;background-clip:text;color:transparent}
.tc__price span{align-self:flex-end;margin:0 0 6px 10px;font:700 .88rem var(--font-display);color:#e8d8e3}
.tc__price small{display:block;margin-top:2px;font:500 .68rem var(--font-body);color:#9c8596}

.tc__btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:13px 20px;border-radius:16px;
  background:linear-gradient(135deg,var(--c1),var(--c2));background-origin:border-box;border:1px solid rgba(255,255,255,.14);
  color:var(--btn-ink);font:700 .94rem var(--font-display);box-shadow:0 14px 30px -10px var(--glow),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .25s,box-shadow .25s}
.tc__btn::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease}
.tc__btn:hover{color:var(--btn-ink);text-decoration:none;transform:translateY(-2px);box-shadow:0 20px 40px -10px var(--glow),inset 0 1px 0 rgba(255,255,255,.3)}
.tc__btn:hover::before{transform:translateX(120%)}
.tc__btn span,.tc__btn svg{position:relative}
.tc__btn svg{width:18px;height:18px;transition:transform .25s}.tc__btn:hover svg{transform:translateX(4px)}

.tc__perks{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:13px}
.tc__perks li{display:flex;align-items:flex-start;gap:11px;font-size:.9rem;line-height:1.45;color:#ecdde8}
.tc__perks svg{flex:0 0 18px;width:18px;height:18px;margin-top:1px;padding:3px;border-radius:50%;background:color-mix(in srgb,var(--tick) 18%,transparent);color:var(--tick);stroke-width:3}
.tc__perks li.is-inherit{font-weight:700;color:#fff}
.tc__perks li.is-inherit svg{padding:2px;background:none}

.tc--silver{--c1:#f2ecf1;--c2:#a998a6;--tick:#e3d6e0;--btn-ink:#24161f;--glow:rgba(227,214,224,.28)}
.tc--gold{--c1:#ffd27a;--c2:#f86c00;--tick:#f8b018;--btn-ink:#2a0d05;--glow:rgba(248,140,0,.4)}
.tc--presidential{--c1:#ffd27a;--c2:#f86c00;--tick:#ffd27a;--btn-ink:#2a0d05;--glow:rgba(248,176,24,.38);
  background:radial-gradient(120% 60% at 50% 0%,rgba(142,46,126,.45),transparent 60%),linear-gradient(170deg,rgba(255,210,122,.07),rgba(255,255,255,.01) 45%),#140610;
  border-color:rgba(248,176,24,.28)}

/* ---------- comparison ---------- */
.compare,.faq{max-width:1180px;margin:clamp(70px,9vw,120px) auto 0}
.compare__head{margin-bottom:28px;text-align:center}
.compare__head h2{margin:16px 0 0;font:800 clamp(1.8rem,3.4vw,2.8rem)/1.1 var(--font-display);letter-spacing:-.03em;color:#fff}
.compare__wrap{overflow-x:auto;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,.015)),#110510;box-shadow:0 30px 60px -24px rgba(0,0,0,.7);scrollbar-width:thin}
.compare__table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0}
.compare__table th,.compare__table td{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.06);text-align:center;vertical-align:middle}
.compare__table tbody tr:last-child>*{border-bottom:0}
.compare__table tbody th{text-align:left;font:600 .9rem var(--font-body);color:#ecdde8}
.compare__table thead th{position:sticky;top:0;padding:22px 18px 18px;background:#170814}
.compare__tier span{display:block;font:800 1rem var(--font-display);color:#fff}
.compare__tier small{display:block;margin-top:4px;font-size:.74rem;color:#9c8596}
.compare__tier::before{content:"";display:block;width:36px;height:4px;margin:0 auto 12px;border-radius:4px;background:linear-gradient(90deg,#a33c91,#5e1251)}
.compare__tier--silver::before{background:linear-gradient(90deg,#f2ecf1,#a998a6)}
.compare__tier--gold::before,.compare__tier--presidential::before{background:linear-gradient(90deg,#ffd27a,#f86c00)}
.compare__table tbody tr{transition:background-color .2s}
.compare__table tbody tr:hover{background:rgba(255,255,255,.035)}
.compare__table th:first-child{position:sticky;left:0;z-index:1;background:#140611;min-width:220px}
.compare__table thead th:first-child{z-index:2}
.compare__cell--presidential{background:rgba(248,176,24,.04)}
.compare .yes{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(220,162,203,.14);color:#ecc9e2}
.compare .yes svg{width:14px;height:14px;stroke-width:3}
.compare__cell--gold .yes,.compare__cell--presidential .yes{background:rgba(248,176,24,.16);color:#ffd27a}
.compare .no{color:#5c4656;font-weight:700}
.compare .txt{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);font:700 .72rem var(--font-display);color:#fff;white-space:nowrap}
.compare__cell--gold .txt,.compare__cell--presidential .txt{border-color:rgba(248,176,24,.4);color:#ffd27a}

/* ---------- FAQ ---------- */
.faq__list{display:grid;gap:12px;max-width:820px;margin:0 auto}
.faq__item{border:1px solid rgba(255,255,255,.09);border-radius:20px;background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,.015));transition:border-color .3s,background-color .3s}
.faq__item[open]{border-color:rgba(220,162,203,.3);background-color:rgba(142,46,126,.08)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;cursor:pointer;list-style:none;font:700 1rem var(--font-display);color:#fff}
.faq__item summary::-webkit-details-marker{display:none}
.faq__icon{position:relative;flex:none;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.18);transition:transform .35s,background-color .3s}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:2px;background:#fff;transform:translate(-50%,-50%)}
.faq__icon::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .35s}
.faq__item[open] .faq__icon{transform:rotate(180deg);background:linear-gradient(135deg,#ffd27a,#f86c00);border-color:transparent}
.faq__item[open] .faq__icon::before,.faq__item[open] .faq__icon::after{background:#2a0d05}
.faq__item[open] .faq__icon::after{transform:translate(-50%,-50%) rotate(0)}
.faq__item p{margin:0;padding:0 22px 20px;color:#d2bfcc;line-height:1.7}

/* ---------- closing CTA ---------- */
.pricing__cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1180px;margin:clamp(60px,8vw,100px) auto 0;padding:clamp(28px,4vw,48px);border-radius:28px;
  background:radial-gradient(80% 140% at 0% 0%,rgba(248,176,24,.25),transparent 55%),linear-gradient(135deg,#8e2e7e 0%,#5e1251 50%,#2a0d25 100%);border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 70px -20px rgba(142,46,126,.55)}
.pricing__cta h2{margin:0 0 8px;font:800 clamp(1.5rem,2.8vw,2.3rem)/1.1 var(--font-display);color:#fff}
.pricing__cta p{margin:0;color:#f2dcea;max-width:52ch}
.tc__btn--light{--btn-ink:#3c0d33;flex:none;min-width:240px;background:#fff;box-shadow:0 18px 40px -12px rgba(0,0,0,.5)}
.tc__btn--light:hover{--btn-ink:#3c0d33}

/* ---------- responsive ---------- */
@media(min-width:680px){.tiers3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1180px){.tiers3{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.tc--presidential{margin-top:-14px;margin-bottom:14px}}
@media(max-width:679px){
  .pricing{padding-inline:14px}
  .tc{padding:18px 18px 22px}
  .tc__card{margin:2px 2px 20px}
  .compare__table{min-width:640px}
  .compare__table th:first-child{min-width:170px}
  .compare__table th,.compare__table td{padding:13px 12px}
  .pricing__cta{flex-direction:column;align-items:stretch;text-align:center}
  .tc__btn--light{min-width:0}
}
@media(prefers-reduced-motion:reduce){
  .pricing__aurora,.tc,.tc::after,.pricing__hero{animation:none}
  .tc{transition:none}
}

/* pricing polish */
.tc__flag{top:-13px;right:auto;left:50%;transform:translateX(-50%) translateZ(60px);white-space:nowrap}
.tc__btn span{white-space:nowrap}
.tc--presidential .tc__btn{font-size:.86rem;padding-inline:14px}
.tc--presidential .tc__card{margin-top:12px}
.compare__hint{display:none;margin:10px 0 0;font-size:.8rem;color:#9c8596}
@media(max-width:679px){.compare__hint{display:block}}

/* pricing: one consistent wide container with even side spacing */
.pricing{--pr-w:1480px;padding-left:clamp(16px,4vw,64px);padding-right:clamp(16px,4vw,64px)}
.tiers3,.compare,.faq,.pricing__cta{width:100%;max-width:var(--pr-w);margin-left:auto;margin-right:auto}
.tiers3{gap:clamp(16px,1.6vw,26px)}
.tc{padding:clamp(18px,1.6vw,26px) clamp(18px,1.6vw,26px) clamp(22px,2vw,30px)}
.faq__list{max-width:none}
@media(min-width:960px){.faq__list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px 18px}}
@media(min-width:1180px) and (max-width:1320px){.tc__price b{font-size:3.2rem}.tc--presidential .tc__btn{font-size:.82rem}}
@media(max-width:679px){.pricing{padding-left:16px;padding-right:16px}.tc{padding:18px 16px 22px}.compare__wrap,.faq__item,.pricing__cta{border-radius:20px}.faq__item summary{padding:18px}.faq__item p{padding:0 18px 18px}}

/* Home hero: breathing room under the nav */
.hero--landing .hero__in{padding-top:clamp(36px,6vh,72px)}
@media(max-width:959px){.hero--landing .hero__in{padding-top:clamp(32px,6vw,56px)}}

/* Home hero stats: minimal, editorial row (no boxes) */
.hero--landing .hero__stats{position:relative;gap:0;padding:18px 0;border:0;background:none}
.hero--landing .hero__stats::before,.hero--landing .hero__stats::after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.06) 70%,transparent)}
.hero--landing .hero__stats::before{top:0}.hero--landing .hero__stats::after{bottom:0}
.hero--landing .hero__stats li{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:0;padding:2px 24px;text-align:left;border:0;border-radius:0;background:none;box-shadow:none}
.hero--landing .hero__stats li:first-child{padding-left:0}
.hero--landing .hero__stats li+li{border-left:1px solid rgba(255,255,255,.12)}
.hero--landing .hero__stats b{font:800 clamp(1.7rem,2.4vw,2.25rem)/1 var(--font-display);letter-spacing:-.035em;color:#fff;background:none;-webkit-text-fill-color:#fff;font-variant-numeric:tabular-nums}
.hero--landing .hero__stats span{margin:0;font:600 .7rem/1.3 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:#bfa9b9}
.hero--landing .hero__stats span::before{content:"";display:block;width:18px;height:2px;margin-bottom:8px;border-radius:2px;background:linear-gradient(90deg,#f8b018,#f86c00)}
@media(max-width:719px){
  .hero--landing .hero__stats{padding:16px 0;margin-top:22px}
  .hero--landing .hero__stats::before,.hero--landing .hero__stats::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)}
  .hero--landing .hero__stats li{align-items:center;text-align:center;padding:2px 6px}
  .hero--landing .hero__stats li:first-child{padding-left:6px}
  .hero--landing .hero__stats b{font-size:1.55rem}
  .hero--landing .hero__stats span{font-size:clamp(.55rem,2.5vw,.64rem);letter-spacing:.08em}
  .hero--landing .hero__stats span::before{margin:0 auto 7px}
}
@media(min-width:720px){.hero--landing .hero__stats span{white-space:nowrap}}

/* pricing: real NVM ID card per tier (same as the home page) */
.tc__card{margin:6px 2px 26px;transform:none}
.tc__card .idcard-wrap{transform:rotate(-3deg);transition:transform .6s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 20px 30px rgba(0,0,0,.6))}
.tc:hover .tc__card .idcard-wrap{transform:rotate(0) translateY(-6px) scale(1.03)}
@media(prefers-reduced-motion:reduce){.tc__card .idcard-wrap{transition:none}}

/* Slider stage height that works on every browser (older iOS Safari has no aspect-ratio). */
.hl__stage{aspect-ratio:auto;height:auto;min-height:220px}
.hl__stage::before{content:"";display:block;padding-top:62.5%}
@media(max-width:719px){.hl__stage::before{padding-top:125%}}

/* =========================================================
   Home tiers — clean, professional cards
   ========================================================= */
#tiers .tier-rail{align-items:stretch}
#tiers .tier-show{
  --accent:linear-gradient(90deg,#a33c91,#5e1251);--dot:#bb68a7;
  isolation:isolate;overflow:hidden;gap:18px;padding:0 0 22px;border-radius:22px;
  background:#140711;border:1px solid rgba(255,255,255,.09);box-shadow:0 18px 40px -24px rgba(0,0,0,.8);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
#tiers .tier-show::before{content:"";display:block;position:absolute;left:0;right:0;top:0;height:3px;z-index:2;padding:0;border-radius:0;background:var(--accent);-webkit-mask:none;mask:none;transform:none;transition:none}
#tiers .tier-show::after{display:none}
#tiers .tier-show:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.18);box-shadow:0 26px 50px -26px rgba(0,0,0,.9)}
#tiers .tier-show>*{margin-left:22px;margin-right:22px}

#tiers .tier-show__visual{order:-1;margin:0 0 4px;padding:26px 22px 22px;border:0;border-bottom:1px solid rgba(255,255,255,.07);border-radius:0;
  background:radial-gradient(80% 90% at 50% 100%,rgba(255,255,255,.05),transparent 70%),#1a0a17;box-shadow:none;overflow:visible}
#tiers .tier-show__visual::before{display:none}
#tiers .tier-show__visual .idcard-wrap{transform:none;filter:none;transition:transform .3s ease}
#tiers .tier-show__visual .idcard{box-shadow:0 14px 28px -10px rgba(0,0,0,.7)}
#tiers .tier-show:hover .tier-show__visual .idcard-wrap{transform:translateY(-3px)}

#tiers .tier-show__top{display:flex;align-items:center;justify-content:space-between;padding:0}
#tiers .tier-show__number{font:700 .7rem var(--font-display);letter-spacing:.14em;color:#8f7a8b}
#tiers .tier-show__label{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:transparent;color:#cdb9c8;font:700 .6rem var(--font-display);letter-spacing:.12em;text-transform:uppercase}
#tiers .tier-show__label::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dot)}

#tiers .tier-show__meta{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0}
#tiers .tier-show__title h3{margin:0 0 4px;font:800 1.3rem/1.15 var(--font-display);color:#fff}
#tiers .tier-show__title span{font-size:.82rem;color:#a8929f}
#tiers .tier-show__price{text-align:right}
#tiers .tier-show__price b{display:block;font:800 2rem/1 var(--font-display);letter-spacing:-.04em;color:#fff;background:none;-webkit-text-fill-color:#fff}
#tiers .tier-show__price small{display:block;margin-top:6px;font:600 .62rem var(--font-display);letter-spacing:.1em;color:#8f7a8b}
#tiers .tier-show__rule{height:1px;margin-top:0;margin-bottom:0;background:rgba(255,255,255,.08)}
#tiers .tier-show__perks{gap:11px;padding:0}
#tiers .tier-show__perks li{gap:10px;align-items:flex-start;font-size:.86rem;line-height:1.45;color:#e2d3de}
#tiers .tier-show__perks svg{flex:0 0 16px;width:16px;height:16px;margin-top:2px;padding:0;border-radius:0;background:none;color:var(--dot);stroke-width:2.5}

#tiers .tier-show__cta{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:auto;min-height:48px;padding:12px 18px;border-radius:12px;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#fff;font:700 .9rem var(--font-display);text-decoration:none;transition:background-color .2s,border-color .2s,color .2s}
#tiers .tier-show__cta:hover{background:#fff;border-color:#fff;color:#2a0d25;text-decoration:none}
#tiers .tier-show__cta svg{width:17px;height:17px;transition:transform .2s}
#tiers .tier-show__cta:hover svg{transform:translateX(3px)}

#tiers .tier-show--silver{--accent:linear-gradient(90deg,#f2ecf1,#a998a6);--dot:#d8c5d3}
#tiers .tier-show--gold{--accent:linear-gradient(90deg,#ffd27a,#f86c00);--dot:#f8b018;margin:0}
#tiers .tier-show--presidential{--accent:linear-gradient(90deg,#ffd27a,#f86c00);--dot:#ffd27a;background:#140711;border-color:rgba(248,176,24,.28)}

@media(max-width:719px){
  #tiers .tier-show>*{margin-left:16px;margin-right:16px}
  #tiers .tier-show__visual{padding:20px 16px 16px}
  #tiers .tier-show:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){#tiers .tier-show,#tiers .tier-show__visual .idcard-wrap{transition:none}}

/* Home tiers — professional polish on top of the clean base */
#tiers .tier-show{--tint:rgba(142,46,126,.22);--glow-c:rgba(142,46,126,.35);--tick-bg:rgba(187,104,167,.16);
  background:radial-gradient(120% 45% at 50% 0%,var(--tint),transparent 70%),linear-gradient(180deg,#1a0a17 0%,#120610 100%);
  border-color:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 22px 44px -26px rgba(0,0,0,.9)}
#tiers .tier-show::before{height:2px;left:22px;right:22px;border-radius:0 0 3px 3px;transition:left .35s ease,right .35s ease,height .35s ease}
#tiers .tier-show:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 34px 60px -28px var(--glow-c)}
#tiers .tier-show:hover::before{left:0;right:0;height:3px}

/* ID card stage: soft tier spotlight + fine dot pattern */
#tiers .tier-show__visual{position:relative;isolation:isolate;background:transparent;border-bottom-color:rgba(255,255,255,.06)}
#tiers .tier-show__visual::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 70% at 50% 60%,var(--tint),transparent 75%),radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:auto,16px 16px;
  -webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);mask-image:linear-gradient(180deg,#000 60%,transparent)}
#tiers .tier-show__visual .idcard{box-shadow:0 18px 34px -12px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.06)}
#tiers .tier-show:hover .tier-show__visual .idcard-wrap{transform:translateY(-5px)}

#tiers .tier-show__label{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
#tiers .tier-show__price b{display:inline-flex;align-items:flex-start;gap:1px}
#tiers .tier-show__perks svg{flex:0 0 20px;width:20px;height:20px;margin-top:0;padding:4px;border-radius:50%;background:var(--tick-bg);stroke-width:3}

/* buttons: Standard/Silver = outline that fills on hover; Gold/Presidential = primary */
#tiers .tier-show__cta{border-radius:13px;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.04)}
#tiers .tier-show--gold .tier-show__cta,#tiers .tier-show--presidential .tier-show__cta{border-color:transparent;color:#2a0d05;background:linear-gradient(135deg,#ffe1a1,#f8b018 50%,#f86c00);box-shadow:0 12px 26px -12px rgba(248,108,0,.7)}
#tiers .tier-show--gold .tier-show__cta:hover,#tiers .tier-show--presidential .tier-show__cta:hover{color:#2a0d05;background:linear-gradient(135deg,#fff0c4,#ffc94d 50%,#ff8a1f);border-color:transparent}

#tiers .tier-show--silver{--tint:rgba(227,214,224,.13);--glow-c:rgba(227,214,224,.22);--tick-bg:rgba(227,214,224,.14)}
#tiers .tier-show--gold{--tint:rgba(248,140,0,.18);--glow-c:rgba(248,140,0,.38);--tick-bg:rgba(248,176,24,.16);border-color:rgba(248,176,24,.25)}
#tiers .tier-show--presidential{--tint:rgba(248,176,24,.13);--glow-c:rgba(248,176,24,.3);--tick-bg:rgba(248,176,24,.16);border-color:rgba(248,176,24,.32);
  background:radial-gradient(120% 45% at 50% 0%,rgba(142,46,126,.35),transparent 70%),linear-gradient(180deg,#1a0a17 0%,#0d040b 100%)}
@media(max-width:719px){#tiers .tier-show:hover{transform:none}}

/* Member login in the app's dark theme (admin login keeps its own look) */
.login-page:not(.admin-login-page) .login-split{background:#140711;border-color:rgba(255,255,255,.1)}
.login-page:not(.admin-login-page) .login-panel{background:radial-gradient(460px 300px at 70% 12%,rgba(142,46,126,.24),transparent 65%),linear-gradient(180deg,#1a0a17,#110510);color:#fff}
.login-page:not(.admin-login-page) .login-panel__head .eyebrow{color:#dca2cb}
.login-page:not(.admin-login-page) .login-panel__head h1{color:#fff}
.login-page:not(.admin-login-page) .login-panel__head p{color:#b9a3b3}
.login-page:not(.admin-login-page) .login-form .label{color:#e2d3de}
.login-page:not(.admin-login-page) .login-form .small{color:#ffd27a}
.login-page:not(.admin-login-page) .login-form .input{color:#fff;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14);box-shadow:none}
.login-page:not(.admin-login-page) .login-form .input::placeholder{color:#8f7a8b}
.login-page:not(.admin-login-page) .login-form .input:focus{background:rgba(255,255,255,.06);border-color:#bb68a7;box-shadow:0 0 0 4px rgba(187,104,167,.18)}
.login-page:not(.admin-login-page) .login-panel__join{border-top-color:rgba(255,255,255,.1);color:#a8929f}
.login-page:not(.admin-login-page) .login-panel__join a{color:#ffd27a}
.login-page:not(.admin-login-page) .login-panel__home{color:#a8929f}
.login-page:not(.admin-login-page) .login-panel__home:hover{color:#fff}
@media(max-width:820px){
  .login-page:not(.admin-login-page){background:#0c040b}
  .login-page:not(.admin-login-page) .login-panel{background:radial-gradient(420px 260px at 50% 0,rgba(142,46,126,.32),transparent 68%),#0c040b}
  .login-page:not(.admin-login-page) .login-panel__mobile-brand b{color:#fff}
  .login-page:not(.admin-login-page) .login-panel__mobile-brand small{color:#a8929f}
  .login-page:not(.admin-login-page) .login-panel__mobile-brand img{box-shadow:0 0 0 3px rgba(220,162,203,.22)}
}

/* Locked downloads card for pending members */
.dl-locked{display:grid;grid-template-columns:auto 1fr;gap:12px 14px;align-items:center}
.dl-locked__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#8e2e7e,#4a0e40);color:#ffd27a}
.dl-locked__icon svg{width:21px;height:21px}
.dl-locked__text b{display:block;margin-bottom:4px;font:700 .95rem/1.35 var(--font-display);color:#fff}
.dl-locked .btn{grid-column:1 / -1;margin-top:4px}

/* #4 Readable small text on phones (minimum 11px) */
@media(max-width:719px){
  .lnav__brand small,.mobile-menu__head small,.site-footer__brand small,.lcta__brand small,.verify-search-brand small,.login-panel__mobile-brand small,
  .hero__kicker,.hero--landing .hero__stats span,.hl__badge,.hl__label,.tier-show__price small,.lcta__eyebrow,.lcta__proof span,.lcta__panel-label,
  .site-footer__trust-item small,.pricing__eyebrow,.tc__price small,.tc__flag{font-size:11px!important}
  .lnav__brand small,.hero__kicker,.hl__badge,.lcta__eyebrow,.lcta__panel-label,.pricing__eyebrow,.tc__flag{letter-spacing:.1em!important}
  #tiers .tier-show__label{font-size:10.5px;letter-spacing:.06em}
  .hero--landing .hero__stats span{letter-spacing:.04em!important}
}

/* #5 Comfortable tap targets */
.tier-carousel__dots button{position:relative}
.tier-carousel__dots button::after{content:"";position:absolute;inset:-12px -6px}
@media(max-width:719px){
  .lcta__links a,.login-panel__home,.login-panel__join a,.verify-search-home,.login-form .small{display:inline-flex;align-items:center;min-height:40px}
}

/* #6 Footer link groups collapse on phones */
.site-footer__toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:default}
.site-footer__toggle svg{display:none;width:16px;height:16px;transition:transform .25s ease}
@media(max-width:599px){
  .site-footer.has-acc .site-footer__grid{row-gap:0}
  .site-footer.has-acc .site-footer__group{border-top:1px solid rgba(255,255,255,.08)}
  .site-footer.has-acc .site-footer__group h2{margin:0}
  .site-footer.has-acc .site-footer__toggle{min-height:52px;cursor:pointer}
  .site-footer.has-acc .site-footer__toggle svg{display:block;transform:rotate(90deg)}
  .site-footer.has-acc .site-footer__group.is-open .site-footer__toggle svg{transform:rotate(-90deg)}
  .site-footer.has-acc .site-footer__group:not(.is-open)>a{display:none}
  .site-footer.has-acc .site-footer__group.is-open{padding-bottom:12px}
}

/* #7 Footer trust strip: dark glass instead of white boxes */
.site-footer .site-footer__trust{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);border-color:rgba(255,255,255,.06)}
.site-footer .site-footer__trust-item{background:linear-gradient(150deg,rgba(255,255,255,.05),rgba(255,255,255,.012));border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.site-footer .site-footer__trust-item b{color:#fff}
.site-footer .site-footer__trust-item small{color:#a8929f}
.site-footer .site-footer__trust .site-footer__trust-icon{border-color:rgba(231,171,215,.3);background:linear-gradient(145deg,rgba(142,46,126,.35),rgba(55,10,46,.7));box-shadow:inset 0 1px rgba(255,255,255,.1)}
.site-footer .site-footer__trust .site-footer__trust-icon::after{border-color:rgba(255,255,255,.07)}
.site-footer .site-footer__trust .site-footer__trust-icon svg{color:#f0b5df}
.site-footer .site-footer__trust .site-footer__trust-item:nth-child(2) .site-footer__trust-icon{border-color:rgba(248,176,24,.32);background:linear-gradient(145deg,rgba(248,176,24,.2),rgba(72,34,4,.5))}
.site-footer .site-footer__trust .site-footer__trust-item:nth-child(2) .site-footer__trust-icon svg{color:#ffc84d}
.site-footer .site-footer__trust .site-footer__trust-item:nth-child(3) .site-footer__trust-icon{border-color:rgba(255,101,25,.3);background:linear-gradient(145deg,rgba(255,101,25,.18),rgba(75,22,9,.48))}
.site-footer .site-footer__trust .site-footer__trust-item:nth-child(3) .site-footer__trust-icon svg{color:#ff9a64}
@media(max-width:719px){.site-footer .site-footer__trust-item{background:linear-gradient(150deg,rgba(255,255,255,.05),rgba(255,255,255,.012))}}

/* #10 heading tag changes keep the same look */
.login-story__copy .login-story__title{margin:12px 0 18px;color:#fff;font:800 clamp(2.35rem,4.1vw,4rem)/1.02 var(--font-display);letter-spacing:-.045em}
.login-story__copy .login-story__title span{background:linear-gradient(90deg,#fff,#dca2cb 55%,#ffd27a);-webkit-background-clip:text;background-clip:text;color:transparent}
h1.verify-hero__title{margin:0;font-size:1.15rem;line-height:1.3;letter-spacing:0}

/* ---- Restored from the live server (payments, chat, plan change) ---- */
/* PayPal panel: single subscribe button, no white strip; icons in hint text stay small. */
.paypal-box{max-width:420px;margin-top:10px;border-radius:10px;overflow:hidden;color-scheme:normal}
.hint svg,.small svg{width:16px;height:16px;vertical-align:-3px;flex:none}

/* Member chat: NVM Team (admin) messages stand out. */
.chat-message.is-admin .chat-bubble{border-color:#f8b018;background:linear-gradient(145deg,rgba(248,176,24,.14),rgba(248,108,0,.06))}
.chat-message.is-admin .chat-meta{color:#f8b018;opacity:1}
.chat-message.is-admin .avatar{background:linear-gradient(135deg,#f8b018,#f86c00);color:#1c0b19;font-size:.62rem}
/* Admin chat inline edit. */
.chat-edit summary{list-style:none;cursor:pointer}.chat-edit summary::-webkit-details-marker{display:none}
/* Subscription: change plan list. */
.plan-switch{display:grid;gap:10px}
.plan-switch__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
@media(min-width:760px){.plan-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-switch__item{flex-direction:column;align-items:flex-start}}

/* Admin: full conversation view of member chat. */
.admin-chat{height:clamp(460px,calc(100dvh - 300px),900px)}
.admin-chat .chat-head .small{margin:4px 0 0;color:var(--muted)}
.admin-chat .chat-bubble{background:#fff;border-color:var(--line);color:var(--ink);max-width:min(78%,640px)}
.admin-chat .chat-message.is-admin .chat-bubble{background:#5e1251;border-color:#5e1251;color:#fff}
.admin-chat .chat-message.is-admin .chat-meta{color:#f8d9a0}
.admin-chat .chat-message.is-removed .chat-bubble{opacity:.55}
.chat-actions{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;padding-top:6px;border-top:1px solid rgba(0,0,0,.06)}
.chat-message.is-admin .chat-actions{border-top-color:rgba(255,255,255,.15)}
.chat-actions form{margin:0;display:inline}
.chat-actions button,.chat-actions summary{padding:0;border:0;background:none;color:var(--muted);font:600 .72rem var(--font-body,inherit);cursor:pointer}
.chat-message.is-admin .chat-actions button,.chat-message.is-admin .chat-actions summary{color:#ecc9e2}
.chat-actions button:hover,.chat-actions summary:hover{text-decoration:underline}
.chat-actions details[open]{flex-basis:100%}
.chat-actions details form{display:grid;gap:6px;margin-top:6px}
.chat-actions details textarea{width:100%;min-height:70px;color:var(--ink);background:#fff}
.muted-list summary{list-style:none}.muted-list summary::-webkit-details-marker{display:none}

/* Tablet landscape / small laptops (960–1199px): nav, hero buttons, stats and feature cards fit without sideways scroll */
@media(min-width:960px) and (max-width:1199px){
  .lnav__in{grid-template-columns:auto 1fr auto;gap:12px}
  .lnav__links{gap:0}
  .lnav__links a{padding:8px 9px;font-size:.84rem}
  .lnav__actions{gap:8px}
  .lnav__actions .btn{padding-inline:14px}
  .hero--landing .hero__cta .btn{white-space:nowrap;padding-inline:18px;font-size:.92rem}
  .hero--landing .hero__stats li{padding-inline:16px}
  .hero--landing .hero__stats span{white-space:normal}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Client request: feature cards and footer trust boxes are links */
.feature--link{color:inherit;text-decoration:none;cursor:pointer;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.feature--link:hover{color:inherit;text-decoration:none;transform:translateY(-4px);border-color:rgba(255,255,255,.18)}
.feature--link:focus-visible{outline:2px solid var(--plum-300);outline-offset:3px}
.feature__more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font:700 .82rem var(--font-display);color:#ffd27a}
.feature__more svg{width:15px;height:15px;transition:transform .2s ease}
.feature--link:hover .feature__more svg{transform:translateX(4px)}
@media(min-width:720px) and (max-width:959px){a.feature{display:block}}
@media(max-width:719px){
  .feature--link .i3d{grid-row:span 3}
  .feature__more{grid-column:2;margin-top:6px;font-size:.78rem}
  .feature--link:hover{transform:none}
}
a.site-footer__trust-item{color:inherit;text-decoration:none;transition:border-color .25s ease,transform .25s ease,background-color .25s ease}
a.site-footer__trust-item:hover{color:inherit;text-decoration:none;border-color:rgba(220,162,203,.35);transform:translateY(-2px)}
a.site-footer__trust-item:focus-visible{outline:2px solid var(--plum-300);outline-offset:3px}

/* Client request: big tier letter on every ID card (B Standard, S Silver, G Gold, P President's Club) — readable on black-and-white prints */
.idcard__head{position:relative}
.idcard__head::after{content:"B";margin-left:auto;flex:none;display:grid;place-items:center;width:8.6cqw;height:8.6cqw;border:.55cqw solid #fff;border-radius:50%;
  font:800 5.4cqw/1 var(--font-display);color:#fff;background:rgba(0,0,0,.28);box-shadow:0 0 0 .3cqw rgba(0,0,0,.25)}
.idcard--silver .idcard__head::after{content:"S"}
.idcard--gold .idcard__head::after{content:"G"}
.idcard--presidential .idcard__head::after{content:"P"}

/* Client request: make it obvious on phones that the membership cards swipe sideways */
.tier-swipe{display:none}
@media(max-width:719px){
  .tier-swipe{display:flex;align-items:center;justify-content:center;gap:9px;width:max-content;max-width:100%;margin:0 auto 14px;padding:9px 14px 9px 10px;
    border:1px solid rgba(248,176,24,.45);border-radius:999px;background:linear-gradient(135deg,rgba(248,176,24,.14),rgba(142,46,126,.18));color:#fff;
    font:700 .8rem/1.2 var(--font-display);box-shadow:0 10px 24px -14px rgba(248,108,0,.7)}
  .tier-swipe__hand{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#ffd27a,#f86c00);color:#2a0d05;animation:tier-swipe-hand 1.8s ease-in-out infinite}
  .tier-swipe__hand svg{width:16px;height:16px}
  .tier-swipe__count{padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.72rem;color:#ffd27a;font-variant-numeric:tabular-nums}
  .tier-swipe__arrow{display:grid;place-items:center;color:#ffd27a;animation:tier-swipe-arrow 1.2s ease-in-out infinite}
  .tier-swipe__arrow svg{width:16px;height:16px}
  @keyframes tier-swipe-hand{0%,100%{transform:translateX(3px) rotate(0)}50%{transform:translateX(-5px) rotate(-12deg)}}
  @keyframes tier-swipe-arrow{0%,100%{transform:translateX(0);opacity:1}50%{transform:translateX(5px);opacity:.55}}
  /* next card peeks in from the right so the sideways direction is visible */
  #tiers .tier-rail{grid-auto-columns:100%;column-gap:14px;scroll-padding-inline:0}
  #tiers .tier-show{scroll-snap-align:start}
}
@media(max-width:719px){
  #tiers .tier-rail.is-nudging .tier-show{animation:tier-nudge 1.3s cubic-bezier(.4,0,.2,1)}
  @keyframes tier-nudge{0%,100%{transform:translateX(0)}35%,55%{transform:translateX(-44px)}}
}
@media(max-width:719px) and (prefers-reduced-motion:reduce){.tier-swipe__hand,.tier-swipe__arrow{animation:none}}
/* swipe hint is tappable: next card on tap (one full card at a time on phones) */
.tier-swipe{cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:var(--font-display)}
.tier-swipe:active{transform:scale(.97)}
.tier-swipe:focus-visible{outline:2px solid #ffd27a;outline-offset:3px}

/* Downloads: members-only artwork shown as locked previews to visitors / pending members */
.dl-member-only .dl-hero{position:relative}
.dl-member-only .dl-hero img{filter:saturate(.75) brightness(.8)}
.dl-member-only__badge{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:rgba(12,4,11,.82);border:1px solid rgba(248,176,24,.5);color:#ffd27a;font:700 .72rem var(--font-display);backdrop-filter:blur(6px)}
.dl-member-only__badge svg{width:13px;height:13px}
.dl-member-only__login{display:block;margin-top:10px;text-align:center;font-size:.82rem;font-weight:600;color:#dca2cb}

/* Home: NVM Executive Committee template — 7 fixed positions, headshots added in Admin → Executive committee */
.committee{width:calc(100% - 32px);max-width:1240px;margin:clamp(56px,8vw,96px) auto 0}
.committee__head{max-width:640px;margin:0 auto 30px;text-align:center}
.committee__head h2{margin:10px 0 10px;font:800 clamp(1.8rem,3.4vw,2.8rem)/1.08 var(--font-display);letter-spacing:-.03em;color:#fff}
.committee__head h2 em{font-style:normal;background:linear-gradient(95deg,#ffd27a,#f8b018 40%,#f86c00);-webkit-background-clip:text;background-clip:text;color:transparent}
.committee__head p{margin:0;color:#cdb6c7}
.committee__grid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.committee__card{flex:0 1 calc(25% - 12px);min-width:200px;max-width:280px;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.015));box-shadow:0 22px 44px -26px rgba(0,0,0,.85);transition:transform .3s ease,border-color .3s ease}
.committee__card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.18)}
.committee__card--lead{border-color:rgba(248,176,24,.45);box-shadow:0 24px 50px -26px rgba(248,108,0,.55)}
.committee__photo{position:relative;aspect-ratio:4/5;background:radial-gradient(80% 70% at 50% 35%,rgba(142,46,126,.45),#160712 75%);display:grid;place-items:center}
.committee__photo::before{content:"";display:block;padding-top:125%}
.committee__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.committee__photo span{position:absolute;inset:0;display:grid;place-items:center;color:rgba(220,162,203,.35)}
.committee__photo span svg{width:56px;height:56px}
.committee__info{display:flex;flex-direction:column;gap:3px;padding:14px 16px 16px;border-top:1px solid rgba(255,255,255,.07)}
.committee__info small{font:700 .66rem/1.3 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:#ffd27a}
.committee__info b{font:700 1rem/1.25 var(--font-display);color:#fff}
.committee__card.is-empty .committee__info b{color:#8f7a8b;font-weight:600}
@media(max-width:719px){
  .committee{width:calc(100% - 24px)}
  .committee__grid{gap:10px}
  .committee__card{flex:0 1 calc(50% - 5px);min-width:0;border-radius:18px}
  .committee__info{padding:11px 12px 13px}
  .committee__info small{font-size:.6rem;letter-spacing:.08em}
  .committee__info b{font-size:.9rem}
}

/* Member chat — notification opt-in bar (client #6) */
.chat-push{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:10px 12px;border-radius:14px;background:rgba(142,46,126,.08);border:1px solid rgba(142,46,126,.18)}
.chat-push[hidden]{display:none}
.chat-push__icon{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(142,46,126,.14);color:#8e2e7e}
.chat-push__text{flex:1;margin:0;font-size:.86rem;line-height:1.35}
.chat-push__btn{flex:none;white-space:nowrap}
.chat-push__btn[hidden]{display:none}
@media(max-width:520px){.chat-push{flex-wrap:wrap}.chat-push__btn{width:100%}}

/* Android fix (narrow phones): swipe hint stays on one line; closing CTA buttons stack full width */
@media(max-width:719px){
  .tier-swipe__text{white-space:nowrap}
  .tier-swipe__count{flex:none;white-space:nowrap}
  .tier-swipe__hand,.tier-swipe__arrow{flex:none}
}
@media(max-width:400px){
  .tier-swipe{gap:6px;padding:8px 10px 8px 8px;font-size:.74rem}
  .tier-swipe__count{padding:3px 7px;font-size:.68rem}
}
@media(max-width:340px){
  .tier-swipe__arrow{display:none}
}
@media(max-width:480px){
  .lcta__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lcta__actions .btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-width:0;height:48px;min-height:48px;padding:0 8px;border-radius:13px;font-size:.8rem;line-height:1.1;white-space:nowrap;text-align:center}
  .lcta__actions .btn svg{width:14px;height:14px;margin:0;flex:none}
}
@media(max-width:400px){
  .lcta__actions .btn{padding:0 6px;font-size:.76rem}
  .lcta__actions .btn svg{display:none}
}
@media(max-width:340px){
  .lcta__actions .btn{padding:0 4px;font-size:.7rem}
}

/* Show / hide password button (client request) */
.pw-wrap{position:relative;display:block;width:100%}
.pw-wrap>.input{width:100%;padding-right:50px}
.admin .card label:not(.toggle)>.pw-wrap{margin-top:6px}
.admin .card label:not(.toggle)>.pw-wrap>.input{margin-top:0}
.pw-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:10px;background:transparent;color:#8a6f82;opacity:.62;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pw-toggle:hover,.pw-toggle[aria-pressed="true"]{opacity:1}
.pw-toggle:hover{background:rgba(127,127,127,.12)}
.pw-toggle:focus-visible{outline:2px solid #b04a9c;outline-offset:1px}
.pw-toggle svg{display:block;width:20px;height:20px}

/* Installed app: keep the top bars below the phone's status bar (iOS may draw the app under it) */
.topbar,.lnav{padding-top:var(--safe-t)}

/* Swipe-from-left-edge back hint (installed app only, see app.js) */
.swipe-back{position:fixed;left:0;top:50%;z-index:200;display:grid;place-items:center;width:44px;height:44px;margin-top:-22px;border-radius:50%;
  background:rgba(255,255,255,.92);color:#5e1251;box-shadow:0 8px 22px rgba(0,0,0,.35);opacity:0;pointer-events:none;
  transform:translateX(calc(-48px + var(--p,0) * 60px));transition:opacity .15s ease,background-color .15s ease}
.swipe-back.is-on{opacity:1}
.swipe-back.is-ready{background:#ffd27a;color:#2a0d05}

/* Member chat: keep header / notification bar / messages / composer in their own rows
   (the notification bar had taken the messages row, leaving a large empty box) */
.chat-card[data-chat]{grid-template-rows:auto auto minmax(0,1fr) auto}
.chat-card[data-chat]>.chat-head{grid-row:1}
.chat-card[data-chat]>.chat-push{grid-row:2;margin:10px 12px 0}
.chat-card[data-chat]>.chat-messages{grid-row:3}
.chat-card[data-chat]>.chat-compose{grid-row:4}

/* Chat attachments (client request): attach button, chosen-file chip, files inside messages */
.chat-compose{flex-wrap:wrap;align-items:flex-end}
.chat-compose textarea{flex:1 1 0}
.chat-attach{flex:none;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:12px;color:var(--plum-300,#dca2cb);cursor:pointer;transition:background-color .2s,border-color .2s}
.chat-attach:hover{background:rgba(142,46,126,.14);border-color:rgba(220,162,203,.4)}
.chat-attach:focus-within{outline:2px solid #b04a9c;outline-offset:2px}
.chat-compose.has-file .chat-attach{background:rgba(248,176,24,.16);border-color:rgba(248,176,24,.5);color:#ffd27a}
.chat-chip{order:-1;flex:1 0 100%;display:flex;align-items:center;gap:8px;min-width:0;padding:7px 8px 7px 12px;border:1px solid rgba(220,162,203,.25);border-radius:12px;background:rgba(142,46,126,.12);font-size:.8rem}
.chat-chip[hidden]{display:none}
.chat-chip.is-error{border-color:rgba(255,101,25,.55);background:rgba(255,101,25,.12)}
.chat-chip__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-chip__x{flex:none;width:28px;height:28px;border:0;border-radius:8px;background:rgba(255,255,255,.1);color:inherit;font-size:1.1rem;line-height:1;cursor:pointer}
.chat-file{display:block;margin-top:6px;max-width:100%}
.chat-bubble p[hidden]+.chat-file{margin-top:2px}
.chat-file--image img{display:block;max-width:min(100%,280px);max-height:320px;border-radius:12px;object-fit:cover;background:rgba(255,255,255,.06)}
.chat-file--video{width:min(100%,300px);max-height:340px;border-radius:12px;background:#000}
.chat-file--audio{width:min(100%,280px);height:40px}
.chat-file--doc{display:flex;align-items:center;gap:10px;min-width:180px;max-width:280px;padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.1);color:inherit;text-decoration:none}
.chat-file--doc:hover{text-decoration:none;background:rgba(255,255,255,.16);color:inherit}
.chat-file--doc b{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#ffd27a;color:#2a0d05;font:800 .62rem var(--font-display);letter-spacing:.04em}
.chat-file--doc span{display:grid;min-width:0;font-size:.82rem;font-weight:600;overflow-wrap:anywhere}
.chat-file--doc small{font-weight:500;opacity:.7}
.admin-chat .chat-file--doc{background:rgba(94,18,81,.08)}
.admin-chat .chat-message.is-admin .chat-file--doc{background:rgba(255,255,255,.14)}

/* Profile: draw or upload a new signature (client request) */
.profile-sig{margin-top:12px}
.profile-sig[hidden]{display:none}
.profile-sig [data-psig-preview] img{display:block;max-width:100%;max-height:90px;margin-top:10px;padding:6px;border-radius:10px;background:#fff}
/* Chat notification bar: one slim row so it doesn't eat the message area on phones */
.chat-card[data-chat]>.chat-push{gap:9px;padding:7px 8px 7px 10px;flex-wrap:nowrap}
.chat-card[data-chat]>.chat-push .chat-push__icon{width:28px;height:28px}
.chat-card[data-chat]>.chat-push .chat-push__text{font-size:.78rem;line-height:1.3}
.chat-card[data-chat]>.chat-push .chat-push__btn{width:auto;min-height:34px;padding:6px 12px;font-size:.76rem}
.sig__hint[hidden]{display:none}
