/* ==============================================================
   AUREX — pro-rewards/access-final.css
   Access-gate presentation layer for the Pro Access entry page.

   Loaded AFTER styles.css so it wins on source order at equal
   specificity — no !important arms race.

   Presentation only. Every destination (/register/, /portal/) is
   the one that was already on the page.
   ============================================================== */

.public-intelligence-body {
  --axg-ink: #f4f8fc;
  --axg-ink-2: rgba(198, 216, 236, 0.9);
  --axg-ink-3: rgba(150, 176, 208, 0.78);
  --axg-line: rgba(150, 184, 218, 0.16);
  --axg-accent: #4aa8d8;
  --axg-surface: rgba(255, 255, 255, 0.028);
}

/* ==========================================================
   ACCESS PATHS
   ========================================================== */
.public-intelligence-body .ax-access {
  margin: 48px 0 0;
}
.public-intelligence-body .ax-access-eyebrow {
  margin: 0 0 20px;
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--axg-ink-3);
}

.public-intelligence-body .ax-access-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.public-intelligence-body .ax-access-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 26px 24px 22px;
  border: 1px solid var(--axg-line);
  border-radius: 4px;              /* architectural, not pill-shaped */
  background: var(--axg-surface);
  transition: border-color 180ms ease, background-color 180ms ease;
}
.public-intelligence-body .ax-access-card:hover {
  border-color: rgba(74, 168, 216, 0.42);
  background: rgba(74, 168, 216, 0.05);
}
.public-intelligence-body .ax-access-card h2 {
  margin: 0 0 10px;
  font-size: 1.22rem;
  font-weight: 640;
  letter-spacing: -0.012em;
  color: var(--axg-ink);
}
.public-intelligence-body .ax-access-card p {
  margin: 0 0 22px;
  font-size: 0.94rem;
  line-height: 1.55;
  color: var(--axg-ink-2);
}
.public-intelligence-body .ax-access-action {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 3px;
  border: 1px solid rgba(94, 182, 226, 0.5);
  background: #2f8fc4;
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 640;
  text-decoration: none;
  transition: background-color 150ms ease, transform 120ms ease;
}
.public-intelligence-body .ax-access-action:hover { background: #3499cf; }
.public-intelligence-body .ax-access-action:active { transform: translateY(1px); }
.public-intelligence-body .ax-access-action:focus-visible {
  outline: 2px solid rgba(103, 232, 249, 0.75);
  outline-offset: 3px;
}
/* The second path is a strong secondary, not a weaker button */
.public-intelligence-body .ax-access-card:nth-child(2) .ax-access-action {
  background: transparent;
  border-color: rgba(150, 184, 218, 0.38);
  color: var(--axg-ink);
}
.public-intelligence-body .ax-access-card:nth-child(2) .ax-access-action:hover {
  border-color: rgba(74, 168, 216, 0.7);
  background: rgba(74, 168, 216, 0.08);
}

/* ==========================================================
   CLIENT SIGN IN — a destination, not a text link
   ========================================================== */
.public-intelligence-body .ax-signin-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 16px 0 0;
  padding: 22px 24px;
  border: 1px solid var(--axg-line);
  border-left: 2px solid var(--axg-accent);
  border-radius: 4px;
  background: linear-gradient(90deg, rgba(74, 168, 216, 0.07), transparent 62%);
}
.public-intelligence-body .ax-signin-kicker {
  margin: 0 0 4px;
  font-size: 0.82rem;
  color: var(--axg-ink-3);
}
.public-intelligence-body .ax-signin-bar h2 {
  margin: 0 0 4px;
  font-size: 1.16rem;
  font-weight: 640;
  letter-spacing: -0.01em;
  color: var(--axg-ink);
}
.public-intelligence-body .ax-signin-sub {
  margin: 0;
  font-size: 0.9rem;
  color: var(--axg-ink-2);
}
.public-intelligence-body .ax-signin-action {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 3px;
  border: 1px solid rgba(150, 184, 218, 0.4);
  background: rgba(255, 255, 255, 0.045);
  color: var(--axg-ink);
  font-size: 0.95rem;
  font-weight: 640;
  text-decoration: none;
  transition: border-color 150ms ease, background-color 150ms ease;
}
.public-intelligence-body .ax-signin-action:hover {
  border-color: rgba(74, 168, 216, 0.7);
  background: rgba(74, 168, 216, 0.1);
}
.public-intelligence-body .ax-signin-action:focus-visible {
  outline: 2px solid rgba(103, 232, 249, 0.75);
  outline-offset: 3px;
}

/* ==========================================================
   MOBILE — stacked, no desktop split surviving
   ========================================================== */
