/* ==========================================================================
   NOVA UD — brand layer (loads after wealthforge.css)
   Crimson crystal star on deep plum-black. Poppins display type.
   ========================================================================== */

:root {
  --nv-pink: #FF1F5A;
  --nv-pink-hi: #FF7AA2;
  --nv-pink-lo: #B3002D;
  --nv-plum: #1A0B14;
  --wf-cyan: #E0115F;
  --wf-ice: #FF8FB1;
  --wf-violet: #B3002D;
  --wf-display: 'Poppins', 'Geist', ui-sans-serif, system-ui, sans-serif;
  --wf-line: rgba(255, 190, 215, 0.08);
  --wf-line-2: rgba(255, 190, 215, 0.14);
  --wf-line-3: rgba(255, 190, 215, 0.24);
}

/* ---------- Typography: Poppins headlines, crimson gradient accents ----- */
.wf-hero-title, .wf-h1, .wf-h2, .wf-cta-title, .wf-section h3, .nv-panel h3 {
  font-family: var(--wf-display);
  font-weight: 700;
  letter-spacing: -0.035em;
}
.wf-hero-title { font-weight: 800; letter-spacing: -0.045em; line-height: 1.0; }
.wf-h1 em, .wf-h2 em, .wf-hero-title em, .wf-cta-title em, .wf-book-title em {
  font-family: var(--wf-display);
  font-style: normal;
  font-weight: 800;
  letter-spacing: -0.04em;
  background: linear-gradient(100deg, #FFB3C9 0%, #FF1F5A 42%, #E0115F 70%, #FF5C8A 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: nv-shine 6s ease-in-out infinite;
  filter: drop-shadow(0 0 22px rgba(255, 31, 90, .35));
}
@keyframes nv-shine { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.nv-center { align-items: center; text-align: center; }
.nv-center .wf-lead { margin-left: auto; margin-right: auto; }

/* ---------- Backdrop: huge faint star + plum auras ---------------------- */
body.wf-body { background: radial-gradient(1200px 700px at 12% -10%, rgba(120, 10, 50, .28), transparent 60%), radial-gradient(900px 600px at 100% 110%, rgba(20, 30, 70, .35), transparent 60%), var(--wf-bg); }
.nv-backdrop-star {
  position: absolute; width: 1100px; height: 1100px; right: -380px; top: -260px;
  background: conic-gradient(from 0deg, transparent 0 11%, rgba(255,31,90,.05) 12.5%, transparent 14% 36%, rgba(255,31,90,.05) 37.5%, transparent 39% 61%, rgba(255,31,90,.05) 62.5%, transparent 64% 86%, rgba(255,31,90,.05) 87.5%, transparent 89%);
  -webkit-mask: radial-gradient(closest-side, #000 0%, transparent 100%); mask: radial-gradient(closest-side, #000 0%, transparent 100%);
  animation: nv-spin 120s linear infinite; opacity: .9;
}
@keyframes nv-spin { to { transform: rotate(360deg); } }

/* ---------- Header / brand ---------------------------------------------- */
.wf-brand-mark { height: 30px; filter: drop-shadow(0 0 10px rgba(255,31,90,.55)); }
.wf-brand:hover .wf-brand-mark { transform: rotate(45deg) scale(1.05); filter: drop-shadow(0 0 18px rgba(255,31,90,.85)); }
.wf-brand-word { height: 16px; }
.wf-icon-btn svg { width: 19px; height: 19px; }
.wf-count { background: var(--nv-pink) !important; color: #fff !important; box-shadow: 0 0 12px rgba(255,31,90,.7); }

/* ---------- Buttons ------------------------------------------------------ */
.wf-btn--primary, .btn-primary, .btn-primary:disabled {
  background: linear-gradient(180deg, #FF6B95 0%, #FF1F5A 48%, #D10F4C 100%) !important;
  color: #fff !important; border: 0 !important;
  box-shadow: 0 0 0 1px rgba(255, 31, 90, .55), 0 12px 34px -10px rgba(255, 31, 90, .75), inset 0 1px 0 rgba(255,255,255,.45) !important;
  position: relative; overflow: hidden;
}
.wf-btn--primary::after, .btn-primary::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 40%; left: -60%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent);
  transform: skewX(-20deg); transition: left .7s cubic-bezier(.2,.7,.1,1);
}
.wf-btn--primary:hover::after, .btn-primary:hover::after { left: 120%; }
.wf-btn--primary:hover, .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 0 0 1px rgba(255,31,90,.7), 0 18px 44px -10px rgba(255,31,90,.9), inset 0 1px 0 rgba(255,255,255,.5) !important; }
.btn-outline-primary { color: #FF8FB1 !important; border-color: rgba(255,31,90,.45) !important; }
.btn-outline-primary:hover { background: rgba(255,31,90,.12) !important; color: #fff !important; }

/* ---------- Hero: glowing crystal star ---------------------------------- */
.wf-hero-visual { isolation: isolate; }
.nv-hero-star {
  position: absolute; z-index: -1; width: 440px; height: 440px;
  left: 50%; top: 46%; transform: translate(-50%, -50%);
  pointer-events: none;
}
.nv-hero-star img {
  position: absolute; inset: 70px; width: 300px; height: 300px;
  filter: drop-shadow(0 0 40px rgba(255, 31, 90, .65)) drop-shadow(0 0 90px rgba(255, 31, 90, .35));
  animation: nv-float 7s ease-in-out infinite, nv-glow 4s ease-in-out infinite;
  opacity: .9;
}
.nv-hero-star::before {
  content: ""; position: absolute; inset: -40px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(255, 31, 90, .32), rgba(179, 0, 45, .12) 55%, transparent 75%);
  filter: blur(10px); animation: nv-pulse 5s ease-in-out infinite;
}
.nv-orbit { position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(255, 31, 90, .16); }
.nv-orbit--1 { inset: 30px; border-style: dashed; animation: nv-spin 60s linear infinite; }
.nv-orbit--2 { inset: -30px; animation: nv-spin 22s linear infinite; }
.nv-orbit--3 { inset: -90px; border-color: rgba(255, 31, 90, .08); animation: nv-spin 38s linear infinite reverse; }
.nv-orbit i { position: absolute; top: -4px; left: 50%; width: 8px; height: 8px; border-radius: 50%; background: #FF5C8A; box-shadow: 0 0 12px 3px rgba(255, 31, 90, .9); }
.nv-orbit--3 i { top: 50%; left: -3px; width: 6px; height: 6px; }
@keyframes nv-float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-12px) rotate(8deg); } }
@keyframes nv-glow { 0%, 100% { filter: drop-shadow(0 0 30px rgba(255,31,90,.55)) drop-shadow(0 0 80px rgba(255,31,90,.25)); } 50% { filter: drop-shadow(0 0 50px rgba(255,31,90,.85)) drop-shadow(0 0 120px rgba(255,31,90,.45)); } }
@keyframes nv-pulse { 0%, 100% { opacity: .75; transform: scale(1); } 50% { opacity: 1; transform: scale(1.06); } }
.wf-engine { background: linear-gradient(180deg, rgba(28, 14, 24, .78), rgba(16, 9, 15, .86)) !important; backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); border-color: rgba(255, 31, 90, .18) !important; box-shadow: 0 30px 80px -30px rgba(0,0,0,.8), 0 0 0 1px rgba(255,31,90,.08), 0 0 60px -20px rgba(255,31,90,.35) !important; }
.wf-engine-line { filter: drop-shadow(0 0 6px rgba(255, 31, 90, .8)); }
.nv-chip-cover img { display: block; width: 40px; height: 56px; object-fit: cover; border-radius: 4px; box-shadow: 0 6px 16px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08), 0 0 18px rgba(255,31,90,.35); }
.wf-eyebrow-dot, .wf-live-dot { background: var(--nv-pink) !important; box-shadow: 0 0 0 4px rgba(255,31,90,.18), 0 0 14px rgba(255,31,90,.8) !important; }
@media (max-width: 991px) { .nv-hero-star { width: 320px; height: 320px; top: 40%; } .nv-hero-star img { inset: 50px; width: 220px; height: 220px; } .nv-orbit--3 { display: none; } }

