/* Review page styles from static site */
html { scroll-behavior: smooth; }
    body { font-family: "General Sans", system-ui, sans-serif; background: #f5f6fc; -webkit-font-smoothing: antialiased; }
    h1, h2, h3 { font-family: "Sora", "General Sans", sans-serif; letter-spacing: -.02em; }
    h2 { font-weight: 600; }
    [data-icon] { width: 22px; height: 22px; display: inline-block; }
    /* borderless modern surface: separation via shadow + subtle ring, not hard borders */
    .surface { background: #fff; box-shadow: 0 0 0 1px rgba(11,16,48,.04), 0 1px 2px rgba(11,16,48,.04), 0 14px 34px -16px rgba(11,16,48,.16); }
    .surface-soft { background: #fff; box-shadow: 0 0 0 1px rgba(11,16,48,.035), 0 8px 24px -14px rgba(11,16,48,.12); }
    .divide-hair > * + * { border-top: 1px solid rgba(11,16,48,.06); }
    .grad-frame {
      border: 1px solid transparent;
      background: linear-gradient(#fff,#fff) padding-box,
        linear-gradient(135deg, rgba(75,83,224,.55), rgba(124,132,251,.25)) border-box;
    }
    .btn {
      transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, background-color .22s ease, filter .22s ease;
    }
    .btn:hover { transform: translateY(-2px) scale(1.025); }
    .btn:active { transform: translateY(0) scale(.97); }
    .btn-glow-brand:hover { box-shadow: 0 18px 36px -10px rgba(75,83,224,.55); filter: brightness(1.06); }
    .btn-ghost:hover { background: rgba(75,83,224,.07); border-color: rgba(75,83,224,.4); }
    .nav-link { position: relative; padding-bottom: 3px; }
    .nav-link::after {
      content: ""; position: absolute; left: 0; bottom: -2px; height: 2px; width: 0%;
      background: linear-gradient(90deg, #4b53e0, #7c84fb); transition: width .25s ease; border-radius: 2px;
    }
    .nav-link:hover::after { width: 100%; }
    .prose-body { color: #4a567c; }
    .prose-body p { font-size: 1rem; line-height: 1.75; margin: 0 0 1rem; }
    /* Spacing when `prose-body` sits on the <p> itself (Tailwind preflight zeroes <p> margins). */
    p.prose-body { line-height: 1.75; }
    .prose-body + .prose-body { margin-top: 1rem; }
    .prose-body b { color: #0b1030; font-weight: 600; }
    .toc-link.is-active { background: rgba(75,83,224,.08); color: #383dc0; font-weight: 600; }

    /* ---------- FAQ (native details, bulletproof collapse) ---------- */
    .faq-item { overflow: hidden; }
    .faq-item > summary { list-style: none; cursor: pointer; }
    .faq-item > summary::-webkit-details-marker { display: none; }
    .faq-item .faq-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .32s cubic-bezier(.2,.8,.2,1); }
    .faq-item .faq-body > div { overflow: hidden; }
    .faq-item[open] .faq-body { grid-template-rows: 1fr; }
    .faq-item[open] .faq-chevron { transform: rotate(45deg); background: #4b53e0; color: #fff; border-color: #4b53e0; }
    .faq-item[open] > summary { color: #383dc0; }

    /* ---------- score donut ---------- */
    .score-donut { transform: rotate(-90deg); }
    .score-donut .arc { stroke-dasharray: 327; stroke-dashoffset: 327; animation: arcFill 1.1s cubic-bezier(.2,.8,.2,1) .15s forwards; }
    @keyframes arcFill { to { stroke-dashoffset: 26; } }
    .crange { -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border-radius: 999px; outline: none; cursor: pointer;
      background: linear-gradient(90deg, #4b53e0 0%, #7c84fb var(--p,50%), #dfe3f0 var(--p,50%), #dfe3f0 100%); }
    .crange::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%;
      background: #fff; border: 3px solid #4b53e0; box-shadow: 0 4px 12px rgba(75,83,224,.45); }
    .crange::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 3px solid #4b53e0; }
    .deposit-step::before {
      content: ""; position: absolute; left: 23px; top: 48px; bottom: -8px; width: 2px;
      background: linear-gradient(180deg, #c6ccff, transparent);
    }
    .deposit-step:last-child::before { display: none; }
    @keyframes scorePop { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: none; } }
    .score-pop { animation: scorePop .6s cubic-bezier(.2,.8,.2,1) both; }
    #stickyCta { transition: transform .3s ease, opacity .3s ease; }
    #stickyCta.is-hidden { transform: translateY(110%); opacity: 0; pointer-events: none; }

    /* ---------- data tables (site blue) ---------- */
    .cca-table { border-collapse: separate; border-spacing: 0; }
    .cca-table thead { background: linear-gradient(90deg, #383dc0 0%, #6b73f5 100%); }
    .cca-table thead th { color: #fff; letter-spacing: .06em; }
    .cca-table thead th:first-child { border-top-left-radius: 14px; }
    .cca-table thead th:last-child { border-top-right-radius: 14px; }
    .cca-table tbody tr { transition: background .15s ease; }
    .cca-table tbody tr:hover { background: rgba(75, 83, 224, .06); }
    