@media (max-width: 720px) {
  .public-intelligence-body .ax-access { margin-top: 34px; }
  .public-intelligence-body .ax-access-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .public-intelligence-body .ax-access-card {
    padding: 20px 18px 18px;
  }
  .public-intelligence-body .ax-access-card h2 { font-size: 1.12rem; }
  .public-intelligence-body .ax-access-card p {
    margin-bottom: 18px;
    font-size: 0.9rem;
  }
  .public-intelligence-body .ax-access-action,
  .public-intelligence-body .ax-signin-action {
    width: 100%;
    justify-content: center;
    min-height: 50px;
  }

  .public-intelligence-body .ax-signin-bar {
    display: block;
    padding: 20px 18px;
  }
  .public-intelligence-body .ax-signin-action { margin-top: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .public-intelligence-body .ax-access-card,
  .public-intelligence-body .ax-access-action,
  .public-intelligence-body .ax-signin-action { transition: none; }
}

/* Final access hierarchy: three primary paths, quieter secondary services. */
.public-intelligence-body .ax-access-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-intelligence-body .ax-access-card { min-height: 236px; display: flex; flex-direction: column; }
.public-intelligence-body .ax-access-card-kicker { margin: 0 0 8px; color: rgba(143, 216, 245, 0.72); font-size: 0.68rem; font-weight: 760; letter-spacing: 0.12em; text-transform: uppercase; }
.public-intelligence-body .ax-access-card h2 { min-height: 2.5em; }
.public-intelligence-body .ax-access-card p:not(.ax-access-card-kicker) { flex: 1 1 auto; }
.public-intelligence-body .ax-access-card:nth-child(3) .ax-access-action { background: rgba(255,255,255,0.035); border-color: rgba(143,216,245,0.25); }
.public-intelligence-body .ax-opportunities { margin-top: 16px; padding: 16px 18px; border: 1px solid rgba(143,216,245,0.13); border-radius: 12px; background: rgba(5,14,25,0.58); }
.public-intelligence-body .ax-opportunities-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.public-intelligence-body .ax-opportunities-head span { color: rgba(201,220,236,0.48); font-size: 0.7rem; }
.public-intelligence-body .ax-opportunity-row { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin-top: 10px; }
.public-intelligence-body .ax-opportunity-row a { display: grid; gap: 3px; min-height: 58px; padding: 12px 13px; border-left: 2px solid rgba(143,216,245,0.34); color: #eaf5ff; text-decoration: none; transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease; }
.public-intelligence-body .ax-opportunity-row a:hover { background: rgba(143,216,245,0.06); border-left-color: rgba(143,216,245,0.78); transform: translateX(2px); }
.public-intelligence-body .ax-opportunity-row strong { font-size: 0.78rem; }
.public-intelligence-body .ax-opportunity-row span { color: rgba(201,220,236,0.62); font-size: 0.7rem; line-height: 1.35; }
.public-intelligence-body .ax-opportunity-row b { color: #8fd8f5; font-size: 0.68rem; }
@media (max-width: 760px) {
  .public-intelligence-body .ax-access-grid,
  .public-intelligence-body .ax-opportunity-row { grid-template-columns: 1fr; }
  .public-intelligence-body .ax-access-card { min-height: 0; }
  .public-intelligence-body .ax-access-card h2 { min-height: 0; }
  .public-intelligence-body .ax-opportunity-row a { min-height: 52px; }
}

/* OneRoyal broker-access surface and compact service rows. */
.public-intelligence-body .ax-access-card.is-oneroyal {
  position: relative;
  overflow: hidden;
  border-radius: 17px;
  border-color: rgba(99, 201, 236, 0.34);
  background: radial-gradient(circle at 84% 18%, rgba(63, 180, 224, 0.13), transparent 32%), linear-gradient(145deg, rgba(11, 31, 51, 0.94), rgba(4, 12, 23, 0.98));
  box-shadow: inset 0 1px 0 rgba(222, 247, 255, 0.08), 0 18px 42px rgba(0, 0, 0, 0.16);
}
.public-intelligence-body .ax-access-card.is-oneroyal::before {
  content: ""; position: absolute; inset: auto -30% 15px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(111, 215, 245, 0.3), transparent);
  animation: axPortalSignal 16s linear infinite;
}
.public-intelligence-body .ax-access-card.is-oneroyal::after { display: none; }
.public-intelligence-body .ax-access-card-icon { position: absolute; top: 17px; right: 17px; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(114, 213, 243, 0.34); border-radius: 13px; color: #9de5fa; background: linear-gradient(145deg, rgba(130, 210, 239, 0.13), rgba(3, 17, 31, 0.72)); box-shadow: inset 0 1px 0 rgba(255,255,255,0.1), 0 0 28px rgba(71, 190, 230, 0.1); }
.public-intelligence-body .ax-access-card-icon svg { width: 24px; height: 24px; }
.public-intelligence-body .ax-access-card-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-right: 60px; }
.public-intelligence-body .ax-access-status { flex: 0 0 auto; padding: 7px 10px; border: 1px solid rgba(245, 214, 126, 0.5); border-radius: 7px; color: #fff0b2; background: linear-gradient(180deg, rgba(224, 180, 72, 0.2), rgba(224, 180, 72, 0.07)); box-shadow: 0 0 18px rgba(231, 199, 106, 0.12), inset 0 1px 0 rgba(255,255,255,0.12); font-size: 0.64rem; font-weight: 800; letter-spacing: 0.13em; }
.public-intelligence-body .ax-access-product-label { margin: 18px 0 6px !important; color: rgba(157, 229, 250, 0.7) !important; font-size: 0.66rem !important; font-weight: 760; letter-spacing: 0.13em; text-transform: uppercase; }
.public-intelligence-body .ax-access-card.is-oneroyal .ax-access-product-label { flex: 0 0 auto; }
.public-intelligence-body .ax-access-card.is-oneroyal h2 { max-width: 18ch; color: #f3f8fc; font-size: 1.34rem; line-height: 1.12; }
.public-intelligence-body .ax-access-card.is-oneroyal .ax-access-card-copy { max-width: 32ch; margin-bottom: 18px; }
.public-intelligence-body .ax-access-security { display: block; margin-top: 12px; color: rgba(201, 220, 236, 0.48); font-size: 0.66rem; line-height: 1.4; }
.public-intelligence-body .ax-access-card.is-oneroyal .ax-access-action { border-color: rgba(123, 215, 242, 0.42); background: rgba(20, 74, 102, 0.34); color: #dcf7ff; }
.public-intelligence-body .ax-access-card.is-oneroyal .ax-access-action:hover { background: rgba(32, 105, 139, 0.46); border-color: rgba(143, 226, 248, 0.7); }
.public-intelligence-body .ax-opportunity-row a { grid-template-columns: auto 1fr auto; align-items: center; min-height: 68px; padding: 10px 12px; border: 1px solid rgba(143,216,245,0.12); border-radius: 10px; border-left: 1px solid rgba(143,216,245,0.22); background: rgba(255,255,255,0.018); }
.public-intelligence-body .ax-opportunity-row a:hover { border-color: rgba(143,216,245,0.3); background: rgba(143,216,245,0.055); }
.public-intelligence-body .ax-opportunity-row a > span:nth-child(2) { display: grid; gap: 3px; }
.public-intelligence-body .ax-opportunity-row small { color: rgba(201,220,236,0.62); font-size: 0.7rem; line-height: 1.35; }
.public-intelligence-body .ax-opportunity-icon { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(143,216,245,0.22); border-radius: 9px; color: #9de5fa; background: rgba(104, 203, 237, 0.08); box-shadow: 0 0 14px rgba(77, 190, 231, 0.08); font-size: 1.1rem; }
.public-intelligence-body .ax-opportunity-icon svg { width: 21px; height: 21px; }
.public-intelligence-body .ax-opportunity-row b { white-space: nowrap; }
@keyframes axPortalSignal { from { transform: translateX(-24%); opacity: 0.25; } 50% { opacity: 0.6; } to { transform: translateX(24%); opacity: 0.25; } }
@media (prefers-reduced-motion: reduce) { .public-intelligence-body .ax-access-card.is-oneroyal::before { animation: none; } }
@media (max-width: 430px) {
  .public-intelligence-body .ax-access-card.is-oneroyal { border-radius: 15px; }
  .public-intelligence-body .ax-opportunity-row a { grid-template-columns: auto 1fr; }
  .public-intelligence-body .ax-opportunity-row b { grid-column: 2; }
  .public-intelligence-body .ax-opportunities { padding: 19px 14px 14px; }
  .public-intelligence-body .ax-opportunities-head { align-items: flex-start; }
  .public-intelligence-body .ax-opportunities-head > span { padding-top: 3px; }
}

/* ==============================================================
   PRO ACCESS — PREMIUM POLISH
   Structure is unchanged. Surfaces, type, motion only.
   ============================================================== */

/* ==========================================================
   1. SIGNATURE AUREX GEOMETRY + HERO ATMOSPHERE
   Drawn with CSS geometry on pseudo-elements, so no markup
   changes and nothing new to load.
   ========================================================== */
.public-intelligence-body .ax-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
/* Radial cyan illumination + fine structural grid */
.public-intelligence-body .ax-hero::before {
  content: "";
  position: absolute;
  inset: -10% -5% -20%;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(70% 55% at 18% 8%, rgba(74, 168, 216, 0.16), transparent 62%),
    linear-gradient(rgba(150, 184, 218, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(150, 184, 218, 0.05) 1px, transparent 1px);
  background-size: auto, 64px 64px, 64px 64px;
  -webkit-mask-image: radial-gradient(72% 62% at 32% 32%, #000 0%, transparent 78%);
  mask-image: radial-gradient(72% 62% at 32% 32%, #000 0%, transparent 78%);
  animation: axgDrift 26s ease-in-out infinite alternate;
}
/* The architectural A: two splayed strokes + crossbar, in light */
.public-intelligence-body .ax-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -2%;
  top: 50%;
  transform: translateY(-50%);
  width: min(38vw, 420px);
  aspect-ratio: 1 / 1;
  pointer-events: none;
  opacity: 0.5;
  background:
    linear-gradient(to bottom right, transparent calc(50% - 1px), rgba(122, 202, 240, 0.5) 50%, transparent calc(50% + 1px)),
    linear-gradient(to bottom left,  transparent calc(50% - 1px), rgba(122, 202, 240, 0.5) 50%, transparent calc(50% + 1px)),
    linear-gradient(to right, rgba(122, 202, 240, 0.34), rgba(122, 202, 240, 0.34));
  background-size: 50% 100%, 50% 100%, 46% 1px;
  background-position: left top, right top, center 66%;
  background-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(200deg, #000 22%, rgba(0, 0, 0, 0.25) 78%);
  mask-image: linear-gradient(200deg, #000 22%, rgba(0, 0, 0, 0.25) 78%);
}

/* ==========================================================
   2. TYPOGRAPHY
   ========================================================== */
.public-intelligence-body .ax-hero h1,
.public-intelligence-body #proHeroTitle {
  font-weight: 680;
  letter-spacing: -0.028em;
  line-height: 1.1;
}
.public-intelligence-body .ax-lede {
  color: rgba(206, 222, 240, 0.92);
  line-height: 1.6;
}
.public-intelligence-body .ax-access-eyebrow {
  letter-spacing: 0.13em;
}

/* ==========================================================
   3. ACCESS CARDS — richer surfaces
   ========================================================== */
.public-intelligence-body .ax-access-card {
  position: relative;
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.012));
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1),
              border-color 180ms ease,
              background-color 180ms ease,
              box-shadow 180ms ease;
}
/* Thin illuminated top edge */
.public-intelligence-body .ax-access-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(122, 202, 240, 0.55), transparent);
  opacity: 0.55;
  transition: opacity 180ms ease;
}
.public-intelligence-body .ax-access-card:hover {
  transform: translateY(-2px);
  border-color: rgba(74, 168, 216, 0.5);
  box-shadow: 0 10px 26px -18px rgba(20, 90, 130, 0.85);
}
.public-intelligence-body .ax-access-card:hover::before { opacity: 1; }
.public-intelligence-body .ax-access-card h2 { font-weight: 660; }
.public-intelligence-body .ax-access-card p {
  font-size: 0.9rem;
  color: rgba(180, 202, 226, 0.85);
}

/* Arrow shifts on interaction */
.public-intelligence-body .ax-access-action span,
.public-intelligence-body .ax-signin-action span {
  display: inline-block;
  transition: transform 140ms cubic-bezier(0.22, 1, 0.36, 1);
}
.public-intelligence-body .ax-access-card:hover .ax-access-action span,
.public-intelligence-body .ax-access-action:hover span,
.public-intelligence-body .ax-signin-action:hover span { transform: translateX(4px); }

/* Primary: deep cyan/blue with a glass highlight */
.public-intelligence-body .ax-access-action {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  background: linear-gradient(180deg, #3c9dd0, #2a7fb8);
  box-shadow: 0 6px 16px -12px rgba(42, 127, 184, 0.95),
              inset 0 1px 0 rgba(255, 255, 255, 0.16);
  transition: background-color 160ms ease, transform 120ms ease, box-shadow 160ms ease;
}
.public-intelligence-body .ax-access-action:hover {
  background: linear-gradient(180deg, #46a9dc, #2f8ac4);
}

/* Secondary: blue glass */
.public-intelligence-body .ax-access-card:nth-child(2) .ax-access-action {
  background: rgba(74, 168, 216, 0.1);
  border-color: rgba(122, 202, 240, 0.36);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
}
.public-intelligence-body .ax-access-card:nth-child(2) .ax-access-action:hover {
  background: rgba(74, 168, 216, 0.18);
  border-color: rgba(122, 202, 240, 0.6);
}

/* ==========================================================
   4. SIGN-IN BAR — quiet premium glass
   ========================================================== */
.public-intelligence-body .ax-signin-bar {
  position: relative;
  border-radius: 5px;
  background:
    linear-gradient(90deg, rgba(74, 168, 216, 0.09), rgba(255, 255, 255, 0.014) 58%);
  transition: border-color 180ms ease, background-color 180ms ease;
}
.public-intelligence-body .ax-signin-bar:hover {
  border-color: rgba(74, 168, 216, 0.34);
}
.public-intelligence-body .ax-signin-action {
  border-radius: 4px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: border-color 160ms ease, background-color 160ms ease, transform 120ms ease;
}

/* ==========================================================
   5. HEADER NAV — only the active item is emphasised
   ========================================================== */
.public-intelligence-body .premium-nav-link {
  position: relative;
  border-radius: 3px;
  background: none;
  border-color: transparent;
  color: rgba(186, 206, 228, 0.82);
  transition: color 160ms ease;
}
.public-intelligence-body .premium-nav-link:hover { color: #eaf3fa; }
.public-intelligence-body .premium-nav-link.is-active {
  color: #ffffff;
  font-weight: 620;
  background: none;
  border-color: transparent;
}
.public-intelligence-body .premium-nav-link.is-active::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 2px;
  height: 2px;
  border-radius: 2px;
  background: #4aa8d8;
}

/* ==========================================================
   6. MOTION
   ========================================================== */
.public-intelligence-body .ax-access-card {
  animation: axgRise 350ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.public-intelligence-body .ax-access-card:nth-child(1) { animation-delay: 60ms; }
.public-intelligence-body .ax-access-card:nth-child(2) { animation-delay: 140ms; }
.public-intelligence-body .ax-signin-bar {
  animation: axgRise 350ms cubic-bezier(0.22, 1, 0.36, 1) 220ms both;
}

@keyframes axgRise {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}
@keyframes axgDrift {
  from { background-position: 0 0, 0 0, 0 0; }
  to   { background-position: 0 0, 40px 26px, 40px 26px; }
}

/* ==========================================================
   7. MOBILE — the geometry stays a faint edge motif
   ========================================================== */
@media (max-width: 720px) {
  .public-intelligence-body .ax-hero::after {
    width: 62vw;
    right: -22%;
    top: 12%;
    transform: none;
    opacity: 0.16;
  }
  .public-intelligence-body .ax-hero::before {
    background-size: auto, 44px 44px, 44px 44px;
  }
  .public-intelligence-body .ax-access-card { padding: 18px 16px 16px; }
  .public-intelligence-body .ax-access-card:hover { transform: none; box-shadow: none; }
  .public-intelligence-body .ax-access-action:active,
  .public-intelligence-body .ax-signin-action:active { transform: scale(0.988); }
}

@media (prefers-reduced-motion: reduce) {
  .public-intelligence-body .ax-hero::before,
  .public-intelligence-body .ax-access-card,
  .public-intelligence-body .ax-signin-bar { animation: none; }
  .public-intelligence-body .ax-access-card,
  .public-intelligence-body .ax-access-action,
  .public-intelligence-body .ax-signin-action,
  .public-intelligence-body .ax-access-action span,
  .public-intelligence-body .ax-signin-action span { transition: none; }
}

/* ==============================================================
   PRO ACCESS — FINAL UI POLISH
   Structure unchanged. Icons drawn with CSS masks so no markup,
   route or handler is touched. Logo deliberately left alone (§17).
   ============================================================== */

/* ==========================================================
   §2/§3 — HERO COMPACTION + HEADLINE
   ========================================================== */
.public-intelligence-body .ax-hero .eyebrow {
  margin: 0 0 12px;
  font-size: 0.8rem;
  font-weight: 620;
  letter-spacing: 0.1em;
  color: #6cc0e8;
}
.public-intelligence-body #proHeroTitle {
  margin: 0 0 16px;
  max-width: 15ch;                 /* forces the intended two-line wrap */
  font-size: clamp(2.1rem, 9vw, 2.35rem);
  line-height: 1.07;
  letter-spacing: -0.03em;
  font-weight: 690;
  text-wrap: balance;
}
.public-intelligence-body .ax-lede {
  margin: 0;
  max-width: 46ch;
  font-size: 0.97rem;
  line-height: 1.58;
}

/* ==========================================================
   §4 — ACCESS SECTION HEADER
   ========================================================== */
.public-intelligence-body .ax-access { margin-top: 30px; }
.public-intelligence-body .ax-access-eyebrow {
  position: relative;
  margin: 0 0 18px;
  padding-top: 22px;
  border-top: 1px solid rgba(150, 184, 218, 0.14);
  font-size: 1.22rem;
  font-weight: 660;
  letter-spacing: -0.015em;
  text-transform: none;
  color: #f2f7fc;
}
/* Small ACCESS eyebrow above the section title */
.public-intelligence-body .ax-access-eyebrow::before {
  content: "ACCESS";
  display: block;
  margin-bottom: 8px;
  font-size: 0.7rem;
  font-weight: 650;
  letter-spacing: 0.14em;
  color: rgba(150, 176, 208, 0.72);
}

/* ==========================================================
   §5 — SHARED CARD BASE
   ========================================================== */
.public-intelligence-body .ax-access-card,
.public-intelligence-body .ax-signin-bar {
  position: relative;
  padding: 19px 18px 17px;
  border-radius: 10px;
  border: 1px solid rgba(150, 184, 218, 0.17);
  background: rgba(10, 24, 40, 0.84);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transition: transform 160ms cubic-bezier(0.22, 1, 0.36, 1),
              border-color 160ms ease, background-color 160ms ease;
}
.public-intelligence-body .ax-access-card:hover,
.public-intelligence-body .ax-signin-bar:hover {
  transform: translateY(-2px);
  border-color: rgba(85, 182, 224, 0.5);
}
.public-intelligence-body .ax-access-card:active,
.public-intelligence-body .ax-signin-bar:active { transform: scale(0.988); }

/* Card icons (mask-drawn, one consistent stroke family) */
.public-intelligence-body .ax-access-card::after,
.public-intelligence-body .ax-signin-bar::after {
  content: "";
  position: absolute;
  top: 18px;
  right: 18px;
  width: 20px;
  height: 20px;
  background-color: rgba(122, 202, 240, 0.62);
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  transition: background-color 160ms ease;
}
.public-intelligence-body .ax-access-card:hover::after,
.public-intelligence-body .ax-signin-bar:hover::after { background-color: #8fd8f5; }

/* ShieldCheck — Request Portal Access */
.public-intelligence-body .ax-access-card:nth-child(1)::after {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3 5 5.6v5.6c0 4 2.9 7.2 7 8.6 4.1-1.4 7-4.6 7-8.6V5.6z'/><path d='m9.2 11.8 1.9 1.9 3.7-3.8'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3 5 5.6v5.6c0 4 2.9 7.2 7 8.6 4.1-1.4 7-4.6 7-8.6V5.6z'/><path d='m9.2 11.8 1.9 1.9 3.7-3.8'/></svg>");
}
/* UserPlus — Open AUREX Account */
.public-intelligence-body .ax-access-card:nth-child(2)::after {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='7.5' r='3.5'/><path d='M3 20v-1.5A4.5 4.5 0 0 1 7.5 14h3a4.5 4.5 0 0 1 4.5 4.5V20M18 8v6M15 11h6'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='7.5' r='3.5'/><path d='M3 20v-1.5A4.5 4.5 0 0 1 7.5 14h3a4.5 4.5 0 0 1 4.5 4.5V20M18 8v6M15 11h6'/></svg>");
}
/* LockKeyhole — Client Sign In */
.public-intelligence-body .ax-signin-bar::after {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='10' width='16' height='11' rx='2.4'/><path d='M8 10V7a4 4 0 0 1 8 0v3'/><circle cx='12' cy='15.5' r='1.4'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='10' width='16' height='11' rx='2.4'/><path d='M8 10V7a4 4 0 0 1 8 0v3'/><circle cx='12' cy='15.5' r='1.4'/></svg>");
}

/* Room for the icon; tighter type */
.public-intelligence-body .ax-access-card h2,
.public-intelligence-body .ax-signin-bar h2 {
  margin: 0 0 7px;
  padding-right: 30px;
  font-size: 1.1rem;
  font-weight: 660;
  letter-spacing: -0.012em;
}
.public-intelligence-body .ax-access-card p {
  margin: 0 0 16px;
  font-size: 0.87rem;
  line-height: 1.5;
  color: rgba(178, 200, 224, 0.84);
}

/* §6 — primary accent edge */
.public-intelligence-body .ax-access-card:nth-child(1) {
  border-color: rgba(85, 182, 224, 0.32);
}
.public-intelligence-body .ax-access-card:nth-child(1)::before {
  background: linear-gradient(90deg, transparent, rgba(122, 202, 240, 0.8), transparent);
  opacity: 0.9;
}

/* ==========================================================
   §13 — ONE BUTTON SYSTEM
   ========================================================== */
.public-intelligence-body .ax-access-action,
.public-intelligence-body .ax-signin-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 11px;
  font-size: 0.92rem;
  font-weight: 640;
  letter-spacing: 0.01em;
  transition: transform 160ms cubic-bezier(0.22, 1, 0.36, 1),
              background-color 160ms ease, border-color 160ms ease;
}
/* PRIMARY */
.public-intelligence-body .ax-access-card:nth-child(1) .ax-access-action {
  border: 1px solid rgba(110, 200, 236, 0.44);
  background:
    linear-gradient(180deg, rgba(96, 190, 232, 0.28), rgba(96, 190, 232, 0) 46%),
    linear-gradient(180deg, #1d5f8c, #123f61);
  box-shadow: 0 8px 20px -14px rgba(18, 63, 97, 0.95),
              inset 0 1px 0 rgba(255, 255, 255, 0.16);
  color: #ffffff;
}
/* SECONDARY — must not read as disabled */
.public-intelligence-body .ax-access-card:nth-child(2) .ax-access-action {
  border: 1px solid rgba(122, 202, 240, 0.4);
  background: rgba(85, 182, 224, 0.12);
  color: #dbeefa;
}
.public-intelligence-body .ax-access-card:nth-child(2) .ax-access-action:hover {
  background: rgba(85, 182, 224, 0.2);
  border-color: rgba(122, 202, 240, 0.68);
}
/* TERTIARY / PRIVATE */
.public-intelligence-body .ax-signin-action {
  border: 1px solid rgba(150, 184, 218, 0.34);
  background: rgba(255, 255, 255, 0.045);
  color: #eaf3fa;
}

/* ==========================================================
   §8/§9 — CLIENT SIGN IN AS THE THIRD CARD
   ========================================================== */
.public-intelligence-body .ax-signin-bar {
  display: block;
  margin-top: 16px;
  border-left: 1px solid rgba(150, 184, 218, 0.17);
  border-top: 1px solid rgba(122, 202, 240, 0.34);
}
.public-intelligence-body .ax-signin-kicker {
  margin: 0 0 6px;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(150, 176, 208, 0.74);
}
.public-intelligence-body .ax-signin-sub {
  margin: 0 0 16px;
  font-size: 0.87rem;
  line-height: 1.5;
  color: rgba(178, 200, 224, 0.84);
}

/* ==========================================================
   §15 — TRUST STRIP
   ========================================================== */
.public-intelligence-body .ax-trust-row {
  display: grid;
  gap: 8px;
  margin: 26px 0 0;
  padding: 14px 16px;
  list-style: none;
  border: 1px solid rgba(150, 184, 218, 0.13);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.02);
}
.public-intelligence-body .ax-trust-row li {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 0.82rem;
  line-height: 1.4;
  color: rgba(168, 192, 216, 0.86);
}
.public-intelligence-body .ax-trust-row li::before {
  content: "";
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  background-color: rgba(122, 202, 240, 0.62);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='10' width='16' height='11' rx='2.4'/><path d='M8 10V7a4 4 0 0 1 8 0v3'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='10' width='16' height='11' rx='2.4'/><path d='M8 10V7a4 4 0 0 1 8 0v3'/></svg>");
}
.public-intelligence-body .ax-trust-row li:nth-child(2)::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3 5 5.6v5.6c0 4 2.9 7.2 7 8.6 4.1-1.4 7-4.6 7-8.6V5.6z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3 5 5.6v5.6c0 4 2.9 7.2 7 8.6 4.1-1.4 7-4.6 7-8.6V5.6z'/></svg>");
}
.public-intelligence-body .ax-trust-row li:nth-child(3)::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 20h16'/><path d='m6 16 4-5 3 2.6 5-6.6'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 20h16'/><path d='m6 16 4-5 3 2.6 5-6.6'/></svg>");
}

/* ==========================================================
   §11 — ENTRANCE
   ========================================================== */
.public-intelligence-body .ax-hero-copy {
  animation: axgRise 320ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.public-intelligence-body .ax-access-card:nth-child(1) { animation-delay: 380ms; }
.public-intelligence-body .ax-access-card:nth-child(2) { animation-delay: 450ms; }
.public-intelligence-body .ax-signin-bar { animation-delay: 520ms; }
.public-intelligence-body .ax-trust-row {
  animation: axgRise 320ms cubic-bezier(0.22, 1, 0.36, 1) 590ms both;
}

/* ==========================================================
   §16 — RESPONSIVE
   ========================================================== */
@media (min-width: 721px) {
  .public-intelligence-body .ax-trust-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
  .public-intelligence-body .ax-access-action,
  .public-intelligence-body .ax-signin-action { width: auto; }
}
@media (max-width: 720px) {
  .public-intelligence-body .ax-access-card:hover,
  .public-intelligence-body .ax-signin-bar:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .public-intelligence-body .ax-hero-copy,
  .public-intelligence-body .ax-trust-row { animation: none; }
}

/* Headline was wrapping to 4 lines at 390px: max-width:15ch (303px) was
   too tight for "Trade inside a connected / intelligence system." */
.public-intelligence-body #proHeroTitle { max-width: 22ch; }
@media (max-width: 430px) {
  .public-intelligence-body #proHeroTitle {
    max-width: none;
    font-size: clamp(1.95rem, 8.4vw, 2.2rem);
  }
}

/* Public header + registration wordmark */
.public-intelligence-body .public-brand > span { display: none; }
.public-intelligence-body .public-brand {
  gap: 0;
  align-items: baseline;
}
.public-intelligence-body .public-brand strong {
  font-size: 1.14rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-indent: 0.25em;
  color: #f6f9fc;
}
.public-intelligence-body .public-brand small { display: none; }

/* ==============================================================
   PASS 2 — PRO ACCESS ENTRANCE, tightened to spec.
   Selectors read from pro-rewards/index.html:
     .ax-scene.ax-hero / .ax-hero-copy / .eyebrow
     #proHeroTitle / .ax-lede
     .ax-access-card / .ax-signin-bar / .ax-trust-row
   60ms stagger, opacity + 8px translate, ~560ms total.
   ============================================================== */
.public-intelligence-body .ax-hero .eyebrow  { animation: axgRise 300ms cubic-bezier(0.22,1,0.36,1) 40ms both; }
.public-intelligence-body #proHeroTitle      { animation: axgRise 300ms cubic-bezier(0.22,1,0.36,1) 100ms both; }
.public-intelligence-body .ax-lede           { animation: axgRise 300ms cubic-bezier(0.22,1,0.36,1) 160ms both; }
.public-intelligence-body .ax-access-eyebrow { animation: axgRise 300ms cubic-bezier(0.22,1,0.36,1) 240ms both; }
.public-intelligence-body .ax-access-card:nth-child(1) { animation-delay: 300ms; }
.public-intelligence-body .ax-access-card:nth-child(2) { animation-delay: 360ms; }
.public-intelligence-body .ax-signin-bar     { animation-delay: 420ms; }
.public-intelligence-body .ax-trust-row      { animation: axgRise 300ms cubic-bezier(0.22,1,0.36,1) 480ms both; }

@media (prefers-reduced-motion: reduce) {
  .public-intelligence-body .ax-hero .eyebrow,
  .public-intelligence-body #proHeroTitle,
  .public-intelligence-body .ax-lede,
  .public-intelligence-body .ax-access-eyebrow,
  .public-intelligence-body .ax-trust-row { animation: none; }
}

/* ==============================================================
   §8/§9 — ONE AMBIENT ANIMATION MAXIMUM.
   Live audit found 10 infinite loops on this page. Nine are legacy
   decoration from styles.css pulsing in the command-preview panel:
     axLivePulse x5 (2.6s), axProScan (9s), axCarlosPulse (2.6s),
     axRailFlow (7s), axNodeBreath (3s)
   Only axgDrift (26s, the hero contour field) is intended.
   ============================================================== */
.public-intelligence-body .ax-console-chart::after,
.public-intelligence-body .ax-label::before,
.public-intelligence-body .ax-rail::before,
.public-intelligence-body .ax-console i::after,
.public-intelligence-body .ax-console i,
.public-intelligence-body [class*="ax-console"] i::after {
  animation: none;
}

/* Three legacy loops survived the first pass on specificity. Real
   paths, read from the live DOM:
     .ax-console-insight .ax-label::before   (axCarlosPulse)
     .ax-systemrail .ax-rail::before         (axRailFlow)
     .ax-loyalty-rail li.is-current > i      (axNodeBreath) */
.public-intelligence-body .ax-console .ax-console-insight .ax-label::before,
.public-intelligence-body .ax-scene.ax-systemrail .ax-rail::before,
.public-intelligence-body .ax-panel.ax-loyalty .ax-loyalty-rail li.is-current > i {
  animation: none;
}
.public-intelligence-body .ax-hero-copy { position: relative; z-index: 1; }

/* ---- §10 access cards catch the sweep, timed not reactive ---- */
.public-intelligence-body .ax-access-card,
.public-intelligence-body .ax-signin-bar {
  animation: axMktCatch 22s ease-in-out infinite;
}
.public-intelligence-body .ax-access-card:nth-child(2) { animation-delay: 0.8s; }
.public-intelligence-body .ax-signin-bar { animation-delay: 1.6s; }

@keyframes axMktDraw {
  0%   { stroke-dashoffset: 1800; }
  62%  { stroke-dashoffset: 0; }
  86%  { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0.32; }
}
@keyframes axMktArea  { from { opacity: 0; } to { opacity: 1; } }
@keyframes axMktNode {
  0%, 100% { opacity: 0; }
  4%       { opacity: 1; }
  14%      { opacity: 0.55; }
  80%      { opacity: 0.55; }
}
@keyframes axMktLatest {
  0%, 58%  { opacity: 0; }
  66%      { opacity: 1; }
  100%     { opacity: 0.7; }
}
@keyframes axMktRing {
  0%, 60%  { opacity: 0; transform: scale(0.55); }
  70%      { opacity: 0.65; transform: scale(1); }
  92%      { opacity: 0; transform: scale(1.9); }
  100%     { opacity: 0; transform: scale(1.9); }
}
@keyframes axMktCatch {
  0%, 52%, 100% { border-color: rgba(150, 184, 218, 0.17); }
  62%           { border-color: rgba(95, 198, 234, 0.42); }
}

/* ==========================================================
   §13 REDUCED MOTION — freeze in an attractive drawn state,
   do not remove the graphic.
   ========================================================== */
@media (prefers-reduced-motion: reduce) {
  .public-intelligence-body .ax-access-card,
  .public-intelligence-body .ax-signin-bar { animation: none; }
}

/* --------------------------------------------------------------
   Market chart — placement + loop-count corrections.
   Measured at 390px: .ax-hero is 1758px tall (it contains the
   access section too), so top:44% put the chart at y=979 — behind
   the access cards rather than in the open band above them. The
   headline sits at y=280 and the copy block ends near y=430.
   Re-aimed at that band, and the three card-catch loops are
   dropped: three extra infinite animations is not worth a border
   tint the user will rarely coincide with.
   -------------------------------------------------------------- */
.public-intelligence-body .ax-access-card,
.public-intelligence-body .ax-signin-bar { animation: none; }

@keyframes axMktDraw2 {
  0%   { stroke-dashoffset: 1700; opacity: 0.2; }
  8%   { opacity: 0.48; }
  46%  { stroke-dashoffset: 0; opacity: 0.48; }
  84%  { stroke-dashoffset: 0; opacity: 0.48; }
  100% { stroke-dashoffset: 0; opacity: 0.14; }
}
@keyframes axMktRing2 {
  0%, 44%  { opacity: 0; transform: scale(0.5); }
  54%      { opacity: 0.7; transform: scale(1); }
  84%      { opacity: 0; transform: scale(2); }
  100%     { opacity: 0; transform: scale(2); }
}

/* The legacy hero contour drift is a third loop on this page. */
.public-intelligence-body .ax-hero::before { animation: none; }

/* ==============================================================
   AUREX MARKET TERMINAL — V5
   Single coherent implementation. All V1-V4 .ax-market/.axm-*
   rules were removed by the refactor, not overridden.

   WHY THIS IS A DIFFERENT ARCHITECTURE, NOT A RESTYLE:
   V1-V4 drew the whole module inside viewBox="0 0 800 260"
   rendered into a ~350px box — a 0.438x downscale. Authored
   15px header text rendered at 6.6px. That is why every pass
   read as "tiny text on a grid" regardless of the CSS values.

   V5 keeps ONLY chart geometry in SVG. Header, metrics, HUD,
   activity bars and footer are real DOM at real px sizes, so
   typography is exactly what is authored at every viewport.

   Continuous animations: exactly TWO
     1. .axt-grid    slow market-window drift
     2. .axt-scanner sweep (brightens what it crosses via
                     mix-blend-mode: screen — no extra loops)
   Everything else is `both`-filled and runs once on entry.
   ============================================================== */

/* ---------- §4 terminal surface ---------- */
.public-intelligence-body .axt {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 22px 0 2px;
  border-radius: 17px;
  overflow: hidden;
  isolation: isolate;
  pointer-events: none;
  background:
    radial-gradient(120% 90% at 78% 8%, rgba(74, 168, 216, 0.13), transparent 62%),
    linear-gradient(168deg, rgba(16, 30, 46, 0.96) 0%, rgba(8, 16, 26, 0.98) 58%, rgba(6, 12, 20, 0.99) 100%);
  border: 1px solid rgba(126, 168, 204, 0.17);
  box-shadow:
    0 1px 0 rgba(176, 216, 244, 0.07) inset,
    0 22px 48px -26px rgba(0, 0, 0, 0.9);
  opacity: 0;
  animation: axtIn 720ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
/* top-edge reflection */
.public-intelligence-body .axt::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 0;
  height: 1px;
  z-index: 4;
  background: linear-gradient(90deg, transparent, rgba(168, 226, 255, 0.5), transparent);
}
/* soft internal illumination under the active (right) region */
.public-intelligence-body .axt::after {
  content: "";
  position: absolute;
  right: -6%;
  bottom: -14%;
  width: 62%;
  height: 74%;
  z-index: 0;
  background: radial-gradient(58% 62% at 62% 62%, rgba(74, 168, 216, 0.15), transparent 72%);
}

/* ---------- §5 header ---------- */
.public-intelligence-body .axt-head {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-height: 40px;
  padding: 9px 15px 8px;
  border-bottom: 1px solid rgba(126, 168, 204, 0.13);
}
.public-intelligence-body .axt-id,
.public-intelligence-body .axt-state { display: flex; flex-direction: column; min-width: 0; }
.public-intelligence-body .axt-state { align-items: flex-end; text-align: right; }
.public-intelligence-body .axt-title {
  font-size: 13px; font-weight: 700; letter-spacing: 0.15em;
  line-height: 1.1; color: #eaf4fb; white-space: nowrap;
}
.public-intelligence-body .axt-sub {
  margin-top: 3px;
  font-size: 10px; font-weight: 600; letter-spacing: 0.17em;
  line-height: 1.1; color: rgba(150, 184, 214, 0.72); white-space: nowrap;
}
.public-intelligence-body .axt-live {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 10.5px; font-weight: 700; letter-spacing: 0.16em;
  line-height: 1.1; color: #9fe3c4;
}
.public-intelligence-body .axt-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #6fe0b4; box-shadow: 0 0 7px rgba(111, 224, 180, 0.85);
}
.public-intelligence-body .axt-note {
  margin-top: 3px;
  font-size: 9.5px; font-weight: 600; letter-spacing: 0.15em;
  line-height: 1.1; color: rgba(231, 199, 106, 0.72); white-space: nowrap;
}

/* ---------- §6 metric cells ---------- */
.public-intelligence-body .axt-metrics {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: 60px;
  border-bottom: 1px solid rgba(126, 168, 204, 0.13);
}
.public-intelligence-body .axt-cell {
  display: flex; flex-direction: column; justify-content: center;
  gap: 5px; min-width: 0; padding: 10px 14px;
  opacity: 0;
  animation: axtIn 520ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.public-intelligence-body .axt-cell + .axt-cell { border-left: 1px solid rgba(126, 168, 204, 0.11); }
.public-intelligence-body .axt-cell:nth-child(1) { animation-delay: 180ms; }
.public-intelligence-body .axt-cell:nth-child(2) { animation-delay: 300ms; }
.public-intelligence-body .axt-cell:nth-child(3) { animation-delay: 420ms; }
.public-intelligence-body .axt-k {
  font-size: 10px; font-weight: 650; letter-spacing: 0.16em;
  line-height: 1; color: rgba(150, 184, 214, 0.7);
}
.public-intelligence-body .axt-v {
  font-size: 19px; font-weight: 700; letter-spacing: -0.01em;
  line-height: 1; color: #f2f8fc;
  font-variant-numeric: tabular-nums;
}
.public-intelligence-body .axt-v.is-pos { font-size: 15px; letter-spacing: 0.05em; color: #8fdcb8; }

/* ---------- chart + activity share the scanner field ---------- */
.public-intelligence-body .axt-scope { position: relative; z-index: 2; }

/* ---------- §7 market structure ---------- */
.public-intelligence-body .axt-chart { position: relative; height: 145px; overflow: hidden; }
.public-intelligence-body .axt-svg,
.public-intelligence-body .axt-a { position: absolute; inset: 0; width: 100%; height: 100%; }

/* CONTINUOUS #1 — market-window drift (one grid cell, seamless loop) */
.public-intelligence-body .axt-grid line {
  stroke: rgba(140, 178, 212, 0.11);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}
/* CONTINUOUS #1 — the whole market window drifts: grid, zones,
   trace and structure nodes move together. The path is periodic
   (P=340) so -340 loops with no seam. */
.public-intelligence-body .axt-window { animation: axtDrift 36s linear infinite; }
@keyframes axtDrift { from { transform: translateX(0); } to { transform: translateX(-340px); } }
.public-intelligence-body .axt-dot-pt { fill: #dff3ff; opacity: 0.85; }

/* the pinned current-analysis assembly rides the line vertically —
   one shared transform for node + guide + HUD, synced to axtDrift */
.public-intelligence-body .axt-track {
  position: absolute; inset: 0;
  animation: axtTrack 36s linear infinite;
}
@keyframes axtTrack {
  0.0% { transform: translateY(0.000%); }
  2.5% { transform: translateY(6.680%); }
  5.0% { transform: translateY(12.725%); }
  7.5% { transform: translateY(11.897%); }
  10.0% { transform: translateY(11.846%); }
  12.5% { transform: translateY(14.897%); }
  15.0% { transform: translateY(13.641%); }
  17.5% { transform: translateY(12.615%); }
  20.0% { transform: translateY(14.359%); }
  22.5% { transform: translateY(12.103%); }
  25.0% { transform: translateY(8.000%); }
  27.5% { transform: translateY(1.897%); }
  30.0% { transform: translateY(-2.359%); }
  32.5% { transform: translateY(-6.000%); }
  35.0% { transform: translateY(-10.359%); }
  37.5% { transform: translateY(-13.026%); }
  40.0% { transform: translateY(-14.051%); }
  42.5% { transform: translateY(-9.692%); }
  45.0% { transform: translateY(-5.846%); }
  47.5% { transform: translateY(-2.410%); }
  50.0% { transform: translateY(0.205%); }
  52.5% { transform: translateY(0.513%); }
  55.0% { transform: translateY(-1.231%); }
  57.5% { transform: translateY(0.077%); }
  60.0% { transform: translateY(-2.103%); }
  62.5% { transform: translateY(-8.205%); }
  65.0% { transform: translateY(-12.667%); }
  67.5% { transform: translateY(-16.846%); }
  70.0% { transform: translateY(-20.769%); }
  72.5% { transform: translateY(-23.538%); }
  75.0% { transform: translateY(-24.308%); }
  77.5% { transform: translateY(-21.692%); }
  80.0% { transform: translateY(-18.359%); }
  82.5% { transform: translateY(-16.667%); }
  85.0% { transform: translateY(-19.282%); }
  87.5% { transform: translateY(-17.231%); }
  90.0% { transform: translateY(-15.179%); }
  92.5% { transform: translateY(-17.795%); }
  95.0% { transform: translateY(-14.256%); }
  97.5% { transform: translateY(-7.846%); }
  100.0% { transform: translateY(0.000%); }
}

.public-intelligence-body .axt-zone {
  fill: rgba(96, 170, 214, 0.07);
  stroke: rgba(126, 190, 226, 0.2);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  opacity: 0;
  animation: axtIn 620ms ease-out 640ms both;
}
.public-intelligence-body .axt-zone-b {
  fill: rgba(231, 199, 106, 0.05);
  stroke: rgba(231, 199, 106, 0.22);
  animation-delay: 780ms;
}
.public-intelligence-body .axt-lvl {
  stroke: rgba(140, 178, 212, 0.24);
  stroke-width: 1;
  stroke-dasharray: 2 7;
  vector-effect: non-scaling-stroke;
  opacity: 0;
  animation: axtIn 500ms ease-out 560ms both;
}
.public-intelligence-body .axt-lvl-gold { stroke: rgba(231, 199, 106, 0.4); }

/* clip-path wipe instead of stroke-dash: works correctly with
   non-scaling-stroke and preserveAspectRatio="none" */
.public-intelligence-body .axt-trace {
  clip-path: inset(0 100% 0 0);
  animation: axtWipe 1700ms cubic-bezier(0.32, 0.02, 0.2, 1) 420ms both;
}
@keyframes axtWipe { to { clip-path: inset(0 0 0 0); } }

.public-intelligence-body .axt-ref {
  fill: none;
  stroke: rgba(146, 176, 206, 0.34);
  stroke-width: 1.2;
  stroke-dasharray: 5 5;
  vector-effect: non-scaling-stroke;
}
.public-intelligence-body .axt-area { fill: url(#axtArea); }
.public-intelligence-body .axt-path {
  fill: none;
  stroke: url(#axtLine);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

/* §11 architectural A — right leg passes through the current point */
.public-intelligence-body .axt-a {
  left: 64.6%; right: auto; width: 52%;
  opacity: 0;
  animation: axtInA 900ms ease-out 520ms both;
}
.public-intelligence-body .axt-a path {
  fill: none;
  stroke: rgba(168, 214, 246, 0.16);
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
}

/* selected structure nodes */
.public-intelligence-body .axt-pt {
  position: absolute;
  width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px;
  border-radius: 50%;
  background: #dff3ff;
  opacity: 0;
  animation: axtIn 380ms ease-out var(--d, 900ms) both;
}

/* ---------- §8 current-analysis HUD ---------- */
.public-intelligence-body .axt-guide-h,
.public-intelligence-body .axt-guide-v {
  position: absolute;
  opacity: 0;
  animation: axtIn 520ms ease-out 1900ms both;
}
.public-intelligence-body .axt-guide-h {
  left: 0; top: 50.56%; width: 94.71%; height: 1px;
  background: repeating-linear-gradient(90deg, rgba(168, 226, 255, 0.42) 0 3px, transparent 3px 8px);
}
.public-intelligence-body .axt-guide-v {
  top: 0; bottom: 0; width: 1px;
  background: repeating-linear-gradient(180deg, rgba(168, 226, 255, 0.42) 0 3px, transparent 3px 8px);
}
.public-intelligence-body .axt-cur {
  position: absolute;
  top: 50.56%;
  width: 0; height: 0;
  opacity: 0;
  animation: axtIn 520ms cubic-bezier(0.22, 1, 0.36, 1) 2000ms both;
}
.public-intelligence-body .axt-cur i {
  position: absolute; border-radius: 50%; transform: translate(-50%, -50%);
}
.public-intelligence-body .axt-halo {
  width: 30px; height: 30px;
  background: radial-gradient(circle, rgba(74, 168, 216, 0.34), transparent 70%);
}
.public-intelligence-body .axt-ring {
  width: 15px; height: 15px;
  border: 1.4px solid rgba(231, 199, 106, 0.92);
}
.public-intelligence-body .axt-core {
  width: 7px; height: 7px;
  background: #f2fcff;
  box-shadow: 0 0 10px rgba(168, 226, 255, 0.95);
}
.public-intelligence-body .axt-hud {
  position: absolute;
  top: 50.56%;
  right: 7.5%;
  display: flex; flex-direction: column; align-items: flex-end; gap: 3px;
  transform: translateY(-50%);
  padding-bottom: 30px;
  opacity: 0;
  animation: axtIn 560ms ease-out 2200ms both;
}
.public-intelligence-body .axt-hud-k {
  font-size: 10px; font-weight: 650; letter-spacing: 0.15em;
  line-height: 1; color: rgba(198, 228, 246, 0.9); white-space: nowrap;
}
.public-intelligence-body .axt-hud-v {
  font-size: 9.5px; font-weight: 700; letter-spacing: 0.16em;
  line-height: 1; color: rgba(231, 199, 106, 0.9);
}

/* ---------- §10 activity histogram ---------- */
.public-intelligence-body .axt-activity {
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 48px;
  padding: 10px 15px 9px;
  border-top: 1px solid rgba(126, 168, 204, 0.1);
}
.public-intelligence-body .axt-bar {
  flex: 1 1 0;
  min-width: 0;
  border-radius: 1px;
  transform-origin: bottom;
  background: #6fb4d8;
  animation: axtBar 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(760ms + var(--i, 0) * 26ms);
}
/* explicit tiers — no nth-child arithmetic, so bar 1 cannot
   be mis-grouped the way it was in V4 */
.public-intelligence-body .axt-bar.is-quiet    { opacity: 0.2; }
.public-intelligence-body .axt-bar.is-normal   { opacity: 0.38; }
.public-intelligence-body .axt-bar.is-elevated { opacity: 0.62; background: #a2dcf6; }

/* ---------- §9 CONTINUOUS #2 — scanner ---------- */
.public-intelligence-body .axt-scanner {
  position: absolute;
  inset: 0;
  z-index: 3;
  mix-blend-mode: screen;
  animation: axtScan 9s cubic-bezier(0.42, 0, 0.58, 1) 2600ms infinite;
}
@keyframes axtScan { from { transform: translateX(-8%); } to { transform: translateX(108%); } }
.public-intelligence-body .axt-beam {
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 54px; margin-left: -27px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(120, 196, 236, 0.1) 42%,
    rgba(190, 236, 255, 0.42) 50%,
    rgba(120, 196, 236, 0.1) 58%,
    transparent 100%);
}
/* precision top marker */
.public-intelligence-body .axt-beam::before {
  content: "";
  position: absolute;
  left: 50%; top: 0;
  width: 5px; height: 5px; margin-left: -2.5px;
  border-radius: 50%;
  background: rgba(206, 240, 255, 0.95);
}

/* ---------- footer / data rail ---------- */
.public-intelligence-body .axt-foot {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 28px;
  padding: 7px 15px;
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
  border-top: 1px solid rgba(126, 168, 204, 0.13);
  font-size: 9.5px; font-weight: 620; letter-spacing: 0.12em;
  color: rgba(140, 174, 204, 0.62);
  opacity: 0;
  animation: axtIn 600ms ease-out 1500ms both;
}
.public-intelligence-body .axt-foot-note { margin-left: auto; color: rgba(231, 199, 106, 0.6); }

@keyframes axtIn  { to { opacity: 1; } }
@keyframes axtInA { to { opacity: 1; } }
@keyframes axtBar { from { transform: scaleY(0); } }

/* ---------- §12 dead space: tighten the gap to ACCESS ---------- */
.public-intelligence-body .axt + .ax-access,
.public-intelligence-body .ax-access { margin-top: 0; }

/* ---------- desktop ---------- */
@media (min-width: 721px) {
  .public-intelligence-body .axt { margin: 30px 0 8px; border-radius: 18px; }
  .public-intelligence-body .axt-head { min-height: 46px; padding: 13px 20px 11px; }
  .public-intelligence-body .axt-title { font-size: 14px; }
  .public-intelligence-body .axt-sub,
  .public-intelligence-body .axt-note { font-size: 10.5px; }
  .public-intelligence-body .axt-metrics { min-height: 68px; }
  .public-intelligence-body .axt-cell { padding: 12px 20px; }
  .public-intelligence-body .axt-v { font-size: 22px; }
  .public-intelligence-body .axt-v.is-pos { font-size: 17px; }
  .public-intelligence-body .axt-chart { height: 178px; }
  .public-intelligence-body .axt-activity { height: 56px; padding: 12px 20px 10px; gap: 4px; }
  .public-intelligence-body .axt-foot { min-height: 32px; padding: 9px 20px; }
}

/* ---------- §14 reduced motion: fully designed static terminal ---------- */
@media (prefers-reduced-motion: reduce) {
  .public-intelligence-body .axt,
  .public-intelligence-body .axt-cell,
  .public-intelligence-body .axt-zone,
  .public-intelligence-body .axt-lvl,
  .public-intelligence-body .axt-pt,
  .public-intelligence-body .axt-cur,
  .public-intelligence-body .axt-guide-h,
  .public-intelligence-body .axt-guide-v,
  .public-intelligence-body .axt-hud,
  .public-intelligence-body .axt-foot { animation: none; opacity: 1; }
  .public-intelligence-body .axt-a { animation: none; opacity: 1; }
  .public-intelligence-body .axt-trace { animation: none; clip-path: none; }
  .public-intelligence-body .axt-bar { animation: none; transform: none; }
  .public-intelligence-body .axt-window { animation: none; }
  .public-intelligence-body .axt-track { animation: none; transform: none; }
  .public-intelligence-body .axt-scanner { animation: none; transform: translateX(62%); }
}

/* ==============================================================
   CASHBACK EXPLORER — glass build.
   Structure reduced from 9 stacked blocks to 3 glass cards:
   controls / result / tier. Palette raised across the board —
   labels and values were sitting at 0.6-0.7 alpha and read grey.
   ============================================================== */
.public-intelligence-body .cbx {
  --g-face: rgba(10, 23, 38, 0.88);
  --g-edge: rgba(172, 216, 250, 0.24);
  --g-lift: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  --ink: #ffffff;
  --ink-2: rgba(206, 228, 248, 0.94);
  --ink-3: rgba(178, 208, 236, 0.82);
  --cy: #8fe0ff;
  --gold: #f2d68e;
  --grn: #86e9bd;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.public-intelligence-body .cbx-card {
  border-radius: 12px;
  padding: 15px;
  background: var(--g-face);
  border: 1px solid var(--g-edge);
  box-shadow: var(--g-lift), 0 12px 28px -24px rgba(0, 0, 0, 0.8);
}
.public-intelligence-body .cbx-head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
}
.public-intelligence-body .cbx-title {
  font-size: 13.5px; font-weight: 700; letter-spacing: 0.15em;
  text-transform: uppercase; color: var(--ink);
}
.public-intelligence-body .cbx-sim {
  font-size: 10px; font-weight: 660; letter-spacing: 0.13em;
  text-transform: uppercase; color: var(--gold);
}
.public-intelligence-body .cbx-lede {
  margin: 10px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--ink-3);
}
.public-intelligence-body .cbx-k {
  font-size: 10px; font-weight: 680; letter-spacing: 0.15em;
  text-transform: uppercase; color: var(--ink-3);
}

/* ---------- controls ---------- */
.public-intelligence-body .cbx-controls { display: flex; flex-direction: column; gap: 12px; }
.public-intelligence-body .cbx-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.public-intelligence-body .cbx-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.public-intelligence-body .cbx-field input[type="number"] {
  width: 100%; min-height: 48px; padding: 0 14px; box-sizing: border-box;
  border-radius: 12px;
  border: 1px solid rgba(172, 216, 250, 0.26);
  background: rgba(255, 255, 255, 0.05);
  color: var(--ink);
  font: inherit; font-size: 17px; font-weight: 680;
  font-variant-numeric: tabular-nums;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.public-intelligence-body .cbx-field.is-lead input[type="number"] { font-size: 22px; min-height: 54px; }
.public-intelligence-body .cbx-field input[type="number"]:hover { background: rgba(255, 255, 255, 0.075); }
.public-intelligence-body .cbx-field input[type="number"]:focus-visible {
  outline: none;
  border-color: var(--cy);
  background: rgba(255, 255, 255, 0.09);
  box-shadow: 0 0 0 3px rgba(143, 224, 255, 0.24);
}
/* filled track: --p is set from cbxRender */
.public-intelligence-body #cbxPeriodRange {
  width: 100%; min-height: 44px; margin: 0; background: transparent;
  -webkit-appearance: none; appearance: none;
}
.public-intelligence-body #cbxPeriodRange::-webkit-slider-runnable-track {
  height: 6px; border-radius: 4px;
  background: linear-gradient(90deg, var(--cy) 0 var(--p, 21%), rgba(172, 216, 250, 0.18) var(--p, 21%) 100%);
}
.public-intelligence-body #cbxPeriodRange::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 22px; height: 22px; margin-top: -8px; border-radius: 50%;
  background: #ffffff; border: 2px solid var(--cy);
  box-shadow: 0 0 14px rgba(143, 224, 255, 0.7);
  transition: transform 150ms ease, box-shadow 150ms ease;
}
.public-intelligence-body #cbxPeriodRange:hover::-webkit-slider-thumb { transform: scale(1.1); }
.public-intelligence-body #cbxPeriodRange:active::-webkit-slider-thumb {
  transform: scale(1.2); box-shadow: 0 0 20px rgba(143, 224, 255, 0.9);
}
.public-intelligence-body #cbxPeriodRange::-moz-range-track {
  height: 6px; border-radius: 4px; background: rgba(172, 216, 250, 0.18);
}
.public-intelligence-body #cbxPeriodRange::-moz-range-progress {
  height: 6px; border-radius: 4px; background: var(--cy);
}
.public-intelligence-body #cbxPeriodRange::-moz-range-thumb {
  width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--cy);
  background: #ffffff;
}

/* ---------- result ---------- */
.public-intelligence-body .cbx-result {
  background:
    linear-gradient(180deg, rgba(242, 214, 142, 0.055), rgba(242, 214, 142, 0) 62%),
    var(--g-face);
  border-color: rgba(242, 214, 142, 0.34);
}
.public-intelligence-body .cbx-sum {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding-bottom: 13px; margin-bottom: 12px;
  border-bottom: 1px solid rgba(172, 216, 250, 0.16);
}
.public-intelligence-body .cbx-sum strong {
  font-size: 30px; font-weight: 720; letter-spacing: -0.025em; color: var(--ink);
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 14px rgba(242, 214, 142, 0.18);
}
.public-intelligence-body .cbx-rows { display: flex; flex-direction: column; gap: 11px; }
.public-intelligence-body .cbx-row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 14px; align-items: baseline;
}
.public-intelligence-body .cbx-rk {
  grid-column: 1; font-size: 12.5px; font-weight: 640; color: var(--ink-2);
}
.public-intelligence-body .cbx-row em {
  grid-column: 1; font-style: normal;
  font-size: 11px; line-height: 1.35; color: var(--ink-3);
  font-variant-numeric: tabular-nums;
}
.public-intelligence-body .cbx-row strong {
  grid-column: 2; grid-row: 1 / 3; align-self: center;
  font-size: 17px; font-weight: 700; color: var(--ink);
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.public-intelligence-body #cbxWeeklyOut,
.public-intelligence-body #cbxMonthlyOut { color: var(--grn); }

/* ---------- tier ---------- */
.public-intelligence-body .cbx-tierhead {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  margin-bottom: 13px;
}
.public-intelligence-body .cbx-tiernow > .cbx-k { display: block; margin-bottom: 2px; }
.public-intelligence-body .cbx-tiernow strong {
  display: block; font-size: 21px; font-weight: 700; color: var(--ink);
}
.public-intelligence-body .cbx-tiernow span {
  font-size: 12.5px; font-weight: 640; color: var(--cy);
  font-variant-numeric: tabular-nums;
}
.public-intelligence-body .cbx-next { text-align: right; min-width: 0; }
.public-intelligence-body .cbx-next strong {
  display: block; margin-top: 3px; font-size: 14px; font-weight: 690; color: var(--gold);
}
.public-intelligence-body .cbx-next span:last-child {
  font-size: 11.5px; color: var(--ink-3); font-variant-numeric: tabular-nums;
}
.public-intelligence-body .cbx-rail { margin-bottom: 11px; }
.public-intelligence-body .cbx-rail i {
  display: block; height: 4px; border-radius: 4px;
  background: rgba(172, 216, 250, 0.16); overflow: hidden;
}
.public-intelligence-body .cbx-rail b {
  display: block; height: 100%; border-radius: 4px;
  background: linear-gradient(90deg, var(--cy), var(--tier-accent, var(--gold)));
  box-shadow: 0 0 8px rgba(143, 224, 255, 0.34);
  transition: width 460ms cubic-bezier(0.22, 1, 0.36, 1);
}
.public-intelligence-body .cbx-ladder {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px 8px; margin: 0; padding: 0; list-style: none;
}
.public-intelligence-body .cbx-ladder li {
  display: flex; flex-direction: column; align-items: center; gap: 5px;
  text-align: center; min-width: 0;
}
/* the rail measures Bronze(0%) -> Gold(100%), so the outer marks must sit
   on the rail ends or the fill reads against the wrong milestone. */
.public-intelligence-body .cbx-ladder li:first-child { align-items: flex-start; text-align: left; }
.public-intelligence-body .cbx-ladder li:last-child  { align-items: flex-end;  text-align: right; }
/* --- tier marks: the live three-tier progression uses one restrained
   metal accent per published tier. --- */
.public-intelligence-body .cbx-ladder li { --t: rgba(178, 208, 236, 0.34); }
.public-intelligence-body .cbx-ladder li[data-tier="bronze"]   { --t: #e8a877; }
.public-intelligence-body .cbx-ladder li[data-tier="silver"]   { --t: #c3d2e0; }
.public-intelligence-body .cbx-ladder li[data-tier="gold"]     { --t: #f2d68e; }
.public-intelligence-body .cbx-ladder svg {
  display: block; width: 23px; height: 23px;
  color: rgba(178, 208, 236, 0.3);
  transition: color 260ms ease, opacity 260ms ease,
              transform 300ms cubic-bezier(0.22, 1, 0.36, 1), filter 260ms ease;
}
.public-intelligence-body .cbx-ladder b {
  font-size: 11px; font-weight: 700; letter-spacing: 0.05em;
  text-transform: uppercase; color: var(--ink-3);
  transition: color 260ms ease;
}
.public-intelligence-body .cbx-ladder span {
  font-size: 10.5px; font-weight: 620; color: rgba(178, 208, 236, 0.58);
  font-variant-numeric: tabular-nums;
}
.public-intelligence-body .cbx-ladder li.is-active b { color: var(--t); }
.public-intelligence-body .cbx-ladder li.is-active span { color: var(--ink-2); }
.public-intelligence-body .cbx-ladder li.is-passed svg { color: var(--t); opacity: 0.52; }
.public-intelligence-body .cbx-ladder li.is-active svg {
  color: var(--t); opacity: 1;
  transform: scale(1.16);
  filter: drop-shadow(0 0 7px currentColor);
}

/* the current-tier name carries its own metal */
.public-intelligence-body .cbx[data-tier="bronze"] { --tier-accent: #e8a877; }
.public-intelligence-body .cbx[data-tier="bronze"]   .cbx-tiernow strong { color: #e8a877; }
.public-intelligence-body .cbx[data-tier="silver"] { --tier-accent: #c3d2e0; }
.public-intelligence-body .cbx[data-tier="silver"]   .cbx-tiernow strong { color: #c3d2e0; }
.public-intelligence-body .cbx[data-tier="gold"] { --tier-accent: #f2d68e; }
.public-intelligence-body .cbx[data-tier="gold"]     .cbx-tiernow strong { color: #f2d68e; }

/* ---------- how / disclaimer ---------- */
.public-intelligence-body .cbx-how { border-top: 1px solid rgba(172, 216, 250, 0.14); padding-top: 4px; }
.public-intelligence-body .cbx-how summary {
  cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: 8px;
  font-size: 11.5px; font-weight: 680; letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--ink-2);
}
.public-intelligence-body .cbx-how summary:hover { color: var(--cy); }
.public-intelligence-body .cbx-how ol {
  margin: 4px 0 0; padding-left: 18px;
  display: flex; flex-direction: column; gap: 9px;
  font-size: 12.5px; line-height: 1.5; color: var(--ink-3);
}
.public-intelligence-body .cbx-how b { color: var(--ink-2); font-weight: 670; }
.public-intelligence-body .cbx .estimate-note {
  font-size: 11px; line-height: 1.5; color: rgba(178, 208, 236, 0.66);
}

/* ---------- mobile ---------- */
@media (max-width: 720px) {
  .public-intelligence-body .cbx-card { padding: 14px; }
  .public-intelligence-body .cbx-sum strong { font-size: 27px; }
  .public-intelligence-body .cbx-ladder b { font-size: 10.5px; letter-spacing: 0.04em; }
  .public-intelligence-body .cbx-ladder span { font-size: 10px; }
}

/* Below the desktop grid the panel is one column, so tier standing leads it:
   the title first, then where the user stands, then the inputs. */
@media (max-width: 1023px) {
  .public-intelligence-body .cbx-head { order: -2; }
  .public-intelligence-body .cbx-tier { order: -1; }
}

/* --- desktop (§10): use the width - progression left, simulator right --- */
@media (min-width: 1024px) {
  .public-intelligence-body .cbx {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr);
    align-items: start;
  }
  .public-intelligence-body .cbx-head { grid-column: 1 / -1; }
  /* the tier card owns the full height of its two-row span, so the
     progression settles to the bottom instead of leaving a dead column. */
  .public-intelligence-body .cbx-tier {
    grid-column: 1; grid-row: 2 / span 2;
    align-self: stretch;
    display: flex; flex-direction: column;
  }
  .public-intelligence-body .cbx-tier .cbx-rail { margin-top: auto; padding-top: 18px; }
  .public-intelligence-body .cbx-controls { grid-column: 2; grid-row: 2; }
  .public-intelligence-body .cbx-result   { grid-column: 2; grid-row: 3; }
  .public-intelligence-body .cbx-how,
  .public-intelligence-body .cbx-disclaimer { grid-column: 1 / -1; }
  .public-intelligence-body .cbx-card { padding: 17px 18px; }
  .public-intelligence-body .cbx-sum strong { font-size: 32px; }
  .public-intelligence-body .cbx-ladder svg { width: 26px; height: 26px; }
  .public-intelligence-body .cbx-ladder b { font-size: 11.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .public-intelligence-body .cbx-rail b,
  .public-intelligence-body .cbx-ladder svg,
  .public-intelligence-body .cbx-field input,
  .public-intelligence-body #cbxPeriodRange::-webkit-slider-thumb { transition: none; }
}

/* Access paths final cascade: keep the three primary choices readable on mobile. */
.public-intelligence-body .ax-access-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-intelligence-body .ax-access-card { min-height: 236px; display: flex; flex-direction: column; }
.public-intelligence-body .ax-access-card-kicker { margin: 0 0 8px; color: rgba(143, 216, 245, 0.72); font-size: 0.68rem; font-weight: 760; letter-spacing: 0.12em; text-transform: uppercase; }
.public-intelligence-body .ax-access-card h2 { min-height: 2.5em; }
.public-intelligence-body .ax-access-card p:not(.ax-access-card-kicker) { flex: 1 1 auto; }
.public-intelligence-body .ax-access-card:nth-child(3) .ax-access-action { background: rgba(255,255,255,0.035); border-color: rgba(143,216,245,0.25); }
.public-intelligence-body .ax-opportunities { position: relative; overflow: hidden; margin-top: 18px; padding: 22px 18px 18px; border: 1px solid rgba(143,216,245,0.2); border-radius: 17px; background: radial-gradient(circle at 8% 0%, rgba(83, 202, 240, 0.1), transparent 28%), radial-gradient(circle at 92% 8%, rgba(54, 145, 190, 0.15), transparent 30%), linear-gradient(145deg, rgba(8, 23, 40, 0.9), rgba(3, 10, 20, 0.97)); box-shadow: inset 0 1px 0 rgba(226, 247, 255, 0.08), 0 18px 42px rgba(0,0,0,0.15); }
.public-intelligence-body .ax-opportunities::before { content: ""; position: absolute; top: 0; left: 8%; right: 8%; height: 1px; background: linear-gradient(90deg, transparent, rgba(142, 221, 247, 0.62), transparent); box-shadow: 0 0 18px rgba(92, 207, 241, 0.32); }
.public-intelligence-body .ax-opportunities::after { content: ""; position: absolute; width: 180px; height: 180px; right: -90px; bottom: -120px; border-radius: 50%; background: rgba(55, 176, 224, 0.1); filter: blur(28px); pointer-events: none; }
.public-intelligence-body .ax-opportunities-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding-bottom: 15px; }
.public-intelligence-body .ax-opportunities-head .ax-access-eyebrow { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.public-intelligence-body .ax-opportunities-head .ax-access-eyebrow::before { display: none; }
.public-intelligence-body .ax-opportunities-head small { display: block; margin-top: 5px; color: rgba(201,220,236,0.54); font-size: 0.72rem; }
.public-intelligence-body .ax-opportunities-head > span { color: rgba(143,216,245,0.5); font-size: 0.62rem; font-weight: 760; letter-spacing: 0.12em; }
.public-intelligence-body .ax-opportunity-row { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin-top: 10px; }
.public-intelligence-body .ax-opportunity-row a { display: grid; gap: 3px; min-height: 58px; padding: 10px 12px; border-left: 2px solid rgba(143,216,245,0.34); color: #eaf5ff; text-decoration: none; }
.public-intelligence-body .ax-opportunity-row a:hover { background: rgba(143,216,245,0.055); }
.public-intelligence-body .ax-opportunity-row strong { font-size: 0.78rem; }
.public-intelligence-body .ax-opportunity-row span { color: rgba(201,220,236,0.62); font-size: 0.7rem; line-height: 1.35; }
.public-intelligence-body .ax-opportunity-row b { color: #8fd8f5; font-size: 0.68rem; }
@media (max-width: 760px) {
  .public-intelligence-body .ax-access-grid,
  .public-intelligence-body .ax-opportunity-row { grid-template-columns: 1fr; }
  .public-intelligence-body .ax-access-card { min-height: 0; }
  .public-intelligence-body .ax-access-card h2 { min-height: 0; }
  .public-intelligence-body .ax-opportunity-row a { min-height: 52px; }
}

/* ==============================================================
   DESKTOP REPAIR — one authoritative desktop block (§15).
   .ax-access lives inside .ax-hero-copy, which is the hero grid's
   left column (529px at 1440). Three cards across that column
   measured 166px each, forcing 2-4 word line wrapping.
   Stacking them inside the column gives each the full 529px
   without moving any markup. Mobile is untouched.
   ============================================================== */
@media (min-width: 1024px) {
  .public-intelligence-body .ax-access-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .public-intelligence-body .ax-access-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 4px 18px;
  }
  .public-intelligence-body .ax-access-card h2 { grid-column: 1; margin: 0; }
  .public-intelligence-body .ax-access-card p  { grid-column: 1; margin: 2px 0 0; }
  .public-intelligence-body .ax-access-action {
    grid-column: 2; grid-row: 1 / 3; align-self: center; white-space: nowrap;
  }
}
