html:has(#rjaup), body:has(#rjaup) { overflow-x: hidden; }

/* ─────────────────────────────────────────────────────────────
   ROOT TOKENS (all scoped under #rjaup)
───────────────────────────────────────────────────────────── */
#rjaup {
  /* Primary — indigo/violet to differentiate from RJAP blue */
  --ind:        #0070ba;
  --ind-dk:     #003087;
  --ind-soft:   #eef9ff;
  --ind-bdr:    #b8d9f0;

  /* Accent — emerald green for SSO / success signals */
  --grn:        #059669;
  --grn-soft:   #d1fae5;
  --grn-bdr:    #6ee7b7;

  /* Accent 2 — amber for Pro / highlights */
  --amb:        #d97706;
  --amb-soft:   #fef3c7;

  /* Accent 3 — rose for auth/security signals */
  --ros:        #db2777;
  --ros-soft:   #fce7f3;

  /* Neutrals */
  --heading:    #17213c;
  --text:       #2d2f45;
  --dim:        #5b6072;
  --dimmer:     #8390a8;
  --border:     #d4d8ee;
  --bdr-soft:   #e8eaf6;
  --surface:    #ffffff;
  --shadow-sm:  0 12px 32px -26px rgba(79,70,229,.28);
  --shadow-md:  0 22px 56px -34px rgba(79,70,229,.38);

  /* Section backgrounds — cooler indigo-tinted steps */
  --bg0: #f4f8fc;
  --bg1: #eaf3fa;
  --bg2: #deedf7;
  --bg3: #d2e6f3;

  font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  color: var(--text);
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow-x: hidden;
  background:
    radial-gradient(circle at 80% 4%, rgba(0,112,186,.08), transparent 28%),
    linear-gradient(180deg, var(--bg0), #e8f4fb 44%, var(--bg1));
  -webkit-font-smoothing: antialiased;
}
#rjaup *, #rjaup *::before, #rjaup *::after { box-sizing: border-box; }
#rjaup a    { color: inherit; text-decoration: none; }
#rjaup ul, #rjaup ol { list-style: none; margin: 0; padding: 0; }
#rjaup p    { margin: 0; }
#rjaup img  { max-width: 100%; display: block; }
#rjaup h1, #rjaup h2, #rjaup h3, #rjaup h4, #rjaup h5 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 500;
  line-height: 1.2;
  color: var(--heading);
  margin: 0;
}
#rjaup h1 { font-size: clamp(30px, 4.2vw, 50px); font-weight: 700; }
#rjaup h2 { font-size: clamp(26px, 3.4vw, 42px); }
#rjaup h3 { font-size: clamp(19px, 2.4vw, 26px); }
#rjaup h4 { font-size: 19px; }
#rjaup h5 { font-size: 16px; }

/* ─────────────────────────────────────────────────────────────
   LAYOUT
───────────────────────────────────────────────────────────── */
#rjaup .wrap       { max-width: 1180px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 2; }
#rjaup section     { padding: 88px 0; position: relative; overflow: hidden; isolation: isolate; }
#rjaup .sec-head   { margin-bottom: 48px; }
#rjaup .sec-head.center { text-align: center; }
#rjaup .sec-head.center .lede { margin: 14px auto 0; }
#rjaup .lede       { font-size: 18px; color: var(--dim); max-width: 640px; margin-top: 14px; }
#rjaup .eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'JetBrains Mono', monospace; font-size: 11.5px;
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--ind-dk); background: var(--ind-soft);
  border: 1px solid var(--ind-bdr); padding: 5px 12px;
  border-radius: 999px; margin-bottom: 16px;
}
#rjaup .mono { font-family: 'JetBrains Mono', monospace; }
#rjaup .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
#rjaup .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
#rjaup .grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
#rjaup .bg0 { background: var(--bg0); }
#rjaup .bg1 { background: var(--bg1); }
#rjaup .bg2 { background: var(--bg2); }
#rjaup .bg3 { background: var(--bg3); }
#rjaup .full-bleed { width: 100%; margin-left: 0; margin-right: 0; }
#rjaup .hero-banner {
  background: #dddaff;
  border-bottom: 2px solid var(--ind-bdr);
  overflow: hidden;
}
#rjaup .hero-banner img { display: block; width: 100%; max-width: none; height: auto; }

/* ─────────────────────────────────────────────────────────────
   DUAL MESH BACKGROUND SYSTEM
   bg-blue-analytics.svg and API-nodes-mesh.svg
   used in alternating sections with different hue/position/opacity
───────────────────────────────────────────────────────────── */
#rjaup .mesh {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; z-index: 0; overflow: hidden;
}
#rjaup .mesh img {
  position: absolute;
  max-width: none; max-height: none;
  object-fit: cover;
  mix-blend-mode: multiply; opacity: .42;
  filter: saturate(1.1) contrast(1.02);
}

