:root {
      --rx-accent: #FA773C;
      --rx-accent-deep: #b04a17;
      --rx-deep: #8a3a12;
      --rx-teal: #00B3A4;
      --rx-teal-deep: #0e5f5a;
    }
    .rx-callout { padding: 18px 22px; border-left: 4px solid var(--rx-accent); background: var(--ys-bg-soft); border-radius: 0 10px 10px 0; margin: 16px 0; }
    .rx-callout.teal { border-left-color: var(--rx-teal); background: rgba(0,179,164,0.06); }
    .rx-callout.warn { border-left-color: #c69b1a; background: #fdf6e0; }
    .rx-callout.coach { border-left-color: var(--wf-coral); background: rgba(250,119,60,0.06); }
    .rx-callout-tag { font-family: var(--ys-font-display); letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.72rem; color: var(--rx-accent-deep); margin-bottom: 6px; }
    .rx-callout.teal .rx-callout-tag { color: var(--rx-teal-deep); }
    .rx-callout.warn .rx-callout-tag { color: #a07712; }
    .rx-callout.coach .rx-callout-tag { color: var(--wf-coral); }
    .rx-callout p { margin: 0 0 8px; }
    .rx-callout p:last-child { margin-bottom: 0; }

    .rx-idea { background: linear-gradient(135deg, var(--ys-navy) 0%, var(--rx-deep) 100%); color: #fff; border-radius: 16px; padding: 34px 36px; }
    .rx-idea h3 { color: #fff; font-family: var(--ys-font-display); font-size: 1.5rem; margin: 0 0 14px; letter-spacing: 0.01em; }
    .rx-idea p { color: rgba(255,255,255,0.92); margin: 0 0 12px; font-size: 1.04rem; line-height: 1.62; }
    .rx-idea p:last-child { margin-bottom: 0; }
    .rx-idea strong { color: #fff; }

    /* class family cards */
    .rx-class { background: #fff; border: 1px solid var(--ys-line); border-radius: 14px; padding: 24px 26px; box-shadow: 0 1px 3px rgba(47,45,86,0.06); margin-bottom: 18px; }
    .rx-class > h3 { margin: 0 0 4px; font-family: var(--ys-font-display); color: var(--ys-navy); font-size: 1.28rem; }
    .rx-class .rx-class-kit { font-size: 0.92rem; color: var(--ys-muted); margin: 0 0 14px; }
    .rx-level { display: grid; grid-template-columns: 90px 1fr; gap: 16px; padding: 10px 0; border-top: 1px dashed rgba(47,45,86,0.12); align-items: baseline; }
    .rx-level:first-of-type { border-top: 0; }
    .rx-level .rx-level-code { font-family: var(--ys-font-display); font-weight: 700; color: var(--rx-accent-deep); font-size: 0.96rem; }
    .rx-level .rx-level-desc { color: var(--ys-navy); font-size: 0.93rem; line-height: 1.5; }
    @media (max-width: 520px) { .rx-level { grid-template-columns: 1fr; gap: 3px; } }

    .rx-dist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 720px; margin: 0 auto; }
    @media (max-width: 560px) { .rx-dist { grid-template-columns: 1fr; } }
    .rx-dist-cell { background: #fff; border: 1px solid var(--ys-line); border-top: 4px solid var(--rx-accent); border-radius: 12px; padding: 20px; text-align: center; }
    .rx-dist-cell .rx-dist-num { font-family: var(--ys-font-display); font-weight: 800; color: var(--ys-navy); font-size: 2rem; line-height: 1; }
    .rx-dist-cell .rx-dist-lab { font-family: var(--ys-font-display); letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.72rem; color: var(--rx-accent-deep); margin-top: 8px; }

    .rx-faq { max-width: 820px; margin: 0 auto; }
    .rx-faq-item { border-top: 1px solid var(--ys-line); padding: 16px 2px; }
    .rx-faq-item:last-child { border-bottom: 1px solid var(--ys-line); }
    .rx-faq-item h3 { font-family: var(--ys-font-display); color: var(--ys-navy); font-size: 1.05rem; margin: 0 0 6px; }
    .rx-faq-item p { margin: 0; color: var(--ys-navy); line-height: 1.6; }

    .rx-cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
    @media (max-width: 700px) { .rx-cta-grid { grid-template-columns: 1fr; } }
    .rx-cta-card { background: #fff; border: 1px solid var(--ys-line); border-radius: 14px; padding: 26px 28px; box-shadow: 0 4px 14px rgba(47,45,86,0.08); }
    .rx-cta-card.featured { background: linear-gradient(135deg, var(--rx-deep) 0%, var(--rx-accent) 100%); color: #fff; border: 0; }
    .rx-cta-card.featured h3, .rx-cta-card.featured p { color: #fff; }
    .rx-cta-meta { font-family: var(--ys-font-display); letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.7rem; color: var(--rx-accent-deep); margin-bottom: 8px; }
    .rx-cta-card.featured .rx-cta-meta { color: rgba(255,255,255,0.85); }
    .rx-cta-card h3 { font-family: var(--ys-font-display); color: var(--ys-navy); margin: 0 0 6px; font-size: 1.24rem; }
    .rx-cta-card p { margin: 0 0 14px; }