/* ═══════════════════════════════════════════════════════════════════
 * /pricing.html — full landing redesign per Claude Design handoff.
 * Concept: "cheaper to check than to lose it" — built for the P2P
 * trader. 3 tabs × 5 packs lifted from real daoaml catalogue. Header
 * + footer come from shell.js so this page sits flush with the rest.
 * ═══════════════════════════════════════════════════════════════════ */

:root {
  --pp-ink:        var(--fg);
  --pp-ink-2:      var(--fgdim);
  --pp-ink-3:      var(--mute);
  --pp-ink-4:      #41544A;
  --pp-accent:     var(--phosphor);
  --pp-accent-2:   var(--color-phosphor2);
  --pp-accent-soft: color-mix(in srgb, var(--phosphor) 12%, transparent);
  --pp-accent-glow: color-mix(in srgb, var(--phosphor) 22%, transparent);
  --pp-ink-on-accent: #03110A;
  --pp-line:       color-mix(in srgb, var(--phosphor) 14%, transparent);
  --pp-line-2:     color-mix(in srgb, var(--phosphor) 28%, transparent);
  --pp-line-soft:  rgba(255,255,255,.06);
  --pp-panel:      #0A1310;
  --pp-panel-2:    #0D1815;
  --pp-warn:       #FFCC4A;
  --pp-danger:     var(--danger, var(--risk-critical));
  --pp-maxw:       1240px;
  --pp-pad-x:      clamp(20px, 4vw, 64px);
}

/* Deep-wash tier — gradient first-stops and the sticky CTA bar use
 * tokens with stops slightly DEEPER than `--pp-panel` to read as
 * "darker recessed area" on dark theme. On light theme they need to
 * read the OPPOSITE direction (slightly darker cream than the
 * `--pp-panel` fill) to keep the same visual hierarchy. Tokenised
 * here so the `[data-theme="light"]` block below has one place to
 * flip each of the six pricing-panel consumers. */
:root {
  --pp-deep:           #0C1611;
  --pp-deep-soft-85:   rgba(11,20,16,.85);
  --pp-deep-soft-60:   rgba(8,14,11,.6);
  --pp-deep-soft-40:   rgba(11,20,16,.4);
  --pp-deep-soft-10:   rgba(11,20,16,.1);
  --pp-sticky-bg:      rgba(8,17,13,.92);
}

/* Light-theme override of pricing tokens — flat hex / rgba values
 * that don't cascade through shell.css get re-declared with the
 * cream-paper palette. Apply via `data-theme="light"` on <html>.
 *
 * Accent values were hardcoded rgba(4,120,87,X) (emerald). After the
 * brand shifted to warm rust orange on light theme, these are now
 * color-mix(var(--phosphor)) so they auto-flow with the new --phosphor
 * (#a85220) and any future brand swap. */
[data-theme="light"] {
  --pp-ink-4:         #87785f;   /* warm taupe on cream */
  --pp-accent-2:      var(--color-phosphor2);  /* deeper rust hover */
  --pp-accent-soft:   color-mix(in srgb, var(--phosphor) 10%, transparent);
  --pp-accent-glow:   color-mix(in srgb, var(--phosphor) 18%, transparent);
  --pp-ink-on-accent: #f7eed5;   /* cream paper as «ink» on rust CTA */
  --pp-line:          color-mix(in srgb, var(--phosphor) 20%, transparent);
  --pp-line-2:        color-mix(in srgb, var(--phosphor) 34%, transparent);
  --pp-line-soft:     rgba(42,32,20,.06);
  --pp-panel:         #fbf4dd;
  --pp-panel-2:       #f0e3c2;
  --pp-warn:          #b88018;
  --pp-danger:        #b8201f;
  /* Deep-wash tier on cream — slightly darker than --pp-panel so the
   * "recessed" effect carries over to the light theme. */
  --pp-deep:          #e8d9a8;
  --pp-deep-soft-85:  rgba(232,217,168,.85);
  --pp-deep-soft-60:  rgba(232,217,168,.6);
  --pp-deep-soft-40:  rgba(232,217,168,.4);
  --pp-deep-soft-10:  rgba(232,217,168,.15);
  --pp-sticky-bg:     rgba(247,238,213,.94);
}

/* `body.pp-page` intentionally inherits the global landing background
 * from shell.css (grid pattern + radial phosphor glow) so the pricing
 * page matches the rest of daoaml.com. No local override here. */

.pp-container { max-width: var(--pp-maxw); margin: 0 auto; padding: 0 var(--pp-pad-x); position: relative; z-index: 2; }
.pp-mono { font-family: 'Fira Mono', ui-monospace, monospace; }
.pp-num  { font-variant-numeric: tabular-nums; }
.pp-com  { color: var(--pp-ink-4); }
.pp-ok   { color: var(--pp-accent); }

.pp-sec-label {
  font-family: 'Fira Mono', monospace; font-size: 11px;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--pp-ink-3); margin-bottom: 10px;
}
.pp-sec-label::before { content: '# '; color: var(--pp-accent); }

/* Pricing-page hero / section H1-H4 typography ramp.
 *
 * Was scoped to `.pp-page h1` — which also caught any cabinet page
 * that sets `class="… pp-page"` on <body> to inherit the pricing-card
 * styles. /me/billing.html does exactly this (the cabinet "Top up
 * your account" page reuses pricing-card chrome), and the H1 there
 * picked up the 88px-clamp pricing-hero size instead of the 38.4px
 * cabinet-canonical scale. Audit P0 #7 of the typography re-pass.
 *
 * Scoped now to `.pp-hero` (the actual landing-hero section on
 * pricing.html — see <section id="hero" class="pp-hero">) and to
 * specific landing sections (`.pp-strip`, `.pp-final`) so cabinet
 * pages can wrap themselves in `.pp-page` for card styles without
 * inheriting the hero ramp. */