/* Mesh A — API-nodes-mesh.svg: full cover, standard placement */
#rjaup .mesh-a img {
  inset: -7%; width: 114%; height: 114%;
  object-position: center;
  filter: hue-rotate(260deg) saturate(1.3) contrast(1.02);
  opacity: .38;
}
/* Mesh B — bg-blue-analytics.svg: positioned to one side */
#rjaup .mesh-b img {
  inset: auto; bottom: -10%; right: -8%;
  width: 72%; height: 130%;
  object-fit: contain; object-position: right bottom;
  filter: hue-rotate(30deg) saturate(1.4) contrast(1.0);
  opacity: .32;
  mix-blend-mode: multiply;
}
/* Per-section hue variation */
#rjaup .mesh-v1 img { filter: hue-rotate(210deg) saturate(1.5) contrast(1.02); opacity: .36; }
#rjaup .mesh-v2 img { filter: hue-rotate(285deg) saturate(1.2) contrast(1.03); opacity: .40; }
#rjaup .mesh-v3 img { filter: hue-rotate(150deg) saturate(1.4) contrast(1.01); opacity: .34; }
#rjaup .mesh-v4 img { filter: hue-rotate(320deg) saturate(1.6) contrast(1.02); opacity: .38; }
#rjaup .mesh-v5 img { filter: hue-rotate(60deg)  saturate(1.3) contrast(1.03); opacity: .32; }
#rjaup .mesh-v6 img { filter: hue-rotate(0deg)   saturate(1.5) contrast(1.02); opacity: .36; }
#rjaup .mesh-v7 img { filter: hue-rotate(190deg) saturate(1.2) contrast(1.01); opacity: .38; }
#rjaup .mesh-v8 img { filter: hue-rotate(240deg) saturate(1.4) contrast(1.03); opacity: .34; }

/* Analytics SVG positions — varied per section */
#rjaup .mesh-ba-left img  { inset: auto; bottom: -8%; left: -6%; width: 65%; height: 120%; object-position: left bottom; }
#rjaup .mesh-ba-top  img  { inset: auto; top: -12%; left: 50%; transform: translateX(-50%); width: 80%; height: 110%; object-position: center top; }
#rjaup .mesh-ba-tr   img  { inset: auto; top: -6%; right: -10%; width: 60%; height: 115%; object-position: right top; }

/* ─────────────────────────────────────────────────────────────
   BUTTONS
───────────────────────────────────────────────────────────── */
#rjaup .btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-weight: 600; font-size: 16px; white-space: nowrap;
  padding: 13px 26px; border-radius: 999px; border: 2px solid transparent;
  cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease;
  backface-visibility: hidden;
}
#rjaup .btn:hover { transform: translate3d(0,-2px,0); }
#rjaup .btn-ind   { background: linear-gradient(180deg,#0e8fd4,var(--ind)); color: #fff; border-color: var(--ind); box-shadow: 0 14px 32px -16px rgba(0,112,186,.6); }
#rjaup .btn-ind:hover { background: linear-gradient(180deg,#0070ba,var(--ind-dk)); border-color: var(--ind-dk); }
#rjaup .btn-grn   { background: linear-gradient(180deg,#10b981,var(--grn)); color: #fff; border-color: var(--grn); box-shadow: 0 14px 32px -16px rgba(5,150,105,.6); }
#rjaup .btn-grn:hover { background: linear-gradient(180deg,#059669,#047857); border-color: #047857; }
#rjaup .btn-outline { background: rgba(255,255,255,.18); border-color: var(--ind); color: var(--ind-dk); }
#rjaup .btn-outline:hover { background: rgba(238,242,255,.96); }
#rjaup .btn-sm { padding: 9px 18px; font-size: 14px; }

/* ─────────────────────────────────────────────────────────────
   SECTION NAV
───────────────────────────────────────────────────────────── */
#rjaup .mini-nav {
  position: sticky; top: 0; z-index: 9;
  background: rgba(255,255,255,.9);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(14px);
}
#rjaup .mini-nav-inner {
  display: flex; gap: 6px; align-items: center; justify-content: center;
  max-width: 1160px; margin: 0 auto;
  padding: 12px 24px; flex-wrap: wrap;
}
#rjaup .mini-nav a {
  padding: 7px 11px; border-radius: 7px;
  color: var(--dim); font-size: 13px; font-weight: 600; white-space: nowrap;
  transition: color .15s, background .15s;
}
#rjaup .mini-nav a:hover,
#rjaup .mini-nav a.active { color: var(--ind-dk); background: var(--ind-soft); }

