/* /pricing on the CHAINED system (owner 2026-11-07: "upgrade the pricing page … still bland … the pages resemble each other").
   body.pr2, loaded after pricing.css and sys.css (brand.css loads last). The three plans hang from the homepage's chrome chain by
   black clips; the assessment card carries the electric-violet edge; prices at display size; a four-step "what happens next"
   timeline; the comparison table and FAQ in the homepage's crisp dark style. Copy is unchanged; only the arrangement is new. */

/* hero: tighter, the homepage's type */
.pr2 .pr-hero { padding-block: clamp(56px, 7vw, 104px) clamp(24px, 3vw, 40px); }
.pr2 .pr-hero h1 { font-size: clamp(44px, 6vw, 88px); line-height: .98; max-width: 14ch; }
.pr2 .pr-hero .lede { max-width: 36em; color: #ADA9BE; }

/* the rack: a chain rail across the band, the plans hanging from it */
.pr2 .pr2-rack { position: relative; padding-block: clamp(32px, 4vw, 56px) clamp(24px, 3vw, 40px); background: radial-gradient(120% 70% at 50% 0%, #1F0C4A 0%, #120A2A 45%, #0A0A0F 85%) !important; overflow: clip; }
.pr2 .pr2-rack .sys-head { margin-bottom: clamp(28px, 3vw, 44px); }
.pr2 .pr2-hang { position: relative; padding-top: 18px; }
.pr2 .pr2-hang .pr2-rail { position: absolute; left: 50%; top: 0; transform: translateX(-50%); margin: 0; z-index: 1; }   /* beats brand.css's full-bleed margin, which loads later */
.pr2 .pr2-hang .pc-grid { position: relative; z-index: 2; align-items: start; padding-top: clamp(22px, 2vw, 30px); }
.pr2 .pr2-hang .pc { margin-top: 0; border-radius: 22px; transform-origin: 50% -24px; }
/* the clip: black metal with a chrome edge, biting the card's top edge (on .pc-in: .pc::before is the assessment card's glow) */
.pr2 .pr2-hang .pc .pc-in::after { content: ""; position: absolute; left: 50%; top: -34px; z-index: 4; width: 74px; height: 46px; margin-left: -37px; border-radius: 5px 5px 4px 4px;
  background: linear-gradient(180deg, #34323f 0%, #15141b 38%, #0b0a10 100%); box-shadow: inset 0 2px 0 #d9d5ea, inset 0 -1px 0 rgba(255,255,255,.08), 0 8px 14px -4px rgba(0,0,0,.75); }
.pr2 .pr2-hang .pc .pc-in::before { content: ""; position: absolute; left: 50%; top: -48px; width: 44px; height: 30px; margin-left: -22px; border: 3px solid #bdb8cf; border-bottom: 0; border-radius: 22px 22px 0 0; z-index: 3; }
.pr2 .pr2-hang .pc .pc-in { overflow: visible; }
/* the cards: dark panels with a violet hairline; the assessment lit in electric violet */
.pr2 .pc { background: rgba(124,92,255,.28); box-shadow: 0 40px 80px -40px rgba(0,0,0,.9); }
.pr2 .pc .pc-in { background: linear-gradient(180deg, #17142199 0%, #100E18 100%), #100E18; border-radius: 21px; }
.pr2 .pc-hero { background: linear-gradient(160deg, #9C80FF 0%, #6A3BFF 45%, #3F22C9 100%); box-shadow: 0 0 0 1px rgba(156,128,255,.5), 0 30px 90px -30px rgba(106,59,255,.85); }
.pr2 .pc-hero::before { display: none; }
.pr2 .pr2-hang .pc, .pr2 .pr2-hang .pc-hero { overflow: visible; }
.pr2 .pc-hero .pc-in { background: radial-gradient(120% 60% at 50% 0%, rgba(106,59,255,.32), transparent 60%), #120E22; }
.pr2 .pc-name { font: 700 clamp(20px, 1.8vw, 26px)/1.2 "General Sans", "Geist", sans-serif !important; letter-spacing: -.025em; }
.pr2 .pc-amt { font: 700 clamp(42px, 4vw, 58px)/1 "General Sans", "Geist", sans-serif; letter-spacing: -.05em; color: #fff; }
.pr2 .pc-hero .pc-amt { font-size: clamp(56px, 5.6vw, 80px); }
.pr2 .pc-badge { color: #fff; background: #6A3BFF; border: 0; font-weight: 700; }
.pr2 .pc-credit { background: rgba(124,92,255,.12); border: 1px solid rgba(124,92,255,.35); color: #E6DEFF; }
@media (hover: hover) and (pointer: fine) { .pr2 .pr2-hang .pc { transition: transform .5s cubic-bezier(.16,1,.3,1); } .pr2 .pr2-hang .pc:hover { transform: rotate(-.6deg) translateY(2px); } }
@media (max-width: 979px) {
  .pr2 .pr2-hang .pc-grid { gap: 52px; }   /* room for each card's own clip when they stack */
  .pr2 .pr2-rail { top: 0; }
}

/* what happens next: a numbered rail of four steps */
.pr2 .pr2-steps { padding-block: clamp(56px, 6vw, 88px); }
.pr2 .pr2-tl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; counter-reset: s; position: relative; }
.pr2 .pr2-tl::before { content: ""; position: absolute; left: 0; right: 0; top: 27px; height: 2px; background: linear-gradient(90deg, #6A3BFF, rgba(124,92,255,.15)); }
.pr2 .pr2-tl li { position: relative; padding: 0 4px; }
.pr2 .pr2-n { position: relative; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; font-size: 18px; color: #fff; background: #120E22; border: 2px solid #6A3BFF; box-shadow: 0 0 0 6px #0A0A0F; }
.pr2 .pr2-tl li:first-child .pr2-n { background: #6A3BFF; }
.pr2 .pr2-tl h3 { margin: 22px 0 8px; font: 700 21px/1.25 "General Sans", "Geist", sans-serif; letter-spacing: -.02em; color: #fff; }
.pr2 .pr2-tl p { margin: 0; font-size: 16px; line-height: 1.6; color: #ADA9BE; max-width: none; }
@media (max-width: 900px) {
  .pr2 .pr2-tl { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .pr2 .pr2-tl::before { left: 27px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; background: linear-gradient(180deg, #6A3BFF, rgba(124,92,255,.15)); }
  .pr2 .pr2-tl li { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 18px; }
  .pr2 .pr2-n { grid-row: span 2; }
  .pr2 .pr2-tl h3 { margin-top: 14px; }
}

/* the comparison table: crisp hairlines, 44 px rows, tabular numbers, the assessment column lit */
.pr2 .sys-table { border-collapse: separate; border-spacing: 0; border: 1px solid rgba(124,92,255,.28); border-radius: 18px; background: #0F0D16; }   /* no overflow: hidden — it would capture the sticky header */
.pr2 .sys-table thead tr:first-child > :first-child { border-top-left-radius: 17px; } .pr2 .sys-table thead tr:first-child > :last-child { border-top-right-radius: 17px; }
.pr2 .sys-table tbody tr:last-child > * { border-bottom: 0; } .pr2 .sys-table tbody tr:last-child > :first-child { border-bottom-left-radius: 17px; } .pr2 .sys-table tbody tr:last-child > :last-child { border-bottom-right-radius: 17px; }
.pr2 .sys-table th, .pr2 .sys-table td { padding-block: 13px; min-height: 44px; border-bottom: 1px solid rgba(255,255,255,.07); font-variant-numeric: tabular-nums; }
.pr2 .sys-table thead th { background: #14111F; font-family: "General Sans", "Geist", sans-serif; font-weight: 700; }
.pr2 .sys-table thead th small { color: #B9A3FF; font-weight: 600; }
.pr2 .sys-table tbody tr:hover > * { background: rgba(124,92,255,.06); }
.pr2 .sys-table tr > :nth-child(2) { background-color: rgba(106,59,255,.07); }
.pr2 .sys-table .yes { color: #B9A3FF; font-weight: 700; }
.pr2 .sys-table .sys-grp th { color: #B9A3FF; letter-spacing: .1em; text-transform: uppercase; font-size: 12px; }

/* the refund statement and the lines under it */
.pr2 .sys-say-sec .sys-say { font-family: "General Sans", "Geist", sans-serif; font-weight: 700; letter-spacing: -.035em; }

/* FAQ: clean accordion, violet plus */
.pr2 .pf { border-top: 1px solid rgba(255,255,255,.1); }
.pr2 .pf-q { border: 0; border-bottom: 1px solid rgba(255,255,255,.1); border-radius: 0; background: transparent; }
.pr2 .pf-q > summary { min-height: 64px; padding: 18px 44px 18px 0; font: 600 18px/1.35 "General Sans", "Geist", sans-serif; color: #fff; position: relative; list-style: none; }
.pr2 .pf-q > summary::-webkit-details-marker { display: none; }
.pr2 .pf-q > summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font: 400 28px/1 "General Sans", sans-serif; color: #9C80FF; transition: transform .25s ease; }
.pr2 .pf-q[open] > summary::after { transform: translateY(-50%) rotate(45deg); }
.pr2 .pf-a p { color: #ADA9BE; font-size: 16px; line-height: 1.65; }

/* the close: a broken rail over the last call */
.pr2 .pr-close { position: relative; padding-top: clamp(72px, 7vw, 104px); }
.pr2 .pr-close h2 { font-size: clamp(36px, 4.6vw, 68px); }
@media (prefers-reduced-motion: reduce) { .pr2 .pr2-hang .pc, .pr2 .pf-q > summary::after { transition: none !important; transform: none !important; } }
.pr2 .pr-close .pr2-close-rail { position: absolute; left: 50%; top: 24px; transform: translateX(-50%); margin: 0; opacity: .9; }
.pr2 .sys-table th, .pr2 .sys-table td { vertical-align: middle; }
/* the calculator, in the brand's panels (it read as an empty dark slice) */
.pr2 .calc-sec { background: linear-gradient(180deg, #0F0D16 0%, #140F26 100%) !important; }
.pr2 .calc-row { background: linear-gradient(180deg, rgba(124,92,255,.14), rgba(124,92,255,.05)), #120E1E; border: 1px solid rgba(124,92,255,.38); border-radius: 18px; }
.pr2 .calc-val { font-family: "General Sans", "Geist", sans-serif; font-weight: 700; letter-spacing: -.035em; color: #fff; font-variant-numeric: tabular-nums; }
.pr2 .calc-form input { background: #120E1E; border-color: rgba(124,92,255,.38); border-radius: 12px; }
/* phones: "One time" sits beside its badge, not in the corner the Ask Main button covers */
@media (max-width: 640px) { html body.br .pc-k { justify-content: flex-start; gap: 12px; } }