/* Headlines tier — **Onest 700** (Russian-first humanist sans by RNDR,
 * free / OFL — https://fonts.google.com/specimen/Onest). Picked
 * 2026-05-22 from a boutique-pairing round with UX-Research; the
 * point is that Onest's Cyrillic IS the design rather than a Latin-
 * extended bolt-on, so /К/ and /Я/ get the warmth that brand voice
 * relies on. Replaces the JBM-everywhere flat stack from 0dbb651.
 *
 * Pairing rationale: logo stays JBM 700 (mono retro), body stays
 * Fira Mono (mono humanist), headlines now Onest (proportional
 * humanist). Three tiers, three different DNA strands — visual
 * hierarchy without uniformity.
 *
 * Sizing notes:
 *  • Proportional sans is narrower than mono, so we can lift the
 *    floor slightly vs JBM (30 → 32 hero, 24 → 26 h2). Cap stays
 *    the same — at 56px the headline already commands the page.
 *  • letter-spacing -0.01em on hero only — Onest sets slightly
 *    open by default; tightening at large sizes brings the
 *    headline into the same density tier as the JBM logo. Smaller
 *    headings keep neutral 0.
 *  • line-height stays 1.1/1.15/1.3 — same scale as before,
 *    no Cyrillic-ascender pain because Onest was drawn for it. */
.pp-hero h1, .pp-hero h2, .pp-strip h2, .pp-final h2 {
  font-family: 'Onest', ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-weight: 700;
  letter-spacing: 0; margin: 0; color: var(--pp-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.pp-hero h1 { font-size: clamp(32px, 4.8vw, 56px); line-height: 1.1; font-weight: 700; letter-spacing: -0.01em; max-inline-size: 22ch; }
.pp-hero h2,
.pp-strip h2,
.pp-final h2 { font-size: clamp(26px, 3.2vw, 40px); line-height: 1.15; font-weight: 700; max-inline-size: 28ch; }
.pp-page h3 { font-family: 'Onest', ui-sans-serif, system-ui, -apple-system, sans-serif; font-weight: 700; letter-spacing: 0; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.3; margin: 0; color: var(--pp-ink); -webkit-font-smoothing: antialiased; }
.pp-page p  { margin: 0; color: var(--pp-ink-2); line-height: 1.55; }

.pp-cta {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 18px; background: var(--pp-accent); color: var(--pp-ink-on-accent);
  font-family: 'Fira Mono', monospace; font-weight: 700; font-size: 13px;
  border: 1px solid var(--pp-accent);
  letter-spacing: .02em; text-decoration: none; cursor: pointer;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--phosphor) 45%, transparent), 0 8px 30px -8px color-mix(in srgb, var(--phosphor) 55%, transparent);
  transition: transform .15s, box-shadow .15s, filter .15s;
}
.pp-cta:hover { filter: brightness(1.06); transform: translateY(-1px);
                box-shadow: 0 0 0 1px color-mix(in srgb, var(--phosphor) 60%, transparent), 0 14px 36px -10px color-mix(in srgb, var(--phosphor) 65%, transparent);
                color: var(--pp-ink-on-accent); }
.pp-cta:active { transform: translateY(0); }
.pp-cta-ghost {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 18px; background: transparent; color: var(--pp-ink);
  font-family: 'Fira Mono', monospace; font-weight: 600; font-size: 13px;
  border: 1px solid var(--pp-line-2); cursor: pointer; text-decoration: none;
}
.pp-cta-ghost:hover { border-color: var(--pp-accent); color: var(--pp-accent); }

/* HERO */
.pp-hero { padding: clamp(48px, 7vw, 88px) 0 clamp(56px, 6vw, 88px); }
.pp-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(28px, 4vw, 72px); align-items: flex-start; }
@media (max-width: 900px) { .pp-hero-grid { grid-template-columns: 1fr; } }
.pp-hero-eyebrow {
  display: inline-flex; align-items: center; gap: 10px; padding: 6px 12px;
  border: 1px solid var(--pp-line-2);
  font-family: 'Fira Mono', monospace; font-size: 11.5px;
  color: var(--pp-accent); margin-bottom: 24px; background: color-mix(in srgb, var(--phosphor) 4%, transparent);
}
.pp-hero-eyebrow .dot {
  width: 6px; height: 6px; background: var(--pp-accent); border-radius: 50%;
  box-shadow: 0 0 0 0 var(--pp-accent-glow); animation: pp-pulse 2.2s infinite;
}
@keyframes pp-pulse {
  0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--phosphor) 50%, transparent); }
  70%  { box-shadow: 0 0 0 8px color-mix(in srgb, var(--phosphor) 0%, transparent); }
  100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--phosphor) 0%, transparent); }
}
.pp-hero h1 .muted { color: var(--pp-ink-3); font-weight: 700; }
.pp-hero h1 .accent { color: var(--pp-accent); }
.pp-hero-sub {
  margin-top: 22px; font-size: clamp(16px, 1.3vw, 19px);
  color: var(--pp-ink-2); max-width: 560px; line-height: 1.55;
  font-family: 'Fira Mono', monospace;
}
.pp-hero-sub b { color: var(--pp-ink); font-weight: 600; }
.pp-hero-actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