#rjaup .mini-nav {display: unset!important; }

/* ─────────────────────────────────────────────────────────────
   CARDS
───────────────────────────────────────────────────────────── */
#rjaup .card {
  background: rgba(255,255,255,.9); border: 1px solid rgba(212,216,238,.92);
  border-radius: 12px; padding: 24px;
  box-shadow: var(--shadow-sm);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
#rjaup .card:hover { transform: translateY(-3px); border-color: var(--ind-bdr); box-shadow: var(--shadow-md); }
#rjaup .card .ico {
  width: 46px; height: 46px; border-radius: 10px;
  background: var(--ind-soft); display: flex; align-items: center;
  justify-content: center; font-size: 22px; margin-bottom: 16px;
}
#rjaup .card.sso-card { border-color: #bbf0dc; background: linear-gradient(160deg,#fff 52%,#f0fdf9); }
#rjaup .card.sso-card .ico { background: var(--grn-soft); }
#rjaup .card h4 { margin-bottom: 8px; }
#rjaup .card p  { font-size: 15px; color: var(--dim); }
#rjaup .card ul { margin-top: 12px; display: flex; flex-direction: column; gap: 7px; }
#rjaup .card li { font-size: 14px; color: var(--dim); padding-left: 18px; position: relative; }
#rjaup .card li::before { content: ""; position: absolute; left: 0; top: 8px; width: 7px; height: 7px; border-radius: 50%; background: var(--ind); }
#rjaup .card.sso-card li::before { background: var(--grn); }

/* ─────────────────────────────────────────────────────────────
   DIVIDER LABEL
───────────────────────────────────────────────────────────── */
#rjaup .divlabel {
  display: flex; align-items: center; gap: 14px; margin: 0 0 26px;
}
#rjaup .divlabel span {
  font-size: 12px; font-weight: 600; letter-spacing: .07em;
  text-transform: uppercase; color: var(--dimmer); white-space: nowrap;
}
#rjaup .divlabel::before, #rjaup .divlabel::after {
  content: ""; flex: 1; height: 1px; background: var(--border);
}

/* ─────────────────────────────────────────────────────────────
   CONTROLLER CHIPS
───────────────────────────────────────────────────────────── */
#rjaup .ctrl-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 24px; }
#rjaup .ctrl-card {
  background: #fff; border: 1.5px solid var(--border);
  border-radius: 10px; padding: 18px 14px; text-align: center;
}
#rjaup .ctrl-card.on  { border-color: var(--ind); background: var(--ind-soft); }
#rjaup .ctrl-card.grn { border-color: var(--grn); background: var(--grn-soft); }
#rjaup .ctrl-card .cn { font-size: 15px; font-weight: 700; color: var(--heading); margin-bottom: 6px; }
#rjaup .ctrl-card .cc { font-size: 13px; color: var(--dim); }
#rjaup .ctrl-card .cs {
  display: inline-block; margin-top: 8px;
  font-size: 10.5px; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; padding: 2px 9px; border-radius: 999px;
}
#rjaup .ctrl-card.on  .cs { background: var(--ind); color: #fff; }
#rjaup .ctrl-card.grn .cs { background: var(--grn); color: #fff; }
#rjaup .ctrl-card:not(.on):not(.grn) .cs { background: var(--bg2); color: var(--dimmer); }

/* ─────────────────────────────────────────────────────────────
   CHIPS
───────────────────────────────────────────────────────────── */
#rjaup .chips { display: flex; flex-wrap: wrap; gap: 8px; }
#rjaup .chip {
  font-family: 'JetBrains Mono', monospace; font-size: 12.5px;
  background: var(--bg1); border: 1px solid var(--border);
  padding: 5px 11px; border-radius: 7px; color: var(--text);
}
#rjaup .chip.g { background: var(--grn-soft); border-color: var(--grn-bdr); color: #065f46; }
#rjaup .chip.a { background: var(--amb-soft); border-color: #fcd34d; color: #78350f; }
#rjaup .chip.r { background: var(--ros-soft); border-color: #fbcfe8; color: #9d174d; }