/* ---------- Flagship book: real A4 cover -------------------------------- */
.wf-book { aspect-ratio: 1100 / 1556; }
.wf-book-img { object-fit: cover; }
.wf-book-halo { background: radial-gradient(closest-side, rgba(255, 31, 90, .45), rgba(179, 0, 45, .12) 60%, transparent) !important; }

/* ---------- Honest numbers ---------------------------------------------- */
.nv-truth-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.nv-stat {
  position: relative; overflow: hidden; border-radius: 20px; padding: 28px 24px 22px;
  background: linear-gradient(180deg, rgba(34, 16, 28, .75), rgba(18, 10, 16, .85));
  border: 1px solid rgba(255, 31, 90, .14);
  transition: transform .5s var(--wf-ease), border-color .4s;
}
.nv-stat:hover { transform: translateY(-4px); border-color: rgba(255, 31, 90, .45); }
.nv-stat-glow { position: absolute; width: 220px; height: 220px; right: -90px; top: -110px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,31,90,.35), transparent); transition: opacity .4s; opacity: .6; }
.nv-stat:hover .nv-stat-glow { opacity: 1; }
.nv-stat-value { position: relative; font-family: var(--wf-display); font-weight: 800; font-size: clamp(3rem, 5vw, 4.4rem); line-height: 1; letter-spacing: -0.05em; background: linear-gradient(180deg, #fff 10%, #FF7AA2 60%, #FF1F5A); -webkit-background-clip: text; background-clip: text; color: transparent; margin-bottom: 16px; }
.nv-stat-affix { font-size: .55em; vertical-align: .55em; margin: 0 2px; }
.nv-stat-label { position: relative; color: #E9DDE3; font-size: 15px; line-height: 1.5; margin: 0 0 18px; }
.nv-stat-source { position: relative; color: var(--wf-dim); font-size: 10px; }
@media (max-width: 1100px) { .nv-truth-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .nv-truth-grid { grid-template-columns: 1fr; } }

/* ---------- Inside the playbook (tabs) ---------------------------------- */
.nv-inside-wrap { display: grid; grid-template-columns: 340px 1fr; gap: 24px; align-items: start; }
.nv-inside-tabs { display: flex; flex-direction: column; gap: 6px; }
.nv-tab {
  position: relative; text-align: left; display: flex; flex-direction: column; gap: 3px;
  padding: 14px 18px; border-radius: 14px; border: 1px solid transparent; background: transparent; color: var(--wf-muted);
  transition: background .3s, border-color .3s, color .3s; overflow: hidden; cursor: pointer;
}
.nv-tab .wf-mono { font-size: 10px; color: var(--wf-dim); }
.nv-tab strong { font-family: var(--wf-display); font-weight: 600; font-size: 15px; letter-spacing: -0.01em; }
.nv-tab:hover { background: rgba(255, 255, 255, .025); color: var(--wf-text); }
.nv-tab.is-active { background: linear-gradient(90deg, rgba(255, 31, 90, .16), rgba(255, 31, 90, .03)); border-color: rgba(255, 31, 90, .3); color: #fff; }
.nv-tab.is-active .wf-mono { color: var(--nv-pink); }
.nv-tab-bar { position: absolute; left: 0; top: 18%; bottom: 18%; width: 3px; border-radius: 3px; background: var(--nv-pink); box-shadow: 0 0 12px var(--nv-pink); transform: scaleY(0); transition: transform .35s var(--wf-ease); }
.nv-tab.is-active .nv-tab-bar { transform: scaleY(1); }
.nv-panel {
  position: relative; border-radius: 24px; padding: clamp(24px, 4vw, 44px); min-height: 100%;
  background: radial-gradient(600px 300px at 100% 0%, rgba(255, 31, 90, .14), transparent 70%), linear-gradient(180deg, rgba(30, 14, 25, .8), rgba(16, 9, 15, .9));
  border: 1px solid rgba(255, 31, 90, .16); overflow: hidden;
}
.nv-panel::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 260px; height: 260px; background: url('nova-star.png') center / contain no-repeat; opacity: .07; transform: rotate(12deg); pointer-events: none; }
.nv-panel.is-active { animation: nv-in .5s var(--wf-ease); }
@keyframes nv-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.nv-panel-head { display: flex; align-items: center; gap: 18px; margin-bottom: 16px; }
.nv-panel-num { font-family: var(--wf-display); font-weight: 800; font-size: 56px; line-height: 1; letter-spacing: -0.05em; background: linear-gradient(180deg, #FF7AA2, #B3002D); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nv-panel-head .wf-mono { color: var(--nv-pink); font-size: 10.5px; }
.nv-panel h3 { margin: 4px 0 0; font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.nv-panel-text { color: var(--wf-muted); font-size: 16.5px; max-width: 40rem; margin: 0 0 26px; }
.nv-panel-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.nv-panel-list li { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 12px; background: rgba(255, 255, 255, .025); border: 1px solid var(--wf-line); color: var(--wf-text); font-size: 14.5px; animation: nv-in .5s var(--wf-ease) both; animation-delay: calc(var(--i) * 60ms); }
.nv-panel-list li .wf-mono { color: var(--nv-pink); font-size: 10.5px; }
@media (max-width: 900px) {
  .nv-inside-wrap { grid-template-columns: 1fr; }
  .nv-inside-tabs { flex-direction: row; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
  .nv-inside-tabs::-webkit-scrollbar { display: none; }
  .nv-tab { flex: 0 0 auto; }
  .nv-panel-list { grid-template-columns: 1fr; }
}

/* ---------- Book Vault marquee ------------------------------------------ */
.nv-vault-rows { display: flex; flex-direction: column; gap: 14px; -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.nv-vault-row { overflow: hidden; }
.nv-vault-track { display: flex; width: max-content; animation: nv-marquee 70s linear infinite; }
.nv-vault-row--rev .nv-vault-track { animation-direction: reverse; animation-duration: 80s; }
.nv-vault-rows:hover .nv-vault-track { animation-play-state: paused; }
.nv-vault-group { display: flex; gap: 14px; padding-right: 14px; }
@keyframes nv-marquee { to { transform: translateX(-50%); } }
.nv-book-card {
  display: flex; gap: 14px; width: 330px; padding: 18px 18px 16px 14px; border-radius: 16px;
  background: linear-gradient(180deg, rgba(32, 15, 26, .85), rgba(17, 9, 15, .9)); border: 1px solid rgba(255, 31, 90, .12);
  transition: border-color .3s, transform .3s;
}
.nv-book-card:hover { border-color: rgba(255, 31, 90, .5); transform: translateY(-3px); }
.nv-book-spine { flex: 0 0 6px; border-radius: 4px; background: linear-gradient(180deg, #FF7AA2, #FF1F5A 50%, #B3002D); box-shadow: 0 0 12px rgba(255, 31, 90, .5); }
.nv-book-card strong { display: block; font-family: var(--wf-display); font-weight: 600; font-size: 15px; line-height: 1.3; color: #fff; }
.nv-book-author { display: block; font-size: 12px; color: var(--nv-pink-hi); margin: 3px 0 8px; }
.nv-book-card p { margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--wf-muted); }
.nv-vault-note { text-align: center; color: var(--wf-dim); font-size: 10px; margin: 26px 0 0; }
@media (prefers-reduced-motion: reduce) { .nv-vault-track, .nv-backdrop-star, .nv-hero-star *, .nv-hero-star::before { animation: none !important; } }

/* ---------- How it works ------------------------------------------------- */
.nv-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; position: relative; }
.nv-steps::before { content: ""; position: absolute; top: 44px; left: 16%; right: 16%; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 31, 90, .5), transparent); }
.nv-step { position: relative; text-align: center; padding: 26px 22px 28px; border-radius: 20px; background: rgba(20, 10, 17, .7); border: 1px solid var(--wf-line-2); }
.nv-step-icon { position: relative; z-index: 1; display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; margin-bottom: 16px; font-size: 20px; color: #fff; background: linear-gradient(180deg, #FF6B95, #FF1F5A 55%, #B3002D); box-shadow: 0 0 0 6px var(--wf-bg), 0 10px 30px -6px rgba(255, 31, 90, .8); }
.nv-step-num { display: block; color: var(--nv-pink); font-size: 10px; margin-bottom: 6px; }
.nv-step h3 { font-size: 1.2rem; margin: 0 0 8px; }
.nv-step p { margin: 0; color: var(--wf-muted); font-size: 14.5px; }
@media (max-width: 820px) { .nv-steps { grid-template-columns: 1fr; } .nv-steps::before { display: none; } }

/* ---------- Misc polish -------------------------------------------------- */
.wf-kicker .wf-mono { box-shadow: 0 0 14px -4px rgba(255, 31, 90, .6); }
.wf-ticker-item .wf-mono { color: var(--nv-pink) !important; }
.wf-cta-box { background: radial-gradient(800px 400px at 85% 0%, rgba(255, 31, 90, .22), transparent 65%), linear-gradient(180deg, rgba(30, 13, 24, .9), rgba(14, 8, 13, .95)) !important; border-color: rgba(255, 31, 90, .22) !important; }
.wf-cta-box::after { content: ""; position: absolute; right: -40px; top: 50%; width: 340px; height: 340px; transform: translateY(-50%) rotate(10deg); background: url('nova-star-hd.png') center / contain no-repeat; opacity: .22; filter: drop-shadow(0 0 40px rgba(255, 31, 90, .6)); pointer-events: none; animation: nv-float 8s ease-in-out infinite; }
@media (max-width: 760px) { .wf-cta-box::after { width: 200px; height: 200px; opacity: .12; } }
.wf-footer-word span { font-family: var(--wf-display); font-weight: 800; letter-spacing: -0.05em; }
.wf-cursor-glow { background: radial-gradient(closest-side, rgba(255, 31, 90, .16), transparent) !important; }
::selection { background: rgba(255, 31, 90, .35); }

/* ============================================================
   NOVA UD — Unlock Development · access-model components
   (appended; uses existing theme tokens --wf-accent/-bg/-surface)
   ============================================================ */

/* Hero access-plans card */
.nv-access{
  position:relative;margin-top:26px;width:100%;max-width:420px;
  border-radius:20px;padding:20px 20px 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  border:1px solid rgba(255,214,228,.12);
  box-shadow:0 24px 60px -30px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.nv-access-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.nv-access-id{display:inline-flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.04em;color:#F6F4F0}
.nv-access-tag{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(246,244,240,.55)}
.nv-access-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.nv-access-list li{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 13px;border-radius:12px;
  background:rgba(255,255,255,.025);border:1px solid rgba(255,214,228,.08);
  transition:border-color .25s ease,background .25s ease,transform .25s ease;
}
.nv-access-list li:hover{border-color:rgba(255,31,90,.4);background:rgba(255,31,90,.06);transform:translateX(2px)}
.nv-access-list li.is-lifetime{
  background:linear-gradient(90deg,rgba(255,31,90,.14),rgba(255,31,90,.04));
  border-color:rgba(255,31,90,.45);
}
.nv-access-dur{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#F6F4F0;font-size:14.5px}
.nv-access-badge{
  font-style:normal;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;
  padding:2px 7px;border-radius:999px;background:var(--wf-accent);color:#fff;font-weight:700;
}
.nv-access-desc{font-size:11px;letter-spacing:.02em;color:rgba(246,244,240,.6);text-align:right}
.nv-access-foot{margin-top:14px;font-size:11.5px;color:rgba(246,244,240,.55);line-height:1.5}
.nv-chip-cover{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,31,90,.14);color:var(--wf-accent)}
.nv-chip-cover i{font-size:16px}

/* Product page — access notice near options */
.nv-access-note{
  display:flex;gap:11px;align-items:flex-start;margin:16px 0 4px;
  padding:13px 15px;border-radius:13px;
  background:rgba(255,31,90,.06);border:1px solid rgba(255,31,90,.22);
}
.nv-access-note i{color:var(--wf-accent);margin-top:2px;flex:0 0 auto}
.nv-access-note p{margin:0;font-size:13px;line-height:1.55;color:rgba(246,244,240,.82)}
.nv-access-note strong{color:#F6F4F0}

/* Product page — info cards (how access / license / support) */
.nv-product-info{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:52px 0 10px;
}
.nv-info-card{
  border-radius:18px;padding:22px 22px 20px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  border:1px solid rgba(255,214,228,.1);
  box-shadow:0 20px 50px -34px rgba(0,0,0,.8);
}
.nv-info-card .wf-kicker{margin-bottom:14px}
.nv-info-steps{margin:0;padding-left:0;list-style:none;counter-reset:nv;display:flex;flex-direction:column;gap:11px}
.nv-info-steps li{position:relative;padding-left:30px;font-size:13.5px;line-height:1.5;color:rgba(246,244,240,.78)}
.nv-info-steps li::before{
  counter-increment:nv;content:counter(nv,decimal-leading-zero);
  position:absolute;left:0;top:1px;font-family:"Geist Mono",monospace;font-size:11px;
  color:var(--wf-accent);font-weight:600;
}
.nv-info-steps strong{color:#F6F4F0}
.nv-info-sep{margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(255,214,228,.1);font-size:11px;line-height:1.55;color:rgba(246,244,240,.5)}
.nv-meta{margin:0;display:flex;flex-direction:column;gap:0}
.nv-meta>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,214,228,.08)}
.nv-meta>div:last-child{border-bottom:0}
.nv-meta dt{margin:0;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(246,244,240,.5)}
.nv-meta dd{margin:0;font-size:13px;text-align:right;color:#F6F4F0;max-width:62%}
.nv-info-fine{margin:14px 0 0;font-size:11.5px;line-height:1.55;color:rgba(246,244,240,.55)}
.nv-info-fine a{color:var(--wf-accent)}
.nv-info-card--support p{font-size:13.5px;line-height:1.55;color:rgba(246,244,240,.78);margin:0 0 14px}
.nv-info-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}

/* nav / footer library buttons */
.wf-footer-library{margin-top:14px;display:inline-flex;gap:8px}
.wf-footer-library i{font-size:13px}

@media (max-width:900px){
  .nv-product-info{grid-template-columns:1fr}
}
@media (max-width:560px){
  .nv-access{max-width:none}
  .nv-access-desc{display:none}
  .nv-access-list li{padding:12px 13px}
}

/* ============================================================
   NOVA UD — hero visual, clean composition (overrides star/orbit)
   ============================================================ */
.wf-hero-visual{ isolation:isolate; position:relative; display:flex; align-items:center; justify-content:center; }
.wf-hero-visual::before{
  content:""; position:absolute; z-index:-1; left:50%; top:50%;
  width:min(620px,100%); aspect-ratio:1; transform:translate(-50%,-50%);
  background:radial-gradient(closest-side, rgba(255,31,90,.20), rgba(255,31,90,.05) 55%, transparent 72%);
  filter:blur(24px); pointer-events:none;
}
.nv-hero-stack{ position:relative; width:100%; max-width:420px; display:flex; flex-direction:column; }
/* access card as the hero centerpiece */
.nv-hero-stack .nv-access{ margin:0; width:100%; max-width:none; }
.nv-hero-stack .nv-access-list li{ padding:13px 15px; }
.nv-hero-stack .nv-access-dur{ font-size:15px; }
/* redeem chip → clean full-width bar under the card */
.nv-hero-stack .wf-hero-chip{
  margin:14px 0 0; left:auto; right:auto; bottom:auto;
  width:auto; max-width:none; align-self:stretch; animation:none;
}
@media (max-width:991px){
  .nv-hero-stack{ max-width:460px; margin:0 auto; }
}