/* Examples panel */
.pp-examples {
  background: linear-gradient(180deg, var(--pp-deep-soft-85), var(--pp-deep-soft-60));
  border: 1px solid var(--pp-line); overflow: hidden; position: relative;
}
.pp-examples::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(500px 220px at 90% -10%, var(--pp-accent-soft), transparent 70%);
}
.pp-examples-hd {
  display: flex; align-items: center; gap: 10px; padding: 12px 16px;
  border-bottom: 1px solid var(--pp-line);
  font-family: 'Fira Mono', monospace; font-size: 11.5px; color: var(--pp-ink-3);
  background: rgba(255,255,255,.015);
}
.pp-examples-hd-lights { display: flex; gap: 5px; }
.pp-examples-hd-lights i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.pp-examples-hd-lights i:nth-child(1) { background: #3a1f1f; box-shadow: inset 0 0 0 1px #4c2828; }
.pp-examples-hd-lights i:nth-child(2) { background: #3a341f; box-shadow: inset 0 0 0 1px #4c4528; }
.pp-examples-hd-lights i:nth-child(3) { background: #1f3a26; box-shadow: inset 0 0 0 1px #28593a; }
.pp-examples-hd .nm { color: var(--pp-ink); margin-left: 6px; font-weight: 500; }
.pp-examples-hd .tg { margin-left: auto; color: var(--pp-ink-4); }
@media (max-width: 560px) { .pp-examples-hd .tg { display: none; } }
.pp-examples-body { padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; position: relative; }
.pp-example { padding: 12px 14px; background: var(--pp-panel); border: 1px solid var(--pp-line-soft); transition: border-color .2s, transform .2s; }
.pp-example:hover { border-color: var(--pp-line-2); transform: translateX(2px); }
.pp-example-row { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; }
.pp-example-pill {
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Fira Mono', monospace; font-weight: 700; font-size: 14px;
  color: var(--pp-ink-on-accent); flex-shrink: 0;
}
.pp-example-warn .pp-example-pill { color: #1A1300; }
.pp-example-bad .pp-example-pill { color: #fff; }
.pp-example-meta { min-width: 0; }
.pp-example-t { font-family: 'Onest', ui-sans-serif, system-ui, sans-serif; font-size: 15px; color: var(--pp-ink); font-weight: 700; letter-spacing: 0; line-height: 1.3; }
.pp-example-s { font-family: 'Fira Mono', monospace; font-size: 11.5px; color: var(--pp-ink-3); margin-top: 3px; }
.pp-example-addr { font-family: 'Fira Mono', monospace; font-size: 11px; color: var(--pp-ink-3); text-align: right; line-height: 1.4; white-space: nowrap; }
.pp-example-addr span { color: var(--pp-ink-4); font-size: 10px; }
.pp-example-bar { height: 3px; background: rgba(255,255,255,.04); margin-top: 10px; overflow: hidden; }
.pp-example-bar i { display: block; height: 100%; }
.pp-examples-cta {
  width: 100%; padding: 14px 16px; border: 0; border-top: 1px solid var(--pp-line);
  background: rgba(255,255,255,.02); color: var(--pp-accent);
  font-family: 'Fira Mono', monospace; font-size: 13px; font-weight: 600;
  letter-spacing: .02em; cursor: pointer;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  transition: background .15s, color .15s;
}
.pp-examples-cta:hover { background: var(--pp-accent); color: var(--pp-ink-on-accent); }

/* STRIP */
.pp-strip { border-top: 1px solid var(--pp-line-soft); border-bottom: 1px solid var(--pp-line-soft); padding: 18px 0; background: linear-gradient(180deg, var(--pp-deep-soft-40), var(--pp-deep-soft-10)); }
.pp-strip-inner { display: flex; gap: 48px; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.pp-stat { display: flex; flex-direction: column; gap: 2px; }
.pp-stat .v { font-family: 'Fira Mono', monospace; font-size: 24px; font-weight: 600; color: var(--pp-ink); }
.pp-stat .v .ok { color: var(--pp-accent); }
.pp-stat .k { font-family: 'Fira Mono', monospace; font-size: 11px; color: var(--pp-ink-3); letter-spacing: .06em; text-transform: uppercase; }

/* LOSS vs CHECK */
.pp-lvc { padding: clamp(56px, 7vw, 96px) 0; }
.pp-lvc-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(24px, 4vw, 64px); align-items: center; }
@media (max-width: 900px) { .pp-lvc-grid { grid-template-columns: 1fr; } }
.pp-lvc-card { background: var(--pp-panel); border: 1px solid var(--pp-line); padding: 24px; position: relative; overflow: hidden; }
.pp-lvc-card .pre { font-family: 'Fira Mono', monospace; font-size: 11.5px; color: var(--pp-ink-3); margin-bottom: 14px; }
.pp-scale-row { display: flex; align-items: center; gap: 14px; padding: 10px 0; border-top: 1px dashed var(--pp-line); }
.pp-scale-row:first-of-type { border-top: 0; }
.pp-scale-row .a { font-family: 'Fira Mono', monospace; font-size: 13px; color: var(--pp-ink-2); width: 150px; flex-shrink: 0; }
.pp-scale-row .b { flex: 1; height: 10px; background: var(--pp-panel-2); overflow: hidden; }
.pp-scale-row .b i { display: block; height: 100%; }
.pp-scale-row .c { font-family: 'Fira Mono', monospace; font-size: 13px; color: var(--pp-ink); width: 140px; text-align: right; flex-shrink: 0; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pp-scale-row.you .c { color: var(--pp-accent); }
.pp-equation { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: stretch; margin-top: 18px; }
.pp-equation .tile { background: var(--pp-panel); border: 1px solid var(--pp-line-2); padding: 14px; display: flex; flex-direction: column; gap: 6px; min-width: 0; overflow: hidden; }
.pp-equation .tile.bad { border-color: color-mix(in srgb, var(--pp-danger) 35%, transparent); }
.pp-equation .tile.good { border-color: color-mix(in srgb, var(--pp-accent) 35%, transparent); }
.pp-equation .tile .k { font-family: 'Fira Mono', monospace; font-size: 10px; color: var(--pp-ink-3); text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-equation .tile .v { font-family: 'Fira Mono', monospace; font-size: clamp(15px, 1.8vw, 22px); font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; }
.pp-equation .tile.bad .v { color: var(--pp-danger); }
.pp-equation .tile.good .v { color: var(--pp-accent); }
.pp-equation .arrow { align-self: center; font-family: 'Fira Mono', monospace; font-size: 18px; color: var(--pp-ink-3); padding: 0 2px; flex-shrink: 0; }
.pp-eq-note { margin-top: 14px; font-family: 'Fira Mono', monospace; font-size: 12.5px; color: var(--pp-ink-3); line-height: 1.55; }

/* SCENARIOS */
.pp-scenarios { padding: clamp(40px, 5vw, 72px) 0; }
.pp-scen-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 32px; }
@media (max-width: 760px) { .pp-scen-grid { grid-template-columns: 1fr; } }
.pp-scen { background: var(--pp-panel); border: 1px solid var(--pp-line); padding: 22px; transition: border-color .2s, transform .2s; }
.pp-scen:hover { border-color: var(--pp-line-2); transform: translateY(-2px); }
.pp-scen .label { font-family: 'Fira Mono', monospace; font-size: 11px; color: var(--pp-ink-3); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 10px; }
.pp-scen h3 { margin-bottom: 8px; }
.pp-scen p { font-size: 14.5px; font-family: 'Fira Mono', monospace; }
.pp-scen .price-tag { margin-top: 14px; font-family: 'Fira Mono', monospace; font-size: 12px; color: var(--pp-ink-3); display: flex; justify-content: space-between; padding-top: 14px; border-top: 1px dashed var(--pp-line); }
.pp-scen .price-tag b { color: var(--pp-accent); font-weight: 600; }

/* DASHBOARD PREVIEW */
.pp-dashpv { padding: clamp(56px, 7vw, 96px) 0; }
.pp-dashpv-head { margin-bottom: 36px; max-width: 760px; }
.pp-dashpv-frame { background: linear-gradient(180deg, var(--pp-deep) 0%, var(--pp-panel-2) 100%); border: 1px solid var(--pp-line-2); overflow: hidden; box-shadow: 0 40px 100px -40px rgba(0,0,0,.7), 0 0 0 1px color-mix(in srgb, var(--phosphor) 8%, transparent); }
.pp-dashpv-chrome { display: grid; grid-template-columns: auto 1fr auto auto; gap: 14px; align-items: center; padding: 11px 16px; border-bottom: 1px solid var(--pp-line); background: rgba(255,255,255,.015); }
.pp-dashpv-dot { width: 10px; height: 10px; background: var(--pp-accent); box-shadow: 0 0 8px var(--pp-accent-glow); }
.pp-dashpv-bar { font-family: 'Fira Mono', monospace; font-size: 12px; color: var(--pp-ink-3); background: var(--pp-panel); border: 1px solid var(--pp-line-soft); padding: 6px 12px; max-width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pp-dashpv-tabs { display: flex; gap: 4px; }
.pp-dashpv-tab { font-family: 'Fira Mono', monospace; font-size: 12px; color: var(--pp-ink-3); padding: 6px 10px; transition: background .15s, color .15s; }
.pp-dashpv-tab.on { background: color-mix(in srgb, var(--phosphor) 12%, transparent); color: var(--pp-accent); font-weight: 600; }
.pp-dashpv-user { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, var(--pp-accent), var(--pp-accent-2)); color: var(--pp-ink-on-accent); display: flex; align-items: center; justify-content: center; font-family: 'Fira Mono', monospace; font-size: 11px; font-weight: 700; }
@media (max-width: 760px) { .pp-dashpv-bar { display: none; } .pp-dashpv-tabs { flex: 1; justify-content: flex-start; } }
@media (max-width: 540px) { .pp-dashpv-tabs .pp-dashpv-tab:nth-child(n+3) { display: none; } }
.pp-dashpv-body { padding: clamp(20px, 3vw, 32px); display: flex; flex-direction: column; gap: 22px; }
.pp-dashpv-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 760px) { .pp-dashpv-stats { grid-template-columns: 1fr; } }
.pp-dstat { background: var(--pp-panel); border: 1px solid var(--pp-line-soft); padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.pp-dstat-k { font-family: 'Fira Mono', monospace; font-size: 10.5px; color: var(--pp-ink-3); text-transform: uppercase; letter-spacing: .08em; }
.pp-dstat-v { font-family: 'Fira Mono', monospace; font-size: 28px; font-weight: 700; color: var(--pp-ink); line-height: 1; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pp-dstat-v span { font-size: 12px; font-weight: 400; color: var(--pp-ink-3); margin-left: 4px; }
.pp-dstat-spark { display: flex; align-items: flex-end; gap: 2px; height: 30px; margin-top: 2px; }
.pp-dstat-spark i { flex: 1; min-width: 2px; background: color-mix(in srgb, var(--phosphor) 35%, transparent); min-height: 1px; }
.pp-dstat-line { height: 4px; background: var(--pp-panel-2); overflow: hidden; margin-top: 6px; }
.pp-dstat-line i { display: block; height: 100%; background: var(--pp-accent); }
.pp-dstat-foot { font-family: 'Fira Mono', monospace; font-size: 11px; color: var(--pp-ink-4); margin-top: 2px; }
.pp-dstat-pills { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.pp-dpill { font-family: 'Fira Mono', monospace; font-size: 10.5px; padding: 3px 7px; background: rgba(255,255,255,.03); }
.pp-dpill.ok { color: var(--pp-accent); }
.pp-dpill.warn { color: var(--pp-warn); }
.pp-dpill.bad { color: var(--pp-danger); }
.pp-dashpv-list { background: var(--pp-panel); border: 1px solid var(--pp-line-soft); overflow: hidden; }
.pp-dashpv-list-hd { padding: 14px 18px; border-bottom: 1px solid var(--pp-line-soft); display: flex; justify-content: space-between; align-items: center; font-family: 'Fira Mono', monospace; font-size: 11px; color: var(--pp-ink-3); text-transform: uppercase; letter-spacing: .08em; }
.pp-dashpv-list-hd-cta { color: var(--pp-accent); }
.pp-dcheck { display: grid; grid-template-columns: auto minmax(0, 1.4fr) 60px minmax(0, 1fr) 70px; gap: 14px; align-items: center; padding: 11px 18px; font-family: 'Fira Mono', monospace; font-size: 12.5px; color: var(--pp-ink-2); border-bottom: 1px solid var(--pp-line-soft); transition: background .15s; }
.pp-dcheck:last-child { border-bottom: 0; }
.pp-dcheck:hover { background: color-mix(in srgb, var(--phosphor) 3%, transparent); }
.pp-dcheck-pill { min-width: 30px; padding: 4px 7px; color: var(--pp-ink-on-accent); font-weight: 700; font-size: 11.5px; text-align: center; font-variant-numeric: tabular-nums; }
.pp-dcheck-addr { color: var(--pp-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-dcheck-net { color: var(--pp-ink-3); font-size: 11px; }
.pp-dcheck-amt { color: var(--pp-ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-dcheck-time { color: var(--pp-ink-4); text-align: right; font-size: 11px; }
@media (max-width: 720px) { .pp-dcheck { grid-template-columns: auto 1fr auto; gap: 10px; } .pp-dcheck-net, .pp-dcheck-amt { display: none; } }

/* PRICING */
.pp-pricing { padding: clamp(56px, 7vw, 96px) 0; }
.pp-pricing-head { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; align-items: flex-end; margin-bottom: 32px; }
@media (max-width: 760px) { .pp-pricing-head { grid-template-columns: 1fr; } }
.pp-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 18px; padding: 6px; background: var(--pp-panel); border: 1px solid var(--pp-line); }
.pp-tab { padding: 14px 18px; text-align: left; display: flex; flex-direction: column; gap: 2px; transition: background .2s, color .2s; background: transparent; color: var(--pp-ink-3); border: 1px solid transparent; cursor: pointer; min-height: 64px; font-family: 'Fira Mono', monospace; }
.pp-tab:hover { background: rgba(255,255,255,.02); color: var(--pp-ink-2); }
.pp-tab.on { background: var(--pp-accent); color: var(--pp-ink-on-accent); }
.pp-tab .tab-name { font-size: 15px; font-weight: 700; letter-spacing: .02em; }
.pp-tab .tab-range { font-size: 12px; opacity: .75; }
.pp-tab .tab-who { font-size: 11px; opacity: .55; margin-top: 2px; }
.pp-tab.on .tab-range, .pp-tab.on .tab-who { opacity: .85; }
@media (max-width: 560px) {
  .pp-tabs { grid-template-columns: 1fr; gap: 6px; padding: 6px; }
  .pp-tab { min-height: auto; padding: 10px 14px; flex-direction: row; align-items: center; gap: 12px; }
  .pp-tab .tab-who { display: none; }
}
.pp-packs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 18px; }
@media (max-width: 1080px) { .pp-packs { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px)  { .pp-packs { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .pp-packs { grid-template-columns: 1fr; } }
.pp-pack { background: var(--pp-panel); border: 1px solid var(--pp-line); padding: 18px 16px 14px; position: relative; display: flex; flex-direction: column; gap: 10px; transition: transform .2s, border-color .2s, box-shadow .2s; }
.pp-pack:hover { transform: translateY(-2px); border-color: var(--pp-line-2); }
.pp-pack-label { font-family: 'Fira Mono', monospace; font-size: 11px; color: var(--pp-ink-3); text-transform: uppercase; letter-spacing: .06em; min-height: 16px; }
.pp-pack-count { display: flex; align-items: baseline; gap: 6px; font-family: 'Fira Mono', monospace; }
.pp-pack-count b { font-size: 24px; font-weight: 700; color: var(--pp-ink); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.pp-pack-count span { font-size: 11px; color: var(--pp-ink-3); text-transform: uppercase; letter-spacing: .06em; }
.pp-pack-price { font-family: 'Fira Mono', monospace; font-size: 22px; font-weight: 600; color: var(--pp-accent); font-variant-numeric: tabular-nums; line-height: 1; letter-spacing: -0.01em; white-space: nowrap; }
.pp-pack-per { font-family: 'Fira Mono', monospace; font-size: 11.5px; color: var(--pp-ink-3); line-height: 1.4; }
.pp-pack-btn { margin-top: auto; padding: 10px 12px; font-family: 'Fira Mono', monospace; font-size: 12px; font-weight: 600; background: transparent; color: var(--pp-ink-2); border: 1px solid var(--pp-line-2); display: flex; align-items: center; justify-content: space-between; gap: 6px; transition: background .15s, color .15s, border-color .15s, filter .15s; cursor: pointer; }
.pp-pack-btn .arr { transition: transform .2s; }
.pp-pack-btn:hover { background: rgba(255,255,255,.03); color: var(--pp-ink); border-color: var(--pp-accent); }
.pp-pack-btn:hover .arr { transform: translateX(2px); }
.pp-pack-btn.primary { background: var(--pp-accent); color: var(--pp-ink-on-accent); border-color: var(--pp-accent); }
.pp-pack-btn.primary:hover { filter: brightness(1.07); color: var(--pp-ink-on-accent); }
.pp-pack-best { border-color: var(--pp-line-2); background: radial-gradient(400px 200px at 50% -20%, var(--pp-accent-soft), transparent 70%), linear-gradient(180deg, var(--pp-panel-2) 0%, var(--pp-panel) 100%); box-shadow: 0 0 0 1px color-mix(in srgb, var(--phosphor) 18%, transparent), 0 24px 60px -30px color-mix(in srgb, var(--phosphor) 25%, transparent); }
.pp-pack-badge { position: absolute; top: -9px; left: 14px; padding: 3px 8px; background: var(--pp-accent); color: var(--pp-ink-on-accent); font-family: 'Fira Mono', monospace; font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.pp-custom-card { margin-top: 22px; display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; padding: 28px clamp(20px, 3vw, 36px); background: radial-gradient(500px 220px at 90% 0%, var(--pp-accent-soft), transparent 70%), linear-gradient(180deg, var(--pp-panel-2) 0%, var(--pp-panel) 100%); border: 1px solid var(--pp-line-2); }
@media (max-width: 760px) { .pp-custom-card { grid-template-columns: 1fr; gap: 18px; padding: 22px; } }
.pp-custom-left { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pp-custom-h { font-family: 'Onest', ui-sans-serif, system-ui, sans-serif; font-size: clamp(19px, 2.2vw, 24px); font-weight: 700; color: var(--pp-ink); letter-spacing: 0; line-height: 1.2; -webkit-font-smoothing: antialiased; }
.pp-custom-d { font-family: 'Fira Mono', monospace; font-size: 14.5px; color: var(--pp-ink-2); line-height: 1.55; max-width: 540px; margin-top: 4px; }
.pp-custom-right { display: flex; flex-direction: column; gap: 10px; align-items: flex-end; flex-shrink: 0; }
@media (max-width: 760px) { .pp-custom-right { align-items: flex-start; } }
.pp-custom-email { font-family: 'Fira Mono', monospace; font-size: 13px; color: var(--pp-ink-2); padding: 6px 10px; background: rgba(255,255,255,.03); text-decoration: none; }
.pp-custom-email:hover { color: var(--pp-accent); background: rgba(255,255,255,.06); }
.pp-custom-btn { display: inline-flex; align-items: center; gap: 10px; padding: 13px 22px; background: var(--pp-accent); color: var(--pp-ink-on-accent); font-family: 'Fira Mono', monospace; font-size: 13px; font-weight: 700; transition: filter .15s, transform .15s; text-decoration: none; }
.pp-custom-btn:hover { filter: brightness(1.07); transform: translateY(-1px); color: var(--pp-ink-on-accent); }

/* COMPARE */
.pp-compare { padding: clamp(40px, 5vw, 72px) 0; }
.pp-compare-wrap { margin-top: 24px; border: 1px solid var(--pp-line-soft); overflow: hidden; }
.pp-compare-tbl { width: 100%; border-collapse: collapse; font-family: 'Fira Mono', monospace; font-size: 13px; table-layout: fixed; }
.pp-compare-tbl col.feat-col { width: 38%; }
.pp-compare-tbl col.plan-col { width: calc(62% / 3); }
.pp-compare-tbl th, .pp-compare-tbl td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--pp-line-soft); }
.pp-compare-tbl tbody tr:last-child td { border-bottom: 0; }
.pp-compare-tbl thead th { font-weight: 600; color: var(--pp-ink-3); text-transform: uppercase; font-size: 11px; letter-spacing: .08em; background: rgba(255,255,255,.015); }
.pp-compare-tbl thead th.col-plan { color: var(--pp-ink); font-size: 12px; letter-spacing: .06em; text-align: center; }
.pp-compare-tbl thead th.col-plan.featured { color: var(--pp-accent); }
.pp-compare-tbl tbody td { color: var(--pp-ink-2); }
.pp-compare-tbl tbody td.feat { color: var(--pp-ink-3); text-transform: none; letter-spacing: 0; }
.pp-compare-tbl tbody td.val { text-align: center; color: var(--pp-ink); word-break: break-word; }
.pp-compare-tbl tbody td.val.yes { color: var(--pp-accent); }
.pp-compare-tbl tbody td.val.no { color: var(--pp-ink-4); }
.pp-compare-tbl tbody td.val.featured { background: color-mix(in srgb, var(--phosphor) 4%, transparent); }
.pp-compare-tbl tbody tr:hover td { background: color-mix(in srgb, var(--phosphor) 2%, transparent); }
@media (max-width: 760px) { .pp-compare-tbl { font-size: 12px; } .pp-compare-tbl th, .pp-compare-tbl td { padding: 10px 8px; } }

/* DEMO REPORT */
.pp-demo { padding: clamp(40px, 5vw, 72px) 0; }
.pp-demo-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(24px, 4vw, 56px); align-items: center; }
@media (max-width: 900px) { .pp-demo-grid { grid-template-columns: 1fr; } }
.pp-report { background: linear-gradient(180deg, var(--pp-panel), var(--pp-panel-2)); border: 1px solid var(--pp-line-2); overflow: hidden; box-shadow: 0 30px 80px -40px color-mix(in srgb, var(--phosphor) 20%, transparent); }
.pp-report-hd { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--pp-line); background: rgba(255,255,255,.02); }
.pp-report-hd .lights { display: flex; gap: 5px; }
.pp-report-hd .lights i { width: 9px; height: 9px; border-radius: 50%; }
.pp-report-hd .lights .r { background: #3a1f1f; }
.pp-report-hd .lights .y { background: #3a341f; }
.pp-report-hd .lights .g { background: #1f3a26; }
.pp-report-hd .name { font-family: 'Fira Mono', monospace; font-size: 11.5px; color: var(--pp-ink-3); }
.pp-report-body { padding: 20px 22px; font-family: 'Fira Mono', monospace; font-size: 12.5px; color: var(--pp-ink-2); display: flex; flex-direction: column; gap: 14px; }
.pp-report-row { display: flex; justify-content: space-between; gap: 14px; }
.pp-report-row .k { color: var(--pp-ink-3); }
.pp-report-row .v { color: var(--pp-ink); font-variant-numeric: tabular-nums; text-align: right; }
.pp-report-row .v.ok { color: var(--pp-accent); }
.pp-report-score { display: flex; align-items: center; gap: 14px; padding: 14px; background: var(--pp-panel); border: 1px solid var(--pp-line); }
.pp-report-score .ring { width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'Fira Mono', monospace; font-weight: 700; font-size: 20px; color: var(--pp-accent); background: conic-gradient(var(--pp-accent) 88%, #14241c 0); }
.pp-report-score .ring span { background: var(--pp-panel); width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.pp-report-score .meta { flex: 1; }
.pp-report-score .meta .t { color: var(--pp-ink); font-size: 14px; margin-bottom: 2px; }
.pp-report-score .meta .s { color: var(--pp-ink-3); font-size: 11.5px; }
.pp-signals { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.pp-signal { display: flex; align-items: center; gap: 10px; padding: 9px 12px; background: var(--pp-panel); border: 1px solid var(--pp-line); }
.pp-signal i { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.pp-signal.ok i { background: var(--pp-accent); }
.pp-signal.warn i { background: var(--pp-warn); }
.pp-signal .t { flex: 1; color: var(--pp-ink); }
.pp-signal .pct { color: var(--pp-ink-3); font-variant-numeric: tabular-nums; }
.pp-demo-bullet { padding: 14px 16px; background: var(--pp-panel); border: 1px solid var(--pp-line); }
.pp-demo-bullet .num { font-family: 'Fira Mono', monospace; font-size: 11px; color: var(--pp-accent); margin-bottom: 4px; }
.pp-demo-bullet .t { color: var(--pp-ink); font-family: 'Fira Mono', monospace; font-size: 14px; font-weight: 500; margin-bottom: 3px; }
.pp-demo-bullet .d { color: var(--pp-ink-3); font-size: 13.5px; line-height: 1.5; font-family: 'Fira Mono', monospace; }

/* GUARANTEE */
.pp-guarantee { padding: clamp(40px, 5vw, 72px) 0; }
.pp-guar-card { background: linear-gradient(180deg, var(--pp-deep) 0%, var(--pp-panel-2) 100%); border: 1px solid var(--pp-line-2); padding: clamp(28px, 4vw, 48px); display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(20px, 3vw, 48px); align-items: flex-start; }
@media (max-width: 900px) { .pp-guar-card { grid-template-columns: 1fr; } }
.pp-guar-list { display: flex; flex-direction: column; gap: 14px; }
.pp-guar-item { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; background: rgba(255,255,255,.015); border: 1px solid var(--pp-line-soft); }
.pp-guar-item .num { font-family: 'Fira Mono', monospace; font-size: 11px; color: var(--pp-accent); padding-top: 2px; min-width: 24px; }
.pp-guar-item .body .t { font-family: 'Fira Mono', monospace; font-size: 14px; color: var(--pp-ink); margin-bottom: 4px; }
.pp-guar-item .body .d { font-size: 13.5px; color: var(--pp-ink-2); line-height: 1.5; font-family: 'Fira Mono', monospace; }

/* FAQ — styles inherited from landing (shell.css: details/summary/.chev) */

/* FINAL CTA */
.pp-final-cta { padding: clamp(40px, 5vw, 64px) 0 clamp(60px, 7vw, 96px); }
.pp-final-card { background: radial-gradient(800px 280px at 100% 0%, color-mix(in srgb, var(--phosphor) 10%, transparent), transparent 60%), linear-gradient(180deg, var(--pp-panel) 0%, var(--pp-panel-2) 100%); border: 1px solid var(--pp-line-2); padding: clamp(32px, 5vw, 64px); display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: center; }
@media (max-width: 900px) { .pp-final-card { grid-template-columns: 1fr; } }
.pp-final-card h2 { margin-bottom: 14px; font-size: clamp(28px, 3.6vw, 48px); }
.pp-final-card .accent { color: var(--pp-accent); }
.pp-final-code { background: var(--pp-panel); border: 1px solid var(--pp-line); padding: 18px; font-family: 'Fira Mono', monospace; font-size: 12.5px; color: var(--pp-ink-2); line-height: 1.7; }

/* STICKY BAR */
.pp-sticky { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 60; display: flex; gap: 8px; align-items: center; padding: 8px 8px 8px 16px; background: var(--pp-sticky-bg); border: 1px solid var(--pp-line-2); border-radius: 999px; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 18px 60px -20px rgba(0,0,0,.7), 0 0 0 1px color-mix(in srgb, var(--phosphor) 12%, transparent); font-family: 'Fira Mono', monospace; font-size: 12.5px; color: var(--pp-ink-2); opacity: 0; transform: translate(-50%, 30px); transition: opacity .3s, transform .3s; pointer-events: none; max-width: calc(100vw - 28px); }
.pp-sticky.show { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.pp-sticky .ok { color: var(--pp-accent); }
.pp-sticky .cta-mini { padding: 8px 14px; background: var(--pp-accent); color: var(--pp-ink-on-accent); font-weight: 700; border-radius: 999px; font-size: 12.5px; text-decoration: none; cursor: pointer; }
.pp-sticky .cta-mini:hover { filter: brightness(1.07); color: var(--pp-ink-on-accent); }
@media (max-width: 540px) { .pp-sticky .label-long { display: none; } }

/* MODALS */
.pp-modal-back { position: fixed; inset: 0; z-index: 200; background: rgba(2,5,4,.7); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; padding: 24px; opacity: 0; pointer-events: none; transition: opacity .25s; }
.pp-modal-back.open { opacity: 1; pointer-events: auto; }
.pp-modal { background: linear-gradient(180deg, var(--pp-deep) 0%, var(--pp-panel-2) 100%); border: 1px solid var(--pp-line-2); width: 100%; max-width: 560px; max-height: calc(100vh - 48px); overflow: auto; transform: translateY(8px) scale(.98); transition: transform .25s; box-shadow: 0 40px 100px -30px rgba(0,0,0,.6), 0 0 0 1px color-mix(in srgb, var(--phosphor) 12%, transparent); }
.pp-modal-back.open .pp-modal { transform: translateY(0) scale(1); }
.pp-modal-hd { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--pp-line); font-family: 'Fira Mono', monospace; font-size: 12px; color: var(--pp-ink-3); }
.pp-modal-hd b { color: var(--pp-ink); font-weight: 600; margin-left: 6px; font-size: 13px; }
.pp-modal-hd .lights { display: flex; gap: 5px; }
.pp-modal-hd .lights i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.pp-modal-hd .lights i:nth-child(1) { background: #3a1f1f; }
.pp-modal-hd .lights i:nth-child(2) { background: #3a341f; }
.pp-modal-hd .lights i:nth-child(3) { background: #1f3a26; }
.pp-modal-x { margin-left: auto; color: var(--pp-ink-3); padding: 6px 10px 7px; font-family: 'Fira Mono', monospace; font-size: 13px; line-height: 1; font-weight: 500; display: flex; align-items: center; gap: 6px; transition: background .15s, color .15s; cursor: pointer; background: transparent; border: 0; }
.pp-modal-x:hover { color: var(--pp-ink); background: color-mix(in srgb, var(--risk-critical) 12%, transparent); }
.pp-modal-x .esc-hint { font-size: 10px; opacity: .6; padding: 2px 5px; border: 1px solid var(--pp-line-soft); }
.pp-modal-x .x { font-size: 18px; font-weight: 400; }
.pp-modal-body { padding: 24px 22px; display: flex; flex-direction: column; gap: 18px; }
.pp-modal-sub { color: var(--pp-ink-2); font-size: 14.5px; line-height: 1.5; margin: -4px 0 0; font-family: 'Fira Mono', monospace; }
.pp-modal-h { font-family: 'Onest', ui-sans-serif, system-ui, sans-serif; font-size: 20px; letter-spacing: 0; font-weight: 700; line-height: 1.2; color: var(--pp-ink); margin: 0; -webkit-font-smoothing: antialiased; }
.pp-modal-input { display: flex; gap: 8px; background: var(--pp-panel); border: 1px solid var(--pp-line); padding: 6px; transition: border-color .15s, box-shadow .15s; }
.pp-modal-input:focus-within { border-color: var(--pp-accent); box-shadow: 0 0 0 3px var(--pp-accent-soft); }
.pp-modal-input input { flex: 1; background: transparent; border: 0; outline: 0; font-family: 'Fira Mono', monospace; font-size: 14px; padding: 10px 12px; color: var(--pp-ink); }
.pp-modal-input input::placeholder { color: var(--pp-ink-4); }
.pp-modal-go { padding: 10px 16px; background: var(--pp-accent); color: var(--pp-ink-on-accent); font-family: 'Fira Mono', monospace; font-weight: 700; font-size: 13px; white-space: nowrap; border: 0; cursor: pointer; }
.pp-modal-go:hover { filter: brightness(1.07); }
.pp-modal-go:disabled { filter: brightness(.6); cursor: not-allowed; }
.pp-modal-row { display: flex; flex-direction: column; gap: 8px; }
.pp-modal-row > .lbl { font-family: 'Fira Mono', monospace; font-size: 11px; color: var(--pp-ink-3); text-transform: uppercase; letter-spacing: .08em; }
.pp-modal-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.pp-modal-chip { padding: 7px 12px; border: 1px solid var(--pp-line); font-family: 'Fira Mono', monospace; font-size: 12px; color: var(--pp-ink-3); background: transparent; cursor: pointer; transition: border-color .15s, color .15s, background .15s; }
.pp-modal-chip:hover { color: var(--pp-ink); border-color: var(--pp-line-2); }
.pp-modal-chip.on { background: var(--pp-accent); color: var(--pp-ink-on-accent); border-color: var(--pp-accent); }
.pp-modal-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
@media (max-width: 520px) { .pp-modal-methods { grid-template-columns: 1fr; } }
.pp-modal-method { padding: 14px; background: var(--pp-panel); border: 1px solid var(--pp-line); text-align: left; transition: border-color .15s, background .15s; display: flex; flex-direction: column; gap: 4px; cursor: pointer; }
.pp-modal-method:hover { border-color: var(--pp-line-2); }
.pp-modal-method.on { border-color: var(--pp-accent); background: var(--pp-accent-soft); }
.pp-modal-method-t { font-family: 'Fira Mono', monospace; font-size: 13px; color: var(--pp-ink); font-weight: 600; }
.pp-modal-method-d { font-size: 12.5px; color: var(--pp-ink-3); line-height: 1.4; font-family: 'Fira Mono', monospace; }
.pp-modal-total { padding: 14px 16px; background: var(--pp-panel); border: 1px solid var(--pp-line-2); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pp-modal-total .l { display: flex; flex-direction: column; gap: 2px; }
.pp-modal-total .l-k { font-family: 'Fira Mono', monospace; font-size: 11px; color: var(--pp-ink-3); text-transform: uppercase; letter-spacing: .08em; }
.pp-modal-total .l-v { font-family: 'Fira Mono', monospace; font-size: 14px; color: var(--pp-ink); font-weight: 500; }
.pp-modal-total .r { font-family: 'Fira Mono', monospace; font-size: 28px; font-weight: 700; color: var(--pp-accent); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pp-modal-pay-cta { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 14px 16px; background: var(--pp-accent); color: var(--pp-ink-on-accent); font-family: 'Fira Mono', monospace; font-weight: 700; font-size: 13.5px; border: 0; cursor: pointer; transition: filter .15s; }
.pp-modal-pay-cta:hover { filter: brightness(1.08); }
.pp-modal-foot { font-family: 'Fira Mono', monospace; font-size: 11.5px; color: var(--pp-ink-3); line-height: 1.55; }
.pp-modal-foot .com { color: var(--pp-ink-4); }
.pp-cm-result { padding: 16px; background: var(--pp-panel); border: 1px solid var(--pp-line); font-family: 'Fira Mono', monospace; font-size: 12.5px; color: var(--pp-ink-2); display: flex; flex-direction: column; gap: 8px; }
.pp-cm-result.ok { border-color: color-mix(in srgb, var(--phosphor) 40%, transparent); }
.pp-cm-result.warn { border-color: rgba(255,204,74,.4); }
.pp-cm-result.bad { border-color: color-mix(in srgb, var(--risk-critical) 40%, transparent); }
/* Result header: verdict on the left as a label-with-status, score on
   the right. The "→ verdict" / "risk" eyebrows make it obvious these
   are status readouts, not buttons — earlier users mistook the bold
   Tektur verdict text for a clickable CTA. */
.pp-cm-result-hd { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 4px; border-bottom: 1px dashed var(--pp-line-soft); margin-bottom: 4px; }
.pp-cm-verdict, .pp-cm-score { display: flex; flex-direction: column; gap: 2px; }
.pp-cm-score { text-align: right; }
.pp-cm-result-hd .eyebrow { font-size: 10.5px; color: var(--pp-ink-3); text-transform: uppercase; letter-spacing: 0.12em; }
.pp-cm-result-hd .pp-cm-verdict-t { font-family: 'Fira Mono', monospace; font-size: 14px; font-weight: 600; color: var(--pp-ink); line-height: 1.25; }
.pp-cm-result-hd .pp-cm-verdict-t::before { content: '● '; font-size: 9px; vertical-align: 2px; opacity: .9; }
.pp-cm-result.ok   .pp-cm-result-hd .pp-cm-verdict-t { color: var(--pp-accent); }
.pp-cm-result.warn .pp-cm-result-hd .pp-cm-verdict-t { color: var(--pp-warn); }
.pp-cm-result.bad  .pp-cm-result-hd .pp-cm-verdict-t { color: var(--pp-danger); }
.pp-cm-result-hd .score { font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.1; }
.pp-cm-result-hd .score .score-max { font-size: 12px; color: var(--pp-ink-3); font-weight: 500; }
.pp-cm-result.ok   .pp-cm-result-hd .score { color: var(--pp-accent); }
.pp-cm-result.warn .pp-cm-result-hd .score { color: var(--pp-warn); }
.pp-cm-result.bad  .pp-cm-result-hd .score { color: var(--pp-danger); }
.pp-cm-result-row { display: flex; justify-content: space-between; gap: 8px; }
.pp-cm-result-row .k { color: var(--pp-ink-3); }
.pp-cm-result-row .v { color: var(--pp-ink); text-align: right; }
/* Preview footnote + the real CTA pair. Matches the landing's
   "→ open full report" pattern (btn-solid primary) and adds a text-link
   to reset the form for the next address. */
.pp-cm-result-note { margin-top: 6px; padding-top: 8px; border-top: 1px dashed var(--pp-line-soft); color: var(--pp-ink-4); font-size: 11.5px; }
.pp-cm-result-cta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 6px; }
.pp-cm-result-cta .btn-solid { font-size: 13px; padding: .55rem 1rem; }
.pp-cm-another { background: transparent; border: 0; color: var(--pp-ink-3); font-family: 'Fira Mono', monospace; font-size: 12.5px; cursor: pointer; padding: 0; }
.pp-cm-another:hover { color: var(--pp-accent); text-decoration: underline; }