/* ─────────────────────────────────────────────────────────────
   ENDPOINT BLOCKS / SPOTLIGHTS
───────────────────────────────────────────────────────────── */
#rjaup .ep-block { background: rgba(255,255,255,.92); border: 1px solid var(--border); border-radius: 10px; padding: 26px; margin-bottom: 20px; box-shadow: var(--shadow-sm); }
#rjaup .ep-block h4 { margin-bottom: 8px; }
#rjaup .ep-desc { font-size: 15px; color: var(--dim); margin-bottom: 18px; max-width: 780px; }
#rjaup .tag-default {
  display: inline-block; font-size: 11px; font-weight: 600;
  color: var(--ind-dk); background: var(--ind-soft);
  border: 1px solid var(--ind-bdr); padding: 3px 10px;
  border-radius: 999px; margin-left: 10px; vertical-align: middle;
}
#rjaup .tag-protected {
  display: inline-block; font-size: 11px; font-weight: 600;
  color: #9d174d; background: var(--ros-soft);
  border: 1px solid #fbcfe8; padding: 3px 10px;
  border-radius: 999px; margin-left: 6px; vertical-align: middle;
}
#rjaup .tag-sso {
  display: inline-block; font-size: 11px; font-weight: 600;
  color: #065f46; background: var(--grn-soft);
  border: 1px solid var(--grn-bdr); padding: 3px 10px;
  border-radius: 999px; margin-left: 6px; vertical-align: middle;
}

/* Spotlight component */
#rjaup .spotlight {
  background: rgba(255,255,255,.94); border: 1px solid var(--ind-bdr);
  border-radius: 12px; overflow: hidden; margin: 22px 0;
  box-shadow: var(--shadow-md);
}
#rjaup .spot-head {
  background: linear-gradient(90deg, var(--ind-soft), #fff);
  padding: 22px 28px; border-bottom: 1px solid var(--ind-bdr);
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
#rjaup .spot-head h3 { font-size: 22px; }
#rjaup .spot-badge {
  font-size: 11px; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; background: var(--ind); color: #fff;
  padding: 4px 11px; border-radius: 999px;
}
#rjaup .spot-badge.grn { background: var(--grn); }
#rjaup .spot-badge.amb { background: var(--amb); }
#rjaup .spot-body { padding: 26px 28px; }
#rjaup .spot-lede { font-size: 16px; color: var(--dim); margin-bottom: 22px; max-width: 740px; }

#rjaup .ep-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
#rjaup .ep-item { background: var(--bg0); border: 1px solid var(--border); border-radius: 10px; padding: 18px; }
#rjaup .ep-method { font-family: 'JetBrains Mono', monospace; font-size: 14px; font-weight: 600; color: var(--ind-dk); margin-bottom: 7px; }
#rjaup .ep-method.grn { color: var(--grn); }
#rjaup .ep-method.ros { color: var(--ros); }
#rjaup .ep-item .d { font-size: 13.5px; color: var(--dim); margin-bottom: 10px; }
#rjaup .ep-item .pl { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--dimmer); margin-bottom: 6px; margin-top: 10px; }
#rjaup .ep-item ul { display: flex; flex-direction: column; gap: 5px; }
#rjaup .ep-item li { font-size: 12.5px; color: var(--dim); }
#rjaup .ep-item li code { font-family: 'JetBrains Mono', monospace; background: var(--bg1); padding: 1px 5px; border-radius: 4px; font-size: 11.5px; color: var(--text); }
#rjaup .spot-note {
  margin-top: 20px; background: var(--ind-soft);
  border: 1px solid var(--ind-bdr); border-radius: 10px;
  padding: 14px 18px; font-size: 14px; color: var(--dim);
}
#rjaup .spot-note b { color: var(--heading); }
#rjaup .spot-note.grn { background: var(--grn-soft); border-color: var(--grn-bdr); }

/* ─────────────────────────────────────────────────────────────
   CODE TABS
───────────────────────────────────────────────────────────── */
#rjaup .lang-tabs { display: flex; gap: 5px; }
#rjaup .lang-tab {
  font-family: 'JetBrains Mono', monospace; font-size: 13px; font-weight: 600;
  color: var(--dimmer); background: var(--bg1); border: 1px solid var(--border);
  border-bottom: none; padding: 9px 18px; border-radius: 8px 8px 0 0;
  cursor: pointer; position: relative; top: 1px;
}
#rjaup .lang-tab.on { color: var(--ind-dk); background: #0d1320; border-color: #0d1320; }
#rjaup .code-wrap { border: 1px solid var(--border); border-radius: 0 14px 14px 14px; overflow: hidden; }
#rjaup .code-pane {
  display: none; background: #0d1320; padding: 22px 24px;
  font-family: 'JetBrains Mono', monospace; font-size: 13.5px;
  line-height: 1.75; overflow-x: auto; color: #dbe3f0;
}
#rjaup .code-pane.on { display: block; }
#rjaup .code-pane .k  { color: #7fd1ff; }
#rjaup .code-pane .s  { color: #9fe8a8; }
#rjaup .code-pane .n  { color: #f3b94a; }
#rjaup .code-pane .c  { color: #6c7a8f; }
#rjaup .code-pane .fn { color: #c9a6ff; }
#rjaup .code-pane .k2 { color: #ff8fa3; }

