/* NinjaTrader edition (owner, direct 2026-10-26): only the helpers the swap uses. */
.pa-cta[data-checkout]:not([href]){cursor:default}
.pa-price-card li[hidden],[data-pa-phase-pill][hidden],[data-pa-coming][hidden],[data-pa-monthly][hidden],[data-pa-sale-only][hidden]{display:none!important}
/* compat row: NinjaTrader's official white lockup (CMO-D006; owner W-D008). Shown unmodified:
   no filter or opacity, "by Payward" kept, and 18px of clear space on every side (NT guidelines). */
/* NinjaTrader lockup in pills (W-D009): the wordmark caps fill the top ~58% of the SVG box and "by PAYWARD"
   hangs below, so box-centring left the caps riding high next to the label. Nudge the image down so the caps
   sit on the label's centre line, a touch smaller than before. The SVG itself is untouched (CMO-D006). */
.pa-compat:has(.pa-nt-logo){padding:15px 20px 15px 1.375rem;gap:16px}
.pa-compat-logo.pa-nt-logo{height:1.3rem;width:auto;filter:none;opacity:1;transform:translateY(16%)}
@media (max-width:560px){.pa-compat:has(.pa-nt-logo){padding:13px 16px 13px 1.0625rem;gap:12px}.pa-compat-logo.pa-nt-logo{height:1.1rem}}
.pa-nt-anchor{align-self:center;margin-right:.35rem;font-size:1.5rem;font-weight:500;color:var(--pa-mute);line-height:1}
.pa-nt-was{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:rgba(255,255,255,.55)}
.pa-nt-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:560px){.pa-nt-anchor{font-size:1.25rem}}
/* CMO-D034 (owner 2026-10-26 17:30): auto-renew fine print under the card button */
.pa-nt-renew{margin:.6rem 0 0;font-size:.75rem;line-height:1.45;color:rgba(255,255,255,.5);text-align:center}
.pa-nt-terms{margin:.35rem 0 0;font-size:.75rem;line-height:1.45;color:rgba(255,255,255,.5);text-align:center}
.pa-nt-terms a{color:rgba(255,255,255,.72);text-decoration:underline;text-underline-offset:2px}
.pa-nt-terms a:hover{color:#fff}
/* Hero + report monitor (owner 2026-10-26: NinjaTrader backtest, whole report on screen,
   no cut-offs). W-D010 (owner, direct 2026-10-27): the capture is cropped to the Strategy
   Analyzer window itself (1644x897, 1.833), so no desktop wallpaper or second window shows.
   It sits full width in the unlit-glass inset, centred, and the spare height falls into the
   panel's black glass. Content unchanged and shown unfiltered, as cleared (CMO-D004). */
.pa-monitor-screen--nt .pa-nt-shot{top:50%;height:auto;aspect-ratio:1644/897;transform:translateY(-50%);
  object-fit:contain;object-position:center;filter:none}

/* Card % pill + savings lines (owner, direct, W-D005 → W-D008 → W-D035). Pill "Save 80%" at
   weight 500 (no bold labels). The basis for the struck $1,440 (12 months of the $120 monthly
   plan) sits right under the price row (CFO-D013: basis next to every "80%"), then the owner's line. */
.pa-price-off.pa-nt-off{font-weight:500;align-self:center;margin-left:.35rem}
.pa-nt-basis{font-size:.75rem;line-height:1.45;color:rgba(255,255,255,.5);margin:-.1rem 0 .35rem}
.pa-nt-save{font-size:.85rem;line-height:1.45;color:#5cf0ff;margin:0 0 .5rem}
.pa-nt-save[hidden],.pa-nt-off[hidden],.pa-nt-basis[hidden]{display:none}

/* "Backtested. Verified. Quantified." = equity curves only (owner, direct, W-D008).
   Paradox full width; the two Kairos curves (same crop, same size) side by side from 760px. */
.pa-nt-curves{display:grid;gap:1.5rem;max-width:1100px;margin:0 auto}
.pa-nt-curve{margin:0}
.pa-nt-curve .pa-shot img{display:block;width:100%;height:auto;object-fit:contain;transform:none}
.pa-nt-curve figcaption{font-size:13px;opacity:.72;margin-top:.6rem;text-align:center}
@media (min-width:760px){.pa-nt-curves{grid-template-columns:1fr 1fr}.pa-nt-curve--wide{grid-column:1/-1}}
/* CMO-D009 trademark line, website only: its own row under the copyright */
.pa-foot-bottom p.pa-foot-tm{flex-basis:100%;margin-top:-.5rem}
/* TradingView sub-guides: pointer to the NinjaTrader setup guide (W-D008) */
.pa-nt-docnote{margin:12px auto 0;max-width:46rem;font-size:.875rem}
/* logo strip: NinjaTrader + prop firms whose own rules allow automation (owner W-D008 -> W-D027/W-D028). Each mark is shown as its owner supplies it:
   no grayscale, no opacity (NT guidelines). The gap gives NT its 18px+ clear space. */
.pa-nt-firms .pa-logo-img.pa-nt-firm{filter:none;opacity:1;height:1.5rem;max-width:none}
.pa-nt-firms .pa-logo-img.pa-nt-firm:not(.pa-nt-firm-nt):hover{transform:none}
/* W-D015: a defined rail. The strip is a full-width dark band with a hairline top edge that fades at the sides (its lower edge is the pain section's
   existing cyan divider, so no second line);
   the ticker field is switched off inside the band (display:none also stops its animation), so nothing competes with the marks.
   Heights are optical: each mark's ink box (measured, transparent padding excluded) is sized so the
   marks carry about the same visual weight: bold ones (Topstep, Tradeify's pill) smaller, light ones larger. */
.pa-home .pa-logos{padding:1.15rem 0;background:linear-gradient(180deg,#070b16,#04070f);border-top:1px solid transparent;border-bottom:0;
  border-image:linear-gradient(90deg,transparent,rgba(255,255,255,.09) 18%,rgba(255,255,255,.09) 82%,transparent) 1}
.pa-home .pa-logos .pa-ascii-field{display:none}
.pa-nt-firms{padding:.3rem 0}
.pa-nt-firms .pa-marquee-track{gap:4rem}
.pa-nt-firms .pa-logo-img.pa-nt-firm-nt{height:1.3rem;transform:translateY(14%)}
.pa-nt-firms .pa-logo-img.pa-nt-firm-mffu{height:2.65rem}
.pa-nt-firms .pa-logo-img.pa-nt-firm-lucid{height:2.9rem}
.pa-nt-firms .pa-logo-img.pa-nt-firm-futureify{height:1.35rem}
.pa-nt-firms .pa-logo-img.pa-nt-firm-fundednext{height:.95rem}
/* W-D028 caption: one plain line under the rail, regular weight */
.pa-nt-firms-note{margin:.55rem 0 0;text-align:center;font-size:.75rem;font-weight:400;line-height:1.4;color:rgba(255,255,255,.55)}
@media (max-width:900px){.pa-home .pa-logos{padding:.9rem 0}.pa-nt-firms{padding:.2rem 0}.pa-nt-firms .pa-marquee-track{gap:2.5rem}}
@media (max-width:560px){.pa-nt-firms .pa-logo-img.pa-nt-firm{height:1.2rem}.pa-nt-firms .pa-logo-img.pa-nt-firm-nt{height:1.05rem}.pa-nt-firms .pa-logo-img.pa-nt-firm-mffu{height:2.1rem}.pa-nt-firms .pa-logo-img.pa-nt-firm-lucid{height:2.3rem}.pa-nt-firms .pa-logo-img.pa-nt-firm-futureify{height:1.1rem}.pa-nt-firms .pa-logo-img.pa-nt-firm-fundednext{height:.78rem}.pa-nt-firms-note{font-size:.6875rem}}
/* homepage hero background: the quant field (nt8-ascii-fields.js "field", W-D008/W-D009). Same footprint as the
   ascii shader; the mask keeps it off the headline's left edge and fades every border. */
.pa-quant-field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.7;
  -webkit-mask-image:radial-gradient(ellipse 80% 75% at 62% 55%,#000 35%,transparent 92%);
          mask-image:radial-gradient(ellipse 80% 75% at 62% 55%,#000 35%,transparent 92%)}
@media (max-width:880px){.pa-quant-field{opacity:.5}}
@media (prefers-reduced-motion:reduce){.pa-quant-field{opacity:.3}}
/* phone seam under the NinjaTrader pill (W-D016). styles.css halves the hero's bottom melt at <=768px, so the hero
   ended lit and met the monitor band's flat #02040a in a hard line. The pill is the hero's last child, so the
   hero's 2rem bottom padding below it now melts to solid #02040a; the half-strength mesh melt above is unchanged. */
@media (max-width:768px){.pa-home .pa-hero::after{opacity:1;
  background:linear-gradient(0deg,#02040a 0,rgba(2,4,10,.5) 1rem,rgba(2,4,10,0) 2rem),
             linear-gradient(180deg,rgba(2,4,10,0) 70%,rgba(2,4,10,.5) 96%)}}
/* the nav lines up with the homepage's split hero (W-D009); since W-D013 every page uses the same wide nav, so
   the logo sits in the same place site-wide instead of squeezed into the 78rem container on inner pages. */
@media (min-width:901px){.pa-nav .pa-nav-inner{max-width:none;padding-left:clamp(2rem,calc(18.75vw - 12.5rem),10rem);padding-right:clamp(2rem,calc(18.75vw - 12.5rem),10rem)}}

/* homepage section backgrounds, one ASCII pattern per section (nt8-ascii-fields.js, W-D009) */
/* W-D010: the same field sits behind /pricing's pricing section, which matches the homepage's block exactly */
section:has(> .pa-ascii-field){position:relative}
section > .pa-ascii-field ~ .pa-container{position:relative;z-index:1}
.pa-ascii-field:not(.pa-quant-field){position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;display:block;opacity:.75;
  -webkit-mask-image:radial-gradient(ellipse 85% 80% at 50% 50%,#000 30%,transparent 88%);
          mask-image:radial-gradient(ellipse 85% 80% at 50% 50%,#000 30%,transparent 88%)}
.pa-ascii-field[data-variant="spectrum"]{
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 85%,#000 25%,transparent 85%);
          mask-image:radial-gradient(ellipse 90% 70% at 50% 85%,#000 25%,transparent 85%)}
/* W-D018 pricing focus field: the rings already fade with distance from the card, so the mask only softens
   the section's top and bottom edges */
.pa-ascii-field[data-variant="focus"]{opacity:.85;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent);
          mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent)}
.pa-ascii-field[data-variant="ticker"]{opacity:.7;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
.pa-ascii-field[data-variant="radar"]{
  -webkit-mask-image:radial-gradient(ellipse 70% 90% at 80% 50%,#000 25%,transparent 85%);
          mask-image:radial-gradient(ellipse 70% 90% at 80% 50%,#000 25%,transparent 85%)}
.pa-ascii-field[data-variant="surface"]{opacity:.85;
  -webkit-mask-image:linear-gradient(180deg,transparent 22%,#000 55%,#000 85%,transparent);
          mask-image:linear-gradient(180deg,transparent 22%,#000 55%,#000 85%,transparent)}
@media (max-width:880px){.pa-ascii-field:not(.pa-quant-field){opacity:.5}}
/* Frosted widgets over a field (owner, direct W-D010): cards sitting on a moving ASCII field get heavier
   glass, a deeper blur and a dark tint underneath, so the glyphs read as ambience behind the card and never
   as characters through it. Scoped to sections that carry a field; cards elsewhere keep the shared 12px. */
section:has(> .pa-ascii-field) :is(.pa-card,.pa-feature,.pa-testimonial,.pa-faq-list details,.pa-discord-card,.pa-compare-col){
  -webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}
section:has(> .pa-ascii-field) :is(.pa-card,.pa-feature,.pa-faq-list details,.pa-discord-card){
  background:linear-gradient(rgba(255,255,255,.035),rgba(255,255,255,.035)),rgba(6,10,22,.55)}
section:has(> .pa-ascii-field) :is(.pa-card,.pa-feature):hover{
  background:linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.05)),rgba(6,10,22,.6)}
section:has(> .pa-ascii-field) .pa-faq-list details[open]{
  background:linear-gradient(rgba(0,226,255,.04),rgba(0,226,255,.04)),rgba(6,10,22,.6)}
section:has(> .pa-ascii-field) .pa-compare-col{background:rgba(7,11,24,.72);border-color:rgba(255,255,255,.1)}
section:has(> .pa-ascii-field) .pa-compare-algo{
  background:linear-gradient(160deg,rgba(0,226,255,.1),rgba(0,63,245,.06)),rgba(5,12,28,.78);border-color:rgba(0,226,255,.38)}
@media (prefers-reduced-motion:reduce){.pa-ascii-field:not(.pa-quant-field){opacity:.35}}

/* featured pricing card: ASCII glyph ring with two travelling pulses (W-D009). The canvas sits 10px outside
   the card on every side; the "Most popular" pill stays above it. */
.pa-price-card.pa-featured{position:relative}
.pa-ascii-border{position:absolute;left:-18px;top:-18px;pointer-events:none;z-index:0;display:block}
.pa-price-card.pa-featured .pa-popular{z-index:2}
@media (prefers-reduced-motion:reduce){.pa-ascii-border{opacity:.6}}

/* No light or thin type (owner, direct W-D010): the 200-weight secondary headline lines (.thin) and the
   300-weight sub copy were hard to read on the dark field. Secondary lines now sit at 500 and body sub copy
   at 400; size, colour and spacing are unchanged. Symbols (the FAQ "+", flow arrows) keep their own weight. */
.pa-h1 .thin,.pa-h2 .thin{font-weight:500}
.pa-sub{font-weight:400}
/* Small muted lines read thin at 12-13px and low alpha: medium weight, more contrast, no italic */
.pa-trust{font-weight:500;color:rgba(255,255,255,.72)}
.pa-helper{font-weight:500;font-style:normal;color:rgba(255,255,255,.66)}
.pa-markets{font-weight:500;color:rgba(255,255,255,.62)}

/* Mobile menu, refined (owner, direct W-D010: "more defined, more detailed, less tacky, more official").
   CSS only, so the shared nav markup on every page is untouched. The overlay becomes a structured sheet:
   a small "Menu" label, full-width rows at weight 600 with hairline dividers and a cyan chevron, the
   Products accordion showing each product's one-line description, and a full-width call to action. */
@media (max-width:768px){
  .pa-nav-inner .pa-brand{position:relative;z-index:110}
  .pa-nav-links{justify-content:flex-start;align-items:stretch;gap:0;padding:7.25rem 1.5rem 2.5rem;overflow-y:auto;overscroll-behavior:contain}
  .pa-nav-links::before{content:"Menu";position:relative;inset:auto;display:block;width:100%;max-width:26rem;margin:0 auto;
    padding:0 .25rem .85rem;font-size:.66rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(92,240,255,.85);
    border-bottom:1px solid rgba(0,226,255,.2);background:none}
  .pa-nav-links > a:not(.pa-nav-mobile-cta),.pa-nav-links > .pa-nav-drop{width:100%;max-width:26rem;margin:0 auto;
    border-bottom:1px solid rgba(255,255,255,.08)}
  .pa-nav-links > a:not(.pa-nav-mobile-cta),.pa-nav-drop-btn{display:flex;align-items:center;justify-content:space-between;
    padding:1.05rem .25rem;font-size:1.2rem;font-weight:600;letter-spacing:.005em;line-height:1.2;
    color:rgba(255,255,255,.95);-webkit-text-fill-color:rgba(255,255,255,.95)}
  .pa-nav-drop{align-items:stretch}
  .pa-nav-drop-btn{width:100%}
  .pa-nav-caret{width:.75rem;height:.47rem;opacity:.85;color:var(--pa-cyan)}
  .pa-nav-links > a:not(.pa-nav-mobile-cta)::after{content:"";position:static;transform:rotate(45deg);width:.42rem;height:.42rem;
    margin-right:.3rem;background:none;border-top:1.5px solid rgba(0,226,255,.75);border-right:1.5px solid rgba(0,226,255,.75);opacity:1;transition:transform .3s}
  .pa-nav-links > a:not(.pa-nav-mobile-cta):hover::after,.pa-nav-links > a:not(.pa-nav-mobile-cta):active::after{width:.42rem;transform:translateX(3px) rotate(45deg)}
  .pa-nav-links > a:not(.pa-nav-mobile-cta):hover,.pa-nav-links > a:not(.pa-nav-mobile-cta):active{
    background:none;color:var(--pa-cyan);-webkit-text-fill-color:var(--pa-cyan);letter-spacing:.005em}
  /* Products accordion: product lines get their one-line description; tools and markets stay a 2-up list */
  .pa-nav-mega{max-width:none}
  .pa-nav-mega-grid{gap:1.25rem;padding:.25rem .25rem 1.25rem}
  .pa-nav-mega-col{grid-template-columns:1fr;row-gap:0}
  .pa-nav-mega-col--lite{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pa-nav-mega-h{margin:0 0 .35rem;font-size:.62rem;font-weight:500;letter-spacing:.18em;color:rgba(92,240,255,.85)}
  .pa-nav-links .pa-nav-mega a{display:block;padding:.55rem 0;font-size:1rem;font-weight:500;color:rgba(255,255,255,.9);-webkit-text-fill-color:rgba(255,255,255,.9)}
  .pa-nav-links .pa-nav-mega a small{display:block;margin-top:.15rem;font-size:.75rem;font-weight:400;line-height:1.35;
    color:rgba(255,255,255,.52);-webkit-text-fill-color:rgba(255,255,255,.52)}
  .pa-nav-links .pa-nav-mega-col--lite a{font-size:.92rem;padding:.45rem 0}
  /* footer: a full-width call to action, then the trust line and the tagline */
  .pa-nav-links .pa-nav-mobile-foot{max-width:26rem;margin:1.75rem auto 0;padding-top:0;border-top:0;gap:1rem}
  .pa-nav-links a.pa-nav-mobile-cta{display:block;width:100%;padding:1rem 1.25rem;font-size:.95rem;font-weight:600;border-radius:.85rem}
}
@media (max-width:768px) and (max-height:820px){.pa-nav-links > a:not(.pa-nav-mobile-cta),.pa-nav-drop-btn{padding:.9rem .25rem;font-size:1.12rem}}
/* W-D011 homepage "What makes Paradox Algo different": backtest captures + indicator replay tiles (gated on .pa-diff) */
.pa-diff .pa-grid-2>.pa-feature:not(.pa-diff-stack){display:flex;flex-direction:column}
.pa-diff .pa-diff-shot{margin:auto 0 0;padding-top:1.5rem}
.pa-diff .pa-diff-shot-frame{aspect-ratio:2/1;border-radius:.85rem;overflow:hidden;background:#1e1e1e;border:1px solid rgba(255,255,255,.06)}
.pa-diff .pa-diff-shot-frame img{width:100%;height:100%;display:block;object-fit:contain}
.pa-diff .pa-diff-shot figcaption,.pa-diff .pa-diff-cap{margin-top:.6rem;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.62);text-align:center}
.pa-diff .pa-diff-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.75rem}
.pa-diff .pa-diff-tile{display:block;text-decoration:none;color:inherit}
.pa-diff .pa-diff-tile-media{display:block;aspect-ratio:16/9;border-radius:.85rem;overflow:hidden;background:#05070c;border:1px solid rgba(255,255,255,.06);transition:border-color .3s}
.pa-diff .pa-diff-tile:hover .pa-diff-tile-media,.pa-diff .pa-diff-tile:focus-visible .pa-diff-tile-media{border-color:rgba(0,226,255,.45)}
.pa-diff .pa-diff-tile video{width:100%;height:100%;display:block;object-fit:cover}
.pa-diff .pa-diff-tile-name{display:block;margin-top:.65rem;font-size:.95rem;font-weight:600;color:#fff}
.pa-diff .pa-diff-tile-sub{display:block;margin-top:.1rem;font-size:.8rem;font-weight:400;color:rgba(255,255,255,.6)}
.pa-diff .pa-diff-cap{margin-top:1rem}
@media (max-width:768px){.pa-diff .pa-diff-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.pa-diff .pa-diff-tile-name{font-size:.88rem}.pa-diff .pa-diff-tile-sub{font-size:.75rem}}
/* W-D012: α four algo cards, σ backtest grid + viewer, Σ tile kind line (gated on .pa-diff) */
.pa-diff .pa-diff-algos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1.5rem}
@media (min-width:769px){.pa-diff .pa-diff-algos{grid-template-columns:1fr;margin-top:auto;padding-top:1.5rem}}
.pa-diff .pa-diff-algo{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.8rem 1rem;border-radius:.85rem;border:1px solid rgba(255,255,255,.08);background:radial-gradient(120% 90% at 0% 0%,rgba(0,226,255,.10),rgba(0,63,245,.04) 55%,rgba(255,255,255,.015));text-decoration:none;color:#fff;transition:border-color .3s,background-color .3s}
.pa-diff .pa-diff-algo:hover,.pa-diff .pa-diff-algo:focus-visible{border-color:rgba(0,226,255,.45)}
.pa-diff .pa-diff-algo-name{font-size:1rem;font-weight:600;line-height:1.2}
.pa-diff .pa-diff-algo-go{color:#00e2ff;font-size:1rem;transition:transform .3s}
.pa-diff .pa-diff-algo:hover .pa-diff-algo-go{transform:translateX(3px)}
.pa-diff .pa-diff-bts{margin:auto 0 0;padding-top:1.5rem}
.pa-diff .pa-diff-bt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.pa-diff .pa-diff-bt{display:block;border-radius:.75rem;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#16181d;text-decoration:none;color:inherit;transition:border-color .3s}
.pa-diff .pa-diff-bt:hover,.pa-diff .pa-diff-bt:focus-visible{border-color:rgba(0,226,255,.45)}
.pa-diff .pa-diff-bt img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.pa-diff .pa-diff-bt-label{display:block;padding:.45rem .65rem;font-size:12px;line-height:1.35;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-diff .pa-diff-bt-label span{font-weight:400;color:rgba(255,255,255,.6)}.pa-diff .pa-diff-bt-dot{font-style:normal}
.pa-diff .pa-diff-bts figcaption{margin-top:.6rem;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.62);text-align:center}
.pa-diff .pa-diff-tile-kind{display:block;margin-top:.2rem;font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#7af3ff}
.pa-diff .pa-diff-tile-sub{margin-top:.2rem;line-height:1.4}
.pa-diff .pa-diff-lb{position:fixed;inset:0;margin:auto;height:fit-content;width:min(1200px,94vw);max-width:none;max-height:92vh;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:#0b0f1a;color:#fff;overflow:hidden}
.pa-diff .pa-diff-lb::backdrop{background:rgba(2,4,10,.84);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.pa-diff .pa-diff-lb img{display:block;width:100%;height:auto;max-height:calc(92vh - 3rem);object-fit:contain;background:#16181d}
.pa-diff .pa-diff-lb-cap{margin:0;padding:.75rem 1rem;font-size:13px;color:rgba(255,255,255,.7)}
.pa-diff .pa-diff-lb-x{position:absolute;top:.5rem;right:.5rem;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(4,6,12,.75);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer}
@media (max-width:768px){.pa-diff .pa-diff-algo{padding:.7rem .85rem}.pa-diff .pa-diff-algo-name{font-size:.95rem}.pa-diff .pa-diff-bt-grid{gap:.5rem}.pa-diff .pa-diff-bt-label{font-size:11px;padding:.4rem .5rem;white-space:normal;line-height:1.3}.pa-diff .pa-diff-bt-label span{display:block}.pa-diff .pa-diff-bt-dot{display:none}.pa-diff .pa-diff-tile-kind{font-size:.64rem;letter-spacing:.04em}.pa-diff .pa-diff-lb-x{width:2rem;height:2rem;font-size:1.1rem;top:.35rem;right:.35rem}.pa-diff .pa-diff-lb-cap{font-size:12px;padding:.6rem .8rem}}

/* nav: TradingView-only items sit under their own quiet sub-label in the Platform column (W-D017) */
.pa-nav-mega-h.pa-nav-mega-h--tv{margin-top:.8rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.07);
  font-weight:500;color:rgba(255,255,255,.55)}

/* Pricing, more defined (owner, direct W-D020). Everything is gated on .pa-pricing (homepage #pricing + /pricing).
   Anchor: #pricing sits on the section head, so "Get Access" stops with the trust pill just under the nav
   and the card in view, instead of on the empty top padding and the proof strip. */
.pa-pricing .pa-section-head[id]{scroll-margin-top:6rem}
@media (max-width:768px){.pa-pricing .pa-section-head[id]{scroll-margin-top:5.25rem}}
/* The scroll reveal starts this head 22px low and the browser aims at that shifted box, so the anchor keeps the fade only */
.pa-pricing .pa-section-head[id].pa-sr{transform:none}

/* Discord proof strip: the images are cropped to the Discord card, so the ring sits on the card's own edge
   (the old files carried a transparent margin and the frame floated ~6px outside the card). The radius is
   the card's baked corner (58px on a 770 x 549 image) as a percentage, so it scales with the tile. */
.pa-testimonial-marquee--pricing{padding:1rem 0 1.5rem;margin-bottom:1.5rem}
.pa-testimonial-marquee--pricing .pa-testimonial-shot{
  height:clamp(10.5rem,16vw,13.5rem);border-radius:7.53%/10.56%;background:#1b1a1f;
  border:1px solid rgba(255,255,255,.1);border-top-color:rgba(255,255,255,.18);
  box-shadow:0 0 0 1px rgba(0,0,0,.5),0 4px 10px rgba(0,4,16,.45),0 22px 44px -6px rgba(0,4,16,.7),0 0 36px rgba(0,226,255,.06)}
.pa-testimonial-marquee--pricing .pa-testimonial-shot:hover{transform:translateY(-6px);
  border-color:rgba(0,226,255,.34);border-top-color:rgba(122,243,255,.5);
  box-shadow:0 0 0 1px rgba(0,0,0,.5),0 8px 18px rgba(0,4,16,.5),0 30px 60px -8px rgba(0,4,16,.75),0 0 48px rgba(0,226,255,.16)}
@media (max-width:760px){.pa-testimonial-marquee--pricing .pa-testimonial-shot{height:clamp(8rem,32vw,10rem)}
  .pa-testimonial-marquee--pricing .pa-testimonial-shot:hover{transform:none}}

/* Featured card: a solid frosted body so the field never reads through, a fixed gradient ring (bright top
   edge falling to blue at the base, no motion), a top-lit inner sheen and a two-stage drop shadow. */
.pa-pricing .pa-price-card.pa-featured{
  background:
    radial-gradient(120% 42% at 50% 0%,rgba(0,226,255,.13),transparent 70%),
    linear-gradient(180deg,rgba(0,226,255,.06),rgba(0,63,245,.15) 60%,rgba(0,50,190,.2)),
    rgba(5,10,26,.62);
  -webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%);
  border-color:transparent;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 2px 6px rgba(0,4,16,.5),
    0 40px 90px -24px rgba(0,8,40,.9),
    0 24px 110px rgba(0,63,245,.3),
    0 0 70px rgba(0,226,255,.13)}
.pa-pricing .pa-price-card.pa-featured::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,rgba(122,243,255,.85),rgba(0,226,255,.42) 30%,rgba(0,140,255,.38) 70%,rgba(30,90,255,.6));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
/* Price block: struck reference + Save pill share the first line, the price owns the second */
.pa-pricing .pa-price-card .pa-price:has(.pa-nt-anchor:not([hidden]))::before{content:"";order:2;flex-basis:100%;height:0}
.pa-pricing .pa-price-card .pa-nt-anchor{order:0;font-size:1.25rem}
.pa-pricing .pa-price-card .pa-nt-off{order:1;margin-left:0}
.pa-pricing .pa-price-card .pa-price-num{order:3;line-height:1.05}
.pa-pricing .pa-price-card .pa-price-per{order:4}
.pa-pricing .pa-price-card .pa-price{row-gap:.3rem!important;margin-bottom:.6rem}
.pa-pricing .pa-price-card :is(.pa-nt-save,.pa-nt-basis,.pa-nt-renew,.pa-nt-terms){text-wrap:pretty}
/* A hairline between the offer and the feature list */
.pa-pricing .pa-price-card.pa-featured ul{margin-top:.85rem;padding-top:1.15rem;
  background:linear-gradient(90deg,transparent,rgba(0,226,255,.32) 50%,transparent) top/100% 1px no-repeat}
/* Under the button, two tiers (owner, direct W-D022): the renewal terms stay right under the button and read
   first, balanced over two even lines; the legal line sits below a faint neutral hairline, smaller and quieter,
   so the two no longer stack into one block. Wording unchanged */
.pa-pricing .pa-price-card .pa-nt-renew{margin-top:.8rem;font-size:.8rem;line-height:1.5;color:rgba(255,255,255,.66);text-wrap:balance}
.pa-pricing .pa-price-card .pa-nt-terms{margin-top:.9rem;padding-top:.85rem;font-size:.6875rem;line-height:1.5;color:rgba(255,255,255,.46);text-wrap:balance;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 50%,transparent) top/70% 1px no-repeat}
.pa-pricing .pa-price-card .pa-nt-terms a{color:rgba(255,255,255,.62);text-decoration-color:rgba(255,255,255,.28);text-decoration-thickness:1px}
.pa-pricing .pa-price-card .pa-nt-terms a:hover{color:#fff;text-decoration-color:rgba(255,255,255,.7)}
/* Checkout trust box: same frosted depth as the card, quieter */
.pa-pricing .pa-checkout-trust{background:rgba(6,10,22,.6);border-color:rgba(255,255,255,.08);
  -webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 20px 50px -12px rgba(0,4,16,.6)}
/* /quantum-edge migration status (owner, W-D031): an indeterminate "in progress" bar, never a percentage or a date.
   Scoped to .pa-qe-migrate, which only that page uses */
.pa-qe-migrate{margin:28px auto 0;max-width:31rem;padding:16px 22px 18px;border-radius:14px;text-align:center;
  border:1px solid rgba(0,226,255,.16);background:rgba(6,12,26,.55);
  -webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 22px 50px -20px rgba(0,8,40,.85),0 0 60px -30px rgba(0,226,255,.35)}
.pa-qe-migrate-head{display:flex;align-items:center;justify-content:center;gap:9px}
.pa-qe-migrate-dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--pa-cyan);flex:none}
.pa-qe-migrate-dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(0,226,255,.55);
  animation:pa-qe-ping 2.4s ease-out infinite}
.pa-qe-migrate-tag{font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--pa-cyan)}
.pa-qe-migrate-title{margin:8px 0 14px;font-size:1.0625rem;font-weight:500;color:#fff;letter-spacing:-.005em}
.pa-qe-migrate-bar{position:relative;height:3px;border-radius:3px;overflow:hidden;background:rgba(255,255,255,.07)}
.pa-qe-migrate-bar span{position:absolute;top:0;bottom:0;left:0;width:38%;border-radius:inherit;
  background:linear-gradient(90deg,rgba(0,226,255,0),rgba(0,226,255,.95) 55%,rgba(122,243,255,1) 70%,rgba(0,226,255,0));
  transform:translateX(-100%);animation:pa-qe-sweep 2.6s cubic-bezier(.45,0,.25,1) infinite}
.pa-qe-migrate-note{margin:14px 0 0;font-size:.8125rem;line-height:1.55;color:var(--pa-mute);text-wrap:balance}
@keyframes pa-qe-sweep{to{transform:translateX(265%)}}
@keyframes pa-qe-ping{0%{transform:scale(.6);opacity:.9}70%,100%{transform:scale(1.5);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .pa-qe-migrate-bar span{animation:none;transform:none;width:100%;opacity:.35}
  .pa-qe-migrate-dot::after{animation:none;opacity:0}}
/* D-A433 add-on (CMO spec 2026-10-31) + D-A444 (owner): NT logo | divider | the live site's TradingView logo (unmodified); >=18px clear space round the logo; platform labels; per-image TradingView credit (>=13px). */
.pa-compat.pa-compat--both{gap:20px}
.pa-compat-logo.pa-tv-logo{height:1.45rem;width:auto;filter:none;opacity:1;transform:translateY(2%)}
.pa-compat-sep{flex:none;width:1px;height:1.15rem;background:rgba(255,255,255,.2)}
@media (max-width:560px){.pa-compat-logo.pa-tv-logo{height:1.225rem}.pa-compat-sep{height:1rem}}
/* <=900px the hero bottom fade (.pa-hero::after, z1) painted over the z1 hero content and dimmed both logos ~30%; lift only a hero holding the both-logos pill */
@media (max-width:900px){.pa-hero .pa-hero-inner:has(.pa-compat--both){z-index:2}}
@media (max-width:560px){.pa-compat.pa-compat--both{flex-wrap:wrap;justify-content:center;row-gap:.6rem;column-gap:20px;border-radius:1.25rem}.pa-compat--both .pa-compat-label{flex-basis:100%;text-align:center}}
.pa-nt-platform{font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--pa-mute);text-align:center;margin:0 auto .9rem}
.pa-tv-curves{margin-top:0}
.pa-nt-curves + .pa-nt-platform{margin-top:2.5rem}
@media (min-width:760px){.pa-tv-curves{grid-template-columns:1fr}}
.pa-tv-credit{font-size:13px;line-height:1.5;margin:.35rem auto 0;text-align:center;opacity:.85}