/* ─────────────────────────────────────────────────────────────
   ADMIN SETTINGS MOCK
───────────────────────────────────────────────────────────── */
#rjaup .settings-shot { background: #fff; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; box-shadow: var(--shadow-md); }
#rjaup .ss-chrome { display: flex; align-items: center; gap: 7px; padding: 10px 14px; background: var(--bg0); border-bottom: 1px solid var(--border); }
#rjaup .ss-chrome .dot { width: 9px; height: 9px; border-radius: 50%; background: #d8dde9; }
#rjaup .ss-chrome .url { margin-left: 8px; font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--dimmer); background: #fff; border: 1px solid var(--border); border-radius: 5px; padding: 3px 10px; }
#rjaup .ss-tabs { display: flex; gap: 3px; padding: 12px 14px 0; border-bottom: 1px solid var(--border); background: var(--bg0); flex-wrap: wrap; }
#rjaup .ss-tab { font-size: 12.5px; font-weight: 600; color: var(--dim); padding: 9px 14px; border-radius: 7px 7px 0 0; position: relative; top: 1px; }
#rjaup .ss-tab.on { background: #fff; border: 1px solid var(--border); border-bottom-color: #fff; color: var(--heading); }
#rjaup .ss-tab.sso-tab { color: var(--grn); background: #f0fdf9; border: 1px solid var(--grn-bdr); border-bottom: none; }
#rjaup .ss-body { padding: 24px 26px; }
#rjaup .ss-field { display: flex; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--bdr-soft); align-items: flex-start; }
#rjaup .ss-field:last-child { border-bottom: none; }
#rjaup .ss-field .lbl { flex: 0 0 155px; font-size: 14px; font-weight: 600; color: var(--heading); padding-top: 2px; }
#rjaup .ss-field .body .d { font-size: 13.5px; color: var(--dim); margin-bottom: 10px; }
#rjaup .ss-input { font-size: 13px; border: 1px solid var(--border); border-radius: 6px; padding: 7px 11px; background: #fff; color: var(--text); font-family: 'Open Sans', sans-serif; }
#rjaup .ss-btn { display: inline-flex; align-items: center; font-size: 12.5px; font-weight: 600; padding: 7px 14px; border: 1px solid var(--border); border-radius: 6px; background: #fff; color: var(--text); cursor: default; }
#rjaup .ss-btn.active { background: var(--grn); color: #fff; border-color: var(--grn); }
#rjaup .tag-new { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: var(--grn); color: #fff; padding: 3px 8px; border-radius: 999px; margin-left: 8px; vertical-align: middle; }

/* ─────────────────────────────────────────────────────────────
   ARCH / FLOW
───────────────────────────────────────────────────────────── */
#rjaup .arch-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 48px; align-items: start; }
#rjaup .arch-pts { display: flex; flex-direction: column; gap: 14px; margin-top: 20px; }
#rjaup .apt { display: flex; gap: 12px; }
#rjaup .apt .n { flex: 0 0 22px; height: 22px; border-radius: 6px; background: var(--ind-soft); border: 1px solid var(--ind-bdr); display: flex; align-items: center; justify-content: center; font-size: 11.5px; font-weight: 700; color: var(--ind-dk); margin-top: 2px; }
#rjaup .apt .body { font-size: 15px; color: var(--dim); }
#rjaup .apt .body b { color: var(--text); }
#rjaup .flow-card { background: rgba(255,255,255,.94); border: 1px solid var(--border); border-radius: 10px; padding: 24px; box-shadow: var(--shadow-md); }
#rjaup .flow-step { position: relative; padding: 12px 14px 12px 17px; border-left: 2px solid var(--border); margin-left: 8px; }
#rjaup .flow-step:last-child { border-color: transparent; }
#rjaup .flow-step::before { content: ""; position: absolute; left: -6.5px; top: 16px; width: 11px; height: 11px; border-radius: 50%; background: #fff; border: 2px solid var(--ind); }
#rjaup .flow-step.sso::before { border-color: var(--grn); }
#rjaup .flow-step.sec::before { border-color: var(--ros); }
#rjaup .flow-hook { font-family: 'JetBrains Mono', monospace; font-size: 12.5px; color: var(--ind-dk); }
#rjaup .flow-step.sso .flow-hook { color: var(--grn); }
#rjaup .flow-step.sec .flow-hook { color: var(--ros); }
#rjaup .flow-desc { font-size: 13.5px; color: var(--dim); margin-top: 4px; }
#rjaup .flow-tag { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: .05em; color: #fff; background: var(--ind); padding: 2px 8px; border-radius: 4px; margin-left: 7px; vertical-align: middle; }
#rjaup .flow-step.sso .flow-tag { background: var(--grn); }
#rjaup .flow-step.sec .flow-tag { background: var(--ros); }

/* ─────────────────────────────────────────────────────────────
   COMPARE TABLE
───────────────────────────────────────────────────────────── */
#rjaup .tbl-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: 10px; box-shadow: var(--shadow-sm); }
#rjaup table.cmp { width: 100%; border-collapse: collapse; background: #fff; min-width: 700px; }
#rjaup table.cmp th, #rjaup table.cmp td { padding: 14px 18px; text-align: center; font-size: 14px; border-bottom: 1px solid var(--bdr-soft); }
#rjaup table.cmp thead th { font-size: 14.5px; font-weight: 700; color: var(--heading); background: var(--bg0); }
#rjaup table.cmp td:first-child, #rjaup table.cmp th:first-child { text-align: left; font-weight: 600; min-width: 220px; position: sticky; left: 0; background: #fff; }
#rjaup table.cmp thead th:first-child { background: var(--bg0); }
#rjaup table.cmp .yes { color: var(--grn); font-weight: 700; font-size: 15px; }
#rjaup table.cmp .no  { color: #c2c8d8; font-size: 16px; }
#rjaup table.cmp .tsub { display: block; font-size: 11.5px; color: var(--dimmer); font-weight: 400; margin-top: 2px; }

/* ─────────────────────────────────────────────────────────────
   PRICING
───────────────────────────────────────────────────────────── */
#rjaup .price-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
#rjaup .pc { background: rgba(255,255,255,.94); border: 1.5px solid var(--border); border-radius: 12px; padding: 30px 26px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); }
#rjaup .pc.feat { border-color: var(--ind); box-shadow: 0 26px 66px -34px rgba(79,70,229,.52); position: relative; transform: translateY(-6px); }
#rjaup .pc .pop { position: absolute; top: -13px; left: 24px; background: var(--ind); color: #fff; font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 999px; }
#rjaup .pc h4 { font-size: 20px; margin-bottom: 4px; }
#rjaup .pc .tgl { font-size: 14px; color: var(--dimmer); }
#rjaup .pc .amt { display: flex; align-items: baseline; gap: 6px; margin: 18px 0 4px; }
#rjaup .pc .num { font-size: 44px; font-weight: 700; color: var(--heading); line-height: 1; }
#rjaup .pc .per { font-size: 14px; color: var(--dimmer); }
#rjaup .pc .doms { font-size: 13px; color: var(--dimmer); margin-bottom: 20px; }
#rjaup .pc ul { flex: 1; display: flex; flex-direction: column; gap: 11px; margin-bottom: 24px; }
#rjaup .pc li { font-size: 14.5px; color: #3a4257; padding-left: 22px; position: relative; }
#rjaup .pc li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--grn); font-weight: 700; font-size: 13px; }
#rjaup .pc .btn { justify-content: center; width: 100%; }

/* ─────────────────────────────────────────────────────────────
   TESTIMONIALS
───────────────────────────────────────────────────────────── */
#rjaup .testi-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
#rjaup .testi-card { background: rgba(255,255,255,.92); border: 1px solid var(--border); border-radius: 10px; padding: 26px; box-shadow: var(--shadow-sm); }
#rjaup .testi-stars { color: #f59e0b; font-size: 17px; letter-spacing: 2px; margin-bottom: 14px; }
#rjaup .testi-text { font-size: 15.5px; color: var(--dim); font-style: italic; margin-bottom: 18px; line-height: 1.6; }
#rjaup .testi-author { display: flex; align-items: center; gap: 12px; }
#rjaup .tav { width: 40px; height: 40px; border-radius: 50%; background: var(--ind-soft); display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; color: var(--ind-dk); flex: 0 0 auto; }
#rjaup .tname { font-size: 14.5px; font-weight: 600; color: var(--heading); }
#rjaup .trole { font-size: 13px; color: var(--dimmer); }

/* ─────────────────────────────────────────────────────────────
   FAQ
───────────────────────────────────────────────────────────── */
#rjaup .faq-wrap { max-width: 780px; margin: 0 auto; }
#rjaup .faq-item { border-bottom: 1px solid var(--border); }
#rjaup .faq-q { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 4px; cursor: pointer; font-weight: 600; font-size: 16.5px; color: var(--heading); }
#rjaup .faq-q .plus { flex: 0 0 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: 16px; color: var(--dimmer); transition: transform .2s; }
#rjaup .faq-item.open .faq-q .plus { transform: rotate(45deg); color: var(--ind-dk); border-color: var(--ind); }
#rjaup .faq-a { max-height: 0; overflow: hidden; transition: max-height .26s ease; }
#rjaup .faq-item.open .faq-a { max-height: 400px; }
#rjaup .faq-a p { padding: 0 4px 20px; font-size: 15.5px; color: var(--dim); max-width: 680px; }

/* ─────────────────────────────────────────────────────────────
   SHORTCODE SLOT
───────────────────────────────────────────────────────────── */
#rjaup .sc-slot { border: 2px dashed var(--border); border-radius: 10px; padding: 28px; text-align: center; background: rgba(255,255,255,.88); margin-top: 28px; }
#rjaup .sc-slot .sc-lbl { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--dimmer); margin-bottom: 10px; }
#rjaup .sc-slot code { font-family: 'JetBrains Mono', monospace; font-size: 14px; background: var(--bg1); border: 1px solid var(--border); border-radius: 6px; padding: 6px 14px; color: var(--text); display: inline-block; }

/* ─────────────────────────────────────────────────────────────
   SSO PROVIDER GRID
───────────────────────────────────────────────────────────── */
#rjaup .sso-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
#rjaup .sso-card {
  background: rgba(255,255,255,.94); border: 1.5px solid var(--border);
  border-radius: 12px; padding: 28px 24px; text-align: center;
  box-shadow: var(--shadow-sm);
  transition: transform .16s, box-shadow .16s, border-color .16s;
}
#rjaup .sso-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
#rjaup .sso-card.apple  { border-color: #d1d5db; }
#rjaup .sso-card.google { border-color: #bfdbfe; }
#rjaup .sso-card.fb     { border-color: #bfdbfe; border-color: #93c5fd; }
#rjaup .sso-icon {
  width: 64px; height: 64px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 18px;
}
#rjaup .sso-icon svg { display: block; flex-shrink: 0; }
#rjaup .sso-icon.apple    { background: #1a1a1a; }
#rjaup .sso-icon.google   { background: #fff; border: 1.5px solid #e0e0e0; box-shadow: 0 2px 8px rgba(66,133,244,.14); }
#rjaup .sso-icon.facebook { background: #1877F2; }
#rjaup .sso-card h4 { margin-bottom: 8px; }
#rjaup .sso-card p { font-size: 14.5px; color: var(--dim); margin-bottom: 14px; }
#rjaup .sso-ep {
  font-family: 'JetBrains Mono', monospace; font-size: 12.5px;
  background: var(--bg1); border: 1px solid var(--border);
  border-radius: 7px; padding: 7px 11px; text-align: left;
  color: var(--grn); display: block; margin-top: 12px;
}
#rjaup .sso-steps { display: flex; flex-direction: column; gap: 7px; text-align: left; margin-top: 14px; }
#rjaup .sso-step { font-size: 13px; color: var(--dim); display: flex; gap: 8px; align-items: flex-start; }
#rjaup .sso-step .num { flex: 0 0 18px; height: 18px; border-radius: 50%; background: var(--grn-soft); color: var(--grn); font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; margin-top: 1px; }

/* ─────────────────────────────────────────────────────────────
   RESOURCES
───────────────────────────────────────────────────────────── */
#rjaup .res-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
#rjaup .res-card { background: rgba(255,255,255,.94); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; box-shadow: var(--shadow-sm); }
#rjaup .res-thumb { height: 100px; display: flex; align-items: center; justify-content: center; font-size: 36px; position: relative; background: var(--ind-soft); }
#rjaup .res-thumb::after { content: "{ }"; position: absolute; right: 14px; bottom: 4px; font-family: 'JetBrains Mono', monospace; font-size: 28px; color: rgba(79,70,229,.10); }
#rjaup .res-body { padding: 20px; }
#rjaup .res-tag { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; color: var(--dimmer); }
#rjaup .res-card h4 { font-size: 17px; margin: 8px 0; }
#rjaup .res-card p { font-size: 14px; color: var(--dim); }
#rjaup .res-more { display: inline-block; margin-top: 12px; font-size: 13.5px; font-weight: 600; color: var(--ind-dk); }

/* ─────────────────────────────────────────────────────────────
   FINAL CTA
───────────────────────────────────────────────────────────── */
#rjaup .final-cta { text-align: center; background: radial-gradient(circle at 78% 18%, rgba(5,150,105,.13), transparent 28%), linear-gradient(140deg,#dce8ff,#f3f0ff 52%,#d7f3ec 100%); border-top: 1px solid var(--border); }
#rjaup .final-cta h2 { max-width: 680px; margin: 0 auto; }
#rjaup .final-cta .lede { margin: 16px auto 30px; }
#rjaup .cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
#rjaup .foot { text-align: center; padding: 28px 24px; font-size: 14px; color: var(--dimmer); background: var(--bg0); border-top: 1px solid var(--border); }
#rjaup .foot a { color: var(--ind-dk); font-weight: 600; }

/* ─────────────────────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────────────────────── */
@media (max-width: 980px) {
  #rjaup .arch-grid { grid-template-columns: 1fr; }
  #rjaup .grid-4, #rjaup .ctrl-row { grid-template-columns: repeat(2,1fr); }
  #rjaup .grid-3, #rjaup .testi-grid, #rjaup .price-grid,
  #rjaup .ep-grid, #rjaup .sso-grid { grid-template-columns: 1fr; }
  #rjaup .res-grid { grid-template-columns: 1fr; }
  #rjaup .pc.feat { transform: none; }
  #rjaup table.cmp thead th:not(:first-child):nth-child(4) { display: none; }
  #rjaup table.cmp td:nth-child(4) { display: none; }
  #rjaup #rjaup-contact .wrap > div { grid-template-columns: 1fr !important; gap: 34px !important; }
}
@media (max-width: 620px) {
  #rjaup section { padding: 56px 0; }
  #rjaup .wrap { padding: 0 18px; }
  #rjaup .grid-4, #rjaup .grid-2, #rjaup .ctrl-row { grid-template-columns: 1fr; }
  #rjaup h1 { font-size: 28px; }
  #rjaup h2 { font-size: 24px; }
  #rjaup .btn { width: 100%; justify-content: center; white-space: normal; text-align: center; }
  #rjaup .ep-grid { grid-template-columns: 1fr !important; }
  #rjaup .ss-field { flex-direction: column; gap: 8px; }
  #rjaup .ss-field .lbl { flex: none; }
  #rjaup .mesh img { opacity: .28; }
}

/* ── eWP eStore buy buttons ── */
#rjaup .estore-btn-wrap {
  display: block;
  margin-top: auto;
}
/* Target the actual <a> or <input> eStore renders */
#rjaup .estore-btn-wrap a,
#rjaup .estore-btn-wrap input[type="image"],
#rjaup .estore-btn-wrap input[type="submit"],
#rjaup .estore-btn-wrap form { display: block; width: 100%; }
/* Override PayPal/eStore default button appearance */
#rjaup .estore-btn-wrap a img,
#rjaup .estore-btn-wrap input[type="image"] {
  width: 100% !important; height: auto !important;
  border-radius: 999px !important;
}
/* Pill button shell that wraps whatever eStore outputs */
#rjaup .pc-btn-pill {
  display: block; width: 100%;
  padding: 13px 24px;
  border-radius: 999px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700; font-size: 15.5px;
  text-align: center; cursor: pointer;
  border: 2px solid transparent;
  transition: transform .15s, box-shadow .15s, background .15s;
  text-decoration: none;
  line-height: 1.2;
}
#rjaup .pc-btn-pill:hover { transform: translateY(-2px); }
#rjaup .pc-btn-outline {
  background: #fff;
  border-color: var(--ind);
  color: var(--ind-dk);
  box-shadow: 0 6px 18px -8px rgba(0,112,186,.22);
}
#rjaup .pc-btn-outline:hover {
  background: var(--ind-soft);
  box-shadow: 0 10px 26px -10px rgba(0,112,186,.32);
}
#rjaup .pc-btn-primary {
  background: linear-gradient(180deg, #0e8fd4, var(--ind));
  border-color: var(--ind);
  color: #fff;
  box-shadow: 0 10px 28px -12px rgba(0,112,186,.55);
}
#rjaup .pc-btn-primary:hover {
  background: linear-gradient(180deg, #0070ba, var(--ind-dk));
  box-shadow: 0 14px 34px -12px rgba(0,112,186,.65);
}
/* Label above shortcode button */
#rjaup .pc-btn-label {
  display: block; text-align: center;
  font-size: 12px; font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase;
  color: var(--dimmer); margin-bottom: 8px;
}
</style>